Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
213146d
Integrate importStar and importDefault helpers
weswigham Nov 1, 2017
b5a7ef9
Accept baselines
weswigham Nov 1, 2017
8abc907
Support dynamic imports, write helpers for umd module (and amd is pos…
weswigham Nov 1, 2017
2d0c8d3
Accept baselines
weswigham Nov 1, 2017
a725916
Support AMD, use same helper initialization as is normal
weswigham Nov 2, 2017
e910603
update typechecker to have errors on called imported namespaces and g…
weswigham Nov 2, 2017
e84b051
Overhaul allowSyntheticDefaultExports to be safer
weswigham Nov 3, 2017
f23d41c
Put the new behavior behind a flag
weswigham Nov 3, 2017
ebd4c03
Merge branch 'master' into module-nodejs
weswigham Nov 7, 2017
3b33df0
Rename strictESM to ESMInterop
weswigham Nov 7, 2017
7ff11bb
Merge branch 'master' into module-nodejs
weswigham Nov 10, 2017
bcafdba
ESMInterop -> ESModuleInterop, make default for tsc --init
weswigham Nov 10, 2017
eaf2fc5
Merge branch 'master' into module-nodejs
weswigham Nov 17, 2017
29c731c
Rename ESMInterop -> ESModuleInterop in module.ts, add emit test (sin…
weswigham Nov 17, 2017
4350caf
Merge branch 'master' into module-nodejs
weswigham Nov 17, 2017
e20a548
Remove erroneous semicolons from helper
weswigham Nov 18, 2017
578141d
Merge branch 'master' into module-nodejs
weswigham Nov 28, 2017
dfe5675
Reword diagnostic
weswigham Nov 29, 2017
8c6c313
Change style
weswigham Nov 29, 2017
3d996d7
Edit followup diagnostic
weswigham Nov 29, 2017
2f9c240
Add secondary quickfix for call sites, tests forthcoming
weswigham Nov 29, 2017
2361f37
Add synth default to namespace import type, enhance quickfix
weswigham Nov 29, 2017
357996b
Pair of spare tests for good measure
weswigham Nov 29, 2017
a682476
Merge branch 'master' into module-nodejs
weswigham Dec 18, 2017
6e9e874
Fix typos in diagnostic message
weswigham Jan 5, 2018
a654b82
Improve comment clarity
weswigham Jan 5, 2018
ef6faf1
Actually accept the updated changes to the esmodule interop description
weswigham Jan 8, 2018
a8233b3
ESModule -> esModule
weswigham Jan 8, 2018
f4f4e84
Use find and not forEach
weswigham Jan 8, 2018
386c54d
Use guard
weswigham Jan 8, 2018
2663db7
Rely on implicit falsiness of Result.False
weswigham Jan 8, 2018
8068e2e
These should have been emit flags
weswigham Jan 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Accept baselines
  • Loading branch information
weswigham committed Nov 3, 2017
commit 2d0c8d32fc651958ac774a74441bd243e9b14417
11 changes: 9 additions & 2 deletions tests/baselines/reference/asyncImportNestedYield.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,21 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
};
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
function foo() {
return __asyncGenerator(this, arguments, function foo_1() {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, "foo"];
case 1: return [4 /*yield*/, __await.apply(void 0, [Promise.resolve().then(function () { return require(_a.sent()); })])];
case 1: return [4 /*yield*/, __await.apply(void 0, [Promise.resolve().then(function () { return __importStar(require(_a.sent())); })])];
case 2:
Promise.resolve().then(function () { return require((_a.sent())["default"]); });
Promise.resolve().then(function () { return __importStar(require((_a.sent())["default"])); });
return [2 /*return*/];
}
});
Expand Down
3 changes: 3 additions & 0 deletions tests/baselines/reference/defaultExportInAwaitExpression01.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
function __importDefault(mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
}
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,16 @@ export default {

//// [dynamicImportInDefaultExportExpression.js]
"use strict";
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
exports.__esModule = true;
exports["default"] = {
getInstance: function () {
return Promise.resolve().then(function () { return require('./foo2'); });
return Promise.resolve().then(function () { return __importStar(require('./foo2')); });
}
};
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ const c = new C();
c.dynamic();

//// [dynamicImportWithNestedThis_es2015.js]
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
Expand All @@ -29,7 +36,7 @@ c.dynamic();
this._path = './other';
}
dynamic() {
return _a = this._path, __syncRequire ? Promise.resolve().then(() => require(_a)) : new Promise((resolve_1, reject_1) => { require([_a], resolve_1, reject_1); });
return _a = this._path, __syncRequire ? Promise.resolve().then(() => __importStar(require(_a))) : new Promise((resolve_1, reject_1) => { require([_a], resolve_1, reject_1); });
var _a;
}
}
Expand Down
9 changes: 8 additions & 1 deletion tests/baselines/reference/dynamicImportWithNestedThis_es5.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ const c = new C();
c.dynamic();

