// the find
zloirock/core-js
Standard Library
core-js is the polyfill layer that makes modern JavaScript features work in older environments. It covers the full ECMAScript spec through ES2025, TC39 proposals at every stage, and some web platform APIs. Babel and swc both rely on it under the hood, so a large chunk of the npm ecosystem is already running it whether projects know it or not.
The modular entry point system is genuinely well designed — you can import `core-js/actual` for everything stable, or drill down to `core-js/actual/set/intersection` for a single method, and bundlers tree-shake correctly. The `core-js-compat` package is a first-class data source for build tools, which is why preset-env and swc can reliably inject only the polyfills a given browser target actually needs. The `core-js-pure` variant avoids global namespace pollution entirely, which matters for library authors who can't safely patch built-ins. Active maintenance is real — it was pushing commits as recently as yesterday and tracks proposals through every TC39 stage.
The postinstall funding plea is baked into the package and has generated years of friction — it prints in CI logs, confuses developers, and requires an env var opt-out rather than opt-in. The project is effectively one person; the 2023 blog post makes the bus-factor risk explicit and is still the most prominent call to action on the site. Including stage 0 and stage 1 proposals in the default `core-js/full` entry point is a footgun — APIs at those stages have changed or been dropped, and `useBuiltIns: 'usage'` in Babel will inject them if you enable proposals. At ~240KB minified for the full bundle, the size cost is non-trivial for anyone who reaches for `import 'core-js'` without thinking about what they actually need.