core-js

Modular standard library and polyfills for JavaScript, from ECMAScript features to proposals and web standards.

Library
npm
v3.50.0
25,536 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 100
Maintenance 96
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
87 /100 Excellent
Architecture 95
Code Quality 90
Innovation 88
Learning Curve 70

core-js is the most widely used modular standard library for JavaScript, providing polyfills for the full breadth of ECMAScript — promises, symbols, iterators, collections, typed arrays, and hundreds of other methods — up to the latest yearly editions, along with staged TC39 proposals and cross-platform WHATWG/W3C features like URL and structuredClone.

It is designed for granular consumption: you can pull in the entire library, import only the exact features your code needs, or use the pure version to add functionality without polluting the global namespace. Bundled with Babel’s preset-env and countless build pipelines, core-js quietly powers backwards compatibility for a huge share of the web.

What You Get

  • Polyfills for ECMAScript features up to the latest yearly editions (ES2015 through ES2026)
  • Implementations of staged TC39 proposals you can adopt before they ship natively
  • Cross-platform web standards such as URL, URLSearchParams, queueMicrotask, and structuredClone
  • A namespace-clean core-js-pure build that avoids modifying global prototypes
  • The core-js-compat tooling to compute exactly which modules a given browser target needs

Common Use Cases

  • Shipping modern JavaScript syntax and APIs to legacy browsers via Babel’s preset-env
  • Adding a single missing method (e.g. Array.prototype.flatMap) without a full polyfill bundle
  • Providing standard-library features inside a library without polluting consumers’ globals
  • Experimenting with TC39 proposals in production code ahead of native support

Under The Hood

Architecture

core-js is an npm-workspaces monorepo of five packages: the main core-js (global-polluting polyfills), core-js-pure (namespace-clean ponyfills), core-js-compat (target-to-module mapping with TypeScript definitions), core-js-builder, and core-js-bundle. The main package exposes layered entry points — es, stable, actual, full, stage, proposals, web — so consumers dial in exactly how bleeding-edge they want to be. Individual modules install features through a central internals/export.js dispatcher, which handles global vs static vs prototype targets and the forced/sham flags that let the pure build reuse the same module source. A generated compat database flows through core-js-compat to drive Babel preset-env’s module selection.

Tech Stack

The library is written in portable CommonJS JavaScript (98.5% of the codebase) with hand-authored TypeScript definitions for the compat and builder packages. It targets every JS engine from ES3 up, so it avoids modern syntax internally and leans on its own internal helpers rather than external runtime dependencies. Build and test tooling uses Babel, zx scripts, Karma, and Test262, orchestrated through npm workspaces.

Code Quality

Quality is exceptional for the scope. Roughly 567 feature modules each declare their polyfill through the shared export.js helper ($({ target, proto }, {...})) and cite the exact TC39 spec URL they implement, composed from ~329 small single-purpose internal helpers such as to-object, a-callable, and length-of-array-like. Testing is deep and multi-layered: unit suites run under Karma, Node, and Bun, with dedicated promises, observables, entries, and type-definition runners plus the full Test262 conformance suite, compat-data validation, ESLint, publint, and codespell all wired into the test script.

API Design

The public API is deliberately transparent — for the global build you import a path and use the native-looking API, and names map directly onto ECMAScript spec names, so there is essentially nothing new to learn beyond the language. Granular feature/method import paths (e.g. core-js/actual/array/flat-map) are consistent and predictable, and core-js-pure offers the same surface as importable, side-effect-free values. The main friction is choosing among the es/stable/actual/full entry points and the global vs pure variant, which the extensive documentation covers thoroughly.

Used by 50 apps in this directory

TypeScript
82%
Other

AFFiNE

Collaboration · Note Taking · Productivity

73,040

Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.

View details
91
Repo Health
87
Technical
67
Dependency
Built with
TypeScript 82%
Rust 11%
Updated 6 days ago
Python
47%
Other

Airbyte

Data Engineering · Developer Tools

22,143

Open-source ELT platform with 600+ connectors for moving data from any source to warehouses, lakes, and AI agents.

View details
95
Repo Health
80
Technical
67
Dependency
Built with
Python 47%
Kotlin 43%
Updated 5 days ago
TypeScript
96%
Other

Amplication

AI Code Assistants · Automation · Developer Tools

16,015

Create production-ready backend services with your organization's standards baked in — generating NestJS, Prisma, and GraphQL code that you own and control.

View details
58
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 96%
Updated 3 months ago
TypeScript
68%
Apache 2.0

Appsmith

Automation · Developer Tools · No Code Platforms

40,959

Open-source low-code platform to build admin panels, dashboards, and internal tools connected to any database or API.

View details
93
Repo Health
79
Technical
66
Dependency
Built with
TypeScript 68%
Java 21%
Updated 1 weeks ago
Python
59%
Apache 2.0

argilla

AI Development · Data Engineering

5,125

Collaborate on high-quality AI training data with a self-hosted annotation platform built for LLMs, NLP, and multimodal models.

View details
65
Repo Health
81
Technical
61
Dependency
Built with
Python 59%
Jupyter Notebook 21%
Updated 1 weeks ago
Python
55%
Other

authentik

Authentication · Security

25,758

The self-hosted Identity Provider that replaces Okta, Auth0, and Entra ID with a unified SSO platform supporting SAML, OAuth2/OIDC, LDAP, RADIUS, and WebAuthn.

View details
92
Repo Health
81
Technical
66
Dependency
Built with
Python 55%
TypeScript 36%
Updated 5 days ago
PHP
63%
Other

BillaBear

Ecommerce · Invoicing Finance

761

Self-hostable subscription management and billing platform with Stripe integration, tax automation, configurable workflows, and Twig-based document generation.

View details
76
Repo Health
66
Technical
65
Dependency
Built with
PHP 63%
Vue 18%
Gherkin 13%
Updated 2 weeks ago
TypeScript
45%
AGPL 3.0

BrowserOS

AI Assistants · Browser

13,763

The open-source agentic Chromium browser with native AI agents, MCP server, and visual workflow automation — your data never leaves your machine.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript 45%
Rust 23%
Python 18%
Updated 5 days ago
Ruby
50%
Other

Chatwoot

Customer Support

37,254

Open-source omnichannel customer support platform with AI-powered agents, live chat, and self-hosting — a full Intercom and Zendesk alternative.

View details
95
Repo Health
78
Technical
69
Dependency
Built with
Ruby 50%
Vue 25%
JavaScript 22%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers