diff --git a/babel.config.js b/babel.config.js index 4e20f51e30..2aa21beaff 100644 --- a/babel.config.js +++ b/babel.config.js @@ -179,7 +179,11 @@ module.exports = function (api) { assumptions: parserAssumptions, }, convertESM && { - test: ["./packages/babel-cli", "./packages/babel-core"].map(normalize), + test: [ + "./packages/babel-cli", + "./packages/babel-core", + "./packages/babel-preset-env/src/available-plugins.js", + ].map(normalize), plugins: [ // Explicitly use the lazy version of CommonJS modules. ["@babel/transform-modules-commonjs", { lazy: true }], diff --git a/packages/babel-preset-env/src/available-plugins.js b/packages/babel-preset-env/src/available-plugins.js index 4da14d528b..cd28ffe483 100644 --- a/packages/babel-preset-env/src/available-plugins.js +++ b/packages/babel-preset-env/src/available-plugins.js @@ -68,68 +68,73 @@ import bugfixSafariForShadowing from "@babel/preset-modules/lib/plugins/transfor import bugfixV8SpreadParametersInOptionalChaining from "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining"; export default { - "bugfix/transform-async-arrows-in-class": bugfixAsyncArrowsInClass, - "bugfix/transform-edge-default-parameters": bugfixEdgeDefaultParameters, - "bugfix/transform-edge-function-name": bugfixEdgeFunctionName, - "bugfix/transform-safari-block-shadowing": bugfixSafariBlockShadowing, - "bugfix/transform-safari-for-shadowing": bugfixSafariForShadowing, - "bugfix/transform-tagged-template-caching": bugfixTaggedTemplateCaching, - "bugfix/transform-v8-spread-parameters-in-optional-chaining": bugfixV8SpreadParametersInOptionalChaining, - "proposal-async-generator-functions": proposalAsyncGeneratorFunctions, - "proposal-class-properties": proposalClassProperties, - "proposal-dynamic-import": proposalDynamicImport, - "proposal-export-namespace-from": proposalExportNamespaceFrom, - "proposal-json-strings": proposalJsonStrings, - "proposal-logical-assignment-operators": proposalLogicalAssignmentOperators, - "proposal-nullish-coalescing-operator": proposalNullishCoalescingOperator, - "proposal-numeric-separator": proposalNumericSeparator, - "proposal-object-rest-spread": proposalObjectRestSpread, - "proposal-optional-catch-binding": proposalOptionalCatchBinding, - "proposal-optional-chaining": proposalOptionalChaining, - "proposal-private-methods": proposalPrivateMethods, - "proposal-unicode-property-regex": proposalUnicodePropertyRegex, - "syntax-async-generators": syntaxAsyncGenerators, - "syntax-class-properties": syntaxClassProperties, - "syntax-dynamic-import": syntaxDynamicImport, - "syntax-export-namespace-from": syntaxExportNamespaceFrom, - "syntax-json-strings": syntaxJsonStrings, - "syntax-logical-assignment-operators": syntaxLogicalAssignmentOperators, - "syntax-nullish-coalescing-operator": syntaxNullishCoalescingOperator, - "syntax-numeric-separator": syntaxNumericSeparator, - "syntax-object-rest-spread": syntaxObjectRestSpread, - "syntax-optional-catch-binding": syntaxOptionalCatchBinding, - "syntax-optional-chaining": syntaxOptionalChaining, - "syntax-top-level-await": syntaxTopLevelAwait, - "transform-arrow-functions": transformArrowFunctions, - "transform-async-to-generator": transformAsyncToGenerator, - "transform-block-scoped-functions": transformBlockScopedFunctions, - "transform-block-scoping": transformBlockScoping, - "transform-classes": transformClasses, - "transform-computed-properties": transformComputedProperties, - "transform-destructuring": transformDestructuring, - "transform-dotall-regex": transformDotallRegex, - "transform-duplicate-keys": transformDuplicateKeys, - "transform-exponentiation-operator": transformExponentialOperator, - "transform-for-of": transformForOf, - "transform-function-name": transformFunctionName, - "transform-literals": transformLiterals, - "transform-member-expression-literals": transformMemberExpressionLiterals, - "transform-modules-amd": transformModulesAmd, - "transform-modules-commonjs": transformModulesCommonjs, - "transform-modules-systemjs": transformModulesSystemjs, - "transform-modules-umd": transformModulesUmd, - "transform-named-capturing-groups-regex": transformNamedCapturingGroupsRegex, - "transform-new-target": transformNewTarget, - "transform-object-super": transformObjectSuper, - "transform-parameters": transformParameters, - "transform-property-literals": transformPropertyLiterals, - "transform-regenerator": transformRegenerator, - "transform-reserved-words": transformReservedWords, - "transform-shorthand-properties": transformShorthandProperties, - "transform-spread": transformSpread, - "transform-sticky-regex": transformStickyRegex, - "transform-template-literals": transformTemplateLiterals, - "transform-typeof-symbol": transformTypeofSymbol, - "transform-unicode-escapes": transformUnicodeEscapes, - "transform-unicode-regex": transformUnicodeRegex, + "bugfix/transform-async-arrows-in-class": () => bugfixAsyncArrowsInClass, + "bugfix/transform-edge-default-parameters": () => bugfixEdgeDefaultParameters, + "bugfix/transform-edge-function-name": () => bugfixEdgeFunctionName, + "bugfix/transform-safari-block-shadowing": () => bugfixSafariBlockShadowing, + "bugfix/transform-safari-for-shadowing": () => bugfixSafariForShadowing, + "bugfix/transform-tagged-template-caching": () => bugfixTaggedTemplateCaching, + "bugfix/transform-v8-spread-parameters-in-optional-chaining": () => + bugfixV8SpreadParametersInOptionalChaining, + "proposal-async-generator-functions": () => proposalAsyncGeneratorFunctions, + "proposal-class-properties": () => proposalClassProperties, + "proposal-dynamic-import": () => proposalDynamicImport, + "proposal-export-namespace-from": () => proposalExportNamespaceFrom, + "proposal-json-strings": () => proposalJsonStrings, + "proposal-logical-assignment-operators": () => + proposalLogicalAssignmentOperators, + "proposal-nullish-coalescing-operator": () => + proposalNullishCoalescingOperator, + "proposal-numeric-separator": () => proposalNumericSeparator, + "proposal-object-rest-spread": () => proposalObjectRestSpread, + "proposal-optional-catch-binding": () => proposalOptionalCatchBinding, + "proposal-optional-chaining": () => proposalOptionalChaining, + "proposal-private-methods": () => proposalPrivateMethods, + "proposal-unicode-property-regex": () => proposalUnicodePropertyRegex, + "syntax-async-generators": () => syntaxAsyncGenerators, + "syntax-class-properties": () => syntaxClassProperties, + "syntax-dynamic-import": () => syntaxDynamicImport, + "syntax-export-namespace-from": () => syntaxExportNamespaceFrom, + "syntax-json-strings": () => syntaxJsonStrings, + "syntax-logical-assignment-operators": () => syntaxLogicalAssignmentOperators, + "syntax-nullish-coalescing-operator": () => syntaxNullishCoalescingOperator, + "syntax-numeric-separator": () => syntaxNumericSeparator, + "syntax-object-rest-spread": () => syntaxObjectRestSpread, + "syntax-optional-catch-binding": () => syntaxOptionalCatchBinding, + "syntax-optional-chaining": () => syntaxOptionalChaining, + "syntax-top-level-await": () => syntaxTopLevelAwait, + "transform-arrow-functions": () => transformArrowFunctions, + "transform-async-to-generator": () => transformAsyncToGenerator, + "transform-block-scoped-functions": () => transformBlockScopedFunctions, + "transform-block-scoping": () => transformBlockScoping, + "transform-classes": () => transformClasses, + "transform-computed-properties": () => transformComputedProperties, + "transform-destructuring": () => transformDestructuring, + "transform-dotall-regex": () => transformDotallRegex, + "transform-duplicate-keys": () => transformDuplicateKeys, + "transform-exponentiation-operator": () => transformExponentialOperator, + "transform-for-of": () => transformForOf, + "transform-function-name": () => transformFunctionName, + "transform-literals": () => transformLiterals, + "transform-member-expression-literals": () => + transformMemberExpressionLiterals, + "transform-modules-amd": () => transformModulesAmd, + "transform-modules-commonjs": () => transformModulesCommonjs, + "transform-modules-systemjs": () => transformModulesSystemjs, + "transform-modules-umd": () => transformModulesUmd, + "transform-named-capturing-groups-regex": () => + transformNamedCapturingGroupsRegex, + "transform-new-target": () => transformNewTarget, + "transform-object-super": () => transformObjectSuper, + "transform-parameters": () => transformParameters, + "transform-property-literals": () => transformPropertyLiterals, + "transform-regenerator": () => transformRegenerator, + "transform-reserved-words": () => transformReservedWords, + "transform-shorthand-properties": () => transformShorthandProperties, + "transform-spread": () => transformSpread, + "transform-sticky-regex": () => transformStickyRegex, + "transform-template-literals": () => transformTemplateLiterals, + "transform-typeof-symbol": () => transformTypeofSymbol, + "transform-unicode-escapes": () => transformUnicodeEscapes, + "transform-unicode-regex": () => transformUnicodeRegex, }; diff --git a/packages/babel-preset-env/src/index.js b/packages/babel-preset-env/src/index.js index 5e3a9e5e26..fe3d26033b 100644 --- a/packages/babel-preset-env/src/index.js +++ b/packages/babel-preset-env/src/index.js @@ -81,7 +81,7 @@ function getPluginList(proposals: boolean, bugfixes: boolean) { } const getPlugin = (pluginName: string) => { - const plugin = availablePlugins[pluginName]; + const plugin = availablePlugins[pluginName](); if (!plugin) { throw new Error(