@babel/preset-env
Advanced tools
Comparing version 7.0.0-beta.43 to 7.0.0-beta.44
@@ -7,3 +7,3 @@ "use strict"; | ||
exports.definitions = void 0; | ||
const definitions = { | ||
var definitions = { | ||
builtins: { | ||
@@ -10,0 +10,0 @@ DataView: "es6.typed.data-view", |
@@ -9,5 +9,5 @@ "use strict"; | ||
function _semver() { | ||
const data = _interopRequireDefault(require("semver")); | ||
var data = _interopRequireDefault(require("semver")); | ||
_semver = function () { | ||
_semver = function _semver() { | ||
return data; | ||
@@ -23,9 +23,9 @@ }; | ||
const wordEnds = size => { | ||
var wordEnds = function wordEnds(size) { | ||
return size > 1 ? "s" : ""; | ||
}; | ||
const logMessage = (message, context) => { | ||
const pre = context ? `[${context}] ` : ""; | ||
const logStr = ` ${pre}${message}`; | ||
var logMessage = function logMessage(message, context) { | ||
var pre = context ? "[" + context + "] " : ""; | ||
var logStr = " " + pre + message; | ||
console.log(logStr); | ||
@@ -36,7 +36,7 @@ }; | ||
const logPlugin = (item, targetVersions, list, context) => { | ||
const minVersions = list[item] || {}; | ||
const filteredList = Object.keys(targetVersions).reduce((result, env) => { | ||
const minVersion = minVersions[env]; | ||
const targetVersion = targetVersions[env]; | ||
var logPlugin = function logPlugin(item, targetVersions, list, context) { | ||
var minVersions = list[item] || {}; | ||
var filteredList = Object.keys(targetVersions).reduce(function (result, env) { | ||
var minVersion = minVersions[env]; | ||
var targetVersion = targetVersions[env]; | ||
@@ -46,4 +46,4 @@ if (!minVersion) { | ||
} else { | ||
const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); | ||
const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); | ||
var minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); | ||
var targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); | ||
@@ -57,4 +57,4 @@ if (!targetIsUnreleased && (minIsUnreleased || _semver().default.lt(targetVersion, (0, _utils.semverify)(minVersion)))) { | ||
}, {}); | ||
const formattedTargets = JSON.stringify(filteredList).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }'); | ||
logMessage(`${item} ${formattedTargets}`, context); | ||
var formattedTargets = JSON.stringify(filteredList).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }'); | ||
logMessage(item + " " + formattedTargets, context); | ||
}; | ||
@@ -64,6 +64,5 @@ | ||
const logEntryPolyfills = (importPolyfillIncluded, polyfills, filename, onDebug) => { | ||
var logEntryPolyfills = function logEntryPolyfills(importPolyfillIncluded, polyfills, filename, onDebug) { | ||
if (!importPolyfillIncluded) { | ||
console.log(` | ||
[${filename}] \`import '@babel/polyfill'\` was not found.`); | ||
console.log("\n[" + filename + "] `import '@babel/polyfill'` was not found."); | ||
return; | ||
@@ -73,9 +72,7 @@ } | ||
if (!polyfills.size) { | ||
console.log(` | ||
[${filename}] Based on your targets, none were added.`); | ||
console.log("\n[" + filename + "] Based on your targets, none were added."); | ||
return; | ||
} | ||
console.log(` | ||
[${filename}] Replaced \`@babel/polyfill\` with the following polyfill${wordEnds(polyfills.size)}:`); | ||
console.log("\n[" + filename + "] Replaced `@babel/polyfill` with the following polyfill" + wordEnds(polyfills.size) + ":"); | ||
onDebug(polyfills); | ||
@@ -86,11 +83,9 @@ }; | ||
const logUsagePolyfills = (polyfills, filename, onDebug) => { | ||
var logUsagePolyfills = function logUsagePolyfills(polyfills, filename, onDebug) { | ||
if (!polyfills.size) { | ||
console.log(` | ||
[${filename}] Based on your code and targets, none were added.`); | ||
console.log("\n[" + filename + "] Based on your code and targets, none were added."); | ||
return; | ||
} | ||
console.log(` | ||
[${filename}] Added following polyfill${wordEnds(polyfills.size)}:`); | ||
console.log("\n[" + filename + "] Added following polyfill" + wordEnds(polyfills.size) + ":"); | ||
onDebug(polyfills); | ||
@@ -97,0 +92,0 @@ }; |
@@ -7,3 +7,3 @@ "use strict"; | ||
exports.defaultWebIncludes = void 0; | ||
const defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"]; | ||
var defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"]; | ||
exports.defaultWebIncludes = defaultWebIncludes; |
@@ -7,9 +7,11 @@ "use strict"; | ||
exports.getOptionSpecificExcludesFor = exports.getPlatformSpecificDefaultFor = void 0; | ||
const defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"]; | ||
const defaultExcludesForLooseMode = ["transform-typeof-symbol"]; | ||
var defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"]; | ||
var defaultExcludesForLooseMode = ["transform-typeof-symbol"]; | ||
const getPlatformSpecificDefaultFor = targets => { | ||
const targetNames = Object.keys(targets); | ||
const isAnyTarget = !targetNames.length; | ||
const isWebTarget = targetNames.some(name => name !== "node"); | ||
var getPlatformSpecificDefaultFor = function getPlatformSpecificDefaultFor(targets) { | ||
var targetNames = Object.keys(targets); | ||
var isAnyTarget = !targetNames.length; | ||
var isWebTarget = targetNames.some(function (name) { | ||
return name !== "node"; | ||
}); | ||
return isAnyTarget || isWebTarget ? defaultWebIncludes : null; | ||
@@ -20,5 +22,5 @@ }; | ||
const getOptionSpecificExcludesFor = ({ | ||
loose | ||
}) => { | ||
var getOptionSpecificExcludesFor = function getOptionSpecificExcludesFor(_ref) { | ||
var loose = _ref.loose; | ||
if (loose) { | ||
@@ -25,0 +27,0 @@ return defaultExcludesForLooseMode; |
156
lib/index.js
@@ -9,5 +9,5 @@ "use strict"; | ||
function _semver() { | ||
const data = _interopRequireDefault(require("semver")); | ||
var data = _interopRequireDefault(require("semver")); | ||
_semver = function () { | ||
_semver = function _semver() { | ||
return data; | ||
@@ -27,3 +27,3 @@ }; | ||
var _normalizeOptions = _interopRequireDefault(require("./normalize-options.js")); | ||
var _normalizeOptions2 = _interopRequireDefault(require("./normalize-options.js")); | ||
@@ -45,5 +45,5 @@ var _plugins = _interopRequireDefault(require("../data/plugins.json")); | ||
function _helperPluginUtils() { | ||
const data = require("@babel/helper-plugin-utils"); | ||
var data = require("@babel/helper-plugin-utils"); | ||
_helperPluginUtils = function () { | ||
_helperPluginUtils = function _helperPluginUtils() { | ||
return data; | ||
@@ -57,7 +57,7 @@ }; | ||
const getPlugin = pluginName => { | ||
const plugin = _availablePlugins.default[pluginName]; | ||
var getPlugin = function getPlugin(pluginName) { | ||
var plugin = _availablePlugins.default[pluginName]; | ||
if (!plugin) { | ||
throw new Error(`Could not find plugin "${pluginName}". Ensure there is an entry in ./available-plugins.js for it.`); | ||
throw new Error("Could not find plugin \"" + pluginName + "\". Ensure there is an entry in ./available-plugins.js for it."); | ||
} | ||
@@ -68,7 +68,7 @@ | ||
const builtInsListWithoutProposals = (0, _utils.filterStageFromList)(_builtIns.default, _shippedProposals.builtIns); | ||
const pluginListWithoutProposals = (0, _utils.filterStageFromList)(_plugins.default, _shippedProposals.features); | ||
var builtInsListWithoutProposals = (0, _utils.filterStageFromList)(_builtIns.default, _shippedProposals.builtIns); | ||
var pluginListWithoutProposals = (0, _utils.filterStageFromList)(_plugins.default, _shippedProposals.features); | ||
const isPluginRequired = (supportedEnvironments, plugin) => { | ||
const targetEnvironments = Object.keys(supportedEnvironments); | ||
var isPluginRequired = function isPluginRequired(supportedEnvironments, plugin) { | ||
var targetEnvironments = Object.keys(supportedEnvironments); | ||
@@ -79,3 +79,3 @@ if (targetEnvironments.length === 0) { | ||
const isRequiredForEnvironments = targetEnvironments.filter(environment => { | ||
var isRequiredForEnvironments = targetEnvironments.filter(function (environment) { | ||
if (!plugin[environment]) { | ||
@@ -85,4 +85,4 @@ return true; | ||
const lowestImplementedVersion = plugin[environment]; | ||
const lowestTargetedVersion = supportedEnvironments[environment]; | ||
var lowestImplementedVersion = plugin[environment]; | ||
var lowestTargetedVersion = supportedEnvironments[environment]; | ||
@@ -96,3 +96,3 @@ if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) { | ||
if (!_semver().default.valid(lowestTargetedVersion)) { | ||
throw new Error(`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` + "Versions must be in semver format (major.minor.patch)"); | ||
throw new Error("Invalid version passed for target \"" + environment + "\": \"" + lowestTargetedVersion + "\". " + "Versions must be in semver format (major.minor.patch)"); | ||
} | ||
@@ -107,4 +107,4 @@ | ||
const getBuiltInTargets = targets => { | ||
const builtInTargets = Object.assign({}, targets); | ||
var getBuiltInTargets = function getBuiltInTargets(targets) { | ||
var builtInTargets = Object.assign({}, targets); | ||
@@ -118,5 +118,5 @@ if (builtInTargets.uglify != null) { | ||
const transformIncludesAndExcludes = opts => { | ||
return opts.reduce((result, opt) => { | ||
const target = opt.match(/^(es\d+|web)\./) ? "builtIns" : "plugins"; | ||
var transformIncludesAndExcludes = function transformIncludesAndExcludes(opts) { | ||
return opts.reduce(function (result, opt) { | ||
var target = opt.match(/^(es\d+|web)\./) ? "builtIns" : "plugins"; | ||
result[target].add(opt); | ||
@@ -133,10 +133,10 @@ return result; | ||
const filterItems = (list, includes, excludes, targets, defaultIncludes, defaultExcludes) => { | ||
const result = new Set(); | ||
var filterItems = function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes) { | ||
var result = new Set(); | ||
for (const item in list) { | ||
for (var item in list) { | ||
if (!excludes.has(item) && (isPluginRequired(targets, list[item]) || includes.has(item))) { | ||
result.add(item); | ||
} else { | ||
const shippedProposalsSyntax = _shippedProposals.pluginSyntaxMap.get(item); | ||
var shippedProposalsSyntax = _shippedProposals.pluginSyntaxMap.get(item); | ||
@@ -150,7 +150,11 @@ if (shippedProposalsSyntax) { | ||
if (defaultIncludes) { | ||
defaultIncludes.forEach(item => !excludes.has(item) && result.add(item)); | ||
defaultIncludes.forEach(function (item) { | ||
return !excludes.has(item) && result.add(item); | ||
}); | ||
} | ||
if (defaultExcludes) { | ||
defaultExcludes.forEach(item => !includes.has(item) && result.delete(item)); | ||
defaultExcludes.forEach(function (item) { | ||
return !includes.has(item) && result.delete(item); | ||
}); | ||
} | ||
@@ -161,20 +165,21 @@ | ||
var _default = (0, _helperPluginUtils().declare)((api, opts) => { | ||
var _default = (0, _helperPluginUtils().declare)(function (api, opts) { | ||
api.assertVersion(7); | ||
const { | ||
configPath, | ||
debug, | ||
exclude: optionsExclude, | ||
forceAllTransforms, | ||
ignoreBrowserslistConfig, | ||
include: optionsInclude, | ||
loose, | ||
modules, | ||
shippedProposals, | ||
spec, | ||
targets: optionsTargets, | ||
useBuiltIns | ||
} = (0, _normalizeOptions.default)(opts); | ||
let hasUglifyTarget = false; | ||
var _normalizeOptions = (0, _normalizeOptions2.default)(opts), | ||
configPath = _normalizeOptions.configPath, | ||
debug = _normalizeOptions.debug, | ||
optionsExclude = _normalizeOptions.exclude, | ||
forceAllTransforms = _normalizeOptions.forceAllTransforms, | ||
ignoreBrowserslistConfig = _normalizeOptions.ignoreBrowserslistConfig, | ||
optionsInclude = _normalizeOptions.include, | ||
loose = _normalizeOptions.loose, | ||
modules = _normalizeOptions.modules, | ||
shippedProposals = _normalizeOptions.shippedProposals, | ||
spec = _normalizeOptions.spec, | ||
optionsTargets = _normalizeOptions.targets, | ||
useBuiltIns = _normalizeOptions.useBuiltIns; | ||
var hasUglifyTarget = false; | ||
if (optionsTargets && optionsTargets.uglify) { | ||
@@ -192,18 +197,18 @@ hasUglifyTarget = true; | ||
console.log("@babel/preset-env: esmodules and browsers targets have been specified together."); | ||
console.log(`\`browsers\` target, \`${optionsTargets.browsers}\` will be ignored.`); | ||
console.log("`browsers` target, `" + optionsTargets.browsers + "` will be ignored."); | ||
console.log(""); | ||
} | ||
const targets = (0, _targetsParser.default)(optionsTargets, { | ||
ignoreBrowserslistConfig, | ||
configPath | ||
var targets = (0, _targetsParser.default)(optionsTargets, { | ||
ignoreBrowserslistConfig: ignoreBrowserslistConfig, | ||
configPath: configPath | ||
}); | ||
const include = transformIncludesAndExcludes(optionsInclude); | ||
const exclude = transformIncludesAndExcludes(optionsExclude); | ||
const transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets; | ||
const transformations = filterItems(shippedProposals ? _plugins.default : pluginListWithoutProposals, include.plugins, exclude.plugins, transformTargets, null, (0, _defaults.getOptionSpecificExcludesFor)({ | ||
loose | ||
var include = transformIncludesAndExcludes(optionsInclude); | ||
var exclude = transformIncludesAndExcludes(optionsExclude); | ||
var transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets; | ||
var transformations = filterItems(shippedProposals ? _plugins.default : pluginListWithoutProposals, include.plugins, exclude.plugins, transformTargets, null, (0, _defaults.getOptionSpecificExcludesFor)({ | ||
loose: loose | ||
})); | ||
let polyfills; | ||
let polyfillTargets; | ||
var polyfills; | ||
var polyfillTargets; | ||
@@ -215,17 +220,19 @@ if (useBuiltIns) { | ||
const plugins = []; | ||
const pluginUseBuiltIns = useBuiltIns !== false; | ||
var plugins = []; | ||
var pluginUseBuiltIns = useBuiltIns !== false; | ||
if (modules !== false && _moduleTransformations.default[modules]) { | ||
plugins.push([getPlugin(_moduleTransformations.default[modules]), { | ||
loose | ||
loose: loose | ||
}]); | ||
} | ||
transformations.forEach(pluginName => plugins.push([getPlugin(pluginName), { | ||
spec, | ||
loose, | ||
useBuiltIns: pluginUseBuiltIns | ||
}])); | ||
const regenerator = transformations.has("transform-regenerator"); | ||
transformations.forEach(function (pluginName) { | ||
return plugins.push([getPlugin(pluginName), { | ||
spec: spec, | ||
loose: loose, | ||
useBuiltIns: pluginUseBuiltIns | ||
}]); | ||
}); | ||
var regenerator = transformations.has("transform-regenerator"); | ||
@@ -236,5 +243,5 @@ if (debug) { | ||
console.log(JSON.stringify((0, _utils.prettifyTargets)(targets), null, 2)); | ||
console.log(`\nUsing modules transform: ${modules.toString()}`); | ||
console.log("\nUsing modules transform: " + modules.toString()); | ||
console.log("\nUsing plugins:"); | ||
transformations.forEach(transform => { | ||
transformations.forEach(function (transform) { | ||
(0, _debug.logPlugin)(transform, targets, _plugins.default); | ||
@@ -246,4 +253,3 @@ }); | ||
} else { | ||
console.log(` | ||
Using polyfills with \`${useBuiltIns}\` option:`); | ||
console.log("\nUsing polyfills with `" + useBuiltIns + "` option:"); | ||
} | ||
@@ -253,8 +259,10 @@ } | ||
if (useBuiltIns === "usage" || useBuiltIns === "entry") { | ||
const pluginOptions = { | ||
debug, | ||
polyfills, | ||
regenerator, | ||
onDebug: (polyfills, context) => { | ||
polyfills.forEach(polyfill => (0, _debug.logPlugin)(polyfill, polyfillTargets, _builtIns.default, context)); | ||
var pluginOptions = { | ||
debug: debug, | ||
polyfills: polyfills, | ||
regenerator: regenerator, | ||
onDebug: function onDebug(polyfills, context) { | ||
polyfills.forEach(function (polyfill) { | ||
return (0, _debug.logPlugin)(polyfill, polyfillTargets, _builtIns.default, context); | ||
}); | ||
} | ||
@@ -266,3 +274,3 @@ }; | ||
return { | ||
plugins | ||
plugins: plugins | ||
}; | ||
@@ -269,0 +277,0 @@ }); |
@@ -10,5 +10,5 @@ "use strict"; | ||
function _invariant() { | ||
const data = _interopRequireDefault(require("invariant")); | ||
var data = _interopRequireDefault(require("invariant")); | ||
_invariant = function () { | ||
_invariant = function _invariant() { | ||
return data; | ||
@@ -21,5 +21,5 @@ }; | ||
function _browserslist() { | ||
const data = _interopRequireDefault(require("browserslist")); | ||
var data = _interopRequireDefault(require("browserslist")); | ||
_browserslist = function () { | ||
_browserslist = function _browserslist() { | ||
return data; | ||
@@ -41,9 +41,11 @@ }; | ||
const validIncludesAndExcludes = new Set([...Object.keys(_plugins.default), ...Object.keys(_moduleTransformations.default).map(m => _moduleTransformations.default[m]), ...Object.keys(_builtIns.default), ..._defaultIncludes.defaultWebIncludes]); | ||
var validIncludesAndExcludes = new Set(Object.keys(_plugins.default).concat(Object.keys(_moduleTransformations.default).map(function (m) { | ||
return _moduleTransformations.default[m]; | ||
}), Object.keys(_builtIns.default), _defaultIncludes.defaultWebIncludes)); | ||
const pluginToRegExp = plugin => { | ||
var pluginToRegExp = function pluginToRegExp(plugin) { | ||
if (plugin instanceof RegExp) return plugin; | ||
try { | ||
return new RegExp(`^${normalizePluginName(plugin)}$`); | ||
return new RegExp("^" + normalizePluginName(plugin) + "$"); | ||
} catch (e) { | ||
@@ -54,25 +56,51 @@ return null; | ||
const selectPlugins = regexp => Array.from(validIncludesAndExcludes).filter(item => regexp instanceof RegExp && regexp.test(item)); | ||
var selectPlugins = function selectPlugins(regexp) { | ||
return Array.from(validIncludesAndExcludes).filter(function (item) { | ||
return regexp instanceof RegExp && regexp.test(item); | ||
}); | ||
}; | ||
const flatten = array => [].concat(...array); | ||
var flatten = function flatten(array) { | ||
var _ref; | ||
const expandIncludesAndExcludes = (plugins = [], type) => { | ||
return (_ref = []).concat.apply(_ref, array); | ||
}; | ||
var expandIncludesAndExcludes = function expandIncludesAndExcludes(plugins, type) { | ||
if (plugins === void 0) { | ||
plugins = []; | ||
} | ||
if (plugins.length === 0) return []; | ||
const selectedPlugins = plugins.map(plugin => selectPlugins(pluginToRegExp(plugin))); | ||
const invalidRegExpList = plugins.filter((p, i) => selectedPlugins[i].length === 0); | ||
(0, _invariant().default)(invalidRegExpList.length === 0, `Invalid Option: The plugins/built-ins '${invalidRegExpList.join(", ")}' passed to the '${type}' option are not | ||
valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env`); | ||
var selectedPlugins = plugins.map(function (plugin) { | ||
return selectPlugins(pluginToRegExp(plugin)); | ||
}); | ||
var invalidRegExpList = plugins.filter(function (p, i) { | ||
return selectedPlugins[i].length === 0; | ||
}); | ||
(0, _invariant().default)(invalidRegExpList.length === 0, "Invalid Option: The plugins/built-ins '" + invalidRegExpList.join(", ") + "' passed to the '" + type + "' option are not\n valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env"); | ||
return flatten(selectedPlugins); | ||
}; | ||
const validBrowserslistTargets = [...Object.keys(_browserslist().default.data), ...Object.keys(_browserslist().default.aliases)]; | ||
var validBrowserslistTargets = Object.keys(_browserslist().default.data).concat(Object.keys(_browserslist().default.aliases)); | ||
const normalizePluginName = plugin => plugin.replace(/^babel-plugin-/, ""); | ||
var normalizePluginName = function normalizePluginName(plugin) { | ||
return plugin.replace(/^babel-plugin-/, ""); | ||
}; | ||
exports.normalizePluginName = normalizePluginName; | ||
const checkDuplicateIncludeExcludes = (include = [], exclude = []) => { | ||
const duplicates = include.filter(opt => exclude.indexOf(opt) >= 0); | ||
(0, _invariant().default)(duplicates.length === 0, `Invalid Option: The plugins/built-ins '${duplicates.join(", ")}' were found in both the "include" and | ||
"exclude" options.`); | ||
var checkDuplicateIncludeExcludes = function checkDuplicateIncludeExcludes(include, exclude) { | ||
if (include === void 0) { | ||
include = []; | ||
} | ||
if (exclude === void 0) { | ||
exclude = []; | ||
} | ||
var duplicates = include.filter(function (opt) { | ||
return exclude.indexOf(opt) >= 0; | ||
}); | ||
(0, _invariant().default)(duplicates.length === 0, "Invalid Option: The plugins/built-ins '" + duplicates.join(", ") + "' were found in both the \"include\" and\n \"exclude\" options."); | ||
}; | ||
@@ -82,4 +110,8 @@ | ||
const validateConfigPathOption = (configPath = process.cwd()) => { | ||
(0, _invariant().default)(typeof configPath === "string", `Invalid Option: The configPath option '${configPath}' is invalid, only strings are allowed.`); | ||
var validateConfigPathOption = function validateConfigPathOption(configPath) { | ||
if (configPath === void 0) { | ||
configPath = process.cwd(); | ||
} | ||
(0, _invariant().default)(typeof configPath === "string", "Invalid Option: The configPath option '" + configPath + "' is invalid, only strings are allowed."); | ||
return configPath; | ||
@@ -90,3 +122,3 @@ }; | ||
const validateBoolOption = (name, value, defaultValue) => { | ||
var validateBoolOption = function validateBoolOption(name, value, defaultValue) { | ||
if (typeof value === "undefined") { | ||
@@ -97,3 +129,3 @@ value = defaultValue; | ||
if (typeof value !== "boolean") { | ||
throw new Error(`Preset env: '${name}' option must be a boolean.`); | ||
throw new Error("Preset env: '" + name + "' option must be a boolean."); | ||
} | ||
@@ -106,9 +138,14 @@ | ||
const validateIgnoreBrowserslistConfig = ignoreBrowserslistConfig => validateBoolOption("ignoreBrowserslistConfig", ignoreBrowserslistConfig, false); | ||
var validateIgnoreBrowserslistConfig = function validateIgnoreBrowserslistConfig(ignoreBrowserslistConfig) { | ||
return validateBoolOption("ignoreBrowserslistConfig", ignoreBrowserslistConfig, false); | ||
}; | ||
exports.validateIgnoreBrowserslistConfig = validateIgnoreBrowserslistConfig; | ||
const validateModulesOption = (modulesOpt = "commonjs") => { | ||
(0, _invariant().default)(modulesOpt === false || Object.keys(_moduleTransformations.default).indexOf(modulesOpt) > -1, `Invalid Option: The 'modules' option must be either 'false' to indicate no modules, or a | ||
module type which can be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'.`); | ||
var validateModulesOption = function validateModulesOption(modulesOpt) { | ||
if (modulesOpt === void 0) { | ||
modulesOpt = "commonjs"; | ||
} | ||
(0, _invariant().default)(modulesOpt === false || Object.keys(_moduleTransformations.default).indexOf(modulesOpt) > -1, "Invalid Option: The 'modules' option must be either 'false' to indicate no modules, or a\n module type which can be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'."); | ||
return modulesOpt; | ||
@@ -119,7 +156,7 @@ }; | ||
const objectToBrowserslist = object => { | ||
return Object.keys(object).reduce((list, targetName) => { | ||
var objectToBrowserslist = function objectToBrowserslist(object) { | ||
return Object.keys(object).reduce(function (list, targetName) { | ||
if (validBrowserslistTargets.indexOf(targetName) >= 0) { | ||
const targetVersion = object[targetName]; | ||
return list.concat(`${targetName} ${targetVersion}`); | ||
var targetVersion = object[targetName]; | ||
return list.concat(targetName + " " + targetVersion); | ||
} | ||
@@ -133,7 +170,8 @@ | ||
const validateUseBuiltInsOption = (builtInsOpt = false) => { | ||
(0, _invariant().default)(builtInsOpt === "usage" || builtInsOpt === false || builtInsOpt === "entry", `Invalid Option: The 'useBuiltIns' option must be either | ||
'false' (default) to indicate no polyfill, | ||
'"entry"' to indicate replacing the entry polyfill, or | ||
'"usage"' to import only used polyfills per file`); | ||
var validateUseBuiltInsOption = function validateUseBuiltInsOption(builtInsOpt) { | ||
if (builtInsOpt === void 0) { | ||
builtInsOpt = false; | ||
} | ||
(0, _invariant().default)(builtInsOpt === "usage" || builtInsOpt === false || builtInsOpt === "entry", "Invalid Option: The 'useBuiltIns' option must be either\n 'false' (default) to indicate no polyfill,\n '\"entry\"' to indicate replacing the entry polyfill, or\n '\"usage\"' to import only used polyfills per file"); | ||
return builtInsOpt; | ||
@@ -145,4 +183,4 @@ }; | ||
function normalizeOptions(opts) { | ||
const include = expandIncludesAndExcludes(opts.include, "include"); | ||
const exclude = expandIncludesAndExcludes(opts.exclude, "exclude"); | ||
var include = expandIncludesAndExcludes(opts.include, "include"); | ||
var exclude = expandIncludesAndExcludes(opts.exclude, "exclude"); | ||
checkDuplicateIncludeExcludes(include, exclude); | ||
@@ -152,4 +190,4 @@ return { | ||
debug: opts.debug, | ||
include, | ||
exclude, | ||
include: include, | ||
exclude: exclude, | ||
forceAllTransforms: validateBoolOption("forceAllTransforms", opts.forceAllTransforms, false), | ||
@@ -156,0 +194,0 @@ ignoreBrowserslistConfig: validateIgnoreBrowserslistConfig(opts.ignoreBrowserslistConfig), |
@@ -9,5 +9,5 @@ "use strict"; | ||
function _browserslist() { | ||
const data = _interopRequireDefault(require("browserslist")); | ||
var data = _interopRequireDefault(require("browserslist")); | ||
_browserslist = function () { | ||
_browserslist = function _browserslist() { | ||
return data; | ||
@@ -20,5 +20,5 @@ }; | ||
function _semver() { | ||
const data = _interopRequireDefault(require("semver")); | ||
var data = _interopRequireDefault(require("semver")); | ||
_semver = function () { | ||
_semver = function _semver() { | ||
return data; | ||
@@ -38,3 +38,3 @@ }; | ||
const browserNameMap = { | ||
var browserNameMap = { | ||
android: "android", | ||
@@ -50,5 +50,7 @@ chrome: "chrome", | ||
const isBrowsersQueryValid = browsers => typeof browsers === "string" || Array.isArray(browsers); | ||
var isBrowsersQueryValid = function isBrowsersQueryValid(browsers) { | ||
return typeof browsers === "string" || Array.isArray(browsers); | ||
}; | ||
const semverMin = (first, second) => { | ||
var semverMin = function semverMin(first, second) { | ||
return first && _semver().default.lt(first, second) ? first : second; | ||
@@ -59,4 +61,4 @@ }; | ||
const mergeBrowsers = (fromQuery, fromTarget) => { | ||
return Object.keys(fromTarget).reduce((queryObj, targKey) => { | ||
var mergeBrowsers = function mergeBrowsers(fromQuery, fromTarget) { | ||
return Object.keys(fromTarget).reduce(function (queryObj, targKey) { | ||
if (targKey !== "browsers") { | ||
@@ -70,7 +72,10 @@ queryObj[targKey] = fromTarget[targKey]; | ||
const getLowestVersions = browsers => { | ||
return browsers.reduce((all, browser) => { | ||
const [browserName, browserVersion] = browser.split(" "); | ||
const normalizedBrowserName = browserNameMap[browserName]; | ||
var getLowestVersions = function getLowestVersions(browsers) { | ||
return browsers.reduce(function (all, browser) { | ||
var _browser$split = browser.split(" "), | ||
browserName = _browser$split[0], | ||
browserVersion = _browser$split[1]; | ||
var normalizedBrowserName = browserNameMap[browserName]; | ||
if (!normalizedBrowserName) { | ||
@@ -81,3 +86,3 @@ return all; | ||
try { | ||
const splitVersion = browserVersion.split("-")[0].toLowerCase(); | ||
var splitVersion = browserVersion.split("-")[0].toLowerCase(); | ||
@@ -88,3 +93,3 @@ if ((0, _utils.isUnreleasedVersion)(splitVersion, browserName)) { | ||
const parsedBrowserVersion = (0, _utils.semverify)(splitVersion); | ||
var parsedBrowserVersion = (0, _utils.semverify)(splitVersion); | ||
all[normalizedBrowserName] = semverMin(all[normalizedBrowserName], parsedBrowserVersion); | ||
@@ -97,3 +102,3 @@ } catch (e) {} | ||
const outputDecimalWarning = decimalTargets => { | ||
var outputDecimalWarning = function outputDecimalWarning(decimalTargets) { | ||
if (!decimalTargets || !decimalTargets.length) { | ||
@@ -105,6 +110,7 @@ return; | ||
console.log(""); | ||
decimalTargets.forEach(({ | ||
target, | ||
value | ||
}) => console.log(` ${target}: ${value}`)); | ||
decimalTargets.forEach(function (_ref) { | ||
var target = _ref.target, | ||
value = _ref.value; | ||
return console.log(" " + target + ": " + value); | ||
}); | ||
console.log(""); | ||
@@ -116,9 +122,9 @@ console.log("We recommend using a string for minor/patch versions to avoid numbers like 6.10"); | ||
const targetParserMap = { | ||
__default: (target, value) => { | ||
const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : (0, _utils.semverify)(value); | ||
var targetParserMap = { | ||
__default: function __default(target, value) { | ||
var version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : (0, _utils.semverify)(value); | ||
return [target, version]; | ||
}, | ||
node: (target, value) => { | ||
const parsed = value === true || value === "current" ? process.versions.node : (0, _utils.semverify)(value); | ||
node: function node(target, value) { | ||
var parsed = value === true || value === "current" ? process.versions.node : (0, _utils.semverify)(value); | ||
return [target, parsed]; | ||
@@ -128,36 +134,51 @@ } | ||
const getTargets = (targets = {}, options = {}) => { | ||
const targetOpts = {}; | ||
var getTargets = function getTargets(targets, options) { | ||
if (targets === void 0) { | ||
targets = {}; | ||
} | ||
if (options === void 0) { | ||
options = {}; | ||
} | ||
var targetOpts = {}; | ||
if (targets.esmodules) { | ||
const supportsESModules = _builtInModules.default["es6.module"]; | ||
targets.browsers = Object.keys(supportsESModules).map(browser => `${browser} ${supportsESModules[browser]}`).join(", "); | ||
var supportsESModules = _builtInModules.default["es6.module"]; | ||
targets.browsers = Object.keys(supportsESModules).map(function (browser) { | ||
return browser + " " + supportsESModules[browser]; | ||
}).join(", "); | ||
} | ||
const queryIsValid = isBrowsersQueryValid(targets.browsers); | ||
const browsersquery = queryIsValid ? targets.browsers : null; | ||
var queryIsValid = isBrowsersQueryValid(targets.browsers); | ||
var browsersquery = queryIsValid ? targets.browsers : null; | ||
if (queryIsValid || !options.ignoreBrowserslistConfig) { | ||
_browserslist().default.defaults = (0, _normalizeOptions.objectToBrowserslist)(targets); | ||
const browsers = (0, _browserslist().default)(browsersquery, { | ||
var browsers = (0, _browserslist().default)(browsersquery, { | ||
path: options.configPath | ||
}); | ||
const queryBrowsers = getLowestVersions(browsers); | ||
var queryBrowsers = getLowestVersions(browsers); | ||
targets = mergeBrowsers(queryBrowsers, targets); | ||
} | ||
const parsed = Object.keys(targets).filter(value => value !== "esmodules").sort().reduce((results, target) => { | ||
var parsed = Object.keys(targets).filter(function (value) { | ||
return value !== "esmodules"; | ||
}).sort().reduce(function (results, target) { | ||
if (target !== "browsers") { | ||
const value = targets[target]; | ||
var value = targets[target]; | ||
if (typeof value === "number" && value % 1 !== 0) { | ||
results.decimalWarnings.push({ | ||
target, | ||
value | ||
target: target, | ||
value: value | ||
}); | ||
} | ||
const parser = targetParserMap[target] || targetParserMap.__default; | ||
const [parsedTarget, parsedValue] = parser(target, value); | ||
var parser = targetParserMap[target] || targetParserMap.__default; | ||
var _parser = parser(target, value), | ||
parsedTarget = _parser[0], | ||
parsedValue = _parser[1]; | ||
if (parsedValue) { | ||
@@ -164,0 +185,0 @@ results.targets[parsedTarget] = parsedValue; |
@@ -12,5 +12,5 @@ "use strict"; | ||
function _default({ | ||
types: t | ||
}) { | ||
function _default(_ref) { | ||
var t = _ref.types; | ||
function replaceWithPolyfillImports(path, polyfills, regenerator) { | ||
@@ -21,5 +21,17 @@ if (regenerator) { | ||
const items = Array.isArray(polyfills) ? new Set(polyfills) : polyfills; | ||
var items = Array.isArray(polyfills) ? new Set(polyfills) : polyfills; | ||
for (const p of Array.from(items).reverse()) { | ||
for (var _iterator = Array.from(items).reverse(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref2; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref2 = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref2 = _i.value; | ||
} | ||
var p = _ref2; | ||
(0, _utils.createImport)(path, p); | ||
@@ -31,4 +43,4 @@ } | ||
const isPolyfillImport = { | ||
ImportDeclaration(path, state) { | ||
var isPolyfillImport = { | ||
ImportDeclaration: function ImportDeclaration(path, state) { | ||
if (path.node.specifiers.length === 0 && (0, _utils.isPolyfillSource)(path.node.source.value)) { | ||
@@ -39,5 +51,4 @@ this.importPolyfillIncluded = true; | ||
}, | ||
Program(path, state) { | ||
path.get("body").forEach(bodyPath => { | ||
Program: function Program(path, state) { | ||
path.get("body").forEach(function (bodyPath) { | ||
if ((0, _utils.isRequire)(t, bodyPath)) { | ||
@@ -48,3 +59,2 @@ replaceWithPolyfillImports(bodyPath, state.opts.polyfills, state.opts.regenerator); | ||
} | ||
}; | ||
@@ -54,15 +64,12 @@ return { | ||
visitor: isPolyfillImport, | ||
pre() { | ||
pre: function pre() { | ||
this.numPolyfillImports = 0; | ||
this.importPolyfillIncluded = false; | ||
}, | ||
post: function post() { | ||
var _opts = this.opts, | ||
debug = _opts.debug, | ||
onDebug = _opts.onDebug, | ||
polyfills = _opts.polyfills; | ||
post() { | ||
const { | ||
debug, | ||
onDebug, | ||
polyfills | ||
} = this.opts; | ||
if (debug) { | ||
@@ -72,4 +79,3 @@ (0, _debug.logEntryPolyfills)(this.importPolyfillIncluded, polyfills, this.file.opts.filename, onDebug); | ||
} | ||
}; | ||
} |
@@ -23,5 +23,5 @@ "use strict"; | ||
function _default({ | ||
types: t | ||
}) { | ||
function _default(_ref) { | ||
var t = _ref.types; | ||
function addImport(path, builtIn, builtIns) { | ||
@@ -36,3 +36,16 @@ if (builtIn && !builtIns.has(builtIn)) { | ||
if (Array.isArray(builtIn)) { | ||
for (const i of builtIn) { | ||
for (var _iterator = builtIn, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref2; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref2 = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref2 = _i.value; | ||
} | ||
var i = _ref2; | ||
if (polyfills.has(i)) { | ||
@@ -49,19 +62,14 @@ addImport(path, i, builtIns); | ||
const addAndRemovePolyfillImports = { | ||
ImportDeclaration(path) { | ||
var addAndRemovePolyfillImports = { | ||
ImportDeclaration: function ImportDeclaration(path) { | ||
if (path.node.specifiers.length === 0 && (0, _utils.isPolyfillSource)(path.node.source.value)) { | ||
console.warn(` | ||
When setting \`useBuiltIns: 'usage'\`, polyfills are automatically imported when needed. | ||
Please remove the \`import '@babel/polyfill'\` call or use \`useBuiltIns: 'entry'\` instead.`); | ||
console.warn("\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the `import '@babel/polyfill'` call or use `useBuiltIns: 'entry'` instead."); | ||
path.remove(); | ||
} | ||
}, | ||
Program: { | ||
enter(path) { | ||
path.get("body").forEach(bodyPath => { | ||
enter: function enter(path) { | ||
path.get("body").forEach(function (bodyPath) { | ||
if ((0, _utils.isRequire)(t, bodyPath)) { | ||
console.warn(` | ||
When setting \`useBuiltIns: 'usage'\`, polyfills are automatically imported when needed. | ||
Please remove the \`require('@babel/polyfill')\` call or use \`useBuiltIns: 'entry'\` instead.`); | ||
console.warn("\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the `require('@babel/polyfill')` call or use `useBuiltIns: 'entry'` instead."); | ||
bodyPath.remove(); | ||
@@ -71,21 +79,16 @@ } | ||
} | ||
}, | ||
ReferencedIdentifier(path, state) { | ||
const { | ||
node, | ||
parent, | ||
scope | ||
} = path; | ||
ReferencedIdentifier: function ReferencedIdentifier(path, state) { | ||
var node = path.node, | ||
parent = path.parent, | ||
scope = path.scope; | ||
if (t.isMemberExpression(parent)) return; | ||
if (!has(_builtInDefinitions.definitions.builtins, node.name)) return; | ||
if (scope.getBindingIdentifier(node.name)) return; | ||
const builtIn = _builtInDefinitions.definitions.builtins[node.name]; | ||
var builtIn = _builtInDefinitions.definitions.builtins[node.name]; | ||
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns); | ||
}, | ||
CallExpression(path) { | ||
CallExpression: function CallExpression(path) { | ||
if (path.node.arguments.length) return; | ||
const callee = path.node.callee; | ||
var callee = path.node.callee; | ||
if (!t.isMemberExpression(callee)) return; | ||
@@ -100,4 +103,3 @@ if (!callee.computed) return; | ||
}, | ||
BinaryExpression(path) { | ||
BinaryExpression: function BinaryExpression(path) { | ||
if (path.node.operator !== "in") return; | ||
@@ -107,20 +109,16 @@ if (!path.get("left").matchesPattern("Symbol.iterator")) return; | ||
}, | ||
YieldExpression(path) { | ||
YieldExpression: function YieldExpression(path) { | ||
if (!path.node.delegate) return; | ||
addImport(path, "web.dom.iterable", this.builtIns); | ||
}, | ||
MemberExpression: { | ||
enter(path, state) { | ||
enter: function enter(path, state) { | ||
if (!path.isReferenced()) return; | ||
const { | ||
node | ||
} = path; | ||
const obj = node.object; | ||
const prop = node.property; | ||
var node = path.node; | ||
var obj = node.object; | ||
var prop = node.property; | ||
if (!t.isReferenced(obj, node)) return; | ||
let instanceType; | ||
let evaluatedPropType = obj.name; | ||
let propName = prop.name; | ||
var instanceType; | ||
var evaluatedPropType = obj.name; | ||
var propName = prop.name; | ||
@@ -131,3 +129,3 @@ if (node.computed) { | ||
} else { | ||
const res = path.get("property").evaluate(); | ||
var res = path.get("property").evaluate(); | ||
@@ -141,3 +139,3 @@ if (res.confident && res.value) { | ||
if (path.scope.getBindingIdentifier(obj.name)) { | ||
const result = path.get("object").evaluate(); | ||
var result = path.get("object").evaluate(); | ||
@@ -152,6 +150,6 @@ if (result.value) { | ||
if (has(_builtInDefinitions.definitions.staticMethods, evaluatedPropType)) { | ||
const staticMethods = _builtInDefinitions.definitions.staticMethods[evaluatedPropType]; | ||
var staticMethods = _builtInDefinitions.definitions.staticMethods[evaluatedPropType]; | ||
if (has(staticMethods, propName)) { | ||
const builtIn = staticMethods[propName]; | ||
var builtIn = staticMethods[propName]; | ||
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns); | ||
@@ -162,32 +160,27 @@ } | ||
if (has(_builtInDefinitions.definitions.instanceMethods, propName)) { | ||
let builtIn = _builtInDefinitions.definitions.instanceMethods[propName]; | ||
var _builtIn = _builtInDefinitions.definitions.instanceMethods[propName]; | ||
if (instanceType) { | ||
builtIn = builtIn.filter(item => item.includes(instanceType)); | ||
_builtIn = _builtIn.filter(function (item) { | ||
return item.includes(instanceType); | ||
}); | ||
} | ||
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns); | ||
addUnsupported(path, state.opts.polyfills, _builtIn, this.builtIns); | ||
} | ||
}, | ||
exit(path, state) { | ||
exit: function exit(path, state) { | ||
if (!path.isReferenced()) return; | ||
const { | ||
node | ||
} = path; | ||
const obj = node.object; | ||
var node = path.node; | ||
var obj = node.object; | ||
if (!has(_builtInDefinitions.definitions.builtins, obj.name)) return; | ||
if (path.scope.getBindingIdentifier(obj.name)) return; | ||
const builtIn = _builtInDefinitions.definitions.builtins[obj.name]; | ||
var builtIn = _builtInDefinitions.definitions.builtins[obj.name]; | ||
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns); | ||
} | ||
}, | ||
VariableDeclarator(path, state) { | ||
VariableDeclarator: function VariableDeclarator(path, state) { | ||
if (!path.isReferenced()) return; | ||
const { | ||
node | ||
} = path; | ||
const obj = node.init; | ||
var node = path.node; | ||
var obj = node.init; | ||
if (!t.isObjectPattern(node.id)) return; | ||
@@ -197,7 +190,19 @@ if (!t.isReferenced(obj, node)) return; | ||
for (let prop of node.id.properties) { | ||
for (var _iterator2 = node.id.properties, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { | ||
var _ref3; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref3 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref3 = _i2.value; | ||
} | ||
var prop = _ref3; | ||
prop = prop.key; | ||
if (!node.computed && t.isIdentifier(prop) && has(_builtInDefinitions.definitions.instanceMethods, prop.name)) { | ||
const builtIn = _builtInDefinitions.definitions.instanceMethods[prop.name]; | ||
var builtIn = _builtInDefinitions.definitions.instanceMethods[prop.name]; | ||
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns); | ||
@@ -207,4 +212,3 @@ } | ||
}, | ||
Function(path, state) { | ||
Function: function Function(path, state) { | ||
if (!this.usesRegenerator && (path.node.generator || path.node.async)) { | ||
@@ -218,18 +222,14 @@ this.usesRegenerator = true; | ||
} | ||
}; | ||
return { | ||
name: "use-built-ins", | ||
pre() { | ||
pre: function pre() { | ||
this.builtIns = new Set(); | ||
this.usesRegenerator = false; | ||
}, | ||
post: function post() { | ||
var _opts = this.opts, | ||
debug = _opts.debug, | ||
onDebug = _opts.onDebug; | ||
post() { | ||
const { | ||
debug, | ||
onDebug | ||
} = this.opts; | ||
if (debug) { | ||
@@ -239,5 +239,4 @@ (0, _debug.logUsagePolyfills)(this.builtIns, this.file.opts.filename, onDebug); | ||
}, | ||
visitor: addAndRemovePolyfillImports | ||
}; | ||
} |
@@ -9,5 +9,5 @@ "use strict"; | ||
function _semver() { | ||
const data = _interopRequireDefault(require("semver")); | ||
var data = _interopRequireDefault(require("semver")); | ||
_semver = function () { | ||
_semver = function _semver() { | ||
return data; | ||
@@ -20,5 +20,5 @@ }; | ||
function _helperModuleImports() { | ||
const data = require("@babel/helper-module-imports"); | ||
var data = require("@babel/helper-module-imports"); | ||
_helperModuleImports = function () { | ||
_helperModuleImports = function _helperModuleImports() { | ||
return data; | ||
@@ -36,3 +36,3 @@ }; | ||
const semverify = version => { | ||
var semverify = function semverify(version) { | ||
if (typeof version === "string" && _semver().default.valid(version)) { | ||
@@ -42,3 +42,3 @@ return version; | ||
const split = version.toString().split("."); | ||
var split = version.toString().split("."); | ||
@@ -54,3 +54,3 @@ while (split.length < 3) { | ||
const prettifyVersion = version => { | ||
var prettifyVersion = function prettifyVersion(version) { | ||
if (typeof version !== "string") { | ||
@@ -60,7 +60,7 @@ return version; | ||
const parts = [_semver().default.major(version)]; | ||
var parts = [_semver().default.major(version)]; | ||
const minor = _semver().default.minor(version); | ||
var minor = _semver().default.minor(version); | ||
const patch = _semver().default.patch(version); | ||
var patch = _semver().default.patch(version); | ||
@@ -80,6 +80,6 @@ if (minor || patch) { | ||
const prettifyTargets = targets => { | ||
return Object.keys(targets).reduce((results, target) => { | ||
let value = targets[target]; | ||
const unreleasedLabel = _unreleasedLabels.default[target]; | ||
var prettifyTargets = function prettifyTargets(targets) { | ||
return Object.keys(targets).reduce(function (results, target) { | ||
var value = targets[target]; | ||
var unreleasedLabel = _unreleasedLabels.default[target]; | ||
@@ -97,4 +97,4 @@ if (typeof value === "string" && unreleasedLabel !== value) { | ||
const isUnreleasedVersion = (version, env) => { | ||
const unreleasedLabel = _unreleasedLabels.default[env]; | ||
var isUnreleasedVersion = function isUnreleasedVersion(version, env) { | ||
var unreleasedLabel = _unreleasedLabels.default[env]; | ||
return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); | ||
@@ -105,5 +105,7 @@ }; | ||
const getLowestUnreleased = (a, b, env) => { | ||
const unreleasedLabel = _unreleasedLabels.default[env]; | ||
const hasUnreleased = [a, b].some(item => item === unreleasedLabel); | ||
var getLowestUnreleased = function getLowestUnreleased(a, b, env) { | ||
var unreleasedLabel = _unreleasedLabels.default[env]; | ||
var hasUnreleased = [a, b].some(function (item) { | ||
return item === unreleasedLabel; | ||
}); | ||
@@ -119,4 +121,4 @@ if (hasUnreleased) { | ||
const filterStageFromList = (list, stageList) => { | ||
return Object.keys(list).reduce((result, item) => { | ||
var filterStageFromList = function filterStageFromList(list, stageList) { | ||
return Object.keys(list).reduce(function (result, item) { | ||
if (!stageList[item]) { | ||
@@ -132,19 +134,27 @@ result[item] = list[item]; | ||
const isPolyfillSource = source => source === "@babel/polyfill" || source === "core-js"; | ||
var isPolyfillSource = function isPolyfillSource(source) { | ||
return source === "@babel/polyfill" || source === "core-js"; | ||
}; | ||
exports.isPolyfillSource = isPolyfillSource; | ||
const modulePathMap = { | ||
var modulePathMap = { | ||
"regenerator-runtime": "regenerator-runtime/runtime" | ||
}; | ||
const getModulePath = mod => modulePathMap[mod] || `core-js/modules/${mod}`; | ||
var getModulePath = function getModulePath(mod) { | ||
return modulePathMap[mod] || "core-js/modules/" + mod; | ||
}; | ||
exports.getModulePath = getModulePath; | ||
const createImport = (path, mod) => (0, _helperModuleImports().addSideEffect)(path, getModulePath(mod)); | ||
var createImport = function createImport(path, mod) { | ||
return (0, _helperModuleImports().addSideEffect)(path, getModulePath(mod)); | ||
}; | ||
exports.createImport = createImport; | ||
const isRequire = (t, path) => t.isExpressionStatement(path.node) && t.isCallExpression(path.node.expression) && t.isIdentifier(path.node.expression.callee) && path.node.expression.callee.name === "require" && path.node.expression.arguments.length === 1 && t.isStringLiteral(path.node.expression.arguments[0]) && isPolyfillSource(path.node.expression.arguments[0].value); | ||
var isRequire = function isRequire(t, path) { | ||
return t.isExpressionStatement(path.node) && t.isCallExpression(path.node.expression) && t.isIdentifier(path.node.expression.callee) && path.node.expression.callee.name === "require" && path.node.expression.arguments.length === 1 && t.isStringLiteral(path.node.expression.arguments[0]) && isPolyfillSource(path.node.expression.arguments[0].value); | ||
}; | ||
exports.isRequire = isRequire; |
{ | ||
"name": "@babel/preset-env", | ||
"version": "7.0.0-beta.43", | ||
"version": "7.0.0-beta.44", | ||
"description": "A Babel preset for each environment.", | ||
@@ -14,38 +14,38 @@ "author": "Henry Zhu <hi@henryzoo.com>", | ||
"dependencies": { | ||
"@babel/helper-module-imports": "7.0.0-beta.43", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.43", | ||
"@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.43", | ||
"@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.43", | ||
"@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.43", | ||
"@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.43", | ||
"@babel/plugin-syntax-async-generators": "7.0.0-beta.43", | ||
"@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.43", | ||
"@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.43", | ||
"@babel/plugin-transform-arrow-functions": "7.0.0-beta.43", | ||
"@babel/plugin-transform-async-to-generator": "7.0.0-beta.43", | ||
"@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.43", | ||
"@babel/plugin-transform-block-scoping": "7.0.0-beta.43", | ||
"@babel/plugin-transform-classes": "7.0.0-beta.43", | ||
"@babel/plugin-transform-computed-properties": "7.0.0-beta.43", | ||
"@babel/plugin-transform-destructuring": "7.0.0-beta.43", | ||
"@babel/plugin-transform-dotall-regex": "7.0.0-beta.43", | ||
"@babel/plugin-transform-duplicate-keys": "7.0.0-beta.43", | ||
"@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.43", | ||
"@babel/plugin-transform-for-of": "7.0.0-beta.43", | ||
"@babel/plugin-transform-function-name": "7.0.0-beta.43", | ||
"@babel/plugin-transform-literals": "7.0.0-beta.43", | ||
"@babel/plugin-transform-modules-amd": "7.0.0-beta.43", | ||
"@babel/plugin-transform-modules-commonjs": "7.0.0-beta.43", | ||
"@babel/plugin-transform-modules-systemjs": "7.0.0-beta.43", | ||
"@babel/plugin-transform-modules-umd": "7.0.0-beta.43", | ||
"@babel/plugin-transform-new-target": "7.0.0-beta.43", | ||
"@babel/plugin-transform-object-super": "7.0.0-beta.43", | ||
"@babel/plugin-transform-parameters": "7.0.0-beta.43", | ||
"@babel/plugin-transform-regenerator": "7.0.0-beta.43", | ||
"@babel/plugin-transform-shorthand-properties": "7.0.0-beta.43", | ||
"@babel/plugin-transform-spread": "7.0.0-beta.43", | ||
"@babel/plugin-transform-sticky-regex": "7.0.0-beta.43", | ||
"@babel/plugin-transform-template-literals": "7.0.0-beta.43", | ||
"@babel/plugin-transform-typeof-symbol": "7.0.0-beta.43", | ||
"@babel/plugin-transform-unicode-regex": "7.0.0-beta.43", | ||
"@babel/helper-module-imports": "7.0.0-beta.44", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.44", | ||
"@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.44", | ||
"@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.44", | ||
"@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.44", | ||
"@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.44", | ||
"@babel/plugin-syntax-async-generators": "7.0.0-beta.44", | ||
"@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.44", | ||
"@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.44", | ||
"@babel/plugin-transform-arrow-functions": "7.0.0-beta.44", | ||
"@babel/plugin-transform-async-to-generator": "7.0.0-beta.44", | ||
"@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.44", | ||
"@babel/plugin-transform-block-scoping": "7.0.0-beta.44", | ||
"@babel/plugin-transform-classes": "7.0.0-beta.44", | ||
"@babel/plugin-transform-computed-properties": "7.0.0-beta.44", | ||
"@babel/plugin-transform-destructuring": "7.0.0-beta.44", | ||
"@babel/plugin-transform-dotall-regex": "7.0.0-beta.44", | ||
"@babel/plugin-transform-duplicate-keys": "7.0.0-beta.44", | ||
"@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.44", | ||
"@babel/plugin-transform-for-of": "7.0.0-beta.44", | ||
"@babel/plugin-transform-function-name": "7.0.0-beta.44", | ||
"@babel/plugin-transform-literals": "7.0.0-beta.44", | ||
"@babel/plugin-transform-modules-amd": "7.0.0-beta.44", | ||
"@babel/plugin-transform-modules-commonjs": "7.0.0-beta.44", | ||
"@babel/plugin-transform-modules-systemjs": "7.0.0-beta.44", | ||
"@babel/plugin-transform-modules-umd": "7.0.0-beta.44", | ||
"@babel/plugin-transform-new-target": "7.0.0-beta.44", | ||
"@babel/plugin-transform-object-super": "7.0.0-beta.44", | ||
"@babel/plugin-transform-parameters": "7.0.0-beta.44", | ||
"@babel/plugin-transform-regenerator": "7.0.0-beta.44", | ||
"@babel/plugin-transform-shorthand-properties": "7.0.0-beta.44", | ||
"@babel/plugin-transform-spread": "7.0.0-beta.44", | ||
"@babel/plugin-transform-sticky-regex": "7.0.0-beta.44", | ||
"@babel/plugin-transform-template-literals": "7.0.0-beta.44", | ||
"@babel/plugin-transform-typeof-symbol": "7.0.0-beta.44", | ||
"@babel/plugin-transform-unicode-regex": "7.0.0-beta.44", | ||
"browserslist": "^3.0.0", | ||
@@ -56,9 +56,9 @@ "invariant": "^2.2.2", | ||
"peerDependencies": { | ||
"@babel/core": "7.0.0-beta.43" | ||
"@babel/core": "7.0.0-beta.44" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "7.0.0-beta.43", | ||
"@babel/core": "7.0.0-beta.43", | ||
"@babel/helper-fixtures": "7.0.0-beta.43", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.43", | ||
"@babel/cli": "7.0.0-beta.44", | ||
"@babel/core": "7.0.0-beta.44", | ||
"@babel/helper-fixtures": "7.0.0-beta.44", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.44", | ||
"compat-table": "kangax/compat-table#7c202e2da648fbd9d223d48d1680ec8f15147044", | ||
@@ -65,0 +65,0 @@ "electron-to-chromium": "^1.3.27", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
134842
2867
+ Added@babel/code-frame@7.0.0-beta.44(transitive)
+ Added@babel/core@7.0.0-beta.44(transitive)
+ Added@babel/generator@7.0.0-beta.44(transitive)
+ Added@babel/helper-annotate-as-pure@7.0.0-beta.44(transitive)
+ Added@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.44(transitive)
+ Added@babel/helper-call-delegate@7.0.0-beta.44(transitive)
+ Added@babel/helper-define-map@7.0.0-beta.44(transitive)
+ Added@babel/helper-explode-assignable-expression@7.0.0-beta.44(transitive)
+ Added@babel/helper-function-name@7.0.0-beta.44(transitive)
+ Added@babel/helper-get-function-arity@7.0.0-beta.44(transitive)
+ Added@babel/helper-hoist-variables@7.0.0-beta.44(transitive)
+ Added@babel/helper-module-imports@7.0.0-beta.44(transitive)
+ Added@babel/helper-module-transforms@7.0.0-beta.44(transitive)
+ Added@babel/helper-optimise-call-expression@7.0.0-beta.44(transitive)
+ Added@babel/helper-plugin-utils@7.0.0-beta.44(transitive)
+ Added@babel/helper-regex@7.0.0-beta.44(transitive)
+ Added@babel/helper-remap-async-to-generator@7.0.0-beta.44(transitive)
+ Added@babel/helper-replace-supers@7.0.0-beta.44(transitive)
+ Added@babel/helper-simple-access@7.0.0-beta.44(transitive)
+ Added@babel/helper-split-export-declaration@7.0.0-beta.44(transitive)
+ Added@babel/helper-wrap-function@7.0.0-beta.44(transitive)
+ Added@babel/helpers@7.0.0-beta.44(transitive)
+ Added@babel/highlight@7.0.0-beta.44(transitive)
+ Added@babel/plugin-proposal-async-generator-functions@7.0.0-beta.44(transitive)
+ Added@babel/plugin-proposal-object-rest-spread@7.0.0-beta.44(transitive)
+ Added@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.44(transitive)
+ Added@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.44(transitive)
+ Added@babel/plugin-syntax-async-generators@7.0.0-beta.44(transitive)
+ Added@babel/plugin-syntax-object-rest-spread@7.0.0-beta.44(transitive)
+ Added@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-arrow-functions@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-async-to-generator@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-block-scoped-functions@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-block-scoping@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-classes@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-computed-properties@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-destructuring@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-dotall-regex@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-duplicate-keys@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-exponentiation-operator@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-for-of@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-function-name@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-literals@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-modules-amd@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-modules-commonjs@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-modules-systemjs@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-modules-umd@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-new-target@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-object-super@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-parameters@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-regenerator@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-shorthand-properties@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-spread@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-sticky-regex@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-template-literals@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-typeof-symbol@7.0.0-beta.44(transitive)
+ Added@babel/plugin-transform-unicode-regex@7.0.0-beta.44(transitive)
+ Added@babel/template@7.0.0-beta.44(transitive)
+ Added@babel/traverse@7.0.0-beta.44(transitive)
+ Added@babel/types@7.0.0-beta.44(transitive)
+ Addedbabylon@7.0.0-beta.44(transitive)
+ Addedelectron-to-chromium@1.5.25(transitive)
- Removed@babel/code-frame@7.0.0-beta.43(transitive)
- Removed@babel/core@7.0.0-beta.43(transitive)
- Removed@babel/generator@7.0.0-beta.43(transitive)
- Removed@babel/helper-annotate-as-pure@7.0.0-beta.43(transitive)
- Removed@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.43(transitive)
- Removed@babel/helper-call-delegate@7.0.0-beta.43(transitive)
- Removed@babel/helper-define-map@7.0.0-beta.43(transitive)
- Removed@babel/helper-explode-assignable-expression@7.0.0-beta.43(transitive)
- Removed@babel/helper-function-name@7.0.0-beta.43(transitive)
- Removed@babel/helper-get-function-arity@7.0.0-beta.43(transitive)
- Removed@babel/helper-hoist-variables@7.0.0-beta.43(transitive)
- Removed@babel/helper-module-imports@7.0.0-beta.43(transitive)
- Removed@babel/helper-module-transforms@7.0.0-beta.43(transitive)
- Removed@babel/helper-optimise-call-expression@7.0.0-beta.43(transitive)
- Removed@babel/helper-plugin-utils@7.0.0-beta.43(transitive)
- Removed@babel/helper-regex@7.0.0-beta.43(transitive)
- Removed@babel/helper-remap-async-to-generator@7.0.0-beta.43(transitive)
- Removed@babel/helper-replace-supers@7.0.0-beta.43(transitive)
- Removed@babel/helper-simple-access@7.0.0-beta.43(transitive)
- Removed@babel/helper-split-export-declaration@7.0.0-beta.43(transitive)
- Removed@babel/helper-wrap-function@7.0.0-beta.43(transitive)
- Removed@babel/helpers@7.0.0-beta.43(transitive)
- Removed@babel/highlight@7.0.0-beta.43(transitive)
- Removed@babel/plugin-proposal-async-generator-functions@7.0.0-beta.43(transitive)
- Removed@babel/plugin-proposal-object-rest-spread@7.0.0-beta.43(transitive)
- Removed@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.43(transitive)
- Removed@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.43(transitive)
- Removed@babel/plugin-syntax-async-generators@7.0.0-beta.43(transitive)
- Removed@babel/plugin-syntax-object-rest-spread@7.0.0-beta.43(transitive)
- Removed@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-arrow-functions@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-async-to-generator@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-block-scoped-functions@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-block-scoping@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-classes@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-computed-properties@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-destructuring@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-dotall-regex@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-duplicate-keys@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-exponentiation-operator@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-for-of@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-function-name@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-literals@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-modules-amd@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-modules-commonjs@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-modules-systemjs@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-modules-umd@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-new-target@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-object-super@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-parameters@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-regenerator@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-shorthand-properties@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-spread@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-sticky-regex@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-template-literals@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-typeof-symbol@7.0.0-beta.43(transitive)
- Removed@babel/plugin-transform-unicode-regex@7.0.0-beta.43(transitive)
- Removed@babel/template@7.0.0-beta.43(transitive)
- Removed@babel/traverse@7.0.0-beta.43(transitive)
- Removed@babel/types@7.0.0-beta.43(transitive)
- Removedbabylon@7.0.0-beta.43(transitive)
- Removedelectron-to-chromium@1.5.23(transitive)
Updated@babel/plugin-proposal-async-generator-functions@7.0.0-beta.44
Updated@babel/plugin-proposal-object-rest-spread@7.0.0-beta.44
Updated@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.44
Updated@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.44
Updated@babel/plugin-syntax-object-rest-spread@7.0.0-beta.44
Updated@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.44
Updated@babel/plugin-transform-arrow-functions@7.0.0-beta.44
Updated@babel/plugin-transform-async-to-generator@7.0.0-beta.44
Updated@babel/plugin-transform-block-scoped-functions@7.0.0-beta.44
Updated@babel/plugin-transform-computed-properties@7.0.0-beta.44
Updated@babel/plugin-transform-exponentiation-operator@7.0.0-beta.44
Updated@babel/plugin-transform-modules-commonjs@7.0.0-beta.44
Updated@babel/plugin-transform-modules-systemjs@7.0.0-beta.44
Updated@babel/plugin-transform-shorthand-properties@7.0.0-beta.44
Updated@babel/plugin-transform-template-literals@7.0.0-beta.44