feat(hooks): add useLiveStream generic WebSocket hook - supports websocket/sse/polling transports - exponential backoff reconnect with jitter - circular buffer with configurable size - typed filter callback per use case - manual disconnect + reconnect + error state feat(hooks): add useLiveMetrics derived hook - sliding time-window cut - moving average (configurable window) - current / avg / min / max / ratePerSecond - zero allocations per tick (memoized) feat(charts): add LiveMetricChart molecule (Recharts) - line + area variants, grid + tooltip - moving-average overlay (dashed) - ConnectionStatus atom in header - status bar + compact mode - 100% responsive, GPU via SVG ViewBox feat(atoms): add ConnectionStatus indicator - 5 states: disconnected/connecting/connected/reconnecting/error - animated pulse, JetBrains Mono, pill style - exported helpers: formatLatency / formatBytes docs(pkg): bump v0.1.0 → v0.2.0, add recharts peerDep
The Fastest Directory Crawler & Globber for NodeJS
⚡ The Fastest: Nothing similar (in the NodeJS world) beats fdir in speed. It can easily crawl a directory containing 1 million files in < 1 second.
💡 Stupidly Easy: fdir uses expressive Builder pattern to build the crawler increasing code readability.
🤖 Zero Dependencies*: fdir only uses NodeJS fs & path modules.
🕺 Astonishingly Small: < 2KB in size gzipped & minified.
🖮 Hackable: Extending fdir is extremely simple now that the new Builder API is here. Feel free to experiment around.
* picomatch must be installed manually by the user to support globbing.
🚄 Quickstart
Installation
You can install using npm:
$ npm i fdir
or Yarn:
$ yarn add fdir
Usage
import { fdir } from "fdir";
// create the builder
const api = new fdir().withFullPaths().crawl("path/to/dir");
// get all files in a directory synchronously
const files = api.sync();
// or asynchronously
api.withPromise().then((files) => {
// do something with the result here.
});
Documentation:
Documentation for all methods is available here.
📊 Benchmarks:
Please check the benchmark against the latest version here.
🙏Used by:
fdir is downloaded over 200k+ times a week by projects around the world. Here's a list of some notable projects using fdir in production:
Note: if you think your project should be here, feel free to open an issue. Notable is anything with a considerable amount of GitHub stars.
- rollup/plugins
- SuperchupuDev/tinyglobby
- pulumi/pulumi
- dotenvx/dotenvx
- mdn/yari
- streetwriters/notesnook
- imba/imba
- moroshko/react-scanner
- netlify/build
- yassinedoghri/astro-i18next
- selfrefactor/rambda
- whyboris/Video-Hub-App
🦮 LICENSE
Copyright © 2024 Abdullah Atta under MIT. Read full text here.
