fs with incremental backoff on EMFILE (by isaacs)

Graceful-fs Alternatives

Similar projects and alternatives to graceful-fs

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better graceful-fs alternative or higher similarity.

graceful-fs discussion

Log in or Post with

graceful-fs reviews and mentions

Posts with mentions or reviews of graceful-fs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-19.
  • My fist codestory. A day in my life, as a coder :)
    2 projects | | 19 Nov 2022
    async (config?: { /** * Overwrite the default ignored behavior */ customIgnored?: string[]; }) => { const projectRoot = getProjectRoot(); if (!projectRoot) return; // NB: fix to globally alter real fs in order to fix EMFile error that happens in TSMorph (see gracefulFs.gracefulify(realFs); console.log("Searching..."); const tsFunctions = await db.get("TsFunction"); const projectWatcherTsFunctions = tsFunctions.filter( (x) => x.explicitTypeName === "ProjectWatcher" ); const projectWatchers = projectWatcherTsFunctions .map((x) => .map((name) => sdk[name as keyof typeof sdk] as ProjectWatcher | undefined) .filter(notEmpty); log(`${projectWatchers.length} watchers gonna watch ${projectRoot}`, { type: "important", }); const startupWaitMs = 1000; setTimeout(() => { log( `There they are! \n\n${projectWatchers .map((projectWatcher) => { return `👁 👁 ${} ✅`; }) .join("\n")}`, { type: "success", } ); }, startupWaitMs); const startTimeAt =; watch(projectRoot, { ignoreInitial: true, ignored: config?.customIgnored || [ "**/node_modules/**", "**/.next/**", "**/.expo/**", "**/build/**", "**/db/**", "**/.git/**", "**/.turbo/**", "**/generated/**", ], // alwaysStat: true, // not sure why I would need this, seems inefficient if I don't need it, I can simply run fs.stat }).on("all", (eventName, path, stats) => { if ( < startTimeAt + startupWaitMs) return; const relevantWatchers = projectWatchers.filter((watcher) => watcher.filter(eventName, path) ); oneByOne(relevantWatchers, async (projectWatcher) => { await projectWatcher(eventName, path); }); }); };
  • My theory on why so many people are bad at coding.
    8 projects | /r/ExperiencedDevs | 12 Aug 2022
    What's probably got your shorts in a knot is the contents of the node_modules directory. That directory is a cache for mode.js modules so the tutorial can function standalone without having to install anything else. Treat it as you would object code. I pulled a half-dozen of those modules at random and went to their repositories. Every one of them had unit tests: block-stream, graceful-fs, lowercase-keys, minimist, pify and safe-buffer. Nobody sane ships unit tests with their executables.
  • I'm a noob, I've hit a wall and I need a bit of handholding re: creating node.js app
    5 projects | /r/learnjavascript | 25 Apr 2022
  • A note from our sponsor - InfluxDB | 17 Jun 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →


Basic graceful-fs repo stats
12 months ago

Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.