diff --git a/babel.config.js b/babel.config.js index 2aa21beaffbe..81607a94b536 100644 --- a/babel.config.js +++ b/babel.config.js @@ -475,15 +475,14 @@ function pluginNodeImportInteropBabel({ template }) { } function pluginNodeImportInteropRollup({ types: t }) { - const depsUsing__esModuleAndDefaultExport = [ - src => src.startsWith("babel-plugin-polyfill-"), - ]; + const depsUsing__esModuleAndDefaultExport = src => + src.startsWith("babel-plugin-polyfill-") || src === "regenerator-transform"; return { visitor: { ImportDeclaration(path) { const { value: source } = path.node.source; - if (depsUsing__esModuleAndDefaultExport.every(test => !test(source))) { + if (!depsUsing__esModuleAndDefaultExport(source)) { return; } diff --git a/packages/babel-plugin-transform-regenerator/src/index.js b/packages/babel-plugin-transform-regenerator/src/index.js index aaf6f168f593..3c776e3d8f96 100644 --- a/packages/babel-plugin-transform-regenerator/src/index.js +++ b/packages/babel-plugin-transform-regenerator/src/index.js @@ -1 +1,2 @@ -export { default } from "regenerator-transform"; +import regeneratorTransform from "regenerator-transform"; +export default regeneratorTransform.default; diff --git a/packages/babel-standalone/test/babel.js b/packages/babel-standalone/test/babel.js index cfded9128bce..106e687b6986 100644 --- a/packages/babel-standalone/test/babel.js +++ b/packages/babel-standalone/test/babel.js @@ -181,6 +181,16 @@ const require = createRequire(import.meta.url); [].includes(2);" `); }); + + it("regenerator works", () => { + const output = Babel.transform("function* fn() {}", { + sourceType: "module", + targets: { ie: 11 }, + presets: ["env"], + }).code; + + expect(output).toMatch("regeneratorRuntime.mark(fn)"); + }); }); describe("custom plugins and presets", () => {