You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Removing fs-extra from packages with async node:fs support #33
thankfully, fs-extra isn't bloated but you are right it could be removed entirely from many projects
we will have to look up the engines constraint of popular packages depending on it, and remove fs-extra if they're on a node version which ships async fs
Be aware that fs-extra is not just polyfill, it adds extra functionality like emptyDir, and so which does not have direct replacement, but of course can be replaced with similar code as fs-extra.
its a pretty useful package for sure. we should only really move projects away from it for the stuff that has native equivalents in their supported node versions (e.g. recursive readdir, async methods, etc)
Those list of dependencies are quite cool, and useful, but also very overwhelming with 100 packages each. Because who will open 200 PRs ? What about shorter list, maybe the top 20 as a first step, so we don't feel like it's a lost cause before even starting ?
Also it's not super clear what the difference between the two list ? maybe the tool could also generate a short explanation of the output, so that newcomers might have an idea what it's about ?
the 2nd list is devDependencies, so you can probably focus on the first list for now.
there's also a few orgs in that list we could tackle in one go by reaching out to them in an issue. e.g. changesets, lera, react-native-community, etc.
Activity
43081j commentedon Mar 3, 2024
this will be a big one.
thankfully, fs-extra isn't bloated but you are right it could be removed entirely from many projects
we will have to look up the
enginesconstraint of popular packages depending on it, and removefs-extraif they're on a node version which ships async fs[-]FS Extra[/-][+]Removing fs-extra from packages with async node:fs support[/+]psulek commentedon Jun 23, 2024
Be aware that fs-extra is not just polyfill, it adds extra functionality like emptyDir, and so which does not have direct replacement, but of course can be replaced with similar code as fs-extra.
43081j commentedon Jun 23, 2024
you're right
its a pretty useful package for sure. we should only really move projects away from it for the stuff that has native equivalents in their supported node versions (e.g. recursive readdir, async methods, etc)
pralkarz commentedon Dec 3, 2024
Top 100 dependents that still use
fs-extra.alexparish commentedon Dec 3, 2024
The change to
get-uriis merged but still waiting for it to be published: TooTallNate/proxy-agents#341alexparish commentedon Dec 6, 2024
get-uriversion 6.0.4 has now been published removing thefs-extradependency 🎉Taureon commentedon Dec 7, 2024
If I did my math right, that sums up to 7040 GB (and 6440.48 GB without
get-uri) of inefficiently used bandwidth per month.Awesome, I love
npm.v1rtl commentedon Jan 19, 2025
removed fs-extra from
@vercel/fun: vercel/fun#110MichaelDeBoey commentedon Jun 4, 2025
Removed it from all React Router packages: remix-run/react-router#13736
MichaelDeBoey commentedon Aug 4, 2025
TypeStrong/fork-ts-checker-webpack-plugin#866
MichaelDeBoey commentedon Feb 11, 2026
79.81M156.71 GB^10.0.0react-scriptsdeprecatedcommitizen/cz-cli#1016438.14M130.12 GBeslint-plugin-eslint-commentsunmaintainedPowerKiKi commentedon Feb 11, 2026
Those list of dependencies are quite cool, and useful, but also very overwhelming with 100 packages each. Because who will open 200 PRs ? What about shorter list, maybe the top 20 as a first step, so we don't feel like it's a lost cause before even starting ?
Also it's not super clear what the difference between the two list ? maybe the tool could also generate a short explanation of the output, so that newcomers might have an idea what it's about ?
43081j commentedon Feb 11, 2026
i agree lets focus on the top few 👍
the 2nd list is devDependencies, so you can probably focus on the first list for now.
there's also a few orgs in that list we could tackle in one go by reaching out to them in an issue. e.g. changesets, lera, react-native-community, etc.
chore: replace fs-extra with native node:fs
chore: replace fs-extra with native node:fs
build(deps): replace fs-extra with native node:fs