From 3c573bcf3f59c343069b7c5a7560d3fcb7efab94 Mon Sep 17 00:00:00 2001 From: Ivan Plesskih Date: Tue, 29 Sep 2020 21:36:13 +0500 Subject: [PATCH] Fix type exports import elision --- 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;