From a44d53003e13ee1c98057da791ddb40a5b7c4329 Mon Sep 17 00:00:00 2001 From: Evan You Date: Wed, 8 Jul 2020 09:45:01 -0400 Subject: [PATCH] wip: move type declarations out of setup --- packages/compiler-sfc/src/compileScript.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index d8d82f64bf..f766ab5363 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -344,10 +344,17 @@ export function compileScriptSetup( ) { const index = node.id.start! + startOffset s.overwrite(index, index + emitVar.length, '__emit__') - s.move(start, end, 0) emitType = `typeof __emit__` extractEmits(node, typeDeclaredEmits) } + + // move all type declarations to outer scope + if ( + node.type.startsWith('TS') || + (node.type === 'ExportNamedDeclaration' && node.exportKind === 'type') + ) { + s.move(start, end, 0) + } } // check default export to make sure it doesn't reference setup scope -- 2.47.2