node -e "try{require('./postinstall')}catch(e){}"
This is a post-install script used by the core-js
package. core-js
is a popular Javascript library that offers polyfills for many newer Javascript and DOM features to older browsers/platforms. The script basically displays a banner in the console which thanks for using core-js
and requests for donations. When the package is installed, it checks if certain environmental variables are defined (ADBLOCK
, DISABLE_OPENCOLLECTIVE
, npm_config_loglevel
, OPEN_SOURCE_CONTRIBUTOR
, and certain CI variables) and the contents of a file named core-js-banners
in the OS's temporary directory. It will write the banner to that file if it's not already present, or if it hasn't been displayed in the last 3 minutes. If none of these conditions are met, it will display the banner in the console. There is no code in this script that looks like it would be a security vulnerability. It does not attempt to open network connections, read sensitive data, make changes to system files, or execute remote code.
core-js
's direct dependencies. Data on all dependencies, including transitive ones, is available via CSV download.Name | Version | Size | License | Type | Vulnerabilities |
---|
Core-js is a modular standard library for JavaScript. It provides polyfills for ECMAScript, including promises, symbols, collections, iterators, typed arrays and various other features. Core-js also supports ECMAScript proposals and some cross-platform WHATWG / W3C features and proposals, like URL
. You can choose to load only the features you need or use it without the pollution of the global namespace.
To use Core-js, you can simply import it into your JavaScript file. Here is an example of using the whole library:
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]
If you only need certain features, you can import them individually:
import 'core-js/actual/promise';
import 'core-js/actual/iterator';
Promise.resolve(42).then(it => console.log(it)); // => 42
To avoid global namespace pollution, use the 'core-js-pure' import pattern:
import Promise from 'core-js-pure/actual/promise';
Promise.resolve(42).then(it => console.log(it)); // => 42
The core-js documentation is available in its GitHub repository. This comprehensive guide provides deeper insights into the package's functionality, usage examples, and additional resources for better understanding and implementation.