diff --git a/packages/babel-plugin-transform-typescript/src/index.ts b/packages/babel-plugin-transform-typescript/src/index.ts index 1ef9ebcbcf24..7913e0b78f9d 100644 --- a/packages/babel-plugin-transform-typescript/src/index.ts +++ b/packages/babel-plugin-transform-typescript/src/index.ts @@ -595,6 +595,7 @@ export default declare((api, opts: Options) => { ), ]), ); + path.scope.registerDeclaration(path); }, TSExportAssignment(path) { diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/input.ts b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/input.ts new file mode 100644 index 000000000000..92b6eada467c --- /dev/null +++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/input.ts @@ -0,0 +1 @@ +import foo = bar diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/options.json new file mode 100644 index 000000000000..be7a52a5c5c6 --- /dev/null +++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-typescript", "./plugin"] +} diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/output.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/output.mjs new file mode 100644 index 000000000000..5beb2724ec79 --- /dev/null +++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/output.mjs @@ -0,0 +1 @@ +var foo = bar; diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/plugin.js b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/plugin.js new file mode 100644 index 000000000000..3c9068c6daa2 --- /dev/null +++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/import=-declaration/plugin.js @@ -0,0 +1,16 @@ +module.exports = function({ types: t }) { + return { + visitor: { + Identifier(path) { + if (path.node.name === "foo") { + expect(path.scope.hasBinding(path.node.name)).toBe(true); + } + }, + Program: { + exit() { + expect.hasAssertions(); + } + } + } + }; +};