From 5501d5ce333c741bb1be18f458489dfb6765ea09 Mon Sep 17 00:00:00 2001 From: Dunqing <29533304+Dunqing@users.noreply.github.com> Date: Mon, 24 Jun 2024 03:27:39 +0000 Subject: [PATCH] feat(transformer/typescript): transform `import {} from "mod"` to import `"mod"` (#3866) close: #3736 --- crates/oxc_transformer/src/typescript/annotations.rs | 2 ++ tasks/transform_conformance/babel.snap.md | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/oxc_transformer/src/typescript/annotations.rs b/crates/oxc_transformer/src/typescript/annotations.rs index 4cd14a1b4..00fb36139 100644 --- a/crates/oxc_transformer/src/typescript/annotations.rs +++ b/crates/oxc_transformer/src/typescript/annotations.rs @@ -93,6 +93,8 @@ impl<'a> TypeScriptAnnotations<'a> { true } else if let Some(specifiers) = &mut decl.specifiers { if specifiers.is_empty() { + // import {} from 'mod' -> import 'mod' + decl.specifiers = None; true } else { specifiers.retain(|specifier| { diff --git a/tasks/transform_conformance/babel.snap.md b/tasks/transform_conformance/babel.snap.md index 94041f1bc..580cd26e0 100644 --- a/tasks/transform_conformance/babel.snap.md +++ b/tasks/transform_conformance/babel.snap.md @@ -1,6 +1,6 @@ commit: 12619ffe -Passed: 473/927 +Passed: 475/927 # All Passed: * babel-preset-react @@ -445,14 +445,12 @@ Passed: 473/927 * opts/optimizeConstEnums/input.ts * opts/rewriteImportExtensions/input.ts -# babel-plugin-transform-typescript (129/151) +# babel-plugin-transform-typescript (131/151) * enum/mix-references/input.ts * enum/ts5.0-const-foldable/input.ts * exports/declared-types/input.ts * exports/interface/input.ts -* imports/elide-no-import-specifiers/input.ts * imports/elision-locations/input.ts -* imports/import-removed-exceptions/input.ts * imports/only-remove-type-imports/input.ts * imports/type-only-export-specifier-2/input.ts * imports/type-only-import-specifier-4/input.ts