Socket
Socket
Sign inDemoInstall

@babel/preset-env

Package Overview
Dependencies
Maintainers
6
Versions
175
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/preset-env - npm Package Compare versions

Comparing version 7.7.7 to 7.8.0

data/built-in-modules.js

2

CONTRIBUTING.md

@@ -5,3 +5,3 @@ # Contributing

### Update [`plugin-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugin-features.js)
### Update [`plugin-features.js`](https://github.com/babel/babel/blob/master/packages/babel-compat-data/scripts/data/plugin-features.js)

@@ -8,0 +8,0 @@ *Example:*

@@ -0,1 +1,2 @@

/* eslint sort-keys: "error" */
// These mappings represent the syntax proposals that have been

@@ -6,10 +7,19 @@ // shipped by browsers, and are enabled by the `shippedProposals` option.

const pluginSyntaxMap = new Map([
["proposal-async-generator-functions", "syntax-async-generators"],
["proposal-object-rest-spread", "syntax-object-rest-spread"],
["proposal-optional-catch-binding", "syntax-optional-catch-binding"],
["proposal-unicode-property-regex", null],
["proposal-json-strings", "syntax-json-strings"],
]);
// use intermediary object to enforce alphabetical key order
const pluginSyntaxObject = {
"proposal-async-generator-functions": "syntax-async-generators",
"proposal-json-strings": "syntax-json-strings",
"proposal-nullish-coalescing-operator": "syntax-nullish-coalescing-operator",
"proposal-object-rest-spread": "syntax-object-rest-spread",
"proposal-optional-catch-binding": "syntax-optional-catch-binding",
"proposal-optional-chaining": "syntax-optional-chaining",
"proposal-unicode-property-regex": null,
};
module.exports = { proposalPlugins, pluginSyntaxMap };
const pluginSyntaxEntries = Object.keys(pluginSyntaxObject).map(function (key) {
return [key, pluginSyntaxObject[key]];
});
const pluginSyntaxMap = new Map(pluginSyntaxEntries);
module.exports = { pluginSyntaxMap, proposalPlugins };

@@ -1,3 +0,3 @@

module.exports = {
safari: "tp",
};
// TODO: Remove in Babel 8
module.exports = require("@babel/helper-compilation-targets").unreleasedLabels;

@@ -14,2 +14,4 @@ "use strict";

var _pluginSyntaxNullishCoalescingOperator = _interopRequireDefault(require("@babel/plugin-syntax-nullish-coalescing-operator"));
var _pluginSyntaxObjectRestSpread = _interopRequireDefault(require("@babel/plugin-syntax-object-rest-spread"));

@@ -19,2 +21,4 @@

var _pluginSyntaxOptionalChaining = _interopRequireDefault(require("@babel/plugin-syntax-optional-chaining"));
var _pluginSyntaxTopLevelAwait = _interopRequireDefault(require("@babel/plugin-syntax-top-level-await"));

@@ -28,2 +32,4 @@

var _pluginProposalNullishCoalescingOperator = _interopRequireDefault(require("@babel/plugin-proposal-nullish-coalescing-operator"));
var _pluginProposalObjectRestSpread = _interopRequireDefault(require("@babel/plugin-proposal-object-rest-spread"));

@@ -33,2 +39,4 @@

var _pluginProposalOptionalChaining = _interopRequireDefault(require("@babel/plugin-proposal-optional-chaining"));
var _pluginProposalUnicodePropertyRegex = _interopRequireDefault(require("@babel/plugin-proposal-unicode-property-regex"));

@@ -101,13 +109,20 @@

