|
|
@@ -937,20 +937,6 @@ export function compileScript(
|
|
|
walkDeclaration(node, setupBindings, userImportAlias)
|
|
|
}
|
|
|
|
|
|
- // Type declarations
|
|
|
- if (node.type === 'VariableDeclaration' && node.declare) {
|
|
|
- s.remove(start, end)
|
|
|
- }
|
|
|
-
|
|
|
- // move all type declarations to outer scope
|
|
|
- if (
|
|
|
- node.type.startsWith('TS') ||
|
|
|
- (node.type === 'ExportNamedDeclaration' && node.exportKind === 'type')
|
|
|
- ) {
|
|
|
- recordType(node, declaredTypes)
|
|
|
- s.move(start, end, 0)
|
|
|
- }
|
|
|
-
|
|
|
// walk statements & named exports / variable declarations for top level
|
|
|
// await
|
|
|
if (
|
|
|
@@ -986,6 +972,24 @@ export function compileScript(
|
|
|
node
|
|
|
)
|
|
|
}
|
|
|
+
|
|
|
+ if (isTS) {
|
|
|
+ // runtime enum
|
|
|
+ if (node.type === 'TSEnumDeclaration' && !node.const) {
|
|
|
+ registerBinding(setupBindings, node.id, BindingTypes.SETUP_CONST)
|
|
|
+ }
|
|
|
+
|
|
|
+ // move all Type declarations to outer scope
|
|
|
+ if (
|
|
|
+ node.type.startsWith('TS') ||
|
|
|
+ (node.type === 'ExportNamedDeclaration' &&
|
|
|
+ node.exportKind === 'type') ||
|
|
|
+ (node.type === 'VariableDeclaration' && node.declare)
|
|
|
+ ) {
|
|
|
+ recordType(node, declaredTypes)
|
|
|
+ s.move(start, end, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// in parse only mode, we should have collected all the information we need,
|