![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
core-js-pure
Advanced tools
Package description
The core-js-pure package is a version of core-js that doesn't pollute the global namespace. It provides polyfills for ECMAScript features, including promises, symbols, collections, iterators, typed arrays, and many other features that are part of the ECMAScript specification but may not be available in all JavaScript environments.
Polyfilling Promises
This code sample demonstrates how to polyfill Promises using core-js-pure. It allows you to use Promises in environments where they are not natively supported.
import 'core-js-pure/stable/promise';
const promise = Promise.resolve(42);
promise.then(value => console.log(value));
Polyfilling Array methods
This code sample shows how to polyfill Array.prototype.find method. It enables the use of this method in environments where it is not part of the Array prototype.
import 'core-js-pure/stable/array/find';
const array = [1, 2, 3];
const found = array.find(item => item > 1);
console.log(found); // 2
Polyfilling Object static methods
This code sample illustrates how to polyfill Object.assign method. It allows the merging of multiple source objects into a target object in environments that do not support this method natively.
import 'core-js-pure/stable/object/assign';
const target = { a: 1 };
const source = { b: 2 };
const returnedTarget = Object.assign(target, source);
console.log(returnedTarget); // { a: 1, b: 2 }
Polyfilling String methods
This code sample demonstrates how to polyfill String.prototype.includes method. It provides a way to check if one string may be found within another string, returning true or false as appropriate.
import 'core-js-pure/stable/string/includes';
const string = 'hello world';
const includesHello = string.includes('hello');
console.log(includesHello); // true
Babel-polyfill is a package that includes core-js and a custom regenerator runtime to emulate a full ES2015+ environment. It's similar to core-js-pure but is more tightly coupled with Babel's transpilation process.
The es6-shim package provides polyfills for many new JavaScript features introduced in ES5 and ES6. It is similar to core-js-pure but does not offer as modular an approach, and it may include shims for features that are not strictly polyfills.
The polyfill-service (also known as polyfill.io) is a service that provides polyfills based on the user's browser user-agent. Unlike core-js-pure, it is a service rather than a package you include in your code, and it dynamically serves only the polyfills needed by the browser.
Changelog
String.prototype.isWellFormed
methodString.prototype.toWellFormed
methodes.
namespace modules, /es/
and /stable/
namespaces entriesArray
grouping proposal, May 2023 TC39 meeting updates:
Object.groupBy
methodMap.groupBy
method (with the actual semantic - with a minor difference it was present in the collections methods stage 1 proposal)Function.prototype[Symbol.metadata]
(=== null
)/actual/
entriesSymbol.iterator
fallback from callable check to undefined
/ null
check, May 2023 TC39 meeting, proposal-iterator-helpers/272IsCallable
check on NextMethod
, deferring errors to Call
site, May 2023 TC39 meeting, proposal-iterator-helpers/274Promise.withResolvers
stage 2 proposal:
Promise.withResolvers
methodSymbol
predicates stage 2 proposal:
Symbol
, May 2023 TC39 meeting:
Symbol.isRegistered
-> Symbol.isRegisteredSymbol
methodSymbol.isWellKnown
-> Symbol.isWellKnownSymbol
methodvalue
argument of URLSearchParams.prototype.{ has, delete }
, url/735ArrayBuffer.prototype.{ transfer, transferToFixedLength }
polyfillsAsyncDisposableStack.prototype.adopt
callback, #1258URLSearchParams#size
in ES3 engines (IE8-)Object.{ entries, values }
for some IE versions bug with invisible integer keys on null
-prototype objectscore-js-compat
, #1235, thanks @susnuxSet.prototype.difference
that was missed in Bun because of a bug added in 0.6.0Array.prototype.{ group, groupToMap }
marked as no longer supported in WebKit runtimes because of the mentioned above web compat issue. For example, it's disabled from Bun 0.6.2Array
by copy proposal marked as supported from FF115Array.fromAsync
marked as supported from FF115URL.canParse
marked as supported from FF115value
argument of URLSearchParams.prototype.{ has, delete }
marked as supported from NodeJS 20.2.0 and FF115Readme
Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2023: 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.
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, Boosty, Bitcoin ( bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz ), Alipay.
import 'core-js/actual';
Promise.resolve(42).then(it => console.log(it)); // => 42
Array.from(new Set([1, 2, 3]).union(new Set([3, 4, 5]))); // => [1, 2, 3, 4, 5]
[1, 2].flatMap(it => [it, it]); // => [1, 1, 2, 2]
(function * (i) { while (true) yield i++; })(1)
.drop(1).take(5)
.filter(it => it % 2)
.map(it => it ** 2)
.toArray(); // => [9, 25]
structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3])
You can load only required features:
import 'core-js/actual/promise';
import 'core-js/actual/set';
import 'core-js/actual/iterator';
import 'core-js/actual/array/from';
import 'core-js/actual/array/flat-map';
import 'core-js/actual/structured-clone';
Promise.resolve(42).then(it => console.log(it)); // => 42
Array.from(new Set([1, 2, 3]).union(new Set([3, 4, 5]))); // => [1, 2, 3, 4, 5]
[1, 2].flatMap(it => [it, it]); // => [1, 1, 2, 2]
(function * (i) { while (true) yield i++; })(1)
.drop(1).take(5)
.filter(it => it % 2)
.map(it => it ** 2)
.toArray(); // => [9, 25]
structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3])
Or use it without global namespace pollution:
import Promise from 'core-js-pure/actual/promise';
import Set from 'core-js-pure/actual/set';
import Iterator from 'core-js-pure/actual/iterator';
import from from 'core-js-pure/actual/array/from';
import flatMap from 'core-js-pure/actual/array/flat-map';
import structuredClone from 'core-js-pure/actual/structured-clone';
Promise.resolve(42).then(it => console.log(it)); // => 42
from(new Set([1, 2, 3]).union(new Set([3, 4, 5]))); // => [1, 2, 3, 4, 5]
flatMap([1, 2], it => [it, it]); // => [1, 1, 2, 2]
Iterator.from(function * (i) { while (true) yield i++; }(1))
.drop(1).take(5)
.filter(it => it % 2)
.map(it => it ** 2)
.toArray(); // => [9, 25]
structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3])
It's a version without global namespace pollution (the third example), for more info see core-js
documentation.
FAQs
Standard library
The npm package core-js-pure receives a total of 9,564,565 weekly downloads. As such, core-js-pure popularity was classified as popular.
We found that core-js-pure demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.