1 line
24 KiB
Plaintext
1 line
24 KiB
Plaintext
{"version":3,"names":["pluginCoreJS2","_pluginCoreJS2","default","pluginCoreJS3","_pluginCoreJS3","pluginRegenerator","_pluginRegenerator","isPluginRequired","targets","support","isRequired","compatData","filterStageFromList","list","stageList","Object","keys","reduce","result","item","has","pluginLists","withProposals","withoutBugfixes","pluginsList","withBugfixes","assign","pluginsBugfixesList","withoutProposals","proposalPlugins","getPluginList","proposals","bugfixes","getPlugin","pluginName","plugin","availablePlugins","Error","transformIncludesAndExcludes","opts","opt","target","match","add","all","plugins","Set","builtIns","getModulesPluginNames","modules","transformations","shouldTransformESM","shouldTransformDynamicImport","shouldTransformExportNamespaceFrom","shouldParseTopLevelAwait","modulesPluginNames","push","console","warn","getPolyfillPlugins","useBuiltIns","corejs","polyfillTargets","include","exclude","shippedProposals","regenerator","debug","polyfillPlugins","pluginOptions","method","version","toString","undefined","major","legacyBabelPolyfillPlugin","usage","deprecated","removeRegeneratorEntryPlugin","getLocalTargets","optionsTargets","ignoreBrowserslistConfig","configPath","browserslistEnv","esmodules","browsers","getTargets","supportsStaticESM","caller","supportsDynamicImport","supportsExportNamespaceFrom","supportsTopLevelAwait","declarePreset","api","assertVersion","babelTargets","optionsExclude","forceAllTransforms","optionsInclude","loose","spec","normalizeOptions","semver","lt","hasUglifyTarget","uglify","transformTargets","shouldSkipExportNamespaceFrom","includes","excludes","moduleTransformations","pluginNames","filterItems","getOptionSpecificExcludesFor","pluginSyntaxMap","removeUnnecessaryItems","overlappingPlugins","removeUnsupportedItems","addProposalSyntaxPlugins","proposalSyntaxPlugins","pluginUseBuiltIns","Array","from","map","concat","log","JSON","stringify","prettifyTargets","forEach","logPlugin"],"sources":["../src/index.ts"],"sourcesContent":["import semver, { type SemVer } from \"semver\";\nimport { logPlugin } from \"./debug\";\nimport getOptionSpecificExcludesFor from \"./get-option-specific-excludes\";\nimport {\n addProposalSyntaxPlugins,\n removeUnnecessaryItems,\n removeUnsupportedItems,\n} from \"./filter-items\";\nimport moduleTransformations from \"./module-transformations\";\nimport normalizeOptions from \"./normalize-options\";\nimport {\n pluginSyntaxMap,\n proposalPlugins,\n proposalSyntaxPlugins,\n} from \"./shipped-proposals\";\nimport {\n plugins as pluginsList,\n pluginsBugfixes as pluginsBugfixesList,\n overlappingPlugins,\n} from \"./plugins-compat-data\";\n\nimport removeRegeneratorEntryPlugin from \"./polyfills/regenerator\";\nimport legacyBabelPolyfillPlugin from \"./polyfills/babel-polyfill\";\n\nimport type { CallerMetadata } from \"@babel/core\";\n\nimport _pluginCoreJS2 from \"babel-plugin-polyfill-corejs2\";\nimport _pluginCoreJS3 from \"babel-plugin-polyfill-corejs3\";\nimport _pluginRegenerator from \"babel-plugin-polyfill-regenerator\";\nconst pluginCoreJS2 = _pluginCoreJS2.default || _pluginCoreJS2;\nconst pluginCoreJS3 = _pluginCoreJS3.default || _pluginCoreJS3;\nconst pluginRegenerator = _pluginRegenerator.default || _pluginRegenerator;\n\nimport getTargets, {\n prettifyTargets,\n filterItems,\n isRequired,\n} from \"@babel/helper-compilation-targets\";\nimport type { Targets, InputTargets } from \"@babel/helper-compilation-targets\";\nimport availablePlugins from \"./available-plugins\";\nimport { declarePreset } from \"@babel/helper-plugin-utils\";\n\ntype ModuleTransformationsType =\n typeof import(\"./module-transformations\").default;\nimport type { BuiltInsOption, ModuleOption, Options } from \"./types\";\n\n// TODO: Remove in Babel 8\nexport function isPluginRequired(targets: Targets, support: Targets) {\n return isRequired(\"fake-name\", targets, {\n compatData: { \"fake-name\": support },\n });\n}\n\nfunction filterStageFromList(\n list: { [feature: string]: Targets },\n stageList: Set<string>,\n) {\n return Object.keys(list).reduce((result, item) => {\n if (!stageList.has(item)) {\n // @ts-expect-error todo: refine result types\n result[item] = list[item];\n }\n\n return result;\n }, {});\n}\n\nconst pluginLists = {\n withProposals: {\n withoutBugfixes: pluginsList,\n withBugfixes: Object.assign({}, pluginsList, pluginsBugfixesList),\n },\n withoutProposals: {\n withoutBugfixes: filterStageFromList(pluginsList, proposalPlugins),\n withBugfixes: filterStageFromList(\n Object.assign({}, pluginsList, pluginsBugfixesList),\n proposalPlugins,\n ),\n },\n};\n\nfunction getPluginList(proposals: boolean, bugfixes: boolean) {\n if (proposals) {\n if (bugfixes) return pluginLists.withProposals.withBugfixes;\n else return pluginLists.withProposals.withoutBugfixes;\n } else {\n if (bugfixes) return pluginLists.withoutProposals.withBugfixes;\n else return pluginLists.withoutProposals.withoutBugfixes;\n }\n}\n\nconst getPlugin = (pluginName: string) => {\n const plugin =\n // @ts-expect-error plugin name is constructed from available plugin list\n availablePlugins[pluginName]();\n\n if (!plugin) {\n throw new Error(\n `Could not find plugin \"${pluginName}\". Ensure there is an entry in ./available-plugins.js for it.`,\n );\n }\n\n return plugin;\n};\n\nexport const transformIncludesAndExcludes = (opts: Array<string>): any => {\n return opts.reduce(\n (result, opt) => {\n const target = opt.match(/^(es|es6|es7|esnext|web)\\./)\n ? \"builtIns\"\n : \"plugins\";\n result[target].add(opt);\n return result;\n },\n {\n all: opts,\n plugins: new Set(),\n builtIns: new Set(),\n },\n );\n};\n\nexport const getModulesPluginNames = ({\n modules,\n transformations,\n shouldTransformESM,\n shouldTransformDynamicImport,\n shouldTransformExportNamespaceFrom,\n shouldParseTopLevelAwait,\n}: {\n modules: ModuleOption;\n transformations: ModuleTransformationsType;\n shouldTransformESM: boolean;\n shouldTransformDynamicImport: boolean;\n shouldTransformExportNamespaceFrom: boolean;\n shouldParseTopLevelAwait: boolean;\n}) => {\n const modulesPluginNames = [];\n if (modules !== false && transformations[modules]) {\n if (shouldTransformESM) {\n modulesPluginNames.push(transformations[modules]);\n }\n\n if (\n shouldTransformDynamicImport &&\n shouldTransformESM &&\n modules !== \"umd\"\n ) {\n modulesPluginNames.push(\"transform-dynamic-import\");\n } else {\n if (shouldTransformDynamicImport) {\n console.warn(\n \"Dynamic import can only be supported when transforming ES modules\" +\n \" to AMD, CommonJS or SystemJS. Only the parser plugin will be enabled.\",\n );\n }\n modulesPluginNames.push(\"syntax-dynamic-import\");\n }\n } else {\n modulesPluginNames.push(\"syntax-dynamic-import\");\n }\n\n if (shouldTransformExportNamespaceFrom) {\n modulesPluginNames.push(\"transform-export-namespace-from\");\n } else {\n modulesPluginNames.push(\"syntax-export-namespace-from\");\n }\n\n if (shouldParseTopLevelAwait) {\n modulesPluginNames.push(\"syntax-top-level-await\");\n }\n\n return modulesPluginNames;\n};\n\nexport const getPolyfillPlugins = ({\n useBuiltIns,\n corejs,\n polyfillTargets,\n include,\n exclude,\n proposals,\n shippedProposals,\n regenerator,\n debug,\n}: {\n useBuiltIns: BuiltInsOption;\n corejs: SemVer | null | false;\n polyfillTargets: Targets;\n include: Set<string>;\n exclude: Set<string>;\n proposals: boolean;\n shippedProposals: boolean;\n regenerator: boolean;\n debug: boolean;\n}) => {\n const polyfillPlugins = [];\n if (useBuiltIns === \"usage\" || useBuiltIns === \"entry\") {\n const pluginOptions = {\n method: `${useBuiltIns}-global`,\n version: corejs ? corejs.toString() : undefined,\n targets: polyfillTargets,\n include,\n exclude,\n proposals,\n shippedProposals,\n debug,\n };\n\n if (corejs) {\n if (useBuiltIns === \"usage\") {\n if (corejs.major === 2) {\n polyfillPlugins.push(\n [pluginCoreJS2, pluginOptions],\n [legacyBabelPolyfillPlugin, { usage: true }],\n );\n } else {\n polyfillPlugins.push(\n [pluginCoreJS3, pluginOptions],\n [legacyBabelPolyfillPlugin, { usage: true, deprecated: true }],\n );\n }\n if (regenerator) {\n polyfillPlugins.push([\n pluginRegenerator,\n { method: \"usage-global\", debug },\n ]);\n }\n } else {\n if (corejs.major === 2) {\n polyfillPlugins.push(\n [legacyBabelPolyfillPlugin, { regenerator }],\n [pluginCoreJS2, pluginOptions],\n );\n } else {\n polyfillPlugins.push(\n [pluginCoreJS3, pluginOptions],\n [legacyBabelPolyfillPlugin, { deprecated: true }],\n );\n if (!regenerator) {\n polyfillPlugins.push([removeRegeneratorEntryPlugin, pluginOptions]);\n }\n }\n }\n }\n }\n return polyfillPlugins;\n};\n\nfunction getLocalTargets(\n optionsTargets: Options[\"targets\"],\n ignoreBrowserslistConfig: boolean,\n configPath: string,\n browserslistEnv: string,\n) {\n if (optionsTargets?.esmodules && optionsTargets.browsers) {\n console.warn(`\n@babel/preset-env: esmodules and browsers targets have been specified together.\n\\`browsers\\` target, \\`${optionsTargets.browsers.toString()}\\` will be ignored.\n`);\n }\n\n return getTargets(optionsTargets as InputTargets, {\n ignoreBrowserslistConfig,\n configPath,\n browserslistEnv,\n });\n}\n\nfunction supportsStaticESM(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsStaticESM is not defined in CallerMetadata\n return !!caller?.supportsStaticESM;\n}\n\nfunction supportsDynamicImport(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsDynamicImport is not defined in CallerMetadata\n return !!caller?.supportsDynamicImport;\n}\n\nfunction supportsExportNamespaceFrom(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsExportNamespaceFrom is not defined in CallerMetadata\n return !!caller?.supportsExportNamespaceFrom;\n}\n\nfunction supportsTopLevelAwait(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsTopLevelAwait is not defined in CallerMetadata\n return !!caller?.supportsTopLevelAwait;\n}\n\nexport default declarePreset((api, opts: Options) => {\n api.assertVersion(7);\n\n const babelTargets = api.targets();\n\n const {\n bugfixes,\n configPath,\n debug,\n exclude: optionsExclude,\n forceAllTransforms,\n ignoreBrowserslistConfig,\n include: optionsInclude,\n loose,\n modules,\n shippedProposals,\n spec,\n targets: optionsTargets,\n useBuiltIns,\n corejs: { version: corejs, proposals },\n browserslistEnv,\n } = normalizeOptions(opts);\n\n let targets = babelTargets;\n\n if (\n // @babel/core < 7.13.0 doesn't load targets (api.targets() always\n // returns {} thanks to @babel/helper-plugin-utils), so we always want\n // to fallback to the old targets behavior in this case.\n semver.lt(api.version, \"7.13.0\") ||\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n opts.targets ||\n opts.configPath ||\n opts.browserslistEnv ||\n opts.ignoreBrowserslistConfig\n ) {\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var hasUglifyTarget = false;\n\n if (optionsTargets?.uglify) {\n hasUglifyTarget = true;\n delete optionsTargets.uglify;\n\n console.warn(`\nThe uglify target has been deprecated. Set the top level\noption \\`forceAllTransforms: true\\` instead.\n`);\n }\n }\n\n targets = getLocalTargets(\n optionsTargets,\n ignoreBrowserslistConfig,\n configPath,\n browserslistEnv,\n );\n }\n\n const transformTargets = (\n process.env.BABEL_8_BREAKING\n ? forceAllTransforms\n : forceAllTransforms || hasUglifyTarget\n )\n ? ({} as Targets)\n : targets;\n\n const include = transformIncludesAndExcludes(optionsInclude);\n const exclude = transformIncludesAndExcludes(optionsExclude);\n\n const compatData = getPluginList(shippedProposals, bugfixes);\n const shouldSkipExportNamespaceFrom =\n (modules === \"auto\" && api.caller?.(supportsExportNamespaceFrom)) ||\n (modules === false &&\n !isRequired(\"transform-export-namespace-from\", transformTargets, {\n compatData,\n includes: include.plugins,\n excludes: exclude.plugins,\n }));\n const modulesPluginNames = getModulesPluginNames({\n modules,\n transformations: moduleTransformations,\n // TODO: Remove the 'api.caller' check eventually. Just here to prevent\n // unnecessary breakage in the short term for users on older betas/RCs.\n shouldTransformESM: modules !== \"auto\" || !api.caller?.(supportsStaticESM),\n shouldTransformDynamicImport:\n modules !== \"auto\" || !api.caller?.(supportsDynamicImport),\n shouldTransformExportNamespaceFrom: !shouldSkipExportNamespaceFrom,\n shouldParseTopLevelAwait:\n !api.caller || (api.caller(supportsTopLevelAwait) as boolean),\n });\n\n const pluginNames = filterItems(\n compatData,\n include.plugins,\n exclude.plugins,\n transformTargets,\n modulesPluginNames,\n getOptionSpecificExcludesFor({ loose }),\n pluginSyntaxMap,\n );\n removeUnnecessaryItems(pluginNames, overlappingPlugins);\n removeUnsupportedItems(pluginNames, api.version);\n if (shippedProposals) {\n addProposalSyntaxPlugins(pluginNames, proposalSyntaxPlugins);\n }\n\n const polyfillPlugins = getPolyfillPlugins({\n useBuiltIns,\n corejs,\n polyfillTargets: targets,\n include: include.builtIns,\n exclude: exclude.builtIns,\n proposals,\n shippedProposals,\n regenerator: pluginNames.has(\"transform-regenerator\"),\n debug,\n });\n\n const pluginUseBuiltIns = useBuiltIns !== false;\n const plugins = Array.from(pluginNames)\n .map(pluginName => {\n if (\n pluginName === \"transform-class-properties\" ||\n pluginName === \"transform-private-methods\" ||\n pluginName === \"transform-private-property-in-object\"\n ) {\n return [\n getPlugin(pluginName),\n {\n loose: loose\n ? \"#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error\"\n : \"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\",\n },\n ];\n }\n return [\n getPlugin(pluginName),\n { spec, loose, useBuiltIns: pluginUseBuiltIns },\n ];\n })\n .concat(polyfillPlugins);\n\n if (debug) {\n console.log(\"@babel/preset-env: `DEBUG` option\");\n console.log(\"\\nUsing targets:\");\n console.log(JSON.stringify(prettifyTargets(targets), null, 2));\n console.log(`\\nUsing modules transform: ${modules.toString()}`);\n console.log(\"\\nUsing plugins:\");\n pluginNames.forEach(pluginName => {\n logPlugin(pluginName, targets, compatData);\n });\n\n if (!useBuiltIns) {\n console.log(\n \"\\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set.\",\n );\n }\n }\n\n return { plugins };\n});\n"],"mappings":"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"} |