Skip to main content

Update core-js-compat

About 2 mindevelopment

Update core-js-compat

Tips

If you have no access to all required browsers / versions of browsers, use Sauce Labsopen in new window, BrowserStackopen in new window or Cloud Browseropen in new window.

Update existing data

For updating core-js-compat data:

  • If you want to add a new data for a browser, run tests/compat/index.html in this browser (tests and results for the actual release are available at Compat Form) and you will see what Core-JS modules are required for this browser.

compat-table

  • If you want to add new data for NodeJS, run npm run compat-node with the installed required NodeJS version and you will see the results in the console. Use npm run compat-node json if you want to get the result as JSON.
  • If you want to add new data for Deno, run npm run compat-deno with the installed required Deno version and you will see the results in the console. Use npm run compat-deno json if you want to get the result as JSON.
  • If you want to add new data for Bun, run npm run compat-bun with the installed required Bun version and you will see the results in the console.
  • If you want to add new data for Rhino, set the required Rhino version in compat-rhino NPM script in package.jsonopen in new window, run npm run compat-rhino and you will see the results in the console.
  • If you want to add new data for Hermes (incl. shipped with React Native), run npm run compat-hermes YOR_PATH_TO_HERMES and you will see the results in the console.
  • After getting this data, add it to packages/core-js-compat/src/data.mjsopen in new window.

Add a new mapping

If you want to add new mapping (for example, to add a new iOS Safari version based on Safari or NodeJS based on Chrome), add it to packages/core-js-compat/src/mapping.mjsopen in new window.

enginehow to run testsbase data inherits frommandatory checkmapping for a new version
androidbrowser runnerchrome, chrome-android
bunbun runnersafari (only ES)required
chromebrowser runnerrequired
chrome-androidbrowser runnerchrome
denodeno runnerchrome (only ES)non-ES featuresrequired
edgebrowser runnerie, chromerequired (<= 18)
electronbrowser runnerchromerequired
firefoxbrowser runnerrequired
firefox-androidbrowser runnerfirefox
hermeshermes runnerrequired
iebrowser runnerrequired
iosbrowser runnersafariif inconsistent (!= safari)
nodenode runnerchrome (only ES)non-ES featuresrequired
operabrowser runnerchromeif inconsistent (!= chrome - 14)
opera-androidbrowser runneropera, chrome-androidrequired
phantombrowser runnersafari
questbrowser runnerchrome-androidrequired
react-nativehermes runnerhermesrequired
rhinorhino runnerrequired
safaribrowser runnerrequired
samsungbrowser runnerchrome-androidrequired