I highly recommend reading this: So, what's next?
core-js-compat
package contains data about the necessity of core-js
modules and API for getting a list of required core-js modules by browserslist query.
import compat from 'core-js-compat';
const {
list,
targets,
} = compat({
targets: '> 1%',
modules: [
'core-js/actual',
'esnext.array.unique-by',
/^web\./,
],
exclude: [
'web.atob',
],
version: '3.37',
inverse: false,
});
console.log(targets);
targets
option
targets
could be a browserslist
query or a targets object that specifies minimum environment versions to support:
'defaults, not IE 11, maintained node versions'
{
android: '4.0',
bun: '0.1.2',
chrome: '38',
'chrome-android': '18',
deno: '1.12',
edge: '13',
electron: '5.0',
firefox: '15',
'firefox-android': '4',
hermes: '0.11',
ie: '8',
ios: '13.0',
node: 'current',
opera: '12',
'opera-android': '7',
phantom: '1.9',
quest: '5.0',
'react-native': '0.70',
rhino: '1.7.13',
safari: '14.0',
samsung: '14.0',
esmodules: true,
browsers: '> 0.25%',
}
Additional API:
require('core-js-compat/compat')({ targets, modules, version });
require('core-js-compat').compat({ targets, modules, version });
require('core-js-compat/data');
require('core-js-compat').data;
require('core-js-compat/entries');
require('core-js-compat').entries;
require('core-js-compat/modules');
require('core-js-compat').modules;
require('core-js-compat/get-modules-list-for-target-version')('3.37');
require('core-js-compat').getModulesListForTargetVersion('3.37');
If you wanna help to improve this data, you could take a look at the related section of CONTRIBUTING.md
. The visualization of compatibility data and the browser tests runner is available here, the example: