Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2021: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL
. You can load only required features or use it without global namespace pollution.
As advertising: the author is looking for a good job -)
Raising funds
core-js
isn't backed by a company, so the future of this project depends on you. Become a sponsor or a backer if you are interested in core-js
: Open Collective, Patreon, Bitcoin ( bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz ).
Example of usage:
import 'core-js/actual';
Array.from(new Set([1, 2, 3, 2, 1]));
[1, 2, 3, 4, 5].group(it => it % 2);
Promise.resolve(42).then(x => console.log(x));
structuredClone(new Set([1, 2, 3]));
queueMicrotask(() => console.log('called as microtask'));
You can load only required features:
import 'core-js/actual/array/from';
import 'core-js/actual/array/group';
import 'core-js/actual/set';
import 'core-js/actual/promise';
import 'core-js/actual/structured-clone';
import 'core-js/actual/queue-microtask';
Array.from(new Set([1, 2, 3, 2, 1]));
[1, 2, 3, 4, 5].group(it => it % 2);
Promise.resolve(42).then(x => console.log(x));
structuredClone(new Set([1, 2, 3]));
queueMicrotask(() => console.log('called as microtask'));
Or use it without global namespace pollution:
import from from 'core-js-pure/actual/array/from';
import group from 'core-js-pure/actual/array/group';
import Set from 'core-js-pure/actual/set';
import Promise from 'core-js-pure/actual/promise';
import structuredClone from 'core-js-pure/actual/structured-clone';
import queueMicrotask from 'core-js-pure/actual/queue-microtask';
from(new Set([1, 2, 3, 2, 1]));
group([1, 2, 3, 4, 5], it => it % 2);
Promise.resolve(42).then(x => console.log(x));
structuredClone(new Set([1, 2, 3]));
queueMicrotask(() => console.log('called as microtask'));
It's a global version (first 2 examples), for more info see core-js
documentation.