A modular standard library for JavaScript with polyfills for ECMAScript up to 2025 and web standards.
core-js is a modular JavaScript standard library that provides polyfills for ECMAScript features up to the latest proposals and web standards. It solves the problem of missing or inconsistent JavaScript APIs in older browsers and Node.js versions, enabling developers to write modern code that works across environments.
JavaScript developers building applications that need to support older browsers or Node.js versions, as well as library authors who require consistent runtime behavior across different environments.
Developers choose core-js for its extensive and accurate polyfill coverage, modular design that minimizes bundle size, and seamless integration with tools like Babel and swc. It is the de facto standard for polyfilling JavaScript features in the ecosystem.
Standard Library
Covers ECMAScript features up to 2025 and stage 0-3 proposals, including promises, symbols, and iterator helpers, as detailed in the extensive feature list.
Allows importing only necessary polyfills via entry points like /actual/ or /stable/, minimizing bundle size compared to loading the entire library.
The core-js-pure version imports polyfills as modules without modifying global objects, ideal for libraries or strict environments, as shown in the examples.
Integrates with Babel's @babel/preset-env and swc for automatic polyfill injection based on target environments, simplifying setup with useBuiltIns options.
Even with modular imports, polyfilling many features can significantly increase JavaScript bundle size, impacting load times, especially for legacy browser support.
Requires careful setup with tools like Babel to avoid conflicts; the README warns about issues with libraries like Google Maps due to global namespace pollution.
Includes polyfills for early-stage ECMAScript proposals that may change or be removed, leading to potential breaking changes in future updates.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.