add electron version util to normalize-options

This commit is contained in:
Brian Ng 2017-02-28 11:36:02 -06:00
parent 2e0f64256f
commit 68c2a725c6
2 changed files with 15 additions and 10 deletions

View File

@ -1,10 +1,8 @@
import browserslist from "browserslist";
import invariant from "invariant";
import builtInsList from "../data/built-ins.json";
import defaultInclude from "./default-includes";
import { electronToChromium } from "electron-to-chromium";
import moduleTransformations from "./module-transformations";
import normalizeOptions from "./normalize-options.js";
import normalizeOptions, { getElectronChromeVersion } from "./normalize-options.js";
import pluginList from "../data/plugins.json";
import transformPolyfillRequirePlugin from "./transform-polyfill-require-plugin";
@ -102,14 +100,9 @@ export const getTargets = (targets = {}) => {
targetOps.node = getCurrentNodeVersion();
}
// Replace Electron versions with their Chrome equivalent
// Replace Electron target with its Chrome equivalent
if (targetOps.electron) {
const electronChromeVersion = parseInt(electronToChromium(targetOps.electron), 10);
invariant(
!!electronChromeVersion,
`Electron version ${targetOps.electron} is either too old or too new`
);
const electronChromeVersion = getElectronChromeVersion(targetOps.electron);
targetOps.chrome = targetOps.chrome
? Math.min(targetOps.chrome, electronChromeVersion)

View File

@ -1,4 +1,5 @@
import invariant from "invariant";
import { electronToChromium } from "electron-to-chromium";
import builtInsList from "../data/built-ins.json";
import defaultInclude from "./default-includes";
import moduleTransformations from "./module-transformations";
@ -69,6 +70,17 @@ export const validateModulesOption = (modulesOpt = "commonjs") => {
return modulesOpt;
};
export const getElectronChromeVersion = (electronVersion) => {
const electronChromeVersion = parseInt(electronToChromium(electronVersion), 10);
invariant(
!!electronChromeVersion,
`Electron version ${electronVersion} is either too old or too new`
);
return electronChromeVersion;
};
export default function normalizeOptions(opts) {
// TODO: remove whitelist in favor of include in next major
if (opts.whitelist && !hasBeenWarned) {