var _default = {
"proposal-async-generator-functions": _pluginProposalAsyncGeneratorFunctions.default,
"proposal-dynamic-import": _pluginProposalDynamicImport.default,
"proposal-json-strings": _pluginProposalJsonStrings.default,
"proposal-nullish-coalescing-operator": _pluginProposalNullishCoalescingOperator.default,
"proposal-object-rest-spread": _pluginProposalObjectRestSpread.default,
"proposal-optional-catch-binding": _pluginProposalOptionalCatchBinding.default,
"proposal-optional-chaining": _pluginProposalOptionalChaining.default,
"proposal-unicode-property-regex": _pluginProposalUnicodePropertyRegex.default,
"syntax-async-generators": _pluginSyntaxAsyncGenerators.default,
"syntax-dynamic-import": _pluginSyntaxDynamicImport.default,
"syntax-json-strings": _pluginSyntaxJsonStrings.default,
"syntax-nullish-coalescing-operator": _pluginSyntaxNullishCoalescingOperator.default,
"syntax-object-rest-spread": _pluginSyntaxObjectRestSpread.default,
"syntax-optional-catch-binding": _pluginSyntaxOptionalCatchBinding.default,
"syntax-optional-chaining": _pluginSyntaxOptionalChaining.default,
"syntax-top-level-await": _pluginSyntaxTopLevelAwait.default,
"transform-arrow-functions": _pluginTransformArrowFunctions.default,
"transform-async-to-generator": _pluginTransformAsyncToGenerator.default,
"proposal-async-generator-functions": _pluginProposalAsyncGeneratorFunctions.default,
"proposal-dynamic-import": _pluginProposalDynamicImport.default,
"proposal-json-strings": _pluginProposalJsonStrings.default,
"transform-arrow-functions": _pluginTransformArrowFunctions.default,
"transform-block-scoped-functions": _pluginTransformBlockScopedFunctions.default,

@@ -120,2 +135,3 @@ "transform-block-scoping": _pluginTransformBlockScoping.default,

"transform-duplicate-keys": _pluginTransformDuplicateKeys.default,
"transform-exponentiation-operator": _pluginTransformExponentiationOperator.default,
"transform-for-of": _pluginTransformForOf.default,

@@ -130,5 +146,7 @@ "transform-function-name": _pluginTransformFunctionName.default,

"transform-named-capturing-groups-regex": _pluginTransformNamedCapturingGroupsRegex.default,
"transform-new-target": _pluginTransformNewTarget.default,
"transform-object-super": _pluginTransformObjectSuper.default,
"transform-parameters": _pluginTransformParameters.default,
"transform-property-literals": _pluginTransformPropertyLiterals.default,
"transform-regenerator": _pluginTransformRegenerator.default,
"transform-reserved-words": _pluginTransformReservedWords.default,

@@ -140,10 +158,4 @@ "transform-shorthand-properties": _pluginTransformShorthandProperties.default,

"transform-typeof-symbol": _pluginTransformTypeofSymbol.default,
"transform-unicode-regex": _pluginTransformUnicodeRegex.default,
"transform-exponentiation-operator": _pluginTransformExponentiationOperator.default,
"transform-new-target": _pluginTransformNewTarget.default,
"proposal-object-rest-spread": _pluginProposalObjectRestSpread.default,
"proposal-optional-catch-binding": _pluginProposalOptionalCatchBinding.default,
"transform-regenerator": _pluginTransformRegenerator.default,
"proposal-unicode-property-regex": _pluginProposalUnicodePropertyRegex.default
"transform-unicode-regex": _pluginTransformUnicodeRegex.default
};
exports.default = _default;

@@ -8,8 +8,4 @@ "use strict";

var _semver = _interopRequireDefault(require("semver"));
var _helperCompilationTargets = require("@babel/helper-compilation-targets");
var _utils = require("./utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const wordEnds = size => {

@@ -20,20 +16,3 @@ return size > 1 ? "s" : "";

const logPluginOrPolyfill = (item, targetVersions, list) => {
const minVersions = list[item] || {};
const filteredList = Object.keys(targetVersions).reduce((result, env) => {
const minVersion = minVersions[env];
const targetVersion = targetVersions[env];
if (!minVersion) {
result[env] = (0, _utils.prettifyVersion)(targetVersion);
} else {
const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env);
const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env);
if (!targetIsUnreleased && (minIsUnreleased || _semver.default.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) {
result[env] = (0, _utils.prettifyVersion)(targetVersion);
}
}
return result;
}, {});
const filteredList = (0, _helperCompilationTargets.getInclusionReasons)(item, targetVersions, list);
const formattedTargets = JSON.stringify(filteredList).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }');

@@ -40,0 +19,0 @@ console.log(` ${item} ${formattedTargets}`);

