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: '4.0',
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')('4.0');
require('@core-js/compat').getModulesListForTargetVersion('4.0');
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: