Skip to content

Commit 3a7e5c1

Browse files
Port TypeScript PR #60262: Include non-enumerable keys in __importStar helper (#1141)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: andrewbranch <[email protected]>
1 parent e39346a commit 3a7e5c1

File tree

126 files changed

+1515
-2709
lines changed

Some content is hidden

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

126 files changed

+1515
-2709
lines changed

internal/printer/helpers.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,23 @@ var importStarHelper = &EmitHelper{
181181
Scoped: false,
182182
Dependencies: []*EmitHelper{createBindingHelper, setModuleDefaultHelper},
183183
Priority: &Priority{2},
184-
Text: `var __importStar = (this && this.__importStar) || function (mod) {
185-
if (mod && mod.__esModule) return mod;
186-
var result = {};
187-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
188-
__setModuleDefault(result, mod);
189-
return result;
190-
};`,
184+
Text: `var __importStar = (this && this.__importStar) || (function () {
185+
var ownKeys = function(o) {
186+
ownKeys = Object.getOwnPropertyNames || function (o) {
187+
var ar = [];
188+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
189+
return ar;
190+
};
191+
return ownKeys(o);
192+
};
193+
return function (mod) {
194+
if (mod && mod.__esModule) return mod;
195+
var result = {};
196+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
197+
__setModuleDefault(result, mod);
198+
return result;
199+
};
200+
})();`,
191201
}
192202

