From 075a50242df59932e09a1f77569727004cdc63c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Sat, 6 Jul 2019 11:44:14 -0400 Subject: [PATCH] fix: register injected importDeclaration (#10172) --- .../babel-plugin-proposal-export-default-from/src/index.js | 3 ++- .../test/fixtures/export-default/default-typescript/input.mjs | 1 + .../fixtures/export-default/default-typescript/options.json | 3 +++ .../test/fixtures/export-default/default-typescript/output.mjs | 2 ++ .../babel-plugin-proposal-export-namespace-from/src/index.js | 3 ++- .../fixtures/export-namespace/namespace-typescript/input.mjs | 1 + .../export-namespace/namespace-typescript/options.json | 3 +++ .../fixtures/export-namespace/namespace-typescript/output.mjs | 2 ++ 8 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/input.mjs create mode 100644 packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/options.json create mode 100644 packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/output.mjs create mode 100644 packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/input.mjs create mode 100644 packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/options.json create mode 100644 packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/output.mjs diff --git a/packages/babel-plugin-proposal-export-default-from/src/index.js b/packages/babel-plugin-proposal-export-default-from/src/index.js index d460b88865..5ddc0ff3f2 100644 --- a/packages/babel-plugin-proposal-export-default-from/src/index.js +++ b/packages/babel-plugin-proposal-export-default-from/src/index.js @@ -33,7 +33,8 @@ export default declare(api => { nodes.push(node); } - path.replaceWithMultiple(nodes); + const [importDeclaration] = path.replaceWithMultiple(nodes); + path.scope.registerDeclaration(importDeclaration); }, }, }; diff --git a/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/input.mjs b/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/input.mjs new file mode 100644 index 0000000000..48783b0466 --- /dev/null +++ b/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/input.mjs @@ -0,0 +1 @@ +export foo from "bar"; diff --git a/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/options.json b/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/options.json new file mode 100644 index 0000000000..ca5c6691d3 --- /dev/null +++ b/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["proposal-export-default-from", "transform-typescript"] +} diff --git a/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/output.mjs b/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/output.mjs new file mode 100644 index 0000000000..076607d0d7 --- /dev/null +++ b/packages/babel-plugin-proposal-export-default-from/test/fixtures/export-default/default-typescript/output.mjs @@ -0,0 +1,2 @@ +import _foo from "bar"; +export { _foo as foo }; diff --git a/packages/babel-plugin-proposal-export-namespace-from/src/index.js b/packages/babel-plugin-proposal-export-namespace-from/src/index.js index 3b8b307c42..b028abcb72 100644 --- a/packages/babel-plugin-proposal-export-namespace-from/src/index.js +++ b/packages/babel-plugin-proposal-export-namespace-from/src/index.js @@ -43,7 +43,8 @@ export default declare(api => { nodes.push(node); } - path.replaceWithMultiple(nodes); + const [importDeclaration] = path.replaceWithMultiple(nodes); + path.scope.registerDeclaration(importDeclaration); }, }, }; diff --git a/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/input.mjs b/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/input.mjs new file mode 100644 index 0000000000..d9d78f9ccd --- /dev/null +++ b/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/input.mjs @@ -0,0 +1 @@ +export * as foo from "bar"; diff --git a/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/options.json b/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/options.json new file mode 100644 index 0000000000..ce55287353 --- /dev/null +++ b/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["proposal-export-namespace-from", "transform-typescript"] +} diff --git a/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/output.mjs b/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/output.mjs new file mode 100644 index 0000000000..2f4c84d761 --- /dev/null +++ b/packages/babel-plugin-proposal-export-namespace-from/test/fixtures/export-namespace/namespace-typescript/output.mjs @@ -0,0 +1,2 @@ +import * as _foo from "bar"; +export { _foo as foo };