Skip to content

Commit c68252a

Browse files
committed
Fix IsTopLevelValueImportEqualsWithEntityName
1 parent 77b60e6 commit c68252a

File tree

42 files changed

+53
-191
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+53
-191
lines changed

internal/checker/emitresolver.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ func (r *emitResolver) IsTopLevelValueImportEqualsWithEntityName(node *ast.Node)
762762
return false
763763
}
764764
if ast.IsImportEqualsDeclaration(node) &&
765-
(ast.NodeIsMissing(node.AsImportEqualsDeclaration().ModuleReference) || node.AsImportEqualsDeclaration().ModuleReference.Kind != ast.KindExternalModuleReference) {
765+
(ast.NodeIsMissing(node.AsImportEqualsDeclaration().ModuleReference) || node.AsImportEqualsDeclaration().ModuleReference.Kind == ast.KindExternalModuleReference) {
766766
return false
767767
}
768768

internal/transformers/tstransforms/importelision.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,16 @@ func NewImportElisionTransformer(opt *transformers.TransformOptions) *transforme
2727
func (tx *ImportElisionTransformer) visit(node *ast.Node) *ast.Node {
2828
switch node.Kind {
2929
case ast.KindImportEqualsDeclaration:
30-
if !tx.isElisionBlocked(node) && !tx.shouldEmitImportEqualsDeclaration(node.AsImportEqualsDeclaration()) {
31-
return nil
30+
if !tx.isElisionBlocked(node) {
31+
if ast.IsExternalModuleImportEqualsDeclaration(node) {
32+
if !tx.shouldEmitAliasDeclaration(node) {
33+
return nil
34+
}
35+
} else {
36+
if !tx.shouldEmitImportEqualsDeclaration(node.AsImportEqualsDeclaration()) {
37+
return nil
38+
}
39+
}
3240
}
3341
return tx.Visitor().VisitEachChild(node)
3442
case ast.KindImportDeclaration:

testdata/baselines/reference/submodule/compiler/aliasBug.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ var foo;
3838
})(bar = foo.bar || (foo.bar = {}));
3939
})(foo || (foo = {}));
4040
var provide = foo;
41+
var booz = foo.bar.baz;
4142
var p = new provide.Provide();
4243
function use() {
4344
var p1; // error here, but should be okay

testdata/baselines/reference/submodule/compiler/aliasBug.js.diff

Lines changed: 0 additions & 10 deletions
This file was deleted.

testdata/baselines/reference/submodule/compiler/aliasErrors.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,14 @@ var foo;
4949
})(bar = foo.bar || (foo.bar = {}));
5050
})(foo || (foo = {}));
5151
var provide = foo;
52+
var booz = foo.bar.baz;
5253
var beez = foo.bar;
54+
var m = no;
55+
var m2 = no.mod;
5356
5;
5457
"s";
5558
null;
59+
var r = undefined;
5660
var p = new provide.Provide();
5761
function use() {
5862
beez.baz.boo;

testdata/baselines/reference/submodule/compiler/aliasErrors.js.diff

Lines changed: 0 additions & 17 deletions
This file was deleted.

testdata/baselines/reference/submodule/compiler/collisionThisExpressionAndAliasInGlobal.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ var a;
1313
a.b = 10;
1414
})(a || (a = {}));
1515
var f = () => this;
16+
var _this = a; // Error

testdata/baselines/reference/submodule/compiler/collisionThisExpressionAndAliasInGlobal.js.diff

Lines changed: 0 additions & 7 deletions
This file was deleted.

testdata/baselines/reference/submodule/compiler/duplicateVarAndImport2.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ var M;
1313
(function (M) {
1414
M.x = 1;
1515
})(M || (M = {}));
16+
var a = M;

testdata/baselines/reference/submodule/compiler/duplicateVarAndImport2.js.diff

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)