Skip to content

Commit a8db366

Browse files
author
Kanchalai Tanglertsampan
committed
Check original variable statement node to check if it contains es6 export
1 parent 2ff2850 commit a8db366

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/compiler/transformers/module/module.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,13 @@ namespace ts {
831831
let statements: Statement[];
832832
let variables: VariableDeclaration[];
833833
let expressions: Expression[];
834+
835+
const parseTreeNode = getParseTreeNode(node);
836+
if (!shouldAppendUnderscoreUnderscoreEsModule) {
837+
// class declaration get down-level transformed to be variable statement
838+
shouldAppendUnderscoreUnderscoreEsModule = (parseTreeNode.kind === SyntaxKind.VariableStatement || parseTreeNode.kind === SyntaxKind.ClassDeclaration) && hasModifier(parseTreeNode, ModifierFlags.Export);
839+
}
840+
834841
if (hasModifier(node, ModifierFlags.Export)) {
835842
let modifiers: NodeArray<Modifier>;
836843

@@ -845,7 +852,6 @@ namespace ts {
845852
variables = append(variables, variable);
846853
}
847854
else if (variable.initializer) {
848-
shouldAppendUnderscoreUnderscoreEsModule = true;
849855
expressions = append(expressions, transformInitializedVariable(variable));
850856
}
851857
}

0 commit comments

Comments
 (0)