* chore: update compat-table data source * refactor: use chromeVersions from electron-to-chromium * chore: deduplicate yarn.lock
33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
const { versions } = require("electron-to-chromium");
|
|
// todo: we should have imported `chromiumVersions` from `require("electron-to-chromium").chromiumVersions`,
|
|
// however the data is inconsistent with `require("electron-to-chromium").versions`.
|
|
// see https://github.com/Kilian/electron-to-chromium/pull/36
|
|
const chromiumVersions = {};
|
|
for (const electronVersion of Object.keys(versions)) {
|
|
chromiumVersions[versions[electronVersion]] =
|
|
chromiumVersions[versions[electronVersion]] || electronVersion;
|
|
}
|
|
const chromiumVersionList = Object.keys(chromiumVersions);
|
|
|
|
function chromiumToElectron(version) {
|
|
if (chromiumVersions[version]) {
|
|
return chromiumVersions[version];
|
|
}
|
|
const supportedVersion = chromiumVersionList.concat(version);
|
|
supportedVersion.sort((a, b) => +a - +b);
|
|
const nextSupportedVersion =
|
|
supportedVersion[supportedVersion.indexOf(version) + 1];
|
|
return chromiumVersions[nextSupportedVersion];
|
|
}
|
|
|
|
function addElectronSupportFromChromium(supportData) {
|
|
if (supportData.chrome) {
|
|
const electronVersion = chromiumToElectron(supportData.chrome);
|
|
if (electronVersion) {
|
|
supportData.electron = electronVersion;
|
|
}
|
|
}
|
|
}
|
|
|
|
exports.addElectronSupportFromChromium = addElectronSupportFromChromium;
|