diff --git a/packages/babel-plugin-transform-typescript/src/index.js b/packages/babel-plugin-transform-typescript/src/index.js index bc2dab189a..6fbec8536b 100644 --- a/packages/babel-plugin-transform-typescript/src/index.js +++ b/packages/babel-plugin-transform-typescript/src/index.js @@ -13,6 +13,8 @@ function isInType(path) { case "TSExpressionWithTypeArguments": case "TSTypeQuery": return true; + case "ExportSpecifier": + return path.parentPath.parent.exportKind === "type"; default: return false; } diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/input.ts b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/input.ts new file mode 100644 index 0000000000..e68b81c05c --- /dev/null +++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/input.ts @@ -0,0 +1,5 @@ +import {A, T} from './mod'; +A; +import B, {T1} from './mod'; +B; +export type {T, T1}; diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/output.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/output.mjs new file mode 100644 index 0000000000..854b6d0c90 --- /dev/null +++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/output.mjs @@ -0,0 +1,4 @@ +import { A } from './mod'; +A; +import B from './mod'; +B;