diff --git a/internal/ast/parseoptions.go b/internal/ast/parseoptions.go index 89960d37e3..a697eceb75 100644 --- a/internal/ast/parseoptions.go +++ b/internal/ast/parseoptions.go @@ -112,9 +112,6 @@ func isFileProbablyExternalModule(sourceFile *SourceFile) *Node { } func isAnExternalModuleIndicatorNode(node *Node) bool { - if node.Flags&NodeFlagsReparsed != 0 { - return false - } return HasSyntacticModifier(node, ModifierFlagsExport) || IsImportEqualsDeclaration(node) && IsExternalModuleReference(node.AsImportEqualsDeclaration().ModuleReference) || IsImportDeclaration(node) || IsExportAssignment(node) || IsExportDeclaration(node) diff --git a/testdata/baselines/reference/compiler/jsDeclarationExportDefaultAssignmentCrash.js b/testdata/baselines/reference/compiler/jsDeclarationExportDefaultAssignmentCrash.js index 76829952bc..0f64fde1de 100644 --- a/testdata/baselines/reference/compiler/jsDeclarationExportDefaultAssignmentCrash.js +++ b/testdata/baselines/reference/compiler/jsDeclarationExportDefaultAssignmentCrash.js @@ -7,6 +7,8 @@ exports.default = () => { //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var default = () => { return 1234; }; diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt index 2a64d7ccfa..7f1f8dbaf6 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt @@ -2,6 +2,7 @@ /main1.ts(3,12): error TS2580: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. /main1.ts(19,4): error TS2339: Property 'default' does not exist on type '() => void'. /main1.ts(23,8): error TS1192: Module '"/e"' has no default export. +/main1.ts(30,4): error TS2339: Property 'default' does not exist on type '0'. /main2.mts(4,4): error TS2339: Property 'default' does not exist on type 'typeof import("/a")'. /main2.mts(5,12): error TS2580: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. /main2.mts(14,8): error TS1192: Module '"/e"' has no default export. @@ -42,7 +43,7 @@ ==== /g.js (0 errors) ==== exports.default = 0; -==== /main1.ts (3 errors) ==== +==== /main1.ts (4 errors) ==== import { x, y } from "./a"; // No y import a1 = require("./a"); // { x: 0 } const a2 = require("./a"); // Error in TS @@ -79,6 +80,8 @@ import g1 from "./g"; // { default: 0 } g1.default; + ~~~~~~~ +!!! error TS2339: Property 'default' does not exist on type '0'. import g2 = require("./g"); // { default: 0 } g2.default; diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff index 63b7095c89..4a43b58d40 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff @@ -8,6 +8,7 @@ /main1.ts(19,4): error TS2339: Property 'default' does not exist on type '() => void'. /main1.ts(23,8): error TS1192: Module '"/e"' has no default export. -/main2.mts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. ++/main1.ts(30,4): error TS2339: Property 'default' does not exist on type '0'. /main2.mts(4,4): error TS2339: Property 'default' does not exist on type 'typeof import("/a")'. /main2.mts(5,12): error TS2580: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. /main2.mts(14,8): error TS1192: Module '"/e"' has no default export. @@ -17,7 +18,7 @@ /main3.cjs(2,1): error TS8002: 'import ... =' can only be used in TypeScript files. /main3.cjs(5,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. /main3.cjs(8,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. -@@= skipped -18, +15 lines =@@ +@@= skipped -18, +16 lines =@@ /main3.cjs(17,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. @@ -30,19 +31,21 @@ ==== /b.ts (0 errors) ==== export default 0; -@@= skipped -28, +26 lines =@@ - ==== /g.js (0 errors) ==== - exports.default = 0; +@@= skipped -30, +28 lines =@@ --==== /main1.ts (4 errors) ==== -+==== /main1.ts (3 errors) ==== + ==== /main1.ts (4 errors) ==== import { x, y } from "./a"; // No y - ~ -!!! error TS2305: Module '"./a"' has no exported member 'y'. import a1 = require("./a"); // { x: 0 } const a2 = require("./a"); // Error in TS ~~~~~~~ -@@= skipped -42, +40 lines =@@ +@@= skipped -37, +35 lines =@@ + + import g1 from "./g"; // { default: 0 } + g1.default; ++ ~~~~~~~ ++!!! error TS2339: Property 'default' does not exist on type '0'. import g2 = require("./g"); // { default: 0 } g2.default; @@ -54,7 +57,7 @@ import a1 = require("./a"); // { x: 0 } a1.x; a1.default.x; // Arguably should exist but doesn't -@@= skipped -35, +33 lines =@@ +@@= skipped -38, +38 lines =@@ ~ !!! error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. ~ diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols index 3cace490b3..ec9a19af94 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols @@ -133,17 +133,15 @@ import g1 from "./g"; // { default: 0 } >g1 : Symbol(g1, Decl(main1.ts, 28, 6)) g1.default; ->g1.default : Symbol(g1.default, Decl(g.js, 0, 0)) >g1 : Symbol(g1, Decl(main1.ts, 28, 6)) ->default : Symbol(g1.default, Decl(g.js, 0, 0)) import g2 = require("./g"); // { default: 0 } >g2 : Symbol(g2, Decl(main1.ts, 29, 11)) g2.default; ->g2.default : Symbol(g1.default, Decl(g.js, 0, 0)) +>g2.default : Symbol(g1, Decl(g.js, 0, 0)) >g2 : Symbol(g2, Decl(main1.ts, 29, 11)) ->default : Symbol(g1.default, Decl(g.js, 0, 0)) +>default : Symbol(g1, Decl(g.js, 0, 0)) === /main2.mts === import { x, y } from "./a"; // No y @@ -259,7 +257,7 @@ import g1 from "./g"; // { default: 0 } const g2 = require("./g"); // { default: 0 } >g2 : Symbol(g2, Decl(main3.cjs, 17, 5)) >require : Symbol(require) ->"./g" : Symbol(g1, Decl(g.js, 0, 0)) +>"./g" : Symbol(g2, Decl(g.js, 0, 0)) === /main4.cjs === exports.x = require("./g"); diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff index 6d95c25f3d..2cf5e1aeb9 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff @@ -21,7 +21,33 @@ >default : Symbol(default, Decl(g.js, 0, 0)) === /main1.ts === -@@= skipped -227, +227 lines =@@ +@@= skipped -96, +96 lines =@@ + >g1 : Symbol(g1, Decl(main1.ts, 28, 6)) + + g1.default; +->g1.default : Symbol(g1.default, Decl(g.js, 0, 0)) + >g1 : Symbol(g1, Decl(main1.ts, 28, 6)) +->default : Symbol(g1.default, Decl(g.js, 0, 0)) + + import g2 = require("./g"); // { default: 0 } + >g2 : Symbol(g2, Decl(main1.ts, 29, 11)) + + g2.default; +->g2.default : Symbol(g1.default, Decl(g.js, 0, 0)) ++>g2.default : Symbol(g1, Decl(g.js, 0, 0)) + >g2 : Symbol(g2, Decl(main1.ts, 29, 11)) +->default : Symbol(g1.default, Decl(g.js, 0, 0)) ++>default : Symbol(g1, Decl(g.js, 0, 0)) + + === /main2.mts === + import { x, y } from "./a"; // No y +@@= skipped -126, +124 lines =@@ + const g2 = require("./g"); // { default: 0 } + >g2 : Symbol(g2, Decl(main3.cjs, 17, 5)) + >require : Symbol(require) +->"./g" : Symbol(g1, Decl(g.js, 0, 0)) ++>"./g" : Symbol(g2, Decl(g.js, 0, 0)) + === /main4.cjs === exports.x = require("./g"); >exports.x : Symbol(x, Decl(main4.cjs, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types index cb6b2aaba1..868beda53e 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types @@ -152,19 +152,19 @@ f2.default; >default : 0 import g1 from "./g"; // { default: 0 } ->g1 : typeof g1 +>g1 : 0 g1.default; ->g1.default : 0 ->g1 : typeof g1 ->default : 0 +>g1.default : any +>g1 : 0 +>default : any import g2 = require("./g"); // { default: 0 } ->g2 : typeof g1 +>g2 : typeof g2 g2.default; >g2.default : 0 ->g2 : typeof g1 +>g2 : typeof g2 >default : 0 === /main2.mts === @@ -224,10 +224,10 @@ import f2 = require("./f.cjs"); // { default: 0 } >f2 : typeof f2 import g1 from "./g"; // { default: 0 } ->g1 : typeof g1 +>g1 : 0 import g2 = require("./g"); // { default: 0 } ->g2 : typeof g1 +>g2 : typeof g2 === /main3.cjs === import { x, y } from "./a"; // No y @@ -289,11 +289,11 @@ const f2 = require("./f.cjs"); // { default: 0 } >"./f.cjs" : "./f.cjs" import g1 from "./g"; // { default: 0 } ->g1 : typeof g1 +>g1 : 0 const g2 = require("./g"); // { default: 0 } ->g2 : typeof g1 ->require("./g") : typeof g1 +>g2 : typeof g2 +>require("./g") : typeof g2 >require : any >"./g" : "./g" diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff index 0c92c48371..632c2c34ea 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff @@ -26,7 +26,31 @@ import a1 = require("./a"); // { x: 0 } >a1 : typeof a1 -@@= skipped -119, +119 lines =@@ +@@= skipped -101, +101 lines =@@ + >default : 0 + + import g1 from "./g"; // { default: 0 } +->g1 : typeof g1 ++>g1 : 0 + + g1.default; +->g1.default : 0 +->g1 : typeof g1 +->default : 0 ++>g1.default : any ++>g1 : 0 ++>default : any + + import g2 = require("./g"); // { default: 0 } +->g2 : typeof g1 ++>g2 : typeof g2 + + g2.default; + >g2.default : 0 +->g2 : typeof g1 ++>g2 : typeof g2 + >default : 0 + === /main2.mts === import { x, y } from "./a"; // No y >x : 0 @@ -35,7 +59,17 @@ import a1 = require("./a"); // { x: 0 } >a1 : typeof a1 -@@= skipped -62, +62 lines =@@ +@@= skipped -72, +72 lines =@@ + >f2 : typeof f2 + + import g1 from "./g"; // { default: 0 } +->g1 : typeof g1 ++>g1 : 0 + + import g2 = require("./g"); // { default: 0 } +->g2 : typeof g1 ++>g2 : typeof g2 + === /main3.cjs === import { x, y } from "./a"; // No y >x : 0 @@ -43,4 +77,18 @@ +>y : 0 import a1 = require("./a"); // Error in JS - >a1 : typeof a1 \ No newline at end of file + >a1 : typeof a1 +@@= skipped -65, +65 lines =@@ + >"./f.cjs" : "./f.cjs" + + import g1 from "./g"; // { default: 0 } +->g1 : typeof g1 ++>g1 : 0 + + const g2 = require("./g"); // { default: 0 } +->g2 : typeof g1 +->require("./g") : typeof g1 ++>g2 : typeof g2 ++>require("./g") : typeof g2 + >require : any + >"./g" : "./g" diff --git a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js index 92605e72b4..08eb0d9824 100644 --- a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js +++ b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js @@ -22,6 +22,8 @@ exports.equal() /// var myAssert = require('assert'); //// [app.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var equal = myAssert.equal; exports.equal = myAssert.equal; exports.equal(); diff --git a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff index 5a80a09432..ed275fe236 100644 --- a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff +++ b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff @@ -4,6 +4,8 @@ /// var myAssert = require('assert'); //// [app.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var equal = myAssert.equal; exports.equal = myAssert.equal; exports.equal(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js index 99874afc29..54f30a42d6 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js @@ -8,6 +8,8 @@ exports.y = 2; //// [assignmentToVoidZero1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); // #38552 export var y = exports.x = void 0; // #38552 diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff index 704fed10be..714b31fe2a 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff @@ -1,11 +1,14 @@ --- old.assignmentToVoidZero1.js +++ new.assignmentToVoidZero1.js -@@= skipped -8, +8 lines =@@ +@@= skipped -7, +7 lines =@@ + //// [assignmentToVoidZero1.js] - // #38552 -+export var y = exports.x = void 0; ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +// #38552 ++export var y = exports.x = void 0; + // #38552 exports.y = exports.x = void 0; +export var x = 1; exports.x = 1; diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js index b9180916a5..9b3221fcfd 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js @@ -21,6 +21,8 @@ j + k //// [assignmentToVoidZero2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var j = 1; exports.j = 1; export var k = void 0; diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff index bc38ad6809..1e6837ef28 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff @@ -4,13 +4,15 @@ //// [assignmentToVoidZero2.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var j = 1; exports.j = 1; +export var k = void 0; exports.k = void 0; var o = {}; o.x = 1; -@@= skipped -20, +22 lines =@@ +@@= skipped -20, +24 lines =@@ //// [assignmentToVoidZero2.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js index 9f452a1380..fd0f4efd9f 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js @@ -18,6 +18,8 @@ var diddy = funky(1) //// [commonJSAliasedExport.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const donkey = (ast) => ast; function funky(declaration) { return false; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff index bc1e674cb3..8f7d21d18b 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff @@ -1,6 +1,13 @@ --- old.commonJSAliasedExport.js +++ new.commonJSAliasedExport.js -@@= skipped -22, +22 lines =@@ +@@= skipped -17, +17 lines =@@ + + + //// [commonJSAliasedExport.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const donkey = (ast) => ast; + function funky(declaration) { return false; } module.exports = donkey; @@ -8,7 +15,7 @@ module.exports.funky = funky; //// [bug43713.js] const { funky } = require('./commonJSAliasedExport'); -@@= skipped -9, +10 lines =@@ +@@= skipped -14, +17 lines =@@ //// [commonJSAliasedExport.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js index 75639dc8fd..6d25b48359 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js @@ -18,6 +18,7 @@ exports.K = K; //// [mod1.js] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); class K { values() { return new K(); diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff index 6f1f5c052c..b8983fb6eb 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff @@ -1,6 +1,12 @@ --- old.commonJSImportClassTypeReference.js +++ new.commonJSImportClassTypeReference.js -@@= skipped -22, +22 lines =@@ +@@= skipped -17, +17 lines =@@ + + //// [mod1.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + class K { + values() { return new K(); } } @@ -8,7 +14,7 @@ exports.K = K; //// [main.js] "use strict"; -@@= skipped -11, +12 lines =@@ +@@= skipped -16, +18 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js index ab7a08c876..60789d061e 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js @@ -16,6 +16,7 @@ exports.K = class K { //// [mod1.js] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var K = class K { values() { } diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff index b9fb130cc2..eedc85ac50 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff @@ -4,6 +4,7 @@ //// [mod1.js] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var K = class K { + values() { + } @@ -11,7 +12,7 @@ exports.K = class K { values() { } -@@= skipped -14, +18 lines =@@ +@@= skipped -14, +19 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js index f09940564a..bd6dfdc330 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js @@ -19,6 +19,7 @@ exports.K = NS.K; //// [mod1.js] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); var NS = {}; NS.K = class { values() { diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff index 670320d425..263c8c011e 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff @@ -1,6 +1,13 @@ --- old.commonJSImportNestedClassTypeReference.js +++ new.commonJSImportNestedClassTypeReference.js -@@= skipped -24, +24 lines =@@ +@@= skipped -18, +18 lines =@@ + + //// [mod1.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + var NS = {}; + NS.K = class { + values() { return new NS.K(); } }; @@ -8,7 +15,7 @@ exports.K = NS.K; //// [main.js] "use strict"; -@@= skipped -11, +12 lines =@@ +@@= skipped -17, +19 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js index d37c0296df..31c1fad1c3 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js @@ -18,6 +18,8 @@ class Bar { } module.exports = Bar; //// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const Bar = require("./bar"); const Strings = { a: "A", diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff index 568fd10cbb..c93936877c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff @@ -1,6 +1,15 @@ --- old.jsDeclarationsClassExtendsVisibility.js +++ new.jsDeclarationsClassExtendsVisibility.js -@@= skipped -25, +25 lines =@@ +@@= skipped -17, +17 lines =@@ + } + module.exports = Bar; + //// [cls.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const Bar = require("./bar"); + const Strings = { + a: "A", +@@= skipped -8, +10 lines =@@ class Foo extends Bar { } module.exports = Foo; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js index 701b2a08ae..7e863089eb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js @@ -26,6 +26,8 @@ module.exports.Strings = Strings //// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); class Handler { static get OPTIONS() { return 1; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff index 56d9a66f0f..bdce0b0154 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff @@ -1,6 +1,15 @@ --- old.jsDeclarationsClassStatic.js +++ new.jsDeclarationsClassStatic.js -@@= skipped -38, +38 lines =@@ +@@= skipped -25, +25 lines =@@ + + + //// [source.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + class Handler { + static get OPTIONS() { + return 1; +@@= skipped -13, +15 lines =@@ b: "B" }; module.exports = Handler; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js index 965f8d6f9f..50e909346c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js @@ -18,6 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); function validate() { } exports.default = validate; //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const m = require("./exporter"); module.exports = m.default; export var memberName = "thing"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff index de434879a8..45ae305284 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff @@ -1,7 +1,11 @@ --- old.jsDeclarationsCrossfileMerge.js +++ new.jsDeclarationsCrossfileMerge.js -@@= skipped -19, +19 lines =@@ +@@= skipped -17, +17 lines =@@ + function validate() { } + exports.default = validate; //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); const m = require("./exporter"); module.exports = m.default; +export var memberName = "thing"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js index c3a4dc55a8..3a002970dd 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js @@ -17,6 +17,8 @@ module.exports.Sub = class { //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); module.exports = class { /** * @param {number} p diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff index 66e636fb2d..635641bdd8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff @@ -1,6 +1,15 @@ --- old.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js +++ new.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js -@@= skipped -24, +24 lines =@@ +@@= skipped -16, +16 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + module.exports = class { + /** + * @param {number} p +@@= skipped -8, +10 lines =@@ this.t = 12 + p; } }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js index 11608eeaba..1264eecc39 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js @@ -16,6 +16,8 @@ module.exports.Another = Q; //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); class A { member = new Q(); } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff index cf99f1dbf3..79f6d0a917 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff @@ -1,8 +1,11 @@ --- old.jsDeclarationsExportAssignedClassExpressionShadowing.js +++ new.jsDeclarationsExportAssignedClassExpressionShadowing.js -@@= skipped -16, +16 lines =@@ +@@= skipped -15, +15 lines =@@ + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); class A { - constructor() { - this.member = new Q(); diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js index 7a15e1b3e4..162fa15072 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js @@ -11,6 +11,8 @@ module.exports = new Foo(); module.exports.additional = 20; //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); class Foo { static stat = 10; member = 10; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff index 026beccd0a..84b0f01f1b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff @@ -1,8 +1,11 @@ --- old.jsDeclarationsExportAssignedClassInstance3.js +++ new.jsDeclarationsExportAssignedClassInstance3.js -@@= skipped -11, +11 lines =@@ +@@= skipped -10, +10 lines =@@ + module.exports.additional = 20; //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); class Foo { - constructor() { - this.member = 10; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js index b793c3672e..50c7df5365 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js @@ -12,6 +12,8 @@ module.exports.MyClass.prototype = { //// [jsDeclarationsExportAssignedConstructorFunction.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); /** @constructor */ export var MyClass = function () { this.x = 1; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff index b86c8da61d..a1e3ca15d5 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff @@ -1,17 +1,19 @@ --- old.jsDeclarationsExportAssignedConstructorFunction.js +++ new.jsDeclarationsExportAssignedConstructorFunction.js -@@= skipped -12, +12 lines =@@ +@@= skipped -11, +11 lines =@@ + //// [jsDeclarationsExportAssignedConstructorFunction.js] - /** @constructor */ ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++/** @constructor */ +export var MyClass = function () { + this.x = 1; +}; -+/** @constructor */ + /** @constructor */ module.exports.MyClass = function () { this.x = 1; - }; -@@= skipped -10, +14 lines =@@ +@@= skipped -11, +17 lines =@@ //// [jsDeclarationsExportAssignedConstructorFunction.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js index f470e836cf..ace1f067bb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js @@ -14,6 +14,8 @@ module.exports.Sub.prototype = { } //// [jsDeclarationsExportAssignedConstructorFunctionWithSub.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); /** * @param {number} p */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff index 8816133088..dfb3d03971 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff @@ -1,6 +1,14 @@ --- old.jsDeclarationsExportAssignedConstructorFunctionWithSub.js +++ new.jsDeclarationsExportAssignedConstructorFunctionWithSub.js -@@= skipped -19, +19 lines =@@ +@@= skipped -13, +13 lines =@@ + + + //// [jsDeclarationsExportAssignedConstructorFunctionWithSub.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @param {number} p + */ module.exports = function (p) { this.t = 12 + p; }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js index decef94386..170d8236ae 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js @@ -16,6 +16,8 @@ module.exports.Strings = Strings; //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const Strings = { a: "A", b: "B" diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff index 50b4c75cb5..71fa78bdfe 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff @@ -1,6 +1,15 @@ --- old.jsDeclarationsExportAssignmentExpressionPlusSecondary.js +++ new.jsDeclarationsExportAssignmentExpressionPlusSecondary.js -@@= skipped -26, +26 lines =@@ +@@= skipped -15, +15 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const Strings = { + a: "A", + b: "B" +@@= skipped -11, +13 lines =@@ item: "ok" } }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js index abbe90cc0f..2eed1f908e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js @@ -236,10 +236,14 @@ module.exports = { ns }; const ns = require("./cls"); module.exports = ns; //// [cjs3.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const ns = require("./cls"); export var ns = ns; module.exports.ns = ns; //// [cjs4.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const ns = require("./cls"); export var names = ns; module.exports.names = ns; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff index 0a5572f0e2..b92e6340bb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff @@ -1,18 +1,23 @@ --- old.jsDeclarationsExportForms.js +++ new.jsDeclarationsExportForms.js -@@= skipped -236, +236 lines =@@ +@@= skipped -235, +235 lines =@@ + const ns = require("./cls"); module.exports = ns; //// [cjs3.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); const ns = require("./cls"); +export var ns = ns; module.exports.ns = ns; //// [cjs4.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); const ns = require("./cls"); +export var names = ns; module.exports.names = ns; //// [includeAll.js] "use strict"; -@@= skipped -20, +22 lines =@@ +@@= skipped -21, +27 lines =@@ //// [cls.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js index 8030300917..a9880502fe 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js @@ -10,6 +10,8 @@ module.exports = Foo; module.exports.Strings = Strings; //// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const Strings = { a: "A", b: "B" diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff index da5054bf0e..679f73626b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff @@ -1,6 +1,15 @@ --- old.jsDeclarationsExportSubAssignments.js +++ new.jsDeclarationsExportSubAssignments.js -@@= skipped -16, +16 lines =@@ +@@= skipped -9, +9 lines =@@ + module.exports.Strings = Strings; + + //// [cls.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const Strings = { + a: "A", + b: "B" +@@= skipped -7, +9 lines =@@ class Foo { } module.exports = Foo; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js index 6ab4694cfb..e8f0949e96 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js @@ -62,6 +62,8 @@ module.exports.j = function j() {} //// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var a = function a() { }; module.exports.a = function a() { }; export var b = function b() { }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff index ded27f1704..014da86514 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff @@ -4,6 +4,8 @@ //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var a = function a() { }; module.exports.a = function a() { }; +export var b = function b() { }; @@ -13,7 +15,7 @@ module.exports.c = function c() { }; module.exports.c.Cls = class { }; -@@= skipped -11, +14 lines =@@ +@@= skipped -11, +16 lines =@@ * @param {number} b * @return {string} */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js index 82f51d1312..0469b5358c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js @@ -15,7 +15,9 @@ module.exports.A.B = { //// [index.js] +"use strict"; /// +Object.defineProperty(exports, "__esModule", { value: true }); const Something = require("fs").Something; export var A = {}; module.exports.A = {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff index db8c49d5c2..afd05f2739 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff @@ -1,14 +1,18 @@ --- old.jsDeclarationsTypeReferences3.js +++ new.jsDeclarationsTypeReferences3.js -@@= skipped -16, +16 lines =@@ +@@= skipped -14, +14 lines =@@ + + //// [index.js] ++"use strict"; /// ++Object.defineProperty(exports, "__esModule", { value: true }); const Something = require("fs").Something; +export var A = {}; module.exports.A = {}; module.exports.A.B = { thing: new Something() -@@= skipped -7, +8 lines =@@ +@@= skipped -9, +12 lines =@@ //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js index b87ec78361..65b2dbedb4 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js @@ -8,6 +8,8 @@ exports["Does not work yet"] = D; //// [moduleExportAliasElementAccessExpression.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); function D() { } export var D = D; exports["D"] = D; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff index 1160f9da4e..5d2f55b2a9 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff @@ -1,8 +1,11 @@ --- old.moduleExportAliasElementAccessExpression.js +++ new.moduleExportAliasElementAccessExpression.js -@@= skipped -8, +8 lines =@@ +@@= skipped -7, +7 lines =@@ + //// [moduleExportAliasElementAccessExpression.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); function D() { } +export var D = D; exports["D"] = D; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types index 87be3adf53..2a68c7781f 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types @@ -20,6 +20,6 @@ module.exports = alias === importer.js === import('./bug28014') ->import('./bug28014') : Promise<{ default: () => void; }> +>import('./bug28014') : Promise<() => void> >'./bug28014' : "./bug28014" diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff index def0b9d725..23aa34c07b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff @@ -31,5 +31,5 @@ === importer.js === import('./bug28014') ->import('./bug28014') : Promise<{ version: 1; default: { (): void; version: 1; }; }> -+>import('./bug28014') : Promise<{ default: () => void; }> ++>import('./bug28014') : Promise<() => void> >'./bug28014' : "./bug28014" diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js index f761fbaae6..4ee7030d20 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js @@ -14,6 +14,7 @@ apply() //// [moduleExportAliasDuplicateAlias.js] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var apply = undefined; exports.apply = undefined; function a() { } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff index 10fb671f79..da8d0fc2d2 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff @@ -4,6 +4,7 @@ //// [moduleExportAliasDuplicateAlias.js] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; exports.apply = undefined; function a() { } @@ -12,7 +13,7 @@ exports.apply = a; exports.apply(); //// [test.js] -@@= skipped -12, +14 lines =@@ +@@= skipped -12, +15 lines =@@ //// [moduleExportAliasDuplicateAlias.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js index fc1e785f89..464a441258 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js @@ -14,6 +14,7 @@ apply() //// [moduleExportAliasDuplicateAlias.js] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var apply = undefined; module.exports.apply = undefined; function a() { } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff index 9bc4e9ec7d..51dfb3c53a 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff @@ -4,6 +4,7 @@ //// [moduleExportAliasDuplicateAlias.js] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; module.exports.apply = undefined; function a() { } @@ -13,7 +14,7 @@ module.exports.apply = a; module.exports.apply(); //// [test.js] -@@= skipped -12, +15 lines =@@ +@@= skipped -12, +16 lines =@@ //// [moduleExportAliasDuplicateAlias.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js index d4b7eaebe8..1826f857f2 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js @@ -17,6 +17,7 @@ const result = apply.toFixed() //// [moduleExportAliasDuplicateAlias.js] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var apply = undefined; exports.apply = undefined; export var apply = undefined; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff index 9142a22536..e091ce0595 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff @@ -4,6 +4,7 @@ //// [moduleExportAliasDuplicateAlias.js] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; exports.apply = undefined; +export var apply = undefined; @@ -19,7 +20,7 @@ exports.apply = 1; //// [test.js] "use strict"; -@@= skipped -15, +20 lines =@@ +@@= skipped -15, +21 lines =@@ //// [moduleExportAliasDuplicateAlias.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js index 272a5a007a..ea7a565f31 100644 --- a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js +++ b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js @@ -15,6 +15,8 @@ chalk //// [mod1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const chalk = { grey: {} }; diff --git a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff index fc8696b806..09d98a3c3a 100644 --- a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff +++ b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff @@ -1,6 +1,11 @@ --- old.nestedDestructuringOfRequire.js +++ new.nestedDestructuringOfRequire.js -@@= skipped -17, +17 lines =@@ +@@= skipped -14, +14 lines =@@ + + + //// [mod1.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); const chalk = { grey: {} }; @@ -8,7 +13,7 @@ module.exports.chalk = chalk; //// [main.js] const { chalk: { grey } } = require('./mod1'); -@@= skipped -8, +9 lines =@@ +@@= skipped -11, +14 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js index f87b35ecee..f6e3da8b76 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js @@ -25,6 +25,7 @@ three.foo; module.exports = {}; //// [2.cjs] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff index df2d0460b3..b265d7d75c 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff @@ -4,6 +4,7 @@ module.exports = {}; //// [2.cjs] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js index f87b35ecee..f6e3da8b76 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js @@ -25,6 +25,7 @@ three.foo; module.exports = {}; //// [2.cjs] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff index 1d46e50685..f8ade29526 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff @@ -4,6 +4,7 @@ module.exports = {}; //// [2.cjs] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js index f87b35ecee..f6e3da8b76 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js @@ -25,6 +25,7 @@ three.foo; module.exports = {}; //// [2.cjs] "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff index d6396c3e8a..5016b99722 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff @@ -4,6 +4,7 @@ module.exports = {}; //// [2.cjs] "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt deleted file mode 100644 index 09f1fbd268..0000000000 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -/a.ts(2,5): error TS2339: Property 'bar' does not exist on type 'typeof import("/node_modules/foo/index")'. - - -==== /a.ts (1 errors) ==== - import foo from "foo"; - foo.bar(); - ~~~ -!!! error TS2339: Property 'bar' does not exist on type 'typeof import("/node_modules/foo/index")'. - -==== /node_modules/foo/index.js (0 errors) ==== - exports.default = { bar() { return 0; } } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt.diff new file mode 100644 index 0000000000..1d8aabb7f2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt.diff @@ -0,0 +1,16 @@ +--- old.untypedModuleImport_allowJs.errors.txt ++++ new.untypedModuleImport_allowJs.errors.txt +@@= skipped -0, +0 lines =@@ +-/a.ts(2,5): error TS2339: Property 'bar' does not exist on type 'typeof import("/node_modules/foo/index")'. +- +- +-==== /a.ts (1 errors) ==== +- import foo from "foo"; +- foo.bar(); +- ~~~ +-!!! error TS2339: Property 'bar' does not exist on type 'typeof import("/node_modules/foo/index")'. +- +-==== /node_modules/foo/index.js (0 errors) ==== +- exports.default = { bar() { return 0; } } +- ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols index 99801b5b7e..6493017cb5 100644 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols @@ -5,7 +5,9 @@ import foo from "foo"; >foo : Symbol(foo, Decl(a.ts, 0, 6)) foo.bar(); +>foo.bar : Symbol(bar, Decl(index.js, 0, 19)) >foo : Symbol(foo, Decl(a.ts, 0, 6)) +>bar : Symbol(bar, Decl(index.js, 0, 19)) === /node_modules/foo/index.js === exports.default = { bar() { return 0; } } diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols.diff b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols.diff index 3fa69a4d35..09efca276a 100644 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols.diff @@ -1,6 +1,13 @@ --- old.untypedModuleImport_allowJs.symbols +++ new.untypedModuleImport_allowJs.symbols -@@= skipped -9, +9 lines =@@ +@@= skipped -4, +4 lines =@@ + >foo : Symbol(foo, Decl(a.ts, 0, 6)) + + foo.bar(); ++>foo.bar : Symbol(bar, Decl(index.js, 0, 19)) + >foo : Symbol(foo, Decl(a.ts, 0, 6)) ++>bar : Symbol(bar, Decl(index.js, 0, 19)) + === /node_modules/foo/index.js === exports.default = { bar() { return 0; } } >exports.default : Symbol(default, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types index 8965344e10..114f087c64 100644 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types @@ -2,13 +2,13 @@ === /a.ts === import foo from "foo"; ->foo : typeof foo +>foo : { bar(): number; } foo.bar(); ->foo.bar() : any ->foo.bar : any ->foo : typeof foo ->bar : any +>foo.bar() : number +>foo.bar : () => number +>foo : { bar(): number; } +>bar : () => number === /node_modules/foo/index.js === exports.default = { bar() { return 0; } } diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types.diff b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types.diff new file mode 100644 index 0000000000..ede066d4fe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types.diff @@ -0,0 +1,21 @@ +--- old.untypedModuleImport_allowJs.types ++++ new.untypedModuleImport_allowJs.types +@@= skipped -1, +1 lines =@@ + + === /a.ts === + import foo from "foo"; +->foo : typeof foo ++>foo : { bar(): number; } + + foo.bar(); +->foo.bar() : any +->foo.bar : any +->foo : typeof foo +->bar : any ++>foo.bar() : number ++>foo.bar : () => number ++>foo : { bar(): number; } ++>bar : () => number + + === /node_modules/foo/index.js === + exports.default = { bar() { return 0; } } \ No newline at end of file