//// [dynamicImportWithNestedThis_es5.js]
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
Expand All @@ -30,7 +37,7 @@ c.dynamic();
}
C.prototype.dynamic = function () {
var _this = this;
return _a = this._path, __syncRequire ? Promise.resolve().then(function () { return require(_a); }) : new Promise(function (resolve_1, reject_1) { require([_a], resolve_1, reject_1); });
return _a = this._path, __syncRequire ? Promise.resolve().then(function () { return __importStar(require(_a)); }) : new Promise(function (resolve_1, reject_1) { require([_a], resolve_1, reject_1); });
var _a;
};
return C;
Expand Down
17 changes: 12 additions & 5 deletions tests/baselines/reference/importCallExpressionAsyncES3CJS.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
var _this = this;
exports.__esModule = true;
function fn() {
return __awaiter(this, void 0, void 0, function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // ONE
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // ONE
case 1:
req = _a.sent() // ONE
;
Expand All @@ -90,7 +97,7 @@ var cl1 = /** @class */ (function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // TWO
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // TWO
case 1:
req = _a.sent() // TWO
;
Expand All @@ -107,7 +114,7 @@ exports.obj = {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // THREE
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // THREE
case 1:
req = _a.sent() // THREE
;
Expand All @@ -124,7 +131,7 @@ var cl2 = /** @class */ (function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // FOUR
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // FOUR
case 1:
req = _a.sent() // FOUR
;
Expand All @@ -141,7 +148,7 @@ exports.l = function () { return __awaiter(_this, void 0, void 0, function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // FIVE
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // FIVE
case 1:
req = _a.sent() // FIVE
;
Expand Down
17 changes: 12 additions & 5 deletions tests/baselines/reference/importCallExpressionAsyncES3UMD.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
Expand All @@ -82,7 +89,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_1, reject_1) { require(['./test'], resolve_1, reject_1); })]; // ONE
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_1, reject_1) { require(['./test'], resolve_1, reject_1); })]; // ONE
case 1:
req = _a.sent() // ONE
;
Expand All @@ -100,7 +107,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_2, reject_2) { require(['./test'], resolve_2, reject_2); })]; // TWO
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_2, reject_2) { require(['./test'], resolve_2, reject_2); })]; // TWO
case 1:
req = _a.sent() // TWO
;
Expand All @@ -117,7 +124,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_3, reject_3) { require(['./test'], resolve_3, reject_3); })]; // THREE
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_3, reject_3) { require(['./test'], resolve_3, reject_3); })]; // THREE
case 1:
req = _a.sent() // THREE
;
Expand All @@ -134,7 +141,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_4, reject_4) { require(['./test'], resolve_4, reject_4); })]; // FOUR
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_4, reject_4) { require(['./test'], resolve_4, reject_4); })]; // FOUR
case 1:
req = _a.sent() // FOUR
;
Expand All @@ -151,7 +158,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_5, reject_5) { require(['./test'], resolve_5, reject_5); })]; // FIVE
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_5, reject_5) { require(['./test'], resolve_5, reject_5); })]; // FIVE
case 1:
req = _a.sent() // FIVE
;
Expand Down
17 changes: 12 additions & 5 deletions tests/baselines/reference/importCallExpressionAsyncES5CJS.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
var _this = this;
Object.defineProperty(exports, "__esModule", { value: true });
function fn() {
return __awaiter(this, void 0, void 0, function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // ONE
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // ONE
case 1:
req = _a.sent() // ONE
;
Expand All @@ -90,7 +97,7 @@ var cl1 = /** @class */ (function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // TWO
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // TWO
case 1:
req = _a.sent() // TWO
;
Expand All @@ -107,7 +114,7 @@ exports.obj = {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // THREE
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // THREE
case 1:
req = _a.sent() // THREE
;
Expand All @@ -124,7 +131,7 @@ var cl2 = /** @class */ (function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // FOUR
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // FOUR
case 1:
req = _a.sent() // FOUR
;
Expand All @@ -141,7 +148,7 @@ exports.l = function () { return __awaiter(_this, void 0, void 0, function () {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require('./test'); })]; // FIVE
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./test')); })]; // FIVE
case 1:
req = _a.sent() // FIVE
;
Expand Down
17 changes: 12 additions & 5 deletions tests/baselines/reference/importCallExpressionAsyncES5UMD.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null); for (var k in mod); if (Object.hasOwnProperty.call(mod, k)); result[k] = mod[k];
result["default"] = mod;
return result;
}
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
Expand All @@ -82,7 +89,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_1, reject_1) { require(['./test'], resolve_1, reject_1); })]; // ONE
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_1, reject_1) { require(['./test'], resolve_1, reject_1); })]; // ONE
case 1:
req = _a.sent() // ONE
;
Expand All @@ -100,7 +107,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_2, reject_2) { require(['./test'], resolve_2, reject_2); })]; // TWO
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_2, reject_2) { require(['./test'], resolve_2, reject_2); })]; // TWO
case 1:
req = _a.sent() // TWO
;
Expand All @@ -117,7 +124,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_3, reject_3) { require(['./test'], resolve_3, reject_3); })]; // THREE
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_3, reject_3) { require(['./test'], resolve_3, reject_3); })]; // THREE
case 1:
req = _a.sent() // THREE
;
Expand All @@ -134,7 +141,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_4, reject_4) { require(['./test'], resolve_4, reject_4); })]; // FOUR
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_4, reject_4) { require(['./test'], resolve_4, reject_4); })]; // FOUR
case 1:
req = _a.sent() // FOUR
;
Expand All @@ -151,7 +158,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var req;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return require('./test'); }) : new Promise(function (resolve_5, reject_5) { require(['./test'], resolve_5, reject_5); })]; // FIVE
case 0: return [4 /*yield*/, __syncRequire ? Promise.resolve().then(function () { return __importStar(require('./test')); }) : new Promise(function (resolve_5, reject_5) { require(['./test'], resolve_5, reject_5); })]; // FIVE
case 1:
req = _a.sent() // FIVE
;
Expand Down
Loading