Skip to content

Commit

Permalink
move Electron mapping to core-js directly
Browse files Browse the repository at this point in the history
  • Loading branch information
zloirock committed Aug 21, 2021
1 parent c6877ff commit 66d6127
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 6 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
"core-js-compat": "file:./packages/core-js-compat",
"core-js-pure": "file:./packages/core-js-pure",
"david": "^12.0.0",
"electron-to-chromium": "^1.3.813",
"es-observable": "git+https://github.com/tc39/proposal-observable.git#d3404f06bc70c7c578a5047dfb3dc813730e3319",
"eslint": "^7.32.0",
"eslint-plugin-es": "git+https://github.com/mysticatea/eslint-plugin-es.git#00d73851793541dc7b0d07292deb0ca2bc8a25e1",
Expand Down
37 changes: 34 additions & 3 deletions packages/core-js-compat/src/mapping.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import ChromeToElectronModule from 'electron-to-chromium/chromium-versions.js';

export default {
// https://nodejs.org/dist/index.json
ChromeToNode: [
Expand Down Expand Up @@ -73,6 +71,40 @@ export default {
[93, '1.13'],
[94, '1.14'],
],
// https://github.com/Kilian/electron-to-chromium/blob/master/chromium-versions.js
// Maybe also required to handle used Node versions?
// https://github.com/electron/releases/blob/master/lite.json
ChromeToElectron: [
[39, '0.20'],
[41, '0.21'],
[42, '0.25'],
[43, '0.27'],
[44, '0.30'],
[45, '0.31'],
[47, '0.36'],
[49, '0.37'],
[50, '1.1'],
[51, '1.2'],
[52, '1.3'],
[54, '1.4'],
[56, '1.6'],
[58, '1.7'],
[59, '1.8'],
[61, '2.0'],
[66, '3.0'],
[69, '4.0'],
[73, '5.0'],
[76, '6.0'],
[78, '7.0'],
[80, '8.0'],
[83, '9.0'],
[85, '10.0'],
[87, '11.0'],
[89, '12.0'],
[91, '13.0'],
[93, '14.0'],
[94, '15.0'],
],
// https://github.com/mdn/browser-compat-data/blob/main/browsers/samsunginternet_android.json
ChromeToSamsung: [
[18, '1.0'],
Expand Down Expand Up @@ -128,7 +160,6 @@ export default {
[30, '4.4'],
[33, '4.4.3'],
],
ChromeToElectron: Object.entries(ChromeToElectronModule),
// https://github.com/mdn/browser-compat-data/blob/main/browsers/safari_ios.json
SafariToIOS: [
['3.0', '1.0'],
Expand Down
8 changes: 6 additions & 2 deletions scripts/check-compat-data-mapping.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ import mapping from 'core-js-compat/src/mapping.mjs';
const { coerce, cmp } = semver;
let updated = true;

async function getJSON(path) {
async function getJSON(path, ...slice) {
const result = await fetch(path);
return result.json();
const text = await result.text();
return JSON.parse(text.slice(...slice));
}

async function latestMDN(name, branch = 'mdn/browser-compat-data/main') {
Expand Down Expand Up @@ -42,6 +43,9 @@ assert(modernV8ToChrome(v8) <= latest(mapping.ChromeToNode)[0], 'NodeJS');
const deno = await latestMDN('deno');
assert(modernV8ToChrome(deno.engine) <= latest(mapping.ChromeToDeno)[0], 'Deno');

const electron = await getJSON('https://raw.githubusercontent.com/Kilian/electron-to-chromium/master/chromium-versions.js', 17, -1);
assert(latest(Object.entries(electron))[0] <= latest(mapping.ChromeToElectron)[0], 'Electron');

const samsung = await latestMDN('samsunginternet_android');
assert(samsung.engine <= latest(mapping.ChromeToSamsung)[0], 'Samsung Internet');

Expand Down

0 comments on commit 66d6127

Please sign in to comment.