# zloirock/core-js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zloirock-core-js).**

25,501 stars · 1,697 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/zloirock/core-js
- Homepage: https://core-js.io
- awesome-repositories: https://awesome-repositories.com/repository/zloirock-core-js.md

## Description

core-js is a comprehensive compatibility layer and standard library polyfill that implements ECMAScript proposals and stable language features across diverse JavaScript runtimes. It serves as a runtime environment shim to ensure consistent execution of global objects, iteration protocols, and standard library methods in older browsers or non-browser environments.

The project is distinguished by its delivery models, offering both prototype-based global polyfilling and a pure-module implementation. This allows for the integration of modern functionality without modifying global prototypes to prevent conflicts in shared environments. It utilizes a modular dependency graph and feature-detection gating to ensure only necessary code is applied and existing native implementations are not overwritten.

Its capability surface covers a wide range of language features, including core object methods, collection types, promise APIs, and reflection. It provides implementations for asynchronous logic management, binary data manipulation, and web standard APIs like URL processing and structured cloning. Additionally, it includes specialized utilities for advanced mathematical operations, resource lifecycle management, and Unicode string normalization.

## Tags

### Programming Languages & Runtimes

- [JavaScript Runtime Compatibility Layers](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-runtime-compatibility-layers.md) — Adds missing standard library features to ensure code runs consistently across diverse JavaScript runtimes.
- [Standard Library Polyfills](https://awesome-repositories.com/f/programming-languages-runtimes/standard-library-polyfills.md) — Adds missing ECMAScript standard library methods to older JavaScript environments.
- [ECMAScript Proposal Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/ecmascript-proposal-implementations.md) — Implements early-stage and stable JavaScript language proposals before they are natively supported.
- [Non-Polluting Module Exports](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-systems/synchronous-module-loaders/module-interface-exports/non-polluting-module-exports.md) — Exports language features as standalone modules to prevent conflicts in shared environments.
- [ECMAScript Proposal Polyfills](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/javascript-language-features/ecmascript-proposal-polyfills.md) — Implements new language proposals and stable features before native support is available in the target environment.
- [Modular Polyfill Dependency Graphs](https://awesome-repositories.com/f/programming-languages-runtimes/modular-polyfill-dependency-graphs.md) — Organizes polyfills into a granular network so users only bundle the specific features required.
- [Runtime Shims](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/javascript-environments/runtime-shims.md) — Ensures consistent execution of promises and collections across different JavaScript engines through runtime shimming.
- [API Polyfills](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/javascript-and-web-standard/api-polyfills.md) — Provides browser-based utilities like URL and structuredClone in non-browser environments. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Iteration Protocols](https://awesome-repositories.com/f/programming-languages-runtimes/iteration-protocols.md) — Implements standardized interfaces using symbols to allow custom data structures to be traversed by loops.
- [Reflection APIs](https://awesome-repositories.com/f/programming-languages-runtimes/reflection-apis.md) — Implements the standardized Reflect API to intercept and manipulate JavaScript object behavior. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Extended Syntax Support](https://awesome-repositories.com/f/programming-languages-runtimes/regular-expression-engines/extended-syntax-support.md) — Adds support for named capture groups, sticky mode, and the dotAll flag for advanced string matching. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Asynchronous Programming](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/asynchronous-execution-engines/asynchronous-programming.md) — Polyfills standardized promise methods to manage concurrent asynchronous operations and their combined states. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Promise](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/javascript-and-web-standard/api-polyfills/promise.md) — Implements Promise methods such as allSettled, any, and finally for better asynchronous flow control. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [URL Polyfills](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/javascript-and-web-standard/api-polyfills/url-polyfills.md) — Provides standardized API capabilities to parse, validate, and manipulate web addresses. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Unicode Management](https://awesome-repositories.com/f/programming-languages-runtimes/unicode-management.md) — Implements standardized Unicode normalization and conversion of ill-formed characters for consistent string processing. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))

### Part of an Awesome List

- [Standard Library](https://awesome-repositories.com/f/awesome-lists/devtools/polyfills/standard-library.md) — Provides missing standard library methods and constructors to maintain a predictable execution baseline. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Iteration Protocol](https://awesome-repositories.com/f/awesome-lists/devtools/polyfills/iteration-protocol.md) — Standardizes data sequence processing through polyfills for synchronous and asynchronous iteration protocols. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Proposal](https://awesome-repositories.com/f/awesome-lists/devtools/polyfills/proposal.md) — Enables upcoming JavaScript syntax and logic through implementations of early-stage language proposals. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Typed Array](https://awesome-repositories.com/f/awesome-lists/devtools/polyfills/typed-array.md) — Implements binary data management using buffers and specialized array constructors for efficient memory access. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Build and Transpilation Tools](https://awesome-repositories.com/f/awesome-lists/devtools/build-and-transpilation-tools.md) — Standard library for polyfilling ECMAScript features.

### Development Tools & Productivity

- [Bundle Size Optimization](https://awesome-repositories.com/f/development-tools-productivity/bundle-size-optimization.md) — Allows importing only specific required language features to minimize the final delivered code size.
- [Global Prototype Protection](https://awesome-repositories.com/f/development-tools-productivity/global-configurations/global-prototype-protection.md) — Prevents conflicts in shared environments by allowing feature integration without modifying global prototypes. ([source](https://github.com/zloirock/core-js/tree/master/deno/corejs))
- [Cross-Platform Compatibility](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/cross-platform-compatibility.md) — Provides a compatibility layer that allows modern JavaScript features to run across different browsers and runtimes.

### Software Engineering & Architecture

- [Prototype Extensions](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures/prototype-extensions.md) — Injects missing standard methods directly into global constructors and prototypes for environment consistency.

### Web Development

- [Feature Detection Polyfills](https://awesome-repositories.com/f/web-development/feature-detection-polyfills.md) — Implements runtime checks to detect native feature support before applying necessary polyfills.
- [Modular Loading](https://awesome-repositories.com/f/web-development/feature-detection-polyfills/modular-loading.md) — Provides a modular dependency graph allowing developers to import only the specific language features their application requires. ([source](https://github.com/zloirock/core-js/tree/master/deno/corejs))
- [Non-Global Polyfill Injectors](https://awesome-repositories.com/f/web-development/feature-detection-polyfills/non-global-polyfill-injectors.md) — Provides polyfills as independent modules to avoid polluting the global prototype namespace. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Standards-Compliant Implementations](https://awesome-repositories.com/f/web-development/web-standards/standards-compliant-implementations.md) — Implements language behaviors by strictly following official ECMAScript specifications.
- [Binary Data Handling](https://awesome-repositories.com/f/web-development/api-management-tools/api-development-management/web-apis/binary-data-handling.md) — Polyfills utilities for transforming data between base64, hex, and typed array formats. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Cross-Runtime API Shims](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-apis/cross-runtime-api-shims.md) — Provides browser-based utilities like URL and structuredClone in non-browser environments.
- [Non-Browser API Emulations](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-apis/non-browser-api-emulations.md) — Provides browser-standard utilities like URL and structuredClone for non-browser environments.
- [Collection Polyfills](https://awesome-repositories.com/f/web-development/feature-detection-polyfills/collection-polyfills.md) — Implements modern data structures like Maps and Sets and their utility methods for older environments. ([source](https://github.com/zloirock/core-js/blob/master/README.md))
- [Core Object Method Polyfills](https://awesome-repositories.com/f/web-development/fetch-api-integrations/fetch-polyfills/core-object-method-polyfills.md) — Provides standard methods for global constructors like Object, Array, and String to ensure consistent behavior. ([source](https://github.com/zloirock/core-js/blob/master/README.md))

### Data & Databases

- [Iterator Transformation Helpers](https://awesome-repositories.com/f/data-databases/collection-iterators/asynchronous-iterators/iterator-transformation-helpers.md) — Provides helper functions to sequence, chunk, or zip data streams for iterators. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Grouping Utilities](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/array-tensor-manipulation/array-filtering/grouping-utilities.md) — Implements logic to organize array elements into maps or objects based on shared keys. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Explicit Data Cloning](https://awesome-repositories.com/f/data-databases/data-transfer-objects/object-duplicators/explicit-data-cloning.md) — Implements a standardized algorithm for creating deep copies of complex objects and buffers. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
- [Set Data Structures](https://awesome-repositories.com/f/data-databases/set-data-structures/set-data-structures.md) — Implements mathematical set operations including intersections, unions, and differences. ([source](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md))
