From 7ad9917793147ccc47138bd10475ba546a3341f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD=20=D0=9F=D0=BB=D0=B5=D1=81=D1=81?= =?UTF-8?q?=D0=BA=D0=B8=D1=85?= Date: Wed, 30 Sep 2020 00:35:57 +0500 Subject: [PATCH] [transform-typescript] Fix import elision for type exports (#12122) --- packages/babel-plugin-transform-typescript/src/index.js | 2 ++ .../test/fixtures/imports/elision-export-type/input.ts | 5 +++++ .../test/fixtures/imports/elision-export-type/output.mjs | 4 ++++ 3 files changed, 11 insertions(+) create mode 100644 packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/input.ts create mode 100644 packages/babel-plugin-transform-typescript/test/fixtures/imports/elision-export-type/output.mjs diff --git a/packages/babel-plugin-transform-typescript/src/index.js b/packages/babel-plugin-transform-typescript/src/index.js index bc2dab189a45..6fbec8536b1c 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 000000000000..e68b81c05c78 --- /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 000000000000..854b6d0c9051 --- /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;