From: 木杉 Date: Thu, 14 Apr 2022 02:10:26 +0000 (+0800) Subject: fix(compiler-sfc): handle type modifier in import specifiers (#5498) X-Git-Tag: v3.2.33~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e29ef6019d1b9d9c8f67b4ebba0223b8e0f914c;p=thirdparty%2Fvuejs%2Fcore.git fix(compiler-sfc): handle type modifier in import specifiers (#5498) --- diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index 52bda6f48b..de223bf91d 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -1351,6 +1351,22 @@ return { } })" `; +exports[`SFC compile ` + ) + expect(content).toMatch(`return { Baz }`) + assertCode(content) + }) }) describe('async/await detection', () => { diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index 05623326ca..f70faeaf02 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -802,7 +802,9 @@ export function compileScript( node.source.value, specifier.local.name, imported, - node.importKind === 'type', + node.importKind === 'type' || + (specifier.type === 'ImportSpecifier' && + specifier.importKind === 'type'), false ) } @@ -979,7 +981,9 @@ export function compileScript( source, local, imported, - node.importKind === 'type', + node.importKind === 'type' || + (specifier.type === 'ImportSpecifier' && + specifier.importKind === 'type'), true ) }