193203
var importDefaultHelper = &EmitHelper{

internal/transformers/commonjsmodule_test.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
9191
}) : function(o, v) {
9292
o["default"] = v;
9393
});
94-
var __importStar = (this && this.__importStar) || function (mod) {
95-
if (mod && mod.__esModule) return mod;
96-
var result = {};
97-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
98-
__setModuleDefault(result, mod);
99-
return result;
100-
};
94+
var __importStar = (this && this.__importStar) || (function () {
95+
var ownKeys = function(o) {
96+
ownKeys = Object.getOwnPropertyNames || function (o) {
97+
var ar = [];
98+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
99+
return ar;
100+
};
101+
return ownKeys(o);
102+
};
103+
return function (mod) {
104+
if (mod && mod.__esModule) return mod;
105+
var result = {};
106+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
107+
__setModuleDefault(result, mod);
108+
return result;
109+
};
110+
})();
101111
Object.defineProperty(exports, "__esModule", { value: true });
102112
const a = __importStar(require("other"));`,
103113
options: &core.CompilerOptions{ESModuleInterop: core.TSTrue},

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

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
3636
}) : function(o, v) {
3737
o["default"] = v;
3838
});
39-
var __importStar = (this && this.__importStar) || function (mod) {
40-
if (mod && mod.__esModule) return mod;
41-
var result = {};
42-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43-
__setModuleDefault(result, mod);
44-
return result;
45-
};
39+
var __importStar = (this && this.__importStar) || (function () {
40+
var ownKeys = function(o) {
41+
ownKeys = Object.getOwnPropertyNames || function (o) {
42+
var ar = [];
43+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44+
return ar;
45+
};
46+
return ownKeys(o);
47+
};
48+
return function (mod) {
49+
if (mod && mod.__esModule) return mod;
50+
var result = {};
51+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52+
__setModuleDefault(result, mod);
53+
return result;
54+
};
55+
})();
4656
var __importDefault = (this && this.__importDefault) || function (mod) {
4757
return (mod && mod.__esModule) ? mod : { "default": mod };
4858
};

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

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,6 @@
11
--- old.esModuleInterop.js
22
+++ new.esModuleInterop.js
3-
@@= skipped -35, +35 lines =@@
4-
}) : function(o, v) {
5-
o["default"] = v;
6-
});
7-
-var __importStar = (this && this.__importStar) || (function () {
8-
- var ownKeys = function(o) {
9-
- ownKeys = Object.getOwnPropertyNames || function (o) {
10-
- var ar = [];
11-
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
12-
- return ar;
13-
- };
14-
- return ownKeys(o);
15-
- };
16-
- return function (mod) {
17-
- if (mod && mod.__esModule) return mod;
18-
- var result = {};
19-
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
20-
- __setModuleDefault(result, mod);
21-
- return result;
22-
- };
23-
-})();
24-
+var __importStar = (this && this.__importStar) || function (mod) {
25-
+ if (mod && mod.__esModule) return mod;
26-
+ var result = {};
27-
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28-
+ __setModuleDefault(result, mod);
29-
+ return result;
30-
+};
31-
var __importDefault = (this && this.__importDefault) || function (mod) {
3+
@@= skipped -56, +56 lines =@@
324
return (mod && mod.__esModule) ? mod : { "default": mod };
335
};
346
Object.defineProperty(exports, "__esModule", { value: true });

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

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
6262
}) : function(o, v) {
6363
o["default"] = v;
6464
});
65-
var __importStar = (this && this.__importStar) || function (mod) {
66-
if (mod && mod.__esModule) return mod;
67-
var result = {};
68-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
69-
__setModuleDefault(result, mod);
70-
return result;
71-
};
65+
var __importStar = (this && this.__importStar) || (function () {
66+
var ownKeys = function(o) {
67+
ownKeys = Object.getOwnPropertyNames || function (o) {
68+
var ar = [];
69+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
70+
return ar;
71+
};
72+
return ownKeys(o);
73+
};
74+
return function (mod) {
75+
if (mod && mod.__esModule) return mod;
76+
var result = {};
77+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
78+
__setModuleDefault(result, mod);
79+
return result;
80+
};
81+
})();
7282
var __importDefault = (this && this.__importDefault) || function (mod) {
7383
return (mod && mod.__esModule) ? mod : { "default": mod };
7484
};

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

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,7 @@
99
module.exports = mod;
1010
//// [b.js]
1111
"use strict";
12-
@@= skipped -20, +20 lines =@@
13-
}) : function(o, v) {
14-
o["default"] = v;
15-
});
16-
-var __importStar = (this && this.__importStar) || (function () {
17-
- var ownKeys = function(o) {
18-
- ownKeys = Object.getOwnPropertyNames || function (o) {
19-
- var ar = [];
20-
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
21-
- return ar;
22-
- };
23-
- return ownKeys(o);
24-
- };
25-
- return function (mod) {
26-
- if (mod && mod.__esModule) return mod;
27-
- var result = {};
28-
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
29-
- __setModuleDefault(result, mod);
30-
- return result;
31-
- };
32-
-})();
33-
+var __importStar = (this && this.__importStar) || function (mod) {
34-
+ if (mod && mod.__esModule) return mod;
35-
+ var result = {};
36-
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37-
+ __setModuleDefault(result, mod);
38-
+ return result;
39-
+};
40-
var __importDefault = (this && this.__importDefault) || function (mod) {
41-
return (mod && mod.__esModule) ? mod : { "default": mod };
12+
@@= skipped -42, +42 lines =@@
4213
};
4314
Object.defineProperty(exports, "__esModule", { value: true });
4415
exports.def = exports.default = void 0;

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

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
2727
}) : function(o, v) {
2828
o["default"] = v;
2929
});
30-
var __importStar = (this && this.__importStar) || function (mod) {
31-
if (mod && mod.__esModule) return mod;
32-
var result = {};
33-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
34-
__setModuleDefault(result, mod);
35-
return result;
36-
};
30+
var __importStar = (this && this.__importStar) || (function () {
31+
var ownKeys = function(o) {
32+
ownKeys = Object.getOwnPropertyNames || function (o) {
33+
var ar = [];
34+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35+
return ar;
36+
};
37+
return ownKeys(o);
38+
};
39+
return function (mod) {
40+
if (mod && mod.__esModule) return mod;
41+
var result = {};
42+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43+
__setModuleDefault(result, mod);
44+
return result;
45+
};
46+
})();
3747
Promise.resolve().then(() => __importStar(require("./foo"))).then(f => {
3848
f.default;
3949
});
Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,10 @@
11
--- old.esModuleInteropImportCall.js
22
+++ new.esModuleInteropImportCall.js
3-
@@= skipped -26, +26 lines =@@
4-
}) : function(o, v) {
5-
o["default"] = v;
6-
});
7-
-var __importStar = (this && this.__importStar) || (function () {
8-
- var ownKeys = function(o) {
9-
- ownKeys = Object.getOwnPropertyNames || function (o) {
10-
- var ar = [];
11-
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
12-
- return ar;
13-
- };
14-
- return ownKeys(o);
15-
- };
16-
- return function (mod) {
17-
- if (mod && mod.__esModule) return mod;
18-
- var result = {};
19-
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
20-
- __setModuleDefault(result, mod);
21-
- return result;
22-
- };
23-
-})();
3+
@@= skipped -43, +43 lines =@@
4+
return result;
5+
};
6+
})();
247
-Promise.resolve().then(function () { return __importStar(require("./foo")); }).then(function (f) {
25-
+var __importStar = (this && this.__importStar) || function (mod) {
26-
+ if (mod && mod.__esModule) return mod;
27-
+ var result = {};
28-
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29-
+ __setModuleDefault(result, mod);
30-
+ return result;
31-
+};
328
+Promise.resolve().then(() => __importStar(require("./foo"))).then(f => {
339
f.default;
3410
});

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

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
2828
}) : function(o, v) {
2929
o["default"] = v;
3030
});
31-
var __importStar = (this && this.__importStar) || function (mod) {
32-
if (mod && mod.__esModule) return mod;
33-
var result = {};
34-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
35-
__setModuleDefault(result, mod);
36-
return result;
37-
};
31+
var __importStar = (this && this.__importStar) || (function () {
32+
var ownKeys = function(o) {
33+
ownKeys = Object.getOwnPropertyNames || function (o) {
34+
var ar = [];
35+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36+
return ar;
37+
};
38+
return ownKeys(o);
39+
};
40+
return function (mod) {
41+
if (mod && mod.__esModule) return mod;
42+
var result = {};
43+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44+
__setModuleDefault(result, mod);
45+
return result;
46+
};
47+
})();
3848
Object.defineProperty(exports, "__esModule", { value: true });
3949
const foo = __importStar(require("./foo"));
4050
foo.default;

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

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,8 @@
11
--- old.esModuleInteropImportNamespace.js
22
+++ new.esModuleInteropImportNamespace.js
3-
@@= skipped -27, +27 lines =@@
4-
}) : function(o, v) {
5-
o["default"] = v;
6-
});
7-
-var __importStar = (this && this.__importStar) || (function () {
8-
- var ownKeys = function(o) {
9-
- ownKeys = Object.getOwnPropertyNames || function (o) {
10-
- var ar = [];
11-
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
12-
- return ar;
13-
- };
14-
- return ownKeys(o);
15-
- };
16-
- return function (mod) {
17-
- if (mod && mod.__esModule) return mod;
18-
- var result = {};
19-
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
20-
- __setModuleDefault(result, mod);
21-
- return result;
22-
- };
23-
-})();
24-
+var __importStar = (this && this.__importStar) || function (mod) {
25-
+ if (mod && mod.__esModule) return mod;
26-
+ var result = {};
27-
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28-
+ __setModuleDefault(result, mod);
29-
+ return result;
30-
+};
3+
@@= skipped -45, +45 lines =@@
4+
};
5+
})();
316
Object.defineProperty(exports, "__esModule", { value: true });
327
-var foo = __importStar(require("./foo"));
338
+const foo = __importStar(require("./foo"));

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

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
4040
}) : function(o, v) {
4141
o["default"] = v;
4242
});
43-
var __importStar = (this && this.__importStar) || function (mod) {
44-
if (mod && mod.__esModule) return mod;
45-
var result = {};
46-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
47-
__setModuleDefault(result, mod);
48-
return result;
49-
};
43+
var __importStar = (this && this.__importStar) || (function () {
44+
var ownKeys = function(o) {
45+
ownKeys = Object.getOwnPropertyNames || function (o) {
46+
var ar = [];
47+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
48+
return ar;
49+
};
50+
return ownKeys(o);
51+
};
52+
return function (mod) {
53+
if (mod && mod.__esModule) return mod;
54+
var result = {};
55+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
56+
__setModuleDefault(result, mod);
57+
return result;
58+
};
59+
})();
5060
var __importDefault = (this && this.__importDefault) || function (mod) {
5161
return (mod && mod.__esModule) ? mod : { "default": mod };
5262
};

0 commit comments

Comments
 (0)