@@ -6,75 +6,10 @@ "use strict";

});
exports.isPluginRequired = isPluginRequired;
exports.default = _default;
exports.removeUnnecessaryItems = removeUnnecessaryItems;
var _semver = _interopRequireDefault(require("semver"));
var _utils = require("./utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isPluginRequired(supportedEnvironments, plugin) {
const targetEnvironments = Object.keys(supportedEnvironments);
if (targetEnvironments.length === 0) {
return true;
}
const isRequiredForEnvironments = targetEnvironments.filter(environment => {
if (!plugin[environment]) {
return true;
}
const lowestImplementedVersion = plugin[environment];
const lowestTargetedVersion = supportedEnvironments[environment];
if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) {
return false;
}
if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) {
return true;
}
if (!_semver.default.valid(lowestTargetedVersion.toString())) {
throw new Error(`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` + "Versions must be in semver format (major.minor.patch)");
}
return _semver.default.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString());
});
return isRequiredForEnvironments.length > 0;
}
function _default(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) {
const result = new Set();
for (const item in list) {
if (!excludes.has(item) && (isPluginRequired(targets, list[item]) || includes.has(item))) {
result.add(item);
} else if (pluginSyntaxMap) {
const shippedProposalsSyntax = pluginSyntaxMap.get(item);
if (shippedProposalsSyntax) {
result.add(shippedProposalsSyntax);
}
}
}
if (defaultIncludes) {
defaultIncludes.forEach(item => !excludes.has(item) && result.add(item));
}
if (defaultExcludes) {
defaultExcludes.forEach(item => !includes.has(item) && result.delete(item));
}
return result;
}
function removeUnnecessaryItems(items, overlapping) {
items.forEach(item => {
const names = overlapping.get(item);
if (names) names.forEach(name => items.delete(name));
var _overlapping$item;
(_overlapping$item = overlapping[item]) == null ? void 0 : _overlapping$item.forEach(name => items.delete(name));
});
}

@@ -6,8 +6,3 @@ "use strict";

});
Object.defineProperty(exports, "isPluginRequired", {
enumerable: true,
get: function () {
return _filterItems.isPluginRequired;
}
});
exports.isPluginRequired = isPluginRequired;
exports.default = exports.getPolyfillPlugins = exports.getModulesPluginNames = exports.transformIncludesAndExcludes = void 0;

@@ -21,3 +16,3 @@

var _filterItems = _interopRequireWildcard(require("./filter-items"));
var _filterItems = require("./filter-items");

@@ -28,7 +23,7 @@ var _moduleTransformations = _interopRequireDefault(require("./module-transformations"));

var _plugins = _interopRequireDefault(require("../data/plugins.json"));
var _plugins = _interopRequireDefault(require("@babel/compat-data/plugins"));
var _shippedProposals = require("../data/shipped-proposals");
var _overlappingPlugins = _interopRequireDefault(require("../data/overlapping-plugins"));
var _overlappingPlugins = _interopRequireDefault(require("@babel/compat-data/overlapping-plugins"));

@@ -47,3 +42,3 @@ var _usagePlugin = _interopRequireDefault(require("./polyfills/corejs2/usage-plugin"));

var _targetsParser = _interopRequireDefault(require("./targets-parser"));
var _helperCompilationTargets = _interopRequireWildcard(require("@babel/helper-compilation-targets"));

@@ -62,2 +57,10 @@ var _availablePlugins = _interopRequireDefault(require("./available-plugins"));

function isPluginRequired(targets, support) {
return !(0, _helperCompilationTargets.isRequired)("fake-name", targets, {
compatData: {
"fake-name": support
}
});
}
const pluginListWithoutProposals = (0, _utils.filterStageFromList)(_plugins.default, _shippedProposals.proposalPlugins);

@@ -230,3 +233,3 @@

