From c82fd27e34820f5b79346e4fd9f098680016d294 Mon Sep 17 00:00:00 2001 From: uhyo Date: Mon, 27 Jul 2020 21:57:05 +0900 Subject: [PATCH 1/3] hoist import declarations for commonjs modules --- src/compiler/transformers/module/module.ts | 31 ++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 49c90482a6b39..cd7a9971b6905 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -103,7 +103,8 @@ namespace ts { } append(statements, visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, isStatement)); - addRange(statements, visitNodes(node.statements, sourceElementVisitor, isStatement, statementOffset)); + addRange(statements, visitNodes(node.statements, importDeclarationOnlyVisitor, isStatement, statementOffset)); + addRange(statements, visitNodes(node.statements, sourceElementIgnoreImportDeclarationVisitor, isStatement, statementOffset)); addExportEqualsIfNeeded(statements, /*emitAsReturn*/ false); insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); @@ -487,15 +488,17 @@ namespace ts { // Top-Level Source Element Visitors // - /** - * Visits a node at the top level of the source file. - * - * @param node The node to visit. - */ - function sourceElementVisitor(node: Node): VisitResult { + function importDeclarationOnlyVisitor(node: Node): VisitResult { + if (node.kind === SyntaxKind.ImportDeclaration) { + return visitImportDeclaration(node as ImportDeclaration); + } + return undefined; + } + + function sourceElementIgnoreImportDeclarationVisitor(node: Node): VisitResult { switch (node.kind) { case SyntaxKind.ImportDeclaration: - return visitImportDeclaration(node); + return undefined; case SyntaxKind.ImportEqualsDeclaration: return visitImportEqualsDeclaration(node); @@ -526,6 +529,18 @@ namespace ts { } } + /** + * Visits a node at the top level of the source file. + * + * @param node The node to visit. + */ + function sourceElementVisitor(node: Node): VisitResult { + if (node.kind === SyntaxKind.ImportDeclaration) { + return importDeclarationOnlyVisitor(node); + } + return sourceElementIgnoreImportDeclarationVisitor(node); + } + function moduleExpressionElementVisitor(node: Expression): VisitResult { // This visitor does not need to descend into the tree if there is no dynamic import or destructuring assignment, // as export/import statements are only transformed at the top level of a file. From 0c11df235074222921bc11ceeceadd9feb50fddf Mon Sep 17 00:00:00 2001 From: uhyo Date: Mon, 27 Jul 2020 22:02:57 +0900 Subject: [PATCH 2/3] host import declarations for amd/umd modules --- src/compiler/transformers/module/module.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index cd7a9971b6905..4d207de5ce844 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -103,6 +103,7 @@ namespace ts { } append(statements, visitNode(currentModuleInfo.externalHelpersImportDeclaration, sourceElementVisitor, isStatement)); + // hoist import declarations first, then transform others. addRange(statements, visitNodes(node.statements, importDeclarationOnlyVisitor, isStatement, statementOffset)); addRange(statements, visitNodes(node.statements, sourceElementIgnoreImportDeclarationVisitor, isStatement, statementOffset)); addExportEqualsIfNeeded(statements, /*emitAsReturn*/ false); @@ -430,7 +431,9 @@ namespace ts { if (moduleKind === ModuleKind.AMD) { addRange(statements, mapDefined(currentModuleInfo.externalImports, getAMDImportExpressionForImport)); } - addRange(statements, visitNodes(node.statements, sourceElementVisitor, isStatement, statementOffset)); + // hoist import declarations first, then transform others. + addRange(statements, visitNodes(node.statements, importDeclarationOnlyVisitor, isStatement, statementOffset)); + addRange(statements, visitNodes(node.statements, sourceElementIgnoreImportDeclarationVisitor, isStatement, statementOffset)); // Append the 'export =' statement if provided. addExportEqualsIfNeeded(statements, /*emitAsReturn*/ true); From fbc0ee40484960ca22ed44e570490f66b86ed372 Mon Sep 17 00:00:00 2001 From: uhyo Date: Mon, 27 Jul 2020 22:28:18 +0900 Subject: [PATCH 3/3] accept baseline changes --- .../allowImportClausesToMergeWithTypes.js | 2 +- .../reference/ambientDeclarationsPatterns.js | 4 +- .../reference/es6ExportEqualsInterop.js | 40 +++++------ ...rtDefaultBindingFollowedWithNamedImport.js | 8 +-- ...ultBindingFollowedWithNamedImport1InEs5.js | 10 +-- ...ndingFollowedWithNamedImport1WithExport.js | 10 +-- ...efaultBindingFollowedWithNamedImportDts.js | 8 +-- ...faultBindingFollowedWithNamedImportDts1.js | 10 +-- ...aultBindingFollowedWithNamedImportInEs5.js | 8 +-- .../reference/es6ImportNamedImport.js | 16 ++--- .../reference/es6ImportNamedImportDts.js | 16 ++--- .../reference/es6ImportNamedImportInEs5.js | 16 ++--- .../es6ImportNamedImportWithExport.js | 16 ++--- .../reference/exportDefaultProperty.js | 6 +- .../reference/exportsAndImports4-amd.js | 14 ++-- .../reference/exportsAndImports4-es6.js | 16 ++--- .../baselines/reference/exportsAndImports4.js | 16 ++--- ...(esmoduleinterop=false,module=commonjs).js | 10 +-- ...t(esmoduleinterop=true,module=commonjs).js | 10 +-- .../reference/importNotElidedWhenNotFound.js | 4 +- .../reference/isolatedModulesReExportType.js | 6 +- tests/baselines/reference/jsxPartialSpread.js | 2 +- .../reference/noCrashOnImportShadowing.js | 2 +- ...hange-in-signature-with-isolatedModules.js | 8 +-- .../always-builds-under-with-force-option.js | 6 +- ...rectly-when-declarationDir-is-specified.js | 6 +- ...ilds-correctly-when-outDir-is-specified.js | 6 +- .../sample1/initial-build/listEmittedFiles.js | 6 +- .../sample1/initial-build/listFiles.js | 6 +- ...uilds-when-extended-config-file-changes.js | 6 +- .../tsbuild/sample1/initial-build/sample.js | 67 ++++++++++--------- .../when-esModuleInterop-option-changes.js | 8 +-- .../when-logic-specifies-tsBuildInfoFile.js | 67 ++++++++++--------- .../creates-solution-in-watch-mode.js | 6 +- .../incremental-updates-in-verbose-mode.js | 14 ++-- .../when-preserveWatchOutput-is-not-used.js | 6 +- ...veWatchOutput-is-passed-on-command-line.js | 6 +- ...tches-config-files-that-are-not-present.js | 6 +- ...le-is-added,-and-its-subsequent-updates.js | 6 +- ...hanges-and-reports-found-errors-message.js | 6 +- ...not-start-build-of-referencing-projects.js | 6 +- ...le-is-added,-and-its-subsequent-updates.js | 6 +- ...hanges-and-reports-found-errors-message.js | 6 +- ...not-start-build-of-referencing-projects.js | 6 +- .../unusedImports_entireImportDeclaration.js | 4 +- 45 files changed, 260 insertions(+), 254 deletions(-) diff --git a/tests/baselines/reference/allowImportClausesToMergeWithTypes.js b/tests/baselines/reference/allowImportClausesToMergeWithTypes.js index 9c50acdfb1a90..cdff7bf4884c0 100644 --- a/tests/baselines/reference/allowImportClausesToMergeWithTypes.js +++ b/tests/baselines/reference/allowImportClausesToMergeWithTypes.js @@ -44,8 +44,8 @@ b_1["default"]; //// [index.js] "use strict"; exports.__esModule = true; +var b_1 = require("./b"); var x = { x: "" }; zzz; -var b_1 = require("./b"); b_1["default"]; var y = x; diff --git a/tests/baselines/reference/ambientDeclarationsPatterns.js b/tests/baselines/reference/ambientDeclarationsPatterns.js index 84088d11d4eb4..ec6649c35dd6f 100644 --- a/tests/baselines/reference/ambientDeclarationsPatterns.js +++ b/tests/baselines/reference/ambientDeclarationsPatterns.js @@ -37,9 +37,9 @@ foo(fileText); exports.__esModule = true; /// var foobarbaz_1 = require("foobarbaz"); -foobarbaz_1.foo(foobarbaz_1.baz); var foosball_1 = require("foosball"); -foobarbaz_1.foo(foosball_1.foos); // Works with relative file name var file_text_1 = require("./file!text"); +foobarbaz_1.foo(foobarbaz_1.baz); +foobarbaz_1.foo(foosball_1.foos); foobarbaz_1.foo(file_text_1["default"]); diff --git a/tests/baselines/reference/es6ExportEqualsInterop.js b/tests/baselines/reference/es6ExportEqualsInterop.js index 7b0902786a11e..e1c6a58abe2c2 100644 --- a/tests/baselines/reference/es6ExportEqualsInterop.js +++ b/tests/baselines/reference/es6ExportEqualsInterop.js @@ -221,6 +221,26 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { }; exports.__esModule = true; exports.a0 = exports.a9 = exports.a8 = exports.a7 = exports.a6 = exports.a5 = exports.a4 = exports.a3 = exports.a2 = exports.a1 = void 0; +var y2 = require("variable"); +var y3 = require("interface-variable"); +var y4 = require("module"); +var y5 = require("interface-module"); +var y6 = require("variable-module"); +var y7 = require("function"); +var y8 = require("function-module"); +var y9 = require("class"); +var y0 = require("class-module"); +// named import +var interface_1 = require("interface"); +var variable_1 = require("variable"); +var interface_variable_1 = require("interface-variable"); +var module_1 = require("module"); +var interface_module_1 = require("interface-module"); +var variable_module_1 = require("variable-module"); +var function_1 = require("function"); +var function_module_1 = require("function-module"); +var class_1 = require("class"); +var class_module_1 = require("class-module"); var z2 = require("variable"); var z3 = require("interface-variable"); var z4 = require("module"); @@ -240,15 +260,6 @@ z7.a; z8.a; z9.a; z0.a; -var y2 = require("variable"); -var y3 = require("interface-variable"); -var y4 = require("module"); -var y5 = require("interface-module"); -var y6 = require("variable-module"); -var y7 = require("function"); -var y8 = require("function-module"); -var y9 = require("class"); -var y0 = require("class-module"); y1.a; y2.a; y3.a; @@ -259,17 +270,6 @@ y7.a; y8.a; y9.a; y0.a; -// named import -var interface_1 = require("interface"); -var variable_1 = require("variable"); -var interface_variable_1 = require("interface-variable"); -var module_1 = require("module"); -var interface_module_1 = require("interface-module"); -var variable_module_1 = require("variable-module"); -var function_1 = require("function"); -var function_module_1 = require("function-module"); -var class_1 = require("class"); -var class_module_1 = require("class-module"); interface_1.a; variable_1.a; interface_variable_1.a; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js index 211c55a23a345..fa5e95bad8fb4 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js @@ -33,15 +33,15 @@ exports.default = {}; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const es6ImportDefaultBindingFollowedWithNamedImport_0_1 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); -var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_1.a; const es6ImportDefaultBindingFollowedWithNamedImport_0_2 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); -var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_2.a; const es6ImportDefaultBindingFollowedWithNamedImport_0_3 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); +const es6ImportDefaultBindingFollowedWithNamedImport_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); +const es6ImportDefaultBindingFollowedWithNamedImport_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); +var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_1.a; +var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_2.a; var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_3.x; var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_3.a; -const es6ImportDefaultBindingFollowedWithNamedImport_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_4.x; -const es6ImportDefaultBindingFollowedWithNamedImport_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImport_0"); var x1 = es6ImportDefaultBindingFollowedWithNamedImport_0_5.m; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js index ef9ab7215bc85..51ad6a96ac5b2 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js @@ -28,16 +28,16 @@ exports.default = a; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_1 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"); -var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_1.default; var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_2 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"); -var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_2.default; var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_3 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"); -var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_3.default; var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"); -var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_4.default; var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"); -var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_5.default; var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_6 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"); +var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_1.default; +var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_2.default; +var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_3.default; +var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_4.default; +var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_5.default; var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_6.default; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js index 4df23abf73416..041752fcf6802 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js @@ -29,16 +29,16 @@ exports.default = a; Object.defineProperty(exports, "__esModule", { value: true }); exports.x1 = void 0; var server_1 = require("./server"); -exports.x1 = server_1.default; var server_2 = require("./server"); -exports.x1 = server_2.default; var server_3 = require("./server"); -exports.x1 = server_3.default; var server_4 = require("./server"); -exports.x1 = server_4.default; var server_5 = require("./server"); -exports.x1 = server_5.default; var server_6 = require("./server"); +exports.x1 = server_1.default; +exports.x1 = server_2.default; +exports.x1 = server_3.default; +exports.x1 = server_4.default; +exports.x1 = server_5.default; exports.x1 = server_6.default; diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js index 868c9fe1d6ced..6de02a63d7e22 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js @@ -68,15 +68,15 @@ exports.x11 = x11; exports.__esModule = true; exports.x6 = exports.x3 = exports.x5 = exports.x4 = exports.x2 = exports.x1 = void 0; var server_1 = require("./server"); -exports.x1 = new server_1.a(); var server_2 = require("./server"); -exports.x2 = new server_2.a11(); var server_3 = require("./server"); +var server_4 = require("./server"); +var server_5 = require("./server"); +exports.x1 = new server_1.a(); +exports.x2 = new server_2.a11(); exports.x4 = new server_3.x(); exports.x5 = new server_3.a12(); -var server_4 = require("./server"); exports.x3 = new server_4.x11(); -var server_5 = require("./server"); exports.x6 = new server_5.m(); diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js index 66dfd460f7f3a..17ce9e10f6136 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js @@ -32,16 +32,16 @@ exports.default = a; Object.defineProperty(exports, "__esModule", { value: true }); exports.x6 = exports.x5 = exports.x4 = exports.x3 = exports.x2 = exports.x1 = void 0; var server_1 = require("./server"); -exports.x1 = new server_1.default(); var server_2 = require("./server"); -exports.x2 = new server_2.default(); var server_3 = require("./server"); -exports.x3 = new server_3.default(); var server_4 = require("./server"); -exports.x4 = new server_4.default(); var server_5 = require("./server"); -exports.x5 = new server_5.default(); var server_6 = require("./server"); +exports.x1 = new server_1.default(); +exports.x2 = new server_2.default(); +exports.x3 = new server_3.default(); +exports.x4 = new server_4.default(); +exports.x5 = new server_5.default(); exports.x6 = new server_6.default(); diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js index 3095ad6eb7e09..c86bd0a06f880 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js @@ -31,15 +31,15 @@ exports.m = exports.a; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_1 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); -var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_1.a; var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_2 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); -var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_2.a; var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); +var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); +var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); +var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_1.a; +var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_2.a; var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3.x; var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3.a; -var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_4.x; -var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"); var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5.m; diff --git a/tests/baselines/reference/es6ImportNamedImport.js b/tests/baselines/reference/es6ImportNamedImport.js index 29fd7125e092e..b0d8bd312790d 100644 --- a/tests/baselines/reference/es6ImportNamedImport.js +++ b/tests/baselines/reference/es6ImportNamedImport.js @@ -56,25 +56,25 @@ exports.aaaa = 10; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const es6ImportNamedImport_0_1 = require("./es6ImportNamedImport_0"); -var xxxx = es6ImportNamedImport_0_1.a; const es6ImportNamedImport_0_2 = require("./es6ImportNamedImport_0"); -var xxxx = es6ImportNamedImport_0_2.a; const es6ImportNamedImport_0_3 = require("./es6ImportNamedImport_0"); +const es6ImportNamedImport_0_4 = require("./es6ImportNamedImport_0"); +const es6ImportNamedImport_0_5 = require("./es6ImportNamedImport_0"); +const es6ImportNamedImport_0_6 = require("./es6ImportNamedImport_0"); +const es6ImportNamedImport_0_7 = require("./es6ImportNamedImport_0"); +const es6ImportNamedImport_0_8 = require("./es6ImportNamedImport_0"); +const es6ImportNamedImport_0_9 = require("./es6ImportNamedImport_0"); +var xxxx = es6ImportNamedImport_0_1.a; +var xxxx = es6ImportNamedImport_0_2.a; var xxxx = es6ImportNamedImport_0_3.x; var xxxx = es6ImportNamedImport_0_3.a; -const es6ImportNamedImport_0_4 = require("./es6ImportNamedImport_0"); var xxxx = es6ImportNamedImport_0_4.x; -const es6ImportNamedImport_0_5 = require("./es6ImportNamedImport_0"); var xxxx = es6ImportNamedImport_0_5.m; -const es6ImportNamedImport_0_6 = require("./es6ImportNamedImport_0"); var xxxx = es6ImportNamedImport_0_6.a1; var xxxx = es6ImportNamedImport_0_6.x1; -const es6ImportNamedImport_0_7 = require("./es6ImportNamedImport_0"); var xxxx = es6ImportNamedImport_0_7.a1; var xxxx = es6ImportNamedImport_0_7.x1; -const es6ImportNamedImport_0_8 = require("./es6ImportNamedImport_0"); var z111 = es6ImportNamedImport_0_8.z1; -const es6ImportNamedImport_0_9 = require("./es6ImportNamedImport_0"); var z2 = es6ImportNamedImport_0_9.z2; // z2 shouldn't give redeclare error diff --git a/tests/baselines/reference/es6ImportNamedImportDts.js b/tests/baselines/reference/es6ImportNamedImportDts.js index b268f422092fb..9ec1d1fd8dde3 100644 --- a/tests/baselines/reference/es6ImportNamedImportDts.js +++ b/tests/baselines/reference/es6ImportNamedImportDts.js @@ -138,25 +138,25 @@ exports.aaaa1 = aaaa1; exports.__esModule = true; exports.z2 = exports.z111 = exports.xxxx9 = exports.xxxx8 = exports.xxxx7 = exports.xxxx6 = exports.xxxx5 = exports.xxxx4 = exports.xxxx3 = exports.xxxx2 = exports.xxxx1 = exports.xxxx = void 0; var server_1 = require("./server"); -exports.xxxx = new server_1.a(); var server_2 = require("./server"); -exports.xxxx1 = new server_2.a11(); var server_3 = require("./server"); +var server_4 = require("./server"); +var server_5 = require("./server"); +var server_6 = require("./server"); +var server_7 = require("./server"); +var server_8 = require("./server"); +var server_9 = require("./server"); +exports.xxxx = new server_1.a(); +exports.xxxx1 = new server_2.a11(); exports.xxxx2 = new server_3.x(); exports.xxxx3 = new server_3.a12(); -var server_4 = require("./server"); exports.xxxx4 = new server_4.x11(); -var server_5 = require("./server"); exports.xxxx5 = new server_5.m(); -var server_6 = require("./server"); exports.xxxx6 = new server_6.a1(); exports.xxxx7 = new server_6.x1(); -var server_7 = require("./server"); exports.xxxx8 = new server_7.a111(); exports.xxxx9 = new server_7.x111(); -var server_8 = require("./server"); exports.z111 = new server_8.z1(); -var server_9 = require("./server"); exports.z2 = new server_9.z2(); // z2 shouldn't give redeclare error diff --git a/tests/baselines/reference/es6ImportNamedImportInEs5.js b/tests/baselines/reference/es6ImportNamedImportInEs5.js index 45c1e1cd593b2..5789faa442b3f 100644 --- a/tests/baselines/reference/es6ImportNamedImportInEs5.js +++ b/tests/baselines/reference/es6ImportNamedImportInEs5.js @@ -56,25 +56,25 @@ exports.aaaa = 10; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var es6ImportNamedImportInEs5_0_1 = require("./es6ImportNamedImportInEs5_0"); -var xxxx = es6ImportNamedImportInEs5_0_1.a; var es6ImportNamedImportInEs5_0_2 = require("./es6ImportNamedImportInEs5_0"); -var xxxx = es6ImportNamedImportInEs5_0_2.a; var es6ImportNamedImportInEs5_0_3 = require("./es6ImportNamedImportInEs5_0"); +var es6ImportNamedImportInEs5_0_4 = require("./es6ImportNamedImportInEs5_0"); +var es6ImportNamedImportInEs5_0_5 = require("./es6ImportNamedImportInEs5_0"); +var es6ImportNamedImportInEs5_0_6 = require("./es6ImportNamedImportInEs5_0"); +var es6ImportNamedImportInEs5_0_7 = require("./es6ImportNamedImportInEs5_0"); +var es6ImportNamedImportInEs5_0_8 = require("./es6ImportNamedImportInEs5_0"); +var es6ImportNamedImportInEs5_0_9 = require("./es6ImportNamedImportInEs5_0"); +var xxxx = es6ImportNamedImportInEs5_0_1.a; +var xxxx = es6ImportNamedImportInEs5_0_2.a; var xxxx = es6ImportNamedImportInEs5_0_3.x; var xxxx = es6ImportNamedImportInEs5_0_3.a; -var es6ImportNamedImportInEs5_0_4 = require("./es6ImportNamedImportInEs5_0"); var xxxx = es6ImportNamedImportInEs5_0_4.x; -var es6ImportNamedImportInEs5_0_5 = require("./es6ImportNamedImportInEs5_0"); var xxxx = es6ImportNamedImportInEs5_0_5.m; -var es6ImportNamedImportInEs5_0_6 = require("./es6ImportNamedImportInEs5_0"); var xxxx = es6ImportNamedImportInEs5_0_6.a1; var xxxx = es6ImportNamedImportInEs5_0_6.x1; -var es6ImportNamedImportInEs5_0_7 = require("./es6ImportNamedImportInEs5_0"); var xxxx = es6ImportNamedImportInEs5_0_7.a1; var xxxx = es6ImportNamedImportInEs5_0_7.x1; -var es6ImportNamedImportInEs5_0_8 = require("./es6ImportNamedImportInEs5_0"); var z111 = es6ImportNamedImportInEs5_0_8.z1; -var es6ImportNamedImportInEs5_0_9 = require("./es6ImportNamedImportInEs5_0"); var z2 = es6ImportNamedImportInEs5_0_9.z2; // z2 shouldn't give redeclare error diff --git a/tests/baselines/reference/es6ImportNamedImportWithExport.js b/tests/baselines/reference/es6ImportNamedImportWithExport.js index ca03de25292e0..b7174adc20fff 100644 --- a/tests/baselines/reference/es6ImportNamedImportWithExport.js +++ b/tests/baselines/reference/es6ImportNamedImportWithExport.js @@ -56,25 +56,25 @@ exports.aaaa = 10; exports.__esModule = true; exports.z2 = exports.z111 = exports.xxxx = void 0; var server_1 = require("./server"); -exports.xxxx = server_1.a; var server_2 = require("./server"); -exports.xxxx = server_2.a; var server_3 = require("./server"); +var server_4 = require("./server"); +var server_5 = require("./server"); +var server_6 = require("./server"); +var server_7 = require("./server"); +var server_8 = require("./server"); +var server_9 = require("./server"); +exports.xxxx = server_1.a; +exports.xxxx = server_2.a; exports.xxxx = server_3.x; exports.xxxx = server_3.a; -var server_4 = require("./server"); exports.xxxx = server_4.x; -var server_5 = require("./server"); exports.xxxx = server_5.m; -var server_6 = require("./server"); exports.xxxx = server_6.a1; exports.xxxx = server_6.x1; -var server_7 = require("./server"); exports.xxxx = server_7.a1; exports.xxxx = server_7.x1; -var server_8 = require("./server"); exports.z111 = server_8.z1; -var server_9 = require("./server"); exports.z2 = server_9.z2; // z2 shouldn't give redeclare error diff --git a/tests/baselines/reference/exportDefaultProperty.js b/tests/baselines/reference/exportDefaultProperty.js index c8950a20e13dd..d3098143f5582 100644 --- a/tests/baselines/reference/exportDefaultProperty.js +++ b/tests/baselines/reference/exportDefaultProperty.js @@ -66,11 +66,11 @@ exports["default"] = "foo".length; exports.__esModule = true; /// var foobar_1 = require("foobar"); -var X = foobar_1["default"].X; var foobarx_1 = require("foobarx"); +var a_1 = require("./a"); +var b_1 = require("./b"); +var X = foobar_1["default"].X; var x = X; var x2 = foobarx_1["default"]; -var a_1 = require("./a"); var b = new a_1["default"](a_1["default"].b); -var b_1 = require("./b"); b_1["default"] + 1; diff --git a/tests/baselines/reference/exportsAndImports4-amd.js b/tests/baselines/reference/exportsAndImports4-amd.js index 07330f9ea1c70..e49e6907ed80c 100644 --- a/tests/baselines/reference/exportsAndImports4-amd.js +++ b/tests/baselines/reference/exportsAndImports4-amd.js @@ -49,21 +49,21 @@ define(["require", "exports", "./t1", "./t1", "./t1", "./t1", "./t1", "./t1"], f "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.f2 = exports.f1 = exports.e2 = exports.e1 = exports.d = exports.c = exports.b = exports.a = void 0; - exports.a = a; - a.default; exports.b = t1_1.default; - t1_1.default; exports.c = c; - c.default; Object.defineProperty(exports, "d", { enumerable: true, get: function () { return t1_2.default; } }); - t1_2.default; var e2 = t1_3; exports.e1 = t1_3.default; exports.e2 = e2; - t1_3.default; - e2.default; exports.f1 = t1_4.default; Object.defineProperty(exports, "f2", { enumerable: true, get: function () { return t1_4.default; } }); + exports.a = a; + a.default; + t1_1.default; + c.default; + t1_2.default; + t1_3.default; + e2.default; t1_4.default; t1_4.default; }); diff --git a/tests/baselines/reference/exportsAndImports4-es6.js b/tests/baselines/reference/exportsAndImports4-es6.js index baa558ec02400..a4d37287f5564 100644 --- a/tests/baselines/reference/exportsAndImports4-es6.js +++ b/tests/baselines/reference/exportsAndImports4-es6.js @@ -46,25 +46,25 @@ exports.default = "hello"; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.f2 = exports.f1 = exports.e2 = exports.e1 = exports.d = exports.c = exports.b = exports.a = void 0; -const a = require("./t1"); -exports.a = a; -a.default; const t1_1 = require("./t1"); exports.b = t1_1.default; -t1_1.default; const c = require("./t1"); exports.c = c; -c.default; const t1_2 = require("./t1"); Object.defineProperty(exports, "d", { enumerable: true, get: function () { return t1_2.default; } }); -t1_2.default; const t1_3 = require("./t1"), e2 = t1_3; exports.e1 = t1_3.default; exports.e2 = e2; -t1_3.default; -e2.default; const t1_4 = require("./t1"); exports.f1 = t1_4.default; Object.defineProperty(exports, "f2", { enumerable: true, get: function () { return t1_4.default; } }); +const a = require("./t1"); +exports.a = a; +a.default; +t1_1.default; +c.default; +t1_2.default; +t1_3.default; +e2.default; t1_4.default; t1_4.default; diff --git a/tests/baselines/reference/exportsAndImports4.js b/tests/baselines/reference/exportsAndImports4.js index 1cd118d871ec3..7fd4998c1829a 100644 --- a/tests/baselines/reference/exportsAndImports4.js +++ b/tests/baselines/reference/exportsAndImports4.js @@ -46,25 +46,25 @@ exports.default = "hello"; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.f2 = exports.f1 = exports.e2 = exports.e1 = exports.d = exports.c = exports.b = exports.a = void 0; -var a = require("./t1"); -exports.a = a; -a.default; var t1_1 = require("./t1"); exports.b = t1_1.default; -t1_1.default; var c = require("./t1"); exports.c = c; -c.default; var t1_2 = require("./t1"); Object.defineProperty(exports, "d", { enumerable: true, get: function () { return t1_2.default; } }); -t1_2.default; var t1_3 = require("./t1"), e2 = t1_3; exports.e1 = t1_3.default; exports.e2 = e2; -t1_3.default; -e2.default; var t1_4 = require("./t1"); exports.f1 = t1_4.default; Object.defineProperty(exports, "f2", { enumerable: true, get: function () { return t1_4.default; } }); +var a = require("./t1"); +exports.a = a; +a.default; +t1_1.default; +c.default; +t1_2.default; +t1_3.default; +e2.default; t1_4.default; t1_4.default; diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).js b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).js index 1cd1885355c2a..160f300de9bd4 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).js +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).js @@ -24,9 +24,9 @@ exports.default = default_1; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.a = exports.default = void 0; -var a_1 = require("./a"); -Object.defineProperty(exports, "default", { enumerable: true, get: function () { return a_1.default; } }); +const a_1 = require("./a"); var a_2 = require("./a"); -Object.defineProperty(exports, "a", { enumerable: true, get: function () { return a_2.default; } }); -const a_3 = require("./a"); -void a_3.default; +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return a_2.default; } }); +var a_3 = require("./a"); +Object.defineProperty(exports, "a", { enumerable: true, get: function () { return a_3.default; } }); +void a_1.default; diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).js b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).js index 50e3866222d41..cff0744b647f9 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).js +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).js @@ -25,9 +25,9 @@ exports.default = default_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.a = exports.default = void 0; const tslib_1 = require("tslib"); -var a_1 = require("./a"); -Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(a_1).default; } }); +const a_1 = tslib_1.__importDefault(require("./a")); var a_2 = require("./a"); -Object.defineProperty(exports, "a", { enumerable: true, get: function () { return tslib_1.__importDefault(a_2).default; } }); -const a_3 = tslib_1.__importDefault(require("./a")); -void a_3.default; +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(a_2).default; } }); +var a_3 = require("./a"); +Object.defineProperty(exports, "a", { enumerable: true, get: function () { return tslib_1.__importDefault(a_3).default; } }); +void a_1.default; diff --git a/tests/baselines/reference/importNotElidedWhenNotFound.js b/tests/baselines/reference/importNotElidedWhenNotFound.js index 6333fcff7f0f7..38f2795eff3cf 100644 --- a/tests/baselines/reference/importNotElidedWhenNotFound.js +++ b/tests/baselines/reference/importNotElidedWhenNotFound.js @@ -35,6 +35,8 @@ var __extends = (this && this.__extends) || (function () { exports.__esModule = true; var file_1 = require("file"); var other_file_1 = require("other_file"); +var file2_1 = require("file2"); +var file3_1 = require("file3"); var Y = /** @class */ (function (_super) { __extends(Y, _super); function Y() { @@ -42,8 +44,6 @@ var Y = /** @class */ (function (_super) { } return Y; }(other_file_1["default"])); -var file2_1 = require("file2"); -var file3_1 = require("file3"); var Q = /** @class */ (function (_super) { __extends(Q, _super); function Q() { diff --git a/tests/baselines/reference/isolatedModulesReExportType.js b/tests/baselines/reference/isolatedModulesReExportType.js index 9908e6701dffe..bc0dbe874d4bc 100644 --- a/tests/baselines/reference/isolatedModulesReExportType.js +++ b/tests/baselines/reference/isolatedModulesReExportType.js @@ -68,9 +68,9 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi })); exports.__esModule = true; exports.NS = exports.C = void 0; -// OK, has a value side -var exportValue_1 = require("./exportValue"); -__createBinding(exports, exportValue_1, "C"); // OK, even though the namespace it exports is only types. var NS = require("./exportT"); exports.NS = NS; +// OK, has a value side +var exportValue_1 = require("./exportValue"); +__createBinding(exports, exportValue_1, "C"); diff --git a/tests/baselines/reference/jsxPartialSpread.js b/tests/baselines/reference/jsxPartialSpread.js index e37b12f7d7a4f..7dcba1d2da020 100644 --- a/tests/baselines/reference/jsxPartialSpread.js +++ b/tests/baselines/reference/jsxPartialSpread.js @@ -16,9 +16,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; exports.__esModule = true; exports.Repro = void 0; +var react_1 = __importDefault(require("react")); /// var Select = function (p) { return

; }; -var react_1 = __importDefault(require("react")); function Repro(_a) { var _b = _a.SelectProps, SelectProps = _b === void 0 ? {} : _b; return (