summaryrefslogtreecommitdiff
path: root/node_modules/@babel/helper-compilation-targets/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/helper-compilation-targets/lib')
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/debug.js28
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/debug.js.map1
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/filter-items.js67
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map1
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/index.js229
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/index.js.map1
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/options.js24
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/options.js.map1
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/pretty.js40
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/pretty.js.map1
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/targets.js28
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/targets.js.map1
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/utils.js58
-rw-r--r--node_modules/@babel/helper-compilation-targets/lib/utils.js.map1
14 files changed, 481 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-compilation-targets/lib/debug.js b/node_modules/@babel/helper-compilation-targets/lib/debug.js
new file mode 100644
index 0000000..372e686
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/debug.js
@@ -0,0 +1,28 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.getInclusionReasons = getInclusionReasons;
+var _semver = require("semver");
+var _pretty = require("./pretty.js");
+var _utils = require("./utils.js");
+function getInclusionReasons(item, targetVersions, list) {
+ const minVersions = list[item] || {};
+ return Object.keys(targetVersions).reduce((result, env) => {
+ const minVersion = (0, _utils.getLowestImplementedVersion)(minVersions, env);
+ const targetVersion = targetVersions[env];
+ if (!minVersion) {
+ result[env] = (0, _pretty.prettifyVersion)(targetVersion);
+ } else {
+ const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env);
+ const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env);
+ if (!targetIsUnreleased && (minIsUnreleased || _semver.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) {
+ result[env] = (0, _pretty.prettifyVersion)(targetVersion);
+ }
+ }
+ return result;
+ }, {});
+}
+
+//# sourceMappingURL=debug.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/debug.js.map b/node_modules/@babel/helper-compilation-targets/lib/debug.js.map
new file mode 100644
index 0000000..9c81669
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/debug.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_semver","require","_pretty","_utils","getInclusionReasons","item","targetVersions","list","minVersions","Object","keys","reduce","result","env","minVersion","getLowestImplementedVersion","targetVersion","prettifyVersion","minIsUnreleased","isUnreleasedVersion","targetIsUnreleased","semver","lt","toString","semverify"],"sources":["../src/debug.ts"],"sourcesContent":["import semver from \"semver\";\nimport { prettifyVersion } from \"./pretty.ts\";\nimport {\n semverify,\n isUnreleasedVersion,\n getLowestImplementedVersion,\n} from \"./utils.ts\";\nimport type { Target, Targets } from \"./types.ts\";\n\nexport function getInclusionReasons(\n item: string,\n targetVersions: Targets,\n list: Record<string, Targets>,\n) {\n const minVersions = list[item] || {};\n\n return (Object.keys(targetVersions) as Target[]).reduce(\n (result, env) => {\n const minVersion = getLowestImplementedVersion(minVersions, env);\n const targetVersion = targetVersions[env];\n\n if (!minVersion) {\n result[env] = prettifyVersion(targetVersion);\n } else {\n const minIsUnreleased = isUnreleasedVersion(minVersion, env);\n const targetIsUnreleased = isUnreleasedVersion(targetVersion, env);\n\n if (\n !targetIsUnreleased &&\n (minIsUnreleased ||\n semver.lt(targetVersion.toString(), semverify(minVersion)))\n ) {\n result[env] = prettifyVersion(targetVersion);\n }\n }\n\n return result;\n },\n {} as Partial<Record<Target, string>>,\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAOO,SAASG,mBAAmBA,CACjCC,IAAY,EACZC,cAAuB,EACvBC,IAA6B,EAC7B;EACA,MAAMC,WAAW,GAAGD,IAAI,CAACF,IAAI,CAAC,IAAI,CAAC,CAAC;EAEpC,OAAQI,MAAM,CAACC,IAAI,CAACJ,cAAc,CAAC,CAAcK,MAAM,CACrD,CAACC,MAAM,EAAEC,GAAG,KAAK;IACf,MAAMC,UAAU,GAAG,IAAAC,kCAA2B,EAACP,WAAW,EAAEK,GAAG,CAAC;IAChE,MAAMG,aAAa,GAAGV,cAAc,CAACO,GAAG,CAAC;IAEzC,IAAI,CAACC,UAAU,EAAE;MACfF,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAI,uBAAe,EAACD,aAAa,CAAC;IAC9C,CAAC,MAAM;MACL,MAAME,eAAe,GAAG,IAAAC,0BAAmB,EAACL,UAAU,EAAED,GAAG,CAAC;MAC5D,MAAMO,kBAAkB,GAAG,IAAAD,0BAAmB,EAACH,aAAa,EAAEH,GAAG,CAAC;MAElE,IACE,CAACO,kBAAkB,KAClBF,eAAe,IACdG,OAAM,CAACC,EAAE,CAACN,aAAa,CAACO,QAAQ,CAAC,CAAC,EAAE,IAAAC,gBAAS,EAACV,UAAU,CAAC,CAAC,CAAC,EAC7D;QACAF,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAI,uBAAe,EAACD,aAAa,CAAC;MAC9C;IACF;IAEA,OAAOJ,MAAM;EACf,CAAC,EACD,CAAC,CACH,CAAC;AACH","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-compilation-targets/lib/filter-items.js b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js
new file mode 100644
index 0000000..62505f3
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js
@@ -0,0 +1,67 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = filterItems;
+exports.isRequired = isRequired;
+exports.targetsSupported = targetsSupported;
+var _semver = require("semver");
+var _utils = require("./utils.js");
+const pluginsCompatData = require("@babel/compat-data/plugins");
+function targetsSupported(target, support) {
+ const targetEnvironments = Object.keys(target);
+ if (targetEnvironments.length === 0) {
+ return false;
+ }
+ const unsupportedEnvironments = targetEnvironments.filter(environment => {
+ const lowestImplementedVersion = (0, _utils.getLowestImplementedVersion)(support, environment);
+ if (!lowestImplementedVersion) {
+ return true;
+ }
+ const lowestTargetedVersion = target[environment];
+ if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) {
+ return false;
+ }
+ if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) {
+ return true;
+ }
+ if (!_semver.valid(lowestTargetedVersion.toString())) {
+ throw new Error(`Invalid version passed for target "${environment}": "${lowestTargetedVersion}". ` + "Versions must be in semver format (major.minor.patch)");
+ }
+ return _semver.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString());
+ });
+ return unsupportedEnvironments.length === 0;
+}
+function isRequired(name, targets, {
+ compatData = pluginsCompatData,
+ includes,
+ excludes
+} = {}) {
+ if (excludes != null && excludes.has(name)) return false;
+ if (includes != null && includes.has(name)) return true;
+ return !targetsSupported(targets, compatData[name]);
+}
+function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) {
+ const result = new Set();
+ const options = {
+ compatData: list,
+ includes,
+ excludes
+ };
+ for (const item in list) {
+ if (isRequired(item, targets, options)) {
+ result.add(item);
+ } else if (pluginSyntaxMap) {
+ const shippedProposalsSyntax = pluginSyntaxMap.get(item);
+ if (shippedProposalsSyntax) {
+ result.add(shippedProposalsSyntax);
+ }
+ }
+ }
+ defaultIncludes == null || defaultIncludes.forEach(item => !excludes.has(item) && result.add(item));
+ defaultExcludes == null || defaultExcludes.forEach(item => !includes.has(item) && result.delete(item));
+ return result;
+}
+
+//# sourceMappingURL=filter-items.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map
new file mode 100644
index 0000000..1f4686a
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_semver","require","_utils","pluginsCompatData","targetsSupported","target","support","targetEnvironments","Object","keys","length","unsupportedEnvironments","filter","environment","lowestImplementedVersion","getLowestImplementedVersion","lowestTargetedVersion","isUnreleasedVersion","semver","valid","toString","Error","gt","semverify","isRequired","name","targets","compatData","includes","excludes","has","filterItems","list","defaultIncludes","defaultExcludes","pluginSyntaxMap","result","Set","options","item","add","shippedProposalsSyntax","get","forEach","delete"],"sources":["../src/filter-items.ts"],"sourcesContent":["import semver from \"semver\";\n\nimport pluginsCompatData from \"@babel/compat-data/plugins\" with { type: \"json\" };\n\nimport type { Targets } from \"./types.ts\";\nimport {\n getLowestImplementedVersion,\n isUnreleasedVersion,\n semverify,\n} from \"./utils.ts\";\n\nexport function targetsSupported(target: Targets, support: Targets) {\n const targetEnvironments = Object.keys(target) as (keyof Targets)[];\n\n if (targetEnvironments.length === 0) {\n return false;\n }\n\n const unsupportedEnvironments = targetEnvironments.filter(environment => {\n const lowestImplementedVersion = getLowestImplementedVersion(\n support,\n environment,\n );\n\n // Feature is not implemented in that environment\n if (!lowestImplementedVersion) {\n return true;\n }\n\n const lowestTargetedVersion = target[environment];\n\n // If targets has unreleased value as a lowest version, then don't require a plugin.\n if (isUnreleasedVersion(lowestTargetedVersion, environment)) {\n return false;\n }\n\n // Include plugin if it is supported in the unreleased environment, which wasn't specified in targets\n if (isUnreleasedVersion(lowestImplementedVersion, environment)) {\n return true;\n }\n\n if (!semver.valid(lowestTargetedVersion.toString())) {\n throw new Error(\n `Invalid version passed for target \"${environment}\": \"${lowestTargetedVersion}\". ` +\n \"Versions must be in semver format (major.minor.patch)\",\n );\n }\n\n return semver.gt(\n semverify(lowestImplementedVersion),\n lowestTargetedVersion.toString(),\n );\n });\n\n return unsupportedEnvironments.length === 0;\n}\n\nexport function isRequired(\n name: string,\n targets: Targets,\n {\n compatData = pluginsCompatData,\n includes,\n excludes,\n }: {\n compatData?: Record<string, Targets>;\n includes?: Set<string>;\n excludes?: Set<string>;\n } = {},\n) {\n if (excludes?.has(name)) return false;\n if (includes?.has(name)) return true;\n return !targetsSupported(targets, compatData[name]);\n}\n\nexport default function filterItems(\n list: Record<string, Targets>,\n includes: Set<string>,\n excludes: Set<string>,\n targets: Targets,\n defaultIncludes: string[] | null,\n defaultExcludes?: string[] | null,\n pluginSyntaxMap?: Map<string, string | null>,\n) {\n const result = new Set<string>();\n const options = { compatData: list, includes, excludes };\n\n for (const item in list) {\n if (isRequired(item, targets, options)) {\n result.add(item);\n } else if (pluginSyntaxMap) {\n const shippedProposalsSyntax = pluginSyntaxMap.get(item);\n\n if (shippedProposalsSyntax) {\n result.add(shippedProposalsSyntax);\n }\n }\n }\n\n defaultIncludes?.forEach(item => !excludes.has(item) && result.add(item));\n defaultExcludes?.forEach(item => !includes.has(item) && result.delete(item));\n\n return result;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-compilation-targets/lib/index.js b/node_modules/@babel/helper-compilation-targets/lib/index.js
new file mode 100644
index 0000000..567565a
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/index.js
@@ -0,0 +1,229 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "TargetNames", {
+ enumerable: true,
+ get: function () {
+ return _options.TargetNames;
+ }
+});
+exports.default = getTargets;
+Object.defineProperty(exports, "filterItems", {
+ enumerable: true,
+ get: function () {
+ return _filterItems.default;
+ }
+});
+Object.defineProperty(exports, "getInclusionReasons", {
+ enumerable: true,
+ get: function () {
+ return _debug.getInclusionReasons;
+ }
+});
+exports.isBrowsersQueryValid = isBrowsersQueryValid;
+Object.defineProperty(exports, "isRequired", {
+ enumerable: true,
+ get: function () {
+ return _filterItems.isRequired;
+ }
+});
+Object.defineProperty(exports, "prettifyTargets", {
+ enumerable: true,
+ get: function () {
+ return _pretty.prettifyTargets;
+ }
+});
+Object.defineProperty(exports, "unreleasedLabels", {
+ enumerable: true,
+ get: function () {
+ return _targets.unreleasedLabels;
+ }
+});
+var _browserslist = require("browserslist");
+var _helperValidatorOption = require("@babel/helper-validator-option");
+var _lruCache = require("lru-cache");
+var _utils = require("./utils.js");
+var _targets = require("./targets.js");
+var _options = require("./options.js");
+var _pretty = require("./pretty.js");
+var _debug = require("./debug.js");
+var _filterItems = require("./filter-items.js");
+const browserModulesData = require("@babel/compat-data/native-modules");
+const ESM_SUPPORT = browserModulesData["es6.module"];
+const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets");
+function validateTargetNames(targets) {
+ const validTargets = Object.keys(_options.TargetNames);
+ for (const target of Object.keys(targets)) {
+ if (!(target in _options.TargetNames)) {
+ throw new Error(v.formatMessage(`'${target}' is not a valid target
+- Did you mean '${(0, _helperValidatorOption.findSuggestion)(target, validTargets)}'?`));
+ }
+ }
+ return targets;
+}
+function isBrowsersQueryValid(browsers) {
+ return typeof browsers === "string" || Array.isArray(browsers) && browsers.every(b => typeof b === "string");
+}
+function validateBrowsers(browsers) {
+ v.invariant(browsers === undefined || isBrowsersQueryValid(browsers), `'${String(browsers)}' is not a valid browserslist query`);
+ return browsers;
+}
+function getLowestVersions(browsers) {
+ return browsers.reduce((all, browser) => {
+ const [browserName, browserVersion] = browser.split(" ");
+ const target = _targets.browserNameMap[browserName];
+ if (!target) {
+ return all;
+ }
+ try {
+ const splitVersion = browserVersion.split("-")[0].toLowerCase();
+ const isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, target);
+ if (!all[target]) {
+ all[target] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion);
+ return all;
+ }
+ const version = all[target];
+ const isUnreleased = (0, _utils.isUnreleasedVersion)(version, target);
+ if (isUnreleased && isSplitUnreleased) {
+ all[target] = (0, _utils.getLowestUnreleased)(version, splitVersion, target);
+ } else if (isUnreleased) {
+ all[target] = (0, _utils.semverify)(splitVersion);
+ } else if (!isUnreleased && !isSplitUnreleased) {
+ const parsedBrowserVersion = (0, _utils.semverify)(splitVersion);
+ all[target] = (0, _utils.semverMin)(version, parsedBrowserVersion);
+ }
+ } catch (_) {}
+ return all;
+ }, {});
+}
+function outputDecimalWarning(decimalTargets) {
+ if (!decimalTargets.length) {
+ return;
+ }
+ console.warn("Warning, the following targets are using a decimal version:\n");
+ decimalTargets.forEach(({
+ target,
+ value
+ }) => console.warn(` ${target}: ${value}`));
+ console.warn(`
+We recommend using a string for minor/patch versions to avoid numbers like 6.10
+getting parsed as 6.1, which can lead to unexpected behavior.
+`);
+}
+function semverifyTarget(target, value) {
+ try {
+ return (0, _utils.semverify)(value);
+ } catch (_) {
+ throw new Error(v.formatMessage(`'${value}' is not a valid value for 'targets.${target}'.`));
+ }
+}
+function nodeTargetParser(value) {
+ const parsed = value === true || value === "current" ? process.versions.node.split("-")[0] : semverifyTarget("node", value);
+ return ["node", parsed];
+}
+function defaultTargetParser(target, value) {
+ const version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value);
+ return [target, version];
+}
+function generateTargets(inputTargets) {
+ const input = Object.assign({}, inputTargets);
+ delete input.esmodules;
+ delete input.browsers;
+ return input;
+}
+function resolveTargets(queries, env) {
+ const resolved = _browserslist(queries, {
+ mobileToDesktop: true,
+ env
+ });
+ return getLowestVersions(resolved);
+}
+const targetsCache = new _lruCache({
+ max: 64
+});
+function resolveTargetsCached(queries, env) {
+ const cacheKey = typeof queries === "string" ? queries : queries.join() + env;
+ let cached = targetsCache.get(cacheKey);
+ if (!cached) {
+ cached = resolveTargets(queries, env);
+ targetsCache.set(cacheKey, cached);
+ }
+ return Object.assign({}, cached);
+}
+function getTargets(inputTargets = {}, options = {}) {
+ var _browsers, _browsers2;
+ let {
+ browsers,
+ esmodules
+ } = inputTargets;
+ const {
+ configPath = ".",
+ onBrowserslistConfigFound
+ } = options;
+ validateBrowsers(browsers);
+ const input = generateTargets(inputTargets);
+ let targets = validateTargetNames(input);
+ const shouldParseBrowsers = !!browsers;
+ const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;
+ const shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets;
+ if (!browsers && shouldSearchForConfig) {
+ browsers = process.env.BROWSERSLIST;
+ if (!browsers) {
+ const configFile = options.configFile || process.env.BROWSERSLIST_CONFIG || _browserslist.findConfigFile(configPath);
+ if (configFile != null) {
+ onBrowserslistConfigFound == null || onBrowserslistConfigFound(configFile);
+ browsers = _browserslist.loadConfig({
+ config: configFile,
+ env: options.browserslistEnv
+ });
+ }
+ }
+ if (browsers == null) {
+ browsers = [];
+ }
+ }
+ if (esmodules && (esmodules !== "intersect" || !((_browsers = browsers) != null && _browsers.length))) {
+ browsers = Object.keys(ESM_SUPPORT).map(browser => `${browser} >= ${ESM_SUPPORT[browser]}`).join(", ");
+ esmodules = false;
+ }
+ if ((_browsers2 = browsers) != null && _browsers2.length) {
+ const queryBrowsers = resolveTargetsCached(browsers, options.browserslistEnv);
+ if (esmodules === "intersect") {
+ for (const browser of Object.keys(queryBrowsers)) {
+ if (browser !== "deno" && browser !== "ie") {
+ const esmSupportVersion = ESM_SUPPORT[browser === "opera_mobile" ? "op_mob" : browser];
+ if (esmSupportVersion) {
+ const version = queryBrowsers[browser];
+ queryBrowsers[browser] = (0, _utils.getHighestUnreleased)(version, (0, _utils.semverify)(esmSupportVersion), browser);
+ } else {
+ delete queryBrowsers[browser];
+ }
+ } else {
+ delete queryBrowsers[browser];
+ }
+ }
+ }
+ targets = Object.assign(queryBrowsers, targets);
+ }
+ const result = {};
+ const decimalWarnings = [];
+ for (const target of Object.keys(targets).sort()) {
+ const value = targets[target];
+ if (typeof value === "number" && value % 1 !== 0) {
+ decimalWarnings.push({
+ target,
+ value
+ });
+ }
+ const [parsedTarget, parsedValue] = target === "node" ? nodeTargetParser(value) : defaultTargetParser(target, value);
+ if (parsedValue) {
+ result[parsedTarget] = parsedValue;
+ }
+ }
+ outputDecimalWarning(decimalWarnings);
+ return result;
+}
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/index.js.map b/node_modules/@babel/helper-compilation-targets/lib/index.js.map
new file mode 100644
index 0000000..a66b375
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_browserslist","require","_helperValidatorOption","_lruCache","_utils","_targets","_options","_pretty","_debug","_filterItems","browserModulesData","ESM_SUPPORT","v","OptionValidator","validateTargetNames","targets","validTargets","Object","keys","TargetNames","target","Error","formatMessage","findSuggestion","isBrowsersQueryValid","browsers","Array","isArray","every","b","validateBrowsers","invariant","undefined","String","getLowestVersions","reduce","all","browser","browserName","browserVersion","split","browserNameMap","splitVersion","toLowerCase","isSplitUnreleased","isUnreleasedVersion","semverify","version","isUnreleased","getLowestUnreleased","parsedBrowserVersion","semverMin","_","outputDecimalWarning","decimalTargets","length","console","warn","forEach","value","semverifyTarget","nodeTargetParser","parsed","process","versions","node","defaultTargetParser","generateTargets","inputTargets","input","assign","esmodules","resolveTargets","queries","env","resolved","browserslist","mobileToDesktop","targetsCache","LruCache","max","resolveTargetsCached","cacheKey","join","cached","get","set","getTargets","options","_browsers","_browsers2","configPath","onBrowserslistConfigFound","shouldParseBrowsers","hasTargets","shouldSearchForConfig","ignoreBrowserslistConfig","BROWSERSLIST","configFile","BROWSERSLIST_CONFIG","findConfigFile","loadConfig","config","browserslistEnv","map","queryBrowsers","esmSupportVersion","getHighestUnreleased","result","decimalWarnings","sort","push","parsedTarget","parsedValue"],"sources":["../src/index.ts"],"sourcesContent":["import browserslist from \"browserslist\";\nimport { findSuggestion } from \"@babel/helper-validator-option\";\nimport browserModulesData from \"@babel/compat-data/native-modules\" with { type: \"json\" };\nimport LruCache from \"lru-cache\";\n\nimport {\n semverify,\n semverMin,\n isUnreleasedVersion,\n getLowestUnreleased,\n getHighestUnreleased,\n} from \"./utils.ts\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport { browserNameMap } from \"./targets.ts\";\nimport { TargetNames } from \"./options.ts\";\nimport type {\n Target,\n Targets,\n InputTargets,\n Browsers,\n BrowserslistBrowserName,\n TargetsTuple,\n} from \"./types.d.ts\";\n\nexport type { Target, Targets, InputTargets };\n\nexport { prettifyTargets } from \"./pretty.ts\";\nexport { getInclusionReasons } from \"./debug.ts\";\nexport { default as filterItems, isRequired } from \"./filter-items.ts\";\nexport { unreleasedLabels } from \"./targets.ts\";\nexport { TargetNames };\n\nconst ESM_SUPPORT = browserModulesData[\"es6.module\"];\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nfunction validateTargetNames(targets: Targets): TargetsTuple {\n const validTargets = Object.keys(TargetNames);\n for (const target of Object.keys(targets)) {\n if (!(target in TargetNames)) {\n throw new Error(\n v.formatMessage(`'${target}' is not a valid target\n- Did you mean '${findSuggestion(target, validTargets)}'?`),\n );\n }\n }\n\n return targets;\n}\n\nexport function isBrowsersQueryValid(browsers: unknown): boolean {\n return (\n typeof browsers === \"string\" ||\n (Array.isArray(browsers) && browsers.every(b => typeof b === \"string\"))\n );\n}\n\nfunction validateBrowsers(browsers: Browsers | undefined) {\n v.invariant(\n browsers === undefined || isBrowsersQueryValid(browsers),\n `'${String(browsers)}' is not a valid browserslist query`,\n );\n\n return browsers;\n}\n\nfunction getLowestVersions(browsers: string[]): Targets {\n return browsers.reduce(\n (all, browser) => {\n const [browserName, browserVersion] = browser.split(\" \") as [\n BrowserslistBrowserName,\n string,\n ];\n const target = browserNameMap[browserName];\n\n if (!target) {\n return all;\n }\n\n try {\n // Browser version can return as \"10.0-10.2\"\n const splitVersion = browserVersion.split(\"-\")[0].toLowerCase();\n const isSplitUnreleased = isUnreleasedVersion(splitVersion, target);\n\n if (!all[target]) {\n all[target] = isSplitUnreleased\n ? splitVersion\n : semverify(splitVersion);\n return all;\n }\n\n const version = all[target];\n const isUnreleased = isUnreleasedVersion(version, target);\n\n if (isUnreleased && isSplitUnreleased) {\n all[target] = getLowestUnreleased(version, splitVersion, target);\n } else if (isUnreleased) {\n all[target] = semverify(splitVersion);\n } else if (!isUnreleased && !isSplitUnreleased) {\n const parsedBrowserVersion = semverify(splitVersion);\n\n all[target] = semverMin(version, parsedBrowserVersion);\n }\n } catch (_) {}\n\n return all;\n },\n {} as Record<Target, string>,\n );\n}\n\nfunction outputDecimalWarning(\n decimalTargets: { target: string; value: number }[],\n) {\n if (!decimalTargets.length) {\n return;\n }\n\n console.warn(\"Warning, the following targets are using a decimal version:\\n\");\n decimalTargets.forEach(({ target, value }) =>\n console.warn(` ${target}: ${value}`),\n );\n console.warn(`\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n`);\n}\n\nfunction semverifyTarget(target: Target, value: string) {\n try {\n return semverify(value);\n } catch (_) {\n throw new Error(\n v.formatMessage(\n `'${value}' is not a valid value for 'targets.${target}'.`,\n ),\n );\n }\n}\n\n// Parse `node: true` and `node: \"current\"` to version\nfunction nodeTargetParser(value: true | string) {\n const parsed =\n value === true || value === \"current\"\n ? // Align with `browserslist` and strip prerelease tag.\n process.versions.node.split(\"-\")[0]\n : semverifyTarget(\"node\", value);\n return [\"node\", parsed] as const;\n}\n\nfunction defaultTargetParser(\n target: Exclude<Target, \"node\">,\n value: string,\n): readonly [Exclude<Target, \"node\">, string] {\n const version = isUnreleasedVersion(value, target)\n ? value.toLowerCase()\n : semverifyTarget(target, value);\n return [target, version] as const;\n}\n\nfunction generateTargets(inputTargets: InputTargets): Targets {\n const input = { ...inputTargets };\n delete input.esmodules;\n delete input.browsers;\n return input;\n}\n\nfunction resolveTargets(queries: Browsers, env?: string): Targets {\n const resolved = browserslist(queries, {\n mobileToDesktop: true,\n env,\n });\n return getLowestVersions(resolved);\n}\n\nconst targetsCache = new LruCache({ max: 64 });\n\nfunction resolveTargetsCached(queries: Browsers, env?: string): Targets {\n const cacheKey = typeof queries === \"string\" ? queries : queries.join() + env;\n let cached = targetsCache.get(cacheKey) as Targets | undefined;\n if (!cached) {\n cached = resolveTargets(queries, env);\n targetsCache.set(cacheKey, cached);\n }\n return { ...cached };\n}\n\ntype GetTargetsOption = {\n // This is not the path of the config file, but the path where start searching it from\n configPath?: string;\n // The path of the config file\n configFile?: string;\n // The env to pass to browserslist\n browserslistEnv?: string;\n // true to disable config loading\n ignoreBrowserslistConfig?: boolean;\n // custom hook when browserslist config is found\n onBrowserslistConfigFound?: (configFile: string) => void;\n};\n\nexport default function getTargets(\n inputTargets: InputTargets = {},\n options: GetTargetsOption = {},\n): Targets {\n let { browsers, esmodules } = inputTargets;\n const { configPath = \".\", onBrowserslistConfigFound } = options;\n\n validateBrowsers(browsers);\n\n const input = generateTargets(inputTargets);\n let targets = validateTargetNames(input);\n\n const shouldParseBrowsers = !!browsers;\n const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;\n const shouldSearchForConfig =\n !options.ignoreBrowserslistConfig && !hasTargets;\n\n if (!browsers && shouldSearchForConfig) {\n // https://github.com/browserslist/browserslist/blob/8ae85caa905d130f4ca86f7a998a5b63abbbe582/node.js#L243\n browsers = process.env.BROWSERSLIST;\n if (!browsers) {\n const configFile =\n options.configFile ||\n process.env.BROWSERSLIST_CONFIG ||\n browserslist.findConfigFile(configPath);\n if (configFile != null) {\n onBrowserslistConfigFound?.(configFile);\n browsers = browserslist.loadConfig({\n config: configFile,\n env: options.browserslistEnv,\n });\n }\n }\n\n if (browsers == null) {\n if (process.env.BABEL_8_BREAKING) {\n // In Babel 8, if no targets are passed, we use browserslist's defaults.\n browsers = [\"defaults\"];\n } else {\n // If no targets are passed, we need to overwrite browserslist's defaults\n // so that we enable all transforms (acting like the now deprecated\n // preset-latest).\n browsers = [];\n }\n }\n }\n\n if (process.env.BABEL_8_BREAKING && esmodules) {\n esmodules = \"intersect\";\n }\n\n // `esmodules` as a target indicates the specific set of browsers supporting ES Modules.\n // These values OVERRIDE the `browsers` field.\n if (esmodules && (esmodules !== \"intersect\" || !browsers?.length)) {\n browsers = Object.keys(ESM_SUPPORT)\n .map(\n (browser: keyof typeof ESM_SUPPORT) =>\n `${browser} >= ${ESM_SUPPORT[browser]}`,\n )\n .join(\", \");\n esmodules = false;\n }\n\n // If current value of `browsers` is undefined (`ignoreBrowserslistConfig` should be `false`)\n // or an empty array (without any user config, use default config),\n // we don't need to call `resolveTargets` to execute the related methods of `browserslist` library.\n if (browsers?.length) {\n const queryBrowsers = resolveTargetsCached(\n browsers,\n options.browserslistEnv,\n );\n\n if (esmodules === \"intersect\") {\n for (const browser of Object.keys(queryBrowsers) as Target[]) {\n if (browser !== \"deno\" && browser !== \"ie\") {\n const esmSupportVersion =\n ESM_SUPPORT[browser === \"opera_mobile\" ? \"op_mob\" : browser];\n\n if (esmSupportVersion) {\n const version = queryBrowsers[browser];\n queryBrowsers[browser] = getHighestUnreleased(\n version,\n semverify(esmSupportVersion),\n browser,\n );\n } else {\n delete queryBrowsers[browser];\n }\n } else {\n delete queryBrowsers[browser];\n }\n }\n }\n\n targets = Object.assign(queryBrowsers, targets);\n }\n\n // Parse remaining targets\n const result: Targets = {};\n const decimalWarnings = [];\n for (const target of Object.keys(targets).sort() as Target[]) {\n const value = targets[target];\n\n // Warn when specifying minor/patch as a decimal\n if (typeof value === \"number\" && value % 1 !== 0) {\n decimalWarnings.push({ target, value });\n }\n\n const [parsedTarget, parsedValue] =\n target === \"node\"\n ? nodeTargetParser(value)\n : defaultTargetParser(target, value as string);\n\n if (parsedValue) {\n // Merge (lowest wins)\n result[parsedTarget] = parsedValue;\n }\n }\n\n outputDecimalWarning(decimalWarnings);\n\n return result;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-compilation-targets/lib/options.js b/node_modules/@babel/helper-compilation-targets/lib/options.js
new file mode 100644
index 0000000..cdb7c00
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/options.js
@@ -0,0 +1,24 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.TargetNames = void 0;
+const TargetNames = exports.TargetNames = {
+ node: "node",
+ deno: "deno",
+ chrome: "chrome",
+ opera: "opera",
+ edge: "edge",
+ firefox: "firefox",
+ safari: "safari",
+ ie: "ie",
+ ios: "ios",
+ android: "android",
+ electron: "electron",
+ samsung: "samsung",
+ rhino: "rhino",
+ opera_mobile: "opera_mobile"
+};
+
+//# sourceMappingURL=options.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/options.js.map b/node_modules/@babel/helper-compilation-targets/lib/options.js.map
new file mode 100644
index 0000000..5d3fbe0
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/options.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["TargetNames","exports","node","deno","chrome","opera","edge","firefox","safari","ie","ios","android","electron","samsung","rhino","opera_mobile"],"sources":["../src/options.ts"],"sourcesContent":["export const TargetNames = {\n node: \"node\",\n deno: \"deno\",\n chrome: \"chrome\",\n opera: \"opera\",\n edge: \"edge\",\n firefox: \"firefox\",\n safari: \"safari\",\n ie: \"ie\",\n ios: \"ios\",\n android: \"android\",\n electron: \"electron\",\n samsung: \"samsung\",\n rhino: \"rhino\",\n opera_mobile: \"opera_mobile\",\n};\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE;AAChB,CAAC","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-compilation-targets/lib/pretty.js b/node_modules/@babel/helper-compilation-targets/lib/pretty.js
new file mode 100644
index 0000000..f7c195d
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/pretty.js
@@ -0,0 +1,40 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.prettifyTargets = prettifyTargets;
+exports.prettifyVersion = prettifyVersion;
+var _semver = require("semver");
+var _targets = require("./targets.js");
+function prettifyVersion(version) {
+ if (typeof version !== "string") {
+ return version;
+ }
+ const {
+ major,
+ minor,
+ patch
+ } = _semver.parse(version);
+ const parts = [major];
+ 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 = _targets.unreleasedLabels[target];
+ if (typeof value === "string" && unreleasedLabel !== value) {
+ value = prettifyVersion(value);
+ }
+ results[target] = value;
+ return results;
+ }, {});
+}
+
+//# sourceMappingURL=pretty.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map b/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map
new file mode 100644
index 0000000..2b7f94a
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_semver","require","_targets","prettifyVersion","version","major","minor","patch","semver","parse","parts","push","join","prettifyTargets","targets","Object","keys","reduce","results","target","value","unreleasedLabel","unreleasedLabels"],"sources":["../src/pretty.ts"],"sourcesContent":["import semver from \"semver\";\nimport { unreleasedLabels } from \"./targets.ts\";\nimport type { Targets, Target } from \"./types.ts\";\n\nexport function prettifyVersion(version: string) {\n if (typeof version !== \"string\") {\n return version;\n }\n\n const { major, minor, patch } = semver.parse(version);\n\n const parts = [major];\n\n if (minor || patch) {\n parts.push(minor);\n }\n\n if (patch) {\n parts.push(patch);\n }\n\n return parts.join(\".\");\n}\n\nexport function prettifyTargets(targets: Targets): Targets {\n return Object.keys(targets).reduce((results, target: Target) => {\n let value = targets[target];\n\n const unreleasedLabel =\n // @ts-expect-error undefined is strictly compared with string later\n unreleasedLabels[target];\n if (typeof value === \"string\" && unreleasedLabel !== value) {\n value = prettifyVersion(value);\n }\n\n results[target] = value;\n return results;\n }, {} as Targets);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGO,SAASE,eAAeA,CAACC,OAAe,EAAE;EAC/C,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC/B,OAAOA,OAAO;EAChB;EAEA,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGC,OAAM,CAACC,KAAK,CAACL,OAAO,CAAC;EAErD,MAAMM,KAAK,GAAG,CAACL,KAAK,CAAC;EAErB,IAAIC,KAAK,IAAIC,KAAK,EAAE;IAClBG,KAAK,CAACC,IAAI,CAACL,KAAK,CAAC;EACnB;EAEA,IAAIC,KAAK,EAAE;IACTG,KAAK,CAACC,IAAI,CAACJ,KAAK,CAAC;EACnB;EAEA,OAAOG,KAAK,CAACE,IAAI,CAAC,GAAG,CAAC;AACxB;AAEO,SAASC,eAAeA,CAACC,OAAgB,EAAW;EACzD,OAAOC,MAAM,CAACC,IAAI,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,CAACC,OAAO,EAAEC,MAAc,KAAK;IAC9D,IAAIC,KAAK,GAAGN,OAAO,CAACK,MAAM,CAAC;IAE3B,MAAME,eAAe,GAEnBC,yBAAgB,CAACH,MAAM,CAAC;IAC1B,IAAI,OAAOC,KAAK,KAAK,QAAQ,IAAIC,eAAe,KAAKD,KAAK,EAAE;MAC1DA,KAAK,GAAGjB,eAAe,CAACiB,KAAK,CAAC;IAChC;IAEAF,OAAO,CAACC,MAAM,CAAC,GAAGC,KAAK;IACvB,OAAOF,OAAO;EAChB,CAAC,EAAE,CAAC,CAAY,CAAC;AACnB","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-compilation-targets/lib/targets.js b/node_modules/@babel/helper-compilation-targets/lib/targets.js
new file mode 100644
index 0000000..d4d5e06
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/targets.js
@@ -0,0 +1,28 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.unreleasedLabels = exports.browserNameMap = void 0;
+const unreleasedLabels = exports.unreleasedLabels = {
+ safari: "tp"
+};
+const browserNameMap = exports.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",
+ deno: "deno",
+ op_mob: "opera_mobile",
+ opera: "opera",
+ safari: "safari",
+ samsung: "samsung"
+};
+
+//# sourceMappingURL=targets.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/targets.js.map b/node_modules/@babel/helper-compilation-targets/lib/targets.js.map
new file mode 100644
index 0000000..6f18ef2
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/targets.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["unreleasedLabels","exports","safari","browserNameMap","and_chr","and_ff","android","chrome","edge","firefox","ie","ie_mob","ios_saf","node","deno","op_mob","opera","samsung"],"sources":["../src/targets.ts"],"sourcesContent":["export const unreleasedLabels = {\n safari: \"tp\",\n} as const;\n\n// Map from browserslist|@mdn/browser-compat-data browser names to @kangax/compat-table browser names\nexport const browserNameMap = {\n and_chr: \"chrome\",\n and_ff: \"firefox\",\n android: \"android\",\n chrome: \"chrome\",\n edge: \"edge\",\n firefox: \"firefox\",\n ie: \"ie\",\n ie_mob: \"ie\",\n ios_saf: \"ios\",\n node: \"node\",\n deno: \"deno\",\n op_mob: \"opera_mobile\",\n opera: \"opera\",\n safari: \"safari\",\n samsung: \"samsung\",\n} as const;\n\nexport type BrowserslistBrowserName = keyof typeof browserNameMap;\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,MAAM,EAAE;AACV,CAAU;AAGH,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG;EAC5BC,OAAO,EAAE,QAAQ;EACjBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,SAAS;EAClBC,EAAE,EAAE,IAAI;EACRC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,KAAK;EACdC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,cAAc;EACtBC,KAAK,EAAE,OAAO;EACdd,MAAM,EAAE,QAAQ;EAChBe,OAAO,EAAE;AACX,CAAU","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-compilation-targets/lib/utils.js b/node_modules/@babel/helper-compilation-targets/lib/utils.js
new file mode 100644
index 0000000..70270e0
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/utils.js
@@ -0,0 +1,58 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.getHighestUnreleased = getHighestUnreleased;
+exports.getLowestImplementedVersion = getLowestImplementedVersion;
+exports.getLowestUnreleased = getLowestUnreleased;
+exports.isUnreleasedVersion = isUnreleasedVersion;
+exports.semverMin = semverMin;
+exports.semverify = semverify;
+var _semver = require("semver");
+var _helperValidatorOption = require("@babel/helper-validator-option");
+var _targets = require("./targets.js");
+const versionRegExp = /^(?:\d+|\d(?:\d?[^\d\n\r\u2028\u2029]\d+|\d{2,}(?:[^\d\n\r\u2028\u2029]\d+)?))$/;
+const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets");
+function semverMin(first, second) {
+ return first && _semver.lt(first, second) ? first : second;
+}
+function semverify(version) {
+ if (typeof version === "string" && _semver.valid(version)) {
+ return version;
+ }
+ v.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), `'${version}' is not a valid version`);
+ version = version.toString();
+ let pos = 0;
+ let num = 0;
+ while ((pos = version.indexOf(".", pos + 1)) > 0) {
+ num++;
+ }
+ return version + ".0".repeat(2 - num);
+}
+function isUnreleasedVersion(version, env) {
+ const unreleasedLabel = _targets.unreleasedLabels[env];
+ return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase();
+}
+function getLowestUnreleased(a, b, env) {
+ const unreleasedLabel = _targets.unreleasedLabels[env];
+ if (a === unreleasedLabel) {
+ return b;
+ }
+ if (b === unreleasedLabel) {
+ return a;
+ }
+ return semverMin(a, b);
+}
+function getHighestUnreleased(a, b, env) {
+ return getLowestUnreleased(a, b, env) === a ? b : a;
+}
+function getLowestImplementedVersion(plugin, environment) {
+ const result = plugin[environment];
+ if (!result && environment === "android") {
+ return plugin.chrome;
+ }
+ return result;
+}
+
+//# sourceMappingURL=utils.js.map
diff --git a/node_modules/@babel/helper-compilation-targets/lib/utils.js.map b/node_modules/@babel/helper-compilation-targets/lib/utils.js.map
new file mode 100644
index 0000000..fae4448
--- /dev/null
+++ b/node_modules/@babel/helper-compilation-targets/lib/utils.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_semver","require","_helperValidatorOption","_targets","versionRegExp","v","OptionValidator","semverMin","first","second","semver","lt","semverify","version","valid","invariant","test","toString","pos","num","indexOf","repeat","isUnreleasedVersion","env","unreleasedLabel","unreleasedLabels","toLowerCase","getLowestUnreleased","a","b","getHighestUnreleased","getLowestImplementedVersion","plugin","environment","result","chrome"],"sources":["../src/utils.ts"],"sourcesContent":["import semver from \"semver\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport { unreleasedLabels } from \"./targets.ts\";\nimport type { Target, Targets } from \"./types.ts\";\n\nconst versionRegExp =\n /^(?:\\d+|\\d(?:\\d?[^\\d\\n\\r\\u2028\\u2029]\\d+|\\d{2,}(?:[^\\d\\n\\r\\u2028\\u2029]\\d+)?))$/;\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nexport function semverMin(\n first: string | undefined | null,\n second: string,\n): string {\n return first && semver.lt(first, second) ? first : second;\n}\n\n// Convert version to a semver value.\n// 2.5 -> 2.5.0; 1 -> 1.0.0;\nexport function semverify(version: number | string): string {\n if (typeof version === \"string\" && semver.valid(version)) {\n return version;\n }\n\n v.invariant(\n typeof version === \"number\" ||\n (typeof version === \"string\" && versionRegExp.test(version)),\n `'${version}' is not a valid version`,\n );\n\n version = version.toString();\n\n let pos = 0;\n let num = 0;\n while ((pos = version.indexOf(\".\", pos + 1)) > 0) {\n num++;\n }\n return version + \".0\".repeat(2 - num);\n}\n\nexport function isUnreleasedVersion(\n version: string | number,\n env: Target,\n): boolean {\n const unreleasedLabel =\n // @ts-expect-error unreleasedLabel will be guarded later\n unreleasedLabels[env];\n return (\n !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase()\n );\n}\n\nexport function getLowestUnreleased(a: string, b: string, env: Target): string {\n const unreleasedLabel:\n | (typeof unreleasedLabels)[keyof typeof unreleasedLabels]\n | undefined =\n // @ts-expect-error unreleasedLabel is undefined when env is not safari\n unreleasedLabels[env];\n if (a === unreleasedLabel) {\n return b;\n }\n if (b === unreleasedLabel) {\n return a;\n }\n return semverMin(a, b);\n}\n\nexport function getHighestUnreleased(\n a: string,\n b: string,\n env: Target,\n): string {\n return getLowestUnreleased(a, b, env) === a ? b : a;\n}\n\nexport function getLowestImplementedVersion(\n plugin: Targets,\n environment: Target,\n): string {\n const result = plugin[environment];\n // When Android support data is absent, use Chrome data as fallback\n if (!result && environment === \"android\") {\n return plugin.chrome;\n }\n return result;\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAGA,MAAMG,aAAa,GACjB,iFAAiF;AAEnF,MAAMC,CAAC,GAAG,IAAIC,sCAAe,oCAAkB,CAAC;AAEzC,SAASC,SAASA,CACvBC,KAAgC,EAChCC,MAAc,EACN;EACR,OAAOD,KAAK,IAAIE,OAAM,CAACC,EAAE,CAACH,KAAK,EAAEC,MAAM,CAAC,GAAGD,KAAK,GAAGC,MAAM;AAC3D;AAIO,SAASG,SAASA,CAACC,OAAwB,EAAU;EAC1D,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIH,OAAM,CAACI,KAAK,CAACD,OAAO,CAAC,EAAE;IACxD,OAAOA,OAAO;EAChB;EAEAR,CAAC,CAACU,SAAS,CACT,OAAOF,OAAO,KAAK,QAAQ,IACxB,OAAOA,OAAO,KAAK,QAAQ,IAAIT,aAAa,CAACY,IAAI,CAACH,OAAO,CAAE,EAC9D,IAAIA,OAAO,0BACb,CAAC;EAEDA,OAAO,GAAGA,OAAO,CAACI,QAAQ,CAAC,CAAC;EAE5B,IAAIC,GAAG,GAAG,CAAC;EACX,IAAIC,GAAG,GAAG,CAAC;EACX,OAAO,CAACD,GAAG,GAAGL,OAAO,CAACO,OAAO,CAAC,GAAG,EAAEF,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;IAChDC,GAAG,EAAE;EACP;EACA,OAAON,OAAO,GAAG,IAAI,CAACQ,MAAM,CAAC,CAAC,GAAGF,GAAG,CAAC;AACvC;AAEO,SAASG,mBAAmBA,CACjCT,OAAwB,EACxBU,GAAW,EACF;EACT,MAAMC,eAAe,GAEnBC,yBAAgB,CAACF,GAAG,CAAC;EACvB,OACE,CAAC,CAACC,eAAe,IAAIA,eAAe,KAAKX,OAAO,CAACI,QAAQ,CAAC,CAAC,CAACS,WAAW,CAAC,CAAC;AAE7E;AAEO,SAASC,mBAAmBA,CAACC,CAAS,EAAEC,CAAS,EAAEN,GAAW,EAAU;EAC7E,MAAMC,eAEO,GAEXC,yBAAgB,CAACF,GAAG,CAAC;EACvB,IAAIK,CAAC,KAAKJ,eAAe,EAAE;IACzB,OAAOK,CAAC;EACV;EACA,IAAIA,CAAC,KAAKL,eAAe,EAAE;IACzB,OAAOI,CAAC;EACV;EACA,OAAOrB,SAAS,CAACqB,CAAC,EAAEC,CAAC,CAAC;AACxB;AAEO,SAASC,oBAAoBA,CAClCF,CAAS,EACTC,CAAS,EACTN,GAAW,EACH;EACR,OAAOI,mBAAmB,CAACC,CAAC,EAAEC,CAAC,EAAEN,GAAG,CAAC,KAAKK,CAAC,GAAGC,CAAC,GAAGD,CAAC;AACrD;AAEO,SAASG,2BAA2BA,CACzCC,MAAe,EACfC,WAAmB,EACX;EACR,MAAMC,MAAM,GAAGF,MAAM,CAACC,WAAW,CAAC;EAElC,IAAI,CAACC,MAAM,IAAID,WAAW,KAAK,SAAS,EAAE;IACxC,OAAOD,MAAM,CAACG,MAAM;EACtB;EACA,OAAOD,MAAM;AACf","ignoreList":[]} \ No newline at end of file