const targets = (0, _targetsParser.default)(optionsTargets, {
const targets = (0, _helperCompilationTargets.default)(optionsTargets, {
ignoreBrowserslistConfig,

@@ -245,3 +248,3 @@ configPath

});
const pluginNames = (0, _filterItems.default)(shippedProposals ? _plugins.default : pluginListWithoutProposals, include.plugins, exclude.plugins, transformTargets, modulesPluginNames, (0, _getOptionSpecificExcludes.default)({
const pluginNames = (0, _helperCompilationTargets.filterItems)(shippedProposals ? _plugins.default : pluginListWithoutProposals, include.plugins, exclude.plugins, transformTargets, modulesPluginNames, (0, _getOptionSpecificExcludes.default)({
loose

@@ -271,3 +274,3 @@ }), _shippedProposals.pluginSyntaxMap);

console.log("\nUsing targets:");
console.log(JSON.stringify((0, _utils.prettifyTargets)(targets), null, 2));
console.log(JSON.stringify((0, _helperCompilationTargets.prettifyTargets)(targets), null, 2));
console.log(`\nUsing modules transform: ${modules.toString()}`);

@@ -274,0 +277,0 @@ console.log("\nUsing plugins:");

@@ -12,2 +12,4 @@ "use strict";

var _levenary = _interopRequireDefault(require("levenary"));
var _invariant = _interopRequireDefault(require("invariant"));

@@ -17,5 +19,5 @@

var _corejs2BuiltIns = _interopRequireDefault(require("../data/corejs2-built-ins.json"));
var _corejs2BuiltIns = _interopRequireDefault(require("@babel/compat-data/corejs2-built-ins"));
var _plugins = _interopRequireDefault(require("../data/plugins.json"));
var _plugins = _interopRequireDefault(require("@babel/compat-data/plugins"));

@@ -28,6 +30,2 @@ var _moduleTransformations = _interopRequireDefault(require("./module-transformations"));

var _targetsParser = require("./targets-parser");
var _utils = require("./utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -41,3 +39,3 @@

throw new Error(`Invalid Option: ${option} is not a valid top-level option.
Maybe you meant to use '${(0, _utils.findSuggestion)(validOptions, option)}'?`);
Maybe you meant to use '${(0, _levenary.default)(option, validOptions)}'?`);
}

@@ -88,3 +86,3 @@ }

const normalizeTargets = targets => {
if ((0, _targetsParser.isBrowsersQueryValid)(targets)) {
if (typeof targets === "string" || Array.isArray(targets)) {
return {

@@ -91,0 +89,0 @@ browsers: targets

@@ -6,3 +6,3 @@ "use strict";

});
exports.TargetNames = exports.UseBuiltInsOption = exports.ModulesOption = exports.TopLevelOptions = void 0;
exports.UseBuiltInsOption = exports.ModulesOption = exports.TopLevelOptions = void 0;
const TopLevelOptions = {

@@ -39,19 +39,2 @@ configPath: "configPath",

};
exports.UseBuiltInsOption = UseBuiltInsOption;
const TargetNames = {
esmodules: "esmodules",
node: "node",
browsers: "browsers",
chrome: "chrome",
opera: "opera",
edge: "edge",
firefox: "firefox",
safari: "safari",
ie: "ie",
ios: "ios",
android: "android",
electron: "electron",
samsung: "samsung",
uglify: "uglify"
};
exports.TargetNames = TargetNames;
exports.UseBuiltInsOption = UseBuiltInsOption;

@@ -8,8 +8,8 @@ "use strict";

var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json"));
var _corejs2BuiltIns = _interopRequireDefault(require("@babel/compat-data/corejs2-built-ins"));
var _helperCompilationTargets = require("@babel/helper-compilation-targets");
var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default"));
var _filterItems = _interopRequireDefault(require("../../filter-items"));
var _utils = require("../../utils");

@@ -28,3 +28,3 @@

}) {
const polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets));
const polyfills = (0, _helperCompilationTargets.filterItems)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets));
const isPolyfillImport = {

@@ -31,0 +31,0 @@ ImportDeclaration(path) {

@@ -8,8 +8,8 @@ "use strict";

var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json"));
var _corejs2BuiltIns = _interopRequireDefault(require("@babel/compat-data/corejs2-built-ins"));
var _helperCompilationTargets = require("@babel/helper-compilation-targets");
var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default"));
var _filterItems = _interopRequireDefault(require("../../filter-items"));
var _builtInDefinitions = require("./built-in-definitions");

@@ -35,3 +35,3 @@

}) {
const polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets));
const polyfills = (0, _helperCompilationTargets.filterItems)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets));
const addAndRemovePolyfillImports = {

@@ -38,0 +38,0 @@ ImportDeclaration(path) {

@@ -242,3 +242,3 @@ "use strict";

allSettled: ["esnext.promise.all-settled", ...PromiseDependenciesWithIterators],
any: ["esnext.promise.any", ...PromiseDependenciesWithIterators],
any: ["esnext.promise.any", "esnext.aggregate-error", ...PromiseDependenciesWithIterators],
race: PromiseDependenciesWithIterators,

@@ -245,0 +245,0 @@ try: ["esnext.promise.try", ...PromiseDependenciesWithIterators]

@@ -14,3 +14,3 @@ "use strict";

var _filterItems = _interopRequireDefault(require("../../filter-items"));
var _helperCompilationTargets = require("@babel/helper-compilation-targets");

@@ -46,3 +46,3 @@ var _utils = require("../../utils");

}) {
const polyfills = (0, _filterItems.default)(_data.default, include, exclude, polyfillTargets, null);
const polyfills = (0, _helperCompilationTargets.filterItems)(_data.default, include, exclude, polyfillTargets, null);
const available = new Set((0, _getModulesListForTargetVersion.default)(corejs.version));

@@ -49,0 +49,0 @@

@@ -14,3 +14,3 @@ "use strict";

var _filterItems = _interopRequireDefault(require("../../filter-items"));
var _helperCompilationTargets = require("@babel/helper-compilation-targets");

@@ -47,3 +47,3 @@ var _builtInDefinitions = require("./built-in-definitions");

}) {
const polyfills = (0, _filterItems.default)(proposals ? _data.default : shippedProposals ? corejs3PolyfillsWithShippedProposals : corejs3PolyfillsWithoutProposals, include, exclude, polyfillTargets, null);
const polyfills = (0, _helperCompilationTargets.filterItems)(proposals ? _data.default : shippedProposals ? corejs3PolyfillsWithShippedProposals : corejs3PolyfillsWithoutProposals, include, exclude, polyfillTargets, null);
const available = new Set((0, _getModulesListForTargetVersion.default)(corejs.version));

@@ -50,0 +50,0 @@

@@ -6,213 +6,25 @@ "use strict";

});
exports.default = exports.semverMin = exports.isBrowsersQueryValid = void 0;
var _browserslist = _interopRequireDefault(require("browserslist"));
var _invariant = _interopRequireDefault(require("invariant"));
var _semver = _interopRequireDefault(require("semver"));
var _utils = require("./utils");
var _builtInModules = _interopRequireDefault(require("../data/built-in-modules.json"));
var _options = require("./options");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const browserslistDefaults = _browserslist.default.defaults;
const validBrowserslistTargets = [...Object.keys(_browserslist.default.data), ...Object.keys(_browserslist.default.aliases)];
const objectToBrowserslist = object => {
return Object.keys(object).reduce((list, targetName) => {
if (validBrowserslistTargets.indexOf(targetName) >= 0) {
const targetVersion = object[targetName];
return list.concat(`${targetName} ${targetVersion}`);
}
return list;
}, []);
};
const validateTargetNames = targets => {
const validTargets = Object.keys(_options.TargetNames);
for (const target in targets) {
if (!_options.TargetNames[target]) {
throw new Error(`Invalid Option: '${target}' is not a valid target
Maybe you meant to use '${(0, _utils.findSuggestion)(validTargets, target)}'?`);
}
Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
return _helperCompilationTargets.default;
}
};
const browserNameMap = {
and_chr: "chrome",
and_ff: "firefox",
android: "android",
chrome: "chrome",
edge: "edge",
firefox: "firefox",
ie: "ie",
ie_mob: "ie",
ios_saf: "ios",
node: "node",
op_mob: "opera",
opera: "opera",
safari: "safari",
samsung: "samsung"
};
const isBrowsersQueryValid = browsers => typeof browsers === "string" || Array.isArray(browsers);
exports.isBrowsersQueryValid = isBrowsersQueryValid;
const validateBrowsers = browsers => {
(0, _invariant.default)(typeof browsers === "undefined" || isBrowsersQueryValid(browsers), `Invalid Option: '${browsers}' is not a valid browserslist query`);
return browsers;
};
const semverMin = (first, second) => {
return first && _semver.default.lt(first, second) ? first : second;
};
exports.semverMin = semverMin;
const mergeBrowsers = (fromQuery, fromTarget) => {
return Object.keys(fromTarget).reduce((queryObj, targKey) => {
if (targKey !== _options.TargetNames.browsers) {
queryObj[targKey] = fromTarget[targKey];
}
return queryObj;
}, fromQuery);
};
const getLowestVersions = browsers => {
return browsers.reduce((all, browser) => {
const [browserName, browserVersion] = browser.split(" ");
const normalizedBrowserName = browserNameMap[browserName];
if (!normalizedBrowserName) {
return all;
}
try {
const splitVersion = browserVersion.split("-")[0].toLowerCase();
const isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, browserName);
if (!all[normalizedBrowserName]) {
all[normalizedBrowserName] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion);
return all;
}
const version = all[normalizedBrowserName];
const isUnreleased = (0, _utils.isUnreleasedVersion)(version, browserName);
if (isUnreleased && isSplitUnreleased) {
all[normalizedBrowserName] = (0, _utils.getLowestUnreleased)(version, splitVersion, browserName);
} else if (isUnreleased) {
all[normalizedBrowserName] = (0, _utils.semverify)(splitVersion);
} else if (!isUnreleased && !isSplitUnreleased) {
const parsedBrowserVersion = (0, _utils.semverify)(splitVersion);
all[normalizedBrowserName] = semverMin(version, parsedBrowserVersion);
}
} catch (e) {}
return all;
}, {});
};
const outputDecimalWarning = decimalTargets => {
if (!decimalTargets || !decimalTargets.length) {
return;
});
Object.defineProperty(exports, "isBrowsersQueryValid", {
enumerable: true,
get: function () {
return _helperCompilationTargets.isBrowsersQueryValid;
}
console.log("Warning, the following targets are using a decimal version:");
console.log("");
decimalTargets.forEach(({
target,
value
}) => console.log(` ${target}: ${value}`));
console.log("");
console.log("We recommend using a string for minor/patch versions to avoid numbers like 6.10");
console.log("getting parsed as 6.1, which can lead to unexpected behavior.");
console.log("");
};
const semverifyTarget = (target, value) => {
try {
return (0, _utils.semverify)(value);
} catch (error) {
throw new Error(`Invalid Option: '${value}' is not a valid value for 'targets.${target}'.`);
});
Object.defineProperty(exports, "semverMin", {
enumerable: true,
get: function () {
return _helperCompilationTargets.semverMin;
}
};
});
const targetParserMap = {
__default: (target, value) => {
const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value);
return [target, version];
},
node: (target, value) => {
const parsed = value === true || value === "current" ? process.versions.node : semverifyTarget(target, value);
return [target, parsed];
}
};
var _helperCompilationTargets = _interopRequireWildcard(require("@babel/helper-compilation-targets"));
const getTargets = (targets = {}, options = {}) => {
const targetOpts = {};
validateTargetNames(targets);
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
if (targets.esmodules) {
const supportsESModules = _builtInModules.default["es6.module"];
targets.browsers = Object.keys(supportsESModules).map(browser => `${browser} ${supportsESModules[browser]}`).join(", ");
}
const browsersquery = validateBrowsers(targets.browsers);
const hasTargets = Object.keys(targets).length > 0;
const shouldParseBrowsers = !!targets.browsers;
const shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets;
if (shouldParseBrowsers || shouldSearchForConfig) {
if (!hasTargets) {
_browserslist.default.defaults = objectToBrowserslist(targets);
}
const browsers = (0, _browserslist.default)(browsersquery, {
path: options.configPath,
mobileToDesktop: true
});
const queryBrowsers = getLowestVersions(browsers);
targets = mergeBrowsers(queryBrowsers, targets);
_browserslist.default.defaults = browserslistDefaults;
}
const parsed = Object.keys(targets).filter(value => value !== _options.TargetNames.esmodules).sort().reduce((results, target) => {
if (target !== _options.TargetNames.browsers) {
const value = targets[target];
if (typeof value === "number" && value % 1 !== 0) {
results.decimalWarnings.push({
target,
value
});
}
const parser = targetParserMap[target] || targetParserMap.__default;
const [parsedTarget, parsedValue] = parser(target, value);
if (parsedValue) {
results.targets[parsedTarget] = parsedValue;
}
}
return results;
}, {
targets: targetOpts,
decimalWarnings: []
});
outputDecimalWarning(parsed.decimalWarnings);
return parsed.targets;
};
var _default = getTargets;
exports.default = _default;
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

@@ -7,9 +7,3 @@ "use strict";

exports.getType = getType;
exports.semverify = semverify;
exports.intersection = intersection;
exports.findSuggestion = findSuggestion;
exports.prettifyVersion = prettifyVersion;
exports.prettifyTargets = prettifyTargets;
exports.isUnreleasedVersion = isUnreleasedVersion;
exports.getLowestUnreleased = getLowestUnreleased;
exports.filterStageFromList = filterStageFromList;

@@ -26,16 +20,4 @@ exports.getImportSource = getImportSource;

var _invariant = _interopRequireDefault(require("invariant"));
var _semver = _interopRequireDefault(require("semver"));
var _jsLevenshtein = _interopRequireDefault(require("js-levenshtein"));
var _helperModuleImports = require("@babel/helper-module-imports");
var _unreleasedLabels = _interopRequireDefault(require("../data/unreleased-labels"));
var _targetsParser = require("./targets-parser");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }

@@ -52,19 +34,2 @@

const versionRegExp = /^(\d+|\d+.\d+)$/;
function semverify(version) {
if (typeof version === "string" && _semver.default.valid(version)) {
return version;
}
(0, _invariant.default)(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), `'${version}' is not a valid version`);
const split = version.toString().split(".");
while (split.length < 3) {
split.push("0");
}
return split.join(".");
}
function intersection(first, second, third) {

@@ -80,68 +45,2 @@ const result = new Set();

function findSuggestion(options, option) {
let levenshteinValue = Infinity;
return options.reduce((suggestion, validOption) => {
const value = (0, _jsLevenshtein.default)(validOption, option);
if (value < levenshteinValue) {
levenshteinValue = value;
return validOption;
}
return suggestion;
}, "");
}
function prettifyVersion(version) {
if (typeof version !== "string") {
return version;
}
const parts = [_semver.default.major(version)];
const minor = _semver.default.minor(version);
const patch = _semver.default.patch(version);
if (minor || patch) {
parts.push(minor);
}
if (patch) {
parts.push(patch);
}
return parts.join(".");
}
function prettifyTargets(targets) {
return Object.keys(targets).reduce((results, target) => {
let value = targets[target];
const unreleasedLabel = _unreleasedLabels.default[target];
if (typeof value === "string" && unreleasedLabel !== value) {
value = prettifyVersion(value);
}
results[target] = value;
return results;
}, {});
}
function isUnreleasedVersion(version, env) {
const unreleasedLabel = _unreleasedLabels.default[env];
return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase();
}
function getLowestUnreleased(a, b, env) {
const unreleasedLabel = _unreleasedLabels.default[env];
const hasUnreleased = [a, b].some(item => item === unreleasedLabel);
if (hasUnreleased) {
return a === hasUnreleased ? b : a || b;
}
return (0, _targetsParser.semverMin)(a, b);
}
function filterStageFromList(list, stageList) {

@@ -148,0 +47,0 @@ return Object.keys(list).reduce((result, item) => {

{
"name": "@babel/preset-env",
"version": "7.7.7",
"version": "7.8.0",
"description": "A Babel preset for each environment.",

@@ -8,2 +8,3 @@ "author": "Henry Zhu <hi@henryzoo.com>",

"license": "MIT",
"type": "commonjs",
"publishConfig": {

@@ -14,56 +15,59 @@ "access": "public"

"main": "lib/index.js",
"scripts": {
"build-data": "./scripts/download-compat-table.sh; node ./scripts/build-data.js; node ./scripts/build-modules-support.js"
},
"dependencies": {
"@babel/helper-module-imports": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-proposal-async-generator-functions": "^7.7.4",
"@babel/plugin-proposal-dynamic-import": "^7.7.4",
"@babel/plugin-proposal-json-strings": "^7.7.4",
"@babel/plugin-proposal-object-rest-spread": "^7.7.7",
"@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
"@babel/plugin-proposal-unicode-property-regex": "^7.7.7",
"@babel/plugin-syntax-async-generators": "^7.7.4",
"@babel/plugin-syntax-dynamic-import": "^7.7.4",
"@babel/plugin-syntax-json-strings": "^7.7.4",
"@babel/plugin-syntax-object-rest-spread": "^7.7.4",
"@babel/plugin-syntax-optional-catch-binding": "^7.7.4",
"@babel/plugin-syntax-top-level-await": "^7.7.4",
"@babel/plugin-transform-arrow-functions": "^7.7.4",
"@babel/plugin-transform-async-to-generator": "^7.7.4",
"@babel/plugin-transform-block-scoped-functions": "^7.7.4",
"@babel/plugin-transform-block-scoping": "^7.7.4",
"@babel/plugin-transform-classes": "^7.7.4",
"@babel/plugin-transform-computed-properties": "^7.7.4",
"@babel/plugin-transform-destructuring": "^7.7.4",
"@babel/plugin-transform-dotall-regex": "^7.7.7",
"@babel/plugin-transform-duplicate-keys": "^7.7.4",
"@babel/plugin-transform-exponentiation-operator": "^7.7.4",
"@babel/plugin-transform-for-of": "^7.7.4",
"@babel/plugin-transform-function-name": "^7.7.4",
"@babel/plugin-transform-literals": "^7.7.4",
"@babel/plugin-transform-member-expression-literals": "^7.7.4",
"@babel/plugin-transform-modules-amd": "^7.7.5",
"@babel/plugin-transform-modules-commonjs": "^7.7.5",
"@babel/plugin-transform-modules-systemjs": "^7.7.4",
"@babel/plugin-transform-modules-umd": "^7.7.4",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
"@babel/plugin-transform-new-target": "^7.7.4",
"@babel/plugin-transform-object-super": "^7.7.4",
"@babel/plugin-transform-parameters": "^7.7.7",
"@babel/plugin-transform-property-literals": "^7.7.4",
"@babel/plugin-transform-regenerator": "^7.7.5",
"@babel/plugin-transform-reserved-words": "^7.7.4",
"@babel/plugin-transform-shorthand-properties": "^7.7.4",
"@babel/plugin-transform-spread": "^7.7.4",
"@babel/plugin-transform-sticky-regex": "^7.7.4",
"@babel/plugin-transform-template-literals": "^7.7.4",
"@babel/plugin-transform-typeof-symbol": "^7.7.4",
"@babel/plugin-transform-unicode-regex": "^7.7.4",
"@babel/types": "^7.7.4",
"browserslist": "^4.6.0",
"core-js-compat": "^3.6.0",
"@babel/compat-data": "^7.8.0",
"@babel/helper-compilation-targets": "^7.8.0",
"@babel/helper-module-imports": "^7.8.0",
"@babel/helper-plugin-utils": "^7.8.0",
"@babel/plugin-proposal-async-generator-functions": "^7.8.0",
"@babel/plugin-proposal-dynamic-import": "^7.8.0",
"@babel/plugin-proposal-json-strings": "^7.8.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.0",
"@babel/plugin-proposal-object-rest-spread": "^7.8.0",
"@babel/plugin-proposal-optional-catch-binding": "^7.8.0",
"@babel/plugin-proposal-optional-chaining": "^7.8.0",
"@babel/plugin-proposal-unicode-property-regex": "^7.8.0",
"@babel/plugin-syntax-async-generators": "^7.8.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
"@babel/plugin-syntax-json-strings": "^7.8.0",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.0",
"@babel/plugin-syntax-top-level-await": "^7.8.0",
"@babel/plugin-transform-arrow-functions": "^7.8.0",
"@babel/plugin-transform-async-to-generator": "^7.8.0",
"@babel/plugin-transform-block-scoped-functions": "^7.8.0",
"@babel/plugin-transform-block-scoping": "^7.8.0",
"@babel/plugin-transform-classes": "^7.8.0",
"@babel/plugin-transform-computed-properties": "^7.8.0",
"@babel/plugin-transform-destructuring": "^7.8.0",
"@babel/plugin-transform-dotall-regex": "^7.8.0",
"@babel/plugin-transform-duplicate-keys": "^7.8.0",
"@babel/plugin-transform-exponentiation-operator": "^7.8.0",
"@babel/plugin-transform-for-of": "^7.8.0",
"@babel/plugin-transform-function-name": "^7.8.0",
"@babel/plugin-transform-literals": "^7.8.0",
"@babel/plugin-transform-member-expression-literals": "^7.8.0",
"@babel/plugin-transform-modules-amd": "^7.8.0",
"@babel/plugin-transform-modules-commonjs": "^7.8.0",
"@babel/plugin-transform-modules-systemjs": "^7.8.0",
"@babel/plugin-transform-modules-umd": "^7.8.0",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.8.0",
"@babel/plugin-transform-new-target": "^7.8.0",
"@babel/plugin-transform-object-super": "^7.8.0",
"@babel/plugin-transform-parameters": "^7.8.0",
"@babel/plugin-transform-property-literals": "^7.8.0",
"@babel/plugin-transform-regenerator": "^7.8.0",
"@babel/plugin-transform-reserved-words": "^7.8.0",
"@babel/plugin-transform-shorthand-properties": "^7.8.0",
"@babel/plugin-transform-spread": "^7.8.0",
"@babel/plugin-transform-sticky-regex": "^7.8.0",
"@babel/plugin-transform-template-literals": "^7.8.0",
"@babel/plugin-transform-typeof-symbol": "^7.8.0",
"@babel/plugin-transform-unicode-regex": "^7.8.0",
"@babel/types": "^7.8.0",
"browserslist": "^4.8.2",
"core-js-compat": "^3.6.2",
"invariant": "^2.2.2",
"js-levenshtein": "^1.1.3",
"levenary": "^1.1.0",
"semver": "^5.5.0"

@@ -75,11 +79,9 @@ },

"devDependencies": {
"@babel/cli": "^7.7.7",
"@babel/core": "^7.7.7",
"@babel/helper-fixtures": "^7.6.3",
"@babel/helper-plugin-test-runner": "^7.7.4",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"caniuse-db": "1.0.30000969",
"electron-to-chromium": "1.3.113"
"@babel/cli": "^7.8.0",
"@babel/core": "^7.8.0",
"@babel/helper-fixtures": "^7.8.0",
"@babel/helper-plugin-test-runner": "^7.8.0",
"@babel/plugin-syntax-dynamic-import": "^7.2.0"
},
"gitHead": "12da0941c898987ae30045a9da90ed5bf58ecaf9"
"gitHead": "2486615a74580283c49475d66067bd7fcab3330e"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc