diff --git a/internal/ast/parseoptions.go b/internal/ast/parseoptions.go index 73e8bfc6c5..d8215206c4 100644 --- a/internal/ast/parseoptions.go +++ b/internal/ast/parseoptions.go @@ -112,6 +112,9 @@ 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 0f64fde1de..76829952bc 100644 --- a/testdata/baselines/reference/compiler/jsDeclarationExportDefaultAssignmentCrash.js +++ b/testdata/baselines/reference/compiler/jsDeclarationExportDefaultAssignmentCrash.js @@ -7,8 +7,6 @@ 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/jsFileAlternativeUseOfOverloadTag.js b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js index 6a374721cf..8fbcf1ca16 100644 --- a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js +++ b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js @@ -55,11 +55,9 @@ const example3 = { //// [jsFileAlternativeUseOfOverloadTag.js] -"use strict"; // These are a few examples of existing alternative uses of @overload tag. // They will not work as expected with our implementation, but we are // trying to make sure that our changes do not result in any crashes here. -Object.defineProperty(exports, "__esModule", { value: true }); const example1 = { /** * @overload Example1(value) @@ -108,17 +106,115 @@ const example3 = { //// [jsFileAlternativeUseOfOverloadTag.d.ts] +declare function Example1(value: any): any; +declare const example1: { + /** + * @overload Example1(value) + * Creates Example1 + * @param value [String] + */ + constructor: (value: any, options: any) => void; +}; +declare function Example2(value: any, secretAccessKey: any, sessionToken: any): any; +declare function Example2(): any; +declare const example2: { + /** + * Example 2 + * + * @overload Example2(value) + * Creates Example2 + * @param value [String] + * @param secretAccessKey [String] + * @param sessionToken [String] + * @example Creates with string value + * const example = new Example(''); + * @overload Example2(options) + * Creates Example2 + * @option options value [String] + * @example Creates with options object + * const example = new Example2({ + * value: '', + * }); + */ + constructor: () => void; +}; +declare function evaluate(): any; export type callback = (error: any, result: any) ; +declare const example3: { + /** + * @overload evaluate(options = {}, [callback]) + * Evaluate something + * @note Something interesting + * @param options [map] + * @return [string] returns evaluation result + * @return [null] returns nothing if callback provided + * @callback callback function (error, result) + * If callback is provided it will be called with evaluation result + * @param error [Error] + * @param result [String] + * @see callback + */ + evaluate: (options: any, callback: any) => void; +}; //// [DtsFileErrors] -dist/jsFileAlternativeUseOfOverloadTag.d.ts(1,50): error TS1005: '=>' expected. +dist/jsFileAlternativeUseOfOverloadTag.d.ts(34,50): error TS1005: '=>' expected. ==== dist/jsFileAlternativeUseOfOverloadTag.d.ts (1 errors) ==== + declare function Example1(value: any): any; + declare const example1: { + /** + * @overload Example1(value) + * Creates Example1 + * @param value [String] + */ + constructor: (value: any, options: any) => void; + }; + declare function Example2(value: any, secretAccessKey: any, sessionToken: any): any; + declare function Example2(): any; + declare const example2: { + /** + * Example 2 + * + * @overload Example2(value) + * Creates Example2 + * @param value [String] + * @param secretAccessKey [String] + * @param sessionToken [String] + * @example Creates with string value + * const example = new Example(''); + * @overload Example2(options) + * Creates Example2 + * @option options value [String] + * @example Creates with options object + * const example = new Example2({ + * value: '', + * }); + */ + constructor: () => void; + }; + declare function evaluate(): any; export type callback = (error: any, result: any) ; ~ !!! error TS1005: '=>' expected. + declare const example3: { + /** + * @overload evaluate(options = {}, [callback]) + * Evaluate something + * @note Something interesting + * @param options [map] + * @return [string] returns evaluation result + * @return [null] returns nothing if callback provided + * @callback callback function (error, result) + * If callback is provided it will be called with evaluation result + * @param error [Error] + * @param result [String] + * @see callback + */ + evaluate: (options: any, callback: any) => void; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff index 8dae32a238..e6be9c01f3 100644 --- a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff +++ b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff @@ -1,27 +1,17 @@ --- old.jsFileAlternativeUseOfOverloadTag.js +++ new.jsFileAlternativeUseOfOverloadTag.js -@@= skipped -54, +54 lines =@@ - - - //// [jsFileAlternativeUseOfOverloadTag.js] -+"use strict"; - // These are a few examples of existing alternative uses of @overload tag. - // They will not work as expected with our implementation, but we are - // trying to make sure that our changes do not result in any crashes here. -+Object.defineProperty(exports, "__esModule", { value: true }); - const example1 = { - /** - * @overload Example1(value) -@@= skipped -51, +53 lines =@@ +@@= skipped -105, +105 lines =@@ //// [jsFileAlternativeUseOfOverloadTag.d.ts] -declare namespace example1 { -- /** -- * @overload Example1(value) -- * Creates Example1 -- * @param value [String] -- */ ++declare function Example1(value: any): any; ++declare const example1: { + /** + * @overload Example1(value) + * Creates Example1 + * @param value [String] + */ - function constructor(value: any): any; -} -declare namespace example2 { @@ -66,19 +56,41 @@ - export { constructor_1 as constructor }; -} -declare namespace example3 { -- /** -- * @overload evaluate(options = {}, [callback]) -- * Evaluate something -- * @note Something interesting -- * @param options [map] -- * @return [string] returns evaluation result -- * @return [null] returns nothing if callback provided -- * @callback callback function (error, result) -- * If callback is provided it will be called with evaluation result -- * @param error [Error] -- * @param result [String] -- * @see callback -- */ ++ constructor: (value: any, options: any) => void; ++}; ++declare function Example2(value: any, secretAccessKey: any, sessionToken: any): any; ++declare function Example2(): any; ++declare const example2: { ++ /** ++ * Example 2 ++ * ++ * @overload Example2(value) ++ * Creates Example2 ++ * @param value [String] ++ * @param secretAccessKey [String] ++ * @param sessionToken [String] ++ * @example Creates with string value ++ * const example = new Example(''); ++ * @overload Example2(options) ++ * Creates Example2 ++ * @option options value [String] ++ * @example Creates with options object ++ * const example = new Example2({ ++ * value: '', ++ * }); ++ */ ++ constructor: () => void; ++}; ++declare function evaluate(): any; ++export type callback = (error: any, result: any) ; ++declare const example3: { + /** + * @overload evaluate(options = {}, [callback]) + * Evaluate something +@@= skipped -63, +48 lines =@@ + * @param result [String] + * @see callback + */ - function evaluate(): any; -} -/** @@ -86,17 +98,67 @@ - * If callback is provided it will be called with evaluation result - */ -type callback = (error: any, result: any) => any; -+export type callback = (error: any, result: any) ; ++ evaluate: (options: any, callback: any) => void; ++}; + + +//// [DtsFileErrors] + + -+dist/jsFileAlternativeUseOfOverloadTag.d.ts(1,50): error TS1005: '=>' expected. ++dist/jsFileAlternativeUseOfOverloadTag.d.ts(34,50): error TS1005: '=>' expected. + + +==== dist/jsFileAlternativeUseOfOverloadTag.d.ts (1 errors) ==== ++ declare function Example1(value: any): any; ++ declare const example1: { ++ /** ++ * @overload Example1(value) ++ * Creates Example1 ++ * @param value [String] ++ */ ++ constructor: (value: any, options: any) => void; ++ }; ++ declare function Example2(value: any, secretAccessKey: any, sessionToken: any): any; ++ declare function Example2(): any; ++ declare const example2: { ++ /** ++ * Example 2 ++ * ++ * @overload Example2(value) ++ * Creates Example2 ++ * @param value [String] ++ * @param secretAccessKey [String] ++ * @param sessionToken [String] ++ * @example Creates with string value ++ * const example = new Example(''); ++ * @overload Example2(options) ++ * Creates Example2 ++ * @option options value [String] ++ * @example Creates with options object ++ * const example = new Example2({ ++ * value: '', ++ * }); ++ */ ++ constructor: () => void; ++ }; ++ declare function evaluate(): any; + export type callback = (error: any, result: any) ; + ~ +!!! error TS1005: '=>' expected. ++ declare const example3: { ++ /** ++ * @overload evaluate(options = {}, [callback]) ++ * Evaluate something ++ * @note Something interesting ++ * @param options [map] ++ * @return [string] returns evaluation result ++ * @return [null] returns nothing if callback provided ++ * @callback callback function (error, result) ++ * If callback is provided it will be called with evaluation result ++ * @param error [Error] ++ * @param result [String] ++ * @see callback ++ */ ++ evaluate: (options: any, callback: any) => void; ++ }; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt index 7f1f8dbaf6..2a64d7ccfa 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt @@ -2,7 +2,6 @@ /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. @@ -43,7 +42,7 @@ ==== /g.js (0 errors) ==== exports.default = 0; -==== /main1.ts (4 errors) ==== +==== /main1.ts (3 errors) ==== import { x, y } from "./a"; // No y import a1 = require("./a"); // { x: 0 } const a2 = require("./a"); // Error in TS @@ -80,8 +79,6 @@ 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 4a43b58d40..63b7095c89 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff @@ -8,7 +8,6 @@ /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. @@ -18,7 +17,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, +16 lines =@@ +@@= skipped -18, +15 lines =@@ /main3.cjs(17,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. @@ -31,21 +30,19 @@ ==== /b.ts (0 errors) ==== export default 0; -@@= skipped -30, +28 lines =@@ +@@= skipped -28, +26 lines =@@ + ==== /g.js (0 errors) ==== + exports.default = 0; - ==== /main1.ts (4 errors) ==== +-==== /main1.ts (4 errors) ==== ++==== /main1.ts (3 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 -37, +35 lines =@@ - - import g1 from "./g"; // { default: 0 } - g1.default; -+ ~~~~~~~ -+!!! error TS2339: Property 'default' does not exist on type '0'. +@@= skipped -42, +40 lines =@@ import g2 = require("./g"); // { default: 0 } g2.default; @@ -57,7 +54,7 @@ import a1 = require("./a"); // { x: 0 } a1.x; a1.default.x; // Arguably should exist but doesn't -@@= skipped -38, +38 lines =@@ +@@= skipped -35, +33 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 ec9a19af94..3cace490b3 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols @@ -133,15 +133,17 @@ 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, Decl(g.js, 0, 0)) +>g2.default : Symbol(g1.default, Decl(g.js, 0, 0)) >g2 : Symbol(g2, Decl(main1.ts, 29, 11)) ->default : Symbol(g1, Decl(g.js, 0, 0)) +>default : Symbol(g1.default, Decl(g.js, 0, 0)) === /main2.mts === import { x, y } from "./a"; // No y @@ -257,7 +259,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(g2, Decl(g.js, 0, 0)) +>"./g" : Symbol(g1, 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 2cf5e1aeb9..6d95c25f3d 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff @@ -21,33 +21,7 @@ >default : Symbol(default, Decl(g.js, 0, 0)) === /main1.ts === -@@= 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)) - +@@= skipped -227, +227 lines =@@ === /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 868beda53e..cb6b2aaba1 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 : 0 +>g1 : typeof g1 g1.default; ->g1.default : any ->g1 : 0 ->default : any +>g1.default : 0 +>g1 : typeof g1 +>default : 0 import g2 = require("./g"); // { default: 0 } ->g2 : typeof g2 +>g2 : typeof g1 g2.default; >g2.default : 0 ->g2 : typeof g2 +>g2 : typeof g1 >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 : 0 +>g1 : typeof g1 import g2 = require("./g"); // { default: 0 } ->g2 : typeof g2 +>g2 : typeof g1 === /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 : 0 +>g1 : typeof g1 const g2 = require("./g"); // { default: 0 } ->g2 : typeof g2 ->require("./g") : typeof g2 +>g2 : typeof g1 +>require("./g") : typeof g1 >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 632c2c34ea..0c92c48371 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff @@ -26,31 +26,7 @@ import a1 = require("./a"); // { x: 0 } >a1 : typeof a1 -@@= 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 - +@@= skipped -119, +119 lines =@@ === /main2.mts === import { x, y } from "./a"; // No y >x : 0 @@ -59,17 +35,7 @@ import a1 = require("./a"); // { x: 0 } >a1 : typeof a1 -@@= 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 - +@@= skipped -62, +62 lines =@@ === /main3.cjs === import { x, y } from "./a"; // No y >x : 0 @@ -77,18 +43,4 @@ +>y : 0 import a1 = require("./a"); // Error in JS - >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" + >a1 : typeof a1 \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js index 08eb0d9824..92605e72b4 100644 --- a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js +++ b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js @@ -22,8 +22,6 @@ 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 ed275fe236..5a80a09432 100644 --- a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff +++ b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff @@ -4,8 +4,6 @@ /// 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 54f30a42d6..99874afc29 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js @@ -8,8 +8,6 @@ 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 714b31fe2a..704fed10be 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff @@ -1,14 +1,11 @@ --- old.assignmentToVoidZero1.js +++ new.assignmentToVoidZero1.js -@@= skipped -7, +7 lines =@@ - +@@= skipped -8, +8 lines =@@ //// [assignmentToVoidZero1.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+// #38552 -+export var y = exports.x = void 0; // #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 9b3221fcfd..b9180916a5 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js @@ -21,8 +21,6 @@ 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 1e6837ef28..bc38ad6809 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff @@ -4,15 +4,13 @@ //// [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, +24 lines =@@ +@@= skipped -20, +22 lines =@@ //// [assignmentToVoidZero2.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js index e4a6e2d044..6021aa159f 100644 --- a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js +++ b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js @@ -33,3 +33,9 @@ export type WorksWithPeopleCallback = (person: { name: string; age?: number; }) => void; +/** + * For each person, calls your callback. + * @param {WorksWithPeopleCallback} callback + * @returns {void} + */ +declare function eachPerson(callback: WorksWithPeopleCallback): void; diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff index 9a6867a5c8..8fe8a594c2 100644 --- a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff +++ b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff @@ -4,14 +4,17 @@ * @param {number} [person.age] * @returns {void} */ --/** -- * For each person, calls your callback. -- * @param {WorksWithPeopleCallback} callback -- * @returns {void} -- */ --declare function eachPerson(callback: WorksWithPeopleCallback): void; --type WorksWithPeopleCallback = (person: { +export type WorksWithPeopleCallback = (person: { - name: string; - age?: number; - }) => void; \ No newline at end of file ++ name: string; ++ age?: number; ++}) => void; + /** + * For each person, calls your callback. + * @param {WorksWithPeopleCallback} callback + * @returns {void} + */ + declare function eachPerson(callback: WorksWithPeopleCallback): void; +-type WorksWithPeopleCallback = (person: { +- name: string; +- age?: number; +-}) => void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js index fd0f4efd9f..9f452a1380 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js @@ -18,8 +18,6 @@ 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 8f7d21d18b..bc1e674cb3 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff @@ -1,13 +1,6 @@ --- old.commonJSAliasedExport.js +++ new.commonJSAliasedExport.js -@@= skipped -17, +17 lines =@@ - - - //// [commonJSAliasedExport.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - const donkey = (ast) => ast; - function funky(declaration) { +@@= skipped -22, +22 lines =@@ return false; } module.exports = donkey; @@ -15,7 +8,7 @@ module.exports.funky = funky; //// [bug43713.js] const { funky } = require('./commonJSAliasedExport'); -@@= skipped -14, +17 lines =@@ +@@= skipped -9, +10 lines =@@ //// [commonJSAliasedExport.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js index 6d25b48359..75639dc8fd 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js @@ -18,7 +18,6 @@ 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 b8983fb6eb..6f1f5c052c 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff @@ -1,12 +1,6 @@ --- old.commonJSImportClassTypeReference.js +++ new.commonJSImportClassTypeReference.js -@@= skipped -17, +17 lines =@@ - - //// [mod1.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - class K { - values() { +@@= skipped -22, +22 lines =@@ return new K(); } } @@ -14,7 +8,7 @@ exports.K = K; //// [main.js] "use strict"; -@@= skipped -16, +18 lines =@@ +@@= skipped -11, +12 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js index 60789d061e..ab7a08c876 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js @@ -16,7 +16,6 @@ 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 eedc85ac50..b9fb130cc2 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff @@ -4,7 +4,6 @@ //// [mod1.js] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var K = class K { + values() { + } @@ -12,7 +11,7 @@ exports.K = class K { values() { } -@@= skipped -14, +19 lines =@@ +@@= skipped -14, +18 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js index bd6dfdc330..f09940564a 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js @@ -19,7 +19,6 @@ 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 263c8c011e..670320d425 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff @@ -1,13 +1,6 @@ --- old.commonJSImportNestedClassTypeReference.js +++ new.commonJSImportNestedClassTypeReference.js -@@= skipped -18, +18 lines =@@ - - //// [mod1.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - var NS = {}; - NS.K = class { - values() { +@@= skipped -24, +24 lines =@@ return new NS.K(); } }; @@ -15,7 +8,7 @@ exports.K = NS.K; //// [main.js] "use strict"; -@@= skipped -17, +19 lines =@@ +@@= skipped -11, +12 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js index 31c1fad1c3..d37c0296df 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js @@ -18,8 +18,6 @@ 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 c93936877c..568fd10cbb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff @@ -1,15 +1,6 @@ --- old.jsDeclarationsClassExtendsVisibility.js +++ new.jsDeclarationsClassExtendsVisibility.js -@@= 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 =@@ +@@= skipped -25, +25 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 7e863089eb..701b2a08ae 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js @@ -26,8 +26,6 @@ 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 bdce0b0154..56d9a66f0f 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff @@ -1,15 +1,6 @@ --- old.jsDeclarationsClassStatic.js +++ new.jsDeclarationsClassStatic.js -@@= 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 =@@ +@@= skipped -38, +38 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 50e909346c..965f8d6f9f 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js @@ -18,8 +18,6 @@ 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 45ae305284..de434879a8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff @@ -1,11 +1,7 @@ --- old.jsDeclarationsCrossfileMerge.js +++ new.jsDeclarationsCrossfileMerge.js -@@= skipped -17, +17 lines =@@ - function validate() { } - exports.default = validate; +@@= skipped -19, +19 lines =@@ //// [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 3a002970dd..c3a4dc55a8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js @@ -17,8 +17,6 @@ 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 635641bdd8..66e636fb2d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff @@ -1,15 +1,6 @@ --- old.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js +++ new.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js -@@= skipped -16, +16 lines =@@ - - - //// [index.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - module.exports = class { - /** - * @param {number} p -@@= skipped -8, +10 lines =@@ +@@= skipped -24, +24 lines =@@ this.t = 12 + p; } }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js index 1264eecc39..11608eeaba 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js @@ -16,8 +16,6 @@ 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 79f6d0a917..cf99f1dbf3 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff @@ -1,11 +1,8 @@ --- old.jsDeclarationsExportAssignedClassExpressionShadowing.js +++ new.jsDeclarationsExportAssignedClassExpressionShadowing.js -@@= skipped -15, +15 lines =@@ - +@@= skipped -16, +16 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 162fa15072..7a15e1b3e4 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js @@ -11,8 +11,6 @@ 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 84b0f01f1b..026beccd0a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff @@ -1,11 +1,8 @@ --- old.jsDeclarationsExportAssignedClassInstance3.js +++ new.jsDeclarationsExportAssignedClassInstance3.js -@@= skipped -10, +10 lines =@@ - module.exports.additional = 20; +@@= skipped -11, +11 lines =@@ //// [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 50c7df5365..b793c3672e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js @@ -12,8 +12,6 @@ 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 a1e3ca15d5..b86c8da61d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff @@ -1,19 +1,17 @@ --- old.jsDeclarationsExportAssignedConstructorFunction.js +++ new.jsDeclarationsExportAssignedConstructorFunction.js -@@= skipped -11, +11 lines =@@ - +@@= skipped -12, +12 lines =@@ //// [jsDeclarationsExportAssignedConstructorFunction.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+/** @constructor */ + /** @constructor */ +export var MyClass = function () { + this.x = 1; +}; - /** @constructor */ ++/** @constructor */ module.exports.MyClass = function () { this.x = 1; -@@= skipped -11, +17 lines =@@ + }; +@@= skipped -10, +14 lines =@@ //// [jsDeclarationsExportAssignedConstructorFunction.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js index ace1f067bb..f470e836cf 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js @@ -14,8 +14,6 @@ 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 dfb3d03971..8816133088 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff @@ -1,14 +1,6 @@ --- old.jsDeclarationsExportAssignedConstructorFunctionWithSub.js +++ new.jsDeclarationsExportAssignedConstructorFunctionWithSub.js -@@= skipped -13, +13 lines =@@ - - - //// [jsDeclarationsExportAssignedConstructorFunctionWithSub.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - /** - * @param {number} p - */ +@@= skipped -19, +19 lines =@@ 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 170d8236ae..decef94386 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js @@ -16,8 +16,6 @@ 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 71fa78bdfe..50b4c75cb5 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff @@ -1,15 +1,6 @@ --- old.jsDeclarationsExportAssignmentExpressionPlusSecondary.js +++ new.jsDeclarationsExportAssignmentExpressionPlusSecondary.js -@@= skipped -15, +15 lines =@@ - - - //// [index.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - const Strings = { - a: "A", - b: "B" -@@= skipped -11, +13 lines =@@ +@@= skipped -26, +26 lines =@@ item: "ok" } }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js index 2eed1f908e..abbe90cc0f 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js @@ -236,14 +236,10 @@ 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 b92e6340bb..0a5572f0e2 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff @@ -1,23 +1,18 @@ --- old.jsDeclarationsExportForms.js +++ new.jsDeclarationsExportForms.js -@@= skipped -235, +235 lines =@@ - const ns = require("./cls"); +@@= skipped -236, +236 lines =@@ 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 -21, +27 lines =@@ +@@= skipped -20, +22 lines =@@ //// [cls.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js index a9880502fe..8030300917 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js @@ -10,8 +10,6 @@ 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 679f73626b..da5054bf0e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff @@ -1,15 +1,6 @@ --- old.jsDeclarationsExportSubAssignments.js +++ new.jsDeclarationsExportSubAssignments.js -@@= 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 =@@ +@@= skipped -16, +16 lines =@@ class Foo { } module.exports = Foo; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js index 218ee2e1e6..7a23260882 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js @@ -16,8 +16,6 @@ MyClass.staticProperty = 123; */ //// [source.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); module.exports = MyClass; function MyClass() { } MyClass.staticMethod = function () { }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff index 45122829f0..5c6c9bb910 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff @@ -1,15 +1,6 @@ --- old.jsDeclarationsFunctionPrototypeStatic.js +++ new.jsDeclarationsFunctionPrototypeStatic.js -@@= skipped -15, +15 lines =@@ - */ - - //// [source.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - module.exports = MyClass; - function MyClass() { } - MyClass.staticMethod = function () { }; -@@= skipped -16, +18 lines =@@ +@@= skipped -31, +31 lines =@@ //// [source.d.ts] export = MyClass; declare function MyClass(): void; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js index e8f0949e96..6ab4694cfb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js @@ -62,8 +62,6 @@ 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 014da86514..ded27f1704 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff @@ -4,8 +4,6 @@ //// [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() { }; @@ -15,7 +13,7 @@ module.exports.c = function c() { }; module.exports.c.Cls = class { }; -@@= skipped -11, +16 lines =@@ +@@= skipped -11, +14 lines =@@ * @param {number} b * @return {string} */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js index e18c40a16c..5806719ef7 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js @@ -57,7 +57,6 @@ const couldntThinkOfAny = {}; const test = (base) => { return base; }; -export {}; //// [base.d.ts] @@ -70,5 +69,18 @@ declare namespace BaseFactory { } export = BaseFactory; //// [file.d.ts] -export type BaseFactory = import('./base'); +type BaseFactory = import('./base'); export type BaseFactoryFactory = (factory: import('./base')) ; +/** @typedef {import('./base')} BaseFactory */ +/** + * @callback BaseFactoryFactory + * @param {import('./base')} factory + */ +/** @enum {import('./base')} */ +declare const couldntThinkOfAny: {}; +/** + * + * @param {InstanceType} base + * @returns {InstanceType} + */ +declare const test: (base: any) => any; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff index 4b9a4f0dd3..192a51589c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff @@ -1,10 +1,6 @@ --- old.jsDeclarationsParameterTagReusesInputNodeInEmit1.js +++ new.jsDeclarationsParameterTagReusesInputNodeInEmit1.js -@@= skipped -56, +56 lines =@@ - const test = (base) => { - return base; - }; -+export {}; +@@= skipped -59, +59 lines =@@ //// [base.d.ts] @@ -28,18 +24,15 @@ - new (): {}; - }; -}; --/** @typedef {import('./base')} BaseFactory */ --/** -- * @callback BaseFactoryFactory -- * @param {import('./base')} factory -- */ --/** @enum {import('./base')} */ --declare const couldntThinkOfAny: {}; --/** -- * -- * @param {InstanceType} base -- * @returns {InstanceType} -- */ ++type BaseFactory = import('./base'); ++export type BaseFactoryFactory = (factory: import('./base')) ; + /** @typedef {import('./base')} BaseFactory */ + /** + * @callback BaseFactoryFactory +@@= skipped -26, +23 lines =@@ + * @param {InstanceType} base + * @returns {InstanceType} + */ -declare function test(base: InstanceType): InstanceType; -type BaseFactory = { - (): {}; @@ -53,5 +46,4 @@ - new (): {}; - }; -}) => any; -+export type BaseFactory = import('./base'); -+export type BaseFactoryFactory = (factory: import('./base')) ; \ No newline at end of file ++declare const test: (base: any) => any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js index 0469b5358c..82f51d1312 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js @@ -15,9 +15,7 @@ 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 afd05f2739..db8c49d5c2 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff @@ -1,18 +1,14 @@ --- old.jsDeclarationsTypeReferences3.js +++ new.jsDeclarationsTypeReferences3.js -@@= skipped -14, +14 lines =@@ - - +@@= skipped -16, +16 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 -9, +12 lines =@@ +@@= skipped -7, +8 lines =@@ //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js index 65b2dbedb4..b87ec78361 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js @@ -8,8 +8,6 @@ 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 5d2f55b2a9..1160f9da4e 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff @@ -1,11 +1,8 @@ --- old.moduleExportAliasElementAccessExpression.js +++ new.moduleExportAliasElementAccessExpression.js -@@= skipped -7, +7 lines =@@ - +@@= skipped -8, +8 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 2a68c7781f..87be3adf53 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<() => void> +>import('./bug28014') : Promise<{ default: () => void; }> >'./bug28014' : "./bug28014" diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff index 23aa34c07b..def0b9d725 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<() => void> ++>import('./bug28014') : Promise<{ default: () => void; }> >'./bug28014' : "./bug28014" diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js index 4ee7030d20..f761fbaae6 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js @@ -14,7 +14,6 @@ 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 da8d0fc2d2..10fb671f79 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff @@ -4,7 +4,6 @@ //// [moduleExportAliasDuplicateAlias.js] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; exports.apply = undefined; function a() { } @@ -13,7 +12,7 @@ exports.apply = a; exports.apply(); //// [test.js] -@@= skipped -12, +15 lines =@@ +@@= skipped -12, +14 lines =@@ //// [moduleExportAliasDuplicateAlias.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js index 464a441258..fc1e785f89 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js @@ -14,7 +14,6 @@ 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 51dfb3c53a..9bc4e9ec7d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff @@ -4,7 +4,6 @@ //// [moduleExportAliasDuplicateAlias.js] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; module.exports.apply = undefined; function a() { } @@ -14,7 +13,7 @@ module.exports.apply = a; module.exports.apply(); //// [test.js] -@@= skipped -12, +16 lines =@@ +@@= skipped -12, +15 lines =@@ //// [moduleExportAliasDuplicateAlias.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js index 1826f857f2..d4b7eaebe8 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js @@ -17,7 +17,6 @@ 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 e091ce0595..9142a22536 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff @@ -4,7 +4,6 @@ //// [moduleExportAliasDuplicateAlias.js] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; exports.apply = undefined; +export var apply = undefined; @@ -20,7 +19,7 @@ exports.apply = 1; //// [test.js] "use strict"; -@@= skipped -15, +21 lines =@@ +@@= skipped -15, +20 lines =@@ //// [moduleExportAliasDuplicateAlias.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js index ea7a565f31..272a5a007a 100644 --- a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js +++ b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js @@ -15,8 +15,6 @@ 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 09d98a3c3a..fc8696b806 100644 --- a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff +++ b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff @@ -1,11 +1,6 @@ --- old.nestedDestructuringOfRequire.js +++ new.nestedDestructuringOfRequire.js -@@= skipped -14, +14 lines =@@ - - - //// [mod1.js] -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +@@= skipped -17, +17 lines =@@ const chalk = { grey: {} }; @@ -13,7 +8,7 @@ module.exports.chalk = chalk; //// [main.js] const { chalk: { grey } } = require('./mod1'); -@@= skipped -11, +14 lines =@@ +@@= skipped -8, +9 lines =@@ //// [mod1.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js index 9b384afd88..26167e83cb 100644 --- a/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js +++ b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js @@ -59,7 +59,6 @@ function flatMap(array, iterable = identity) { //// [templateInsideCallback.js] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); /** * @typedef Oops * @template T @@ -115,9 +114,28 @@ function flatMap(array, iterable = identity) { //// [templateInsideCallback.d.ts] export type Call = () ; -export type Nested = { +/** + * @typedef Oops + * @template T + * @property {T} a + * @property {T} b + */ +/** + * @callback Call + * @template T + * @param {T} x + * @returns {T} + */ +/** + * @template T + * @type {Call} + */ +declare const identity: Call; +type Nested = { oh: { no: number; noooooo: string; }; }; +declare function flatMap(): any; +declare function flatMap(): any; diff --git a/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff index 6c9be2b1a2..17015f2613 100644 --- a/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff +++ b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff @@ -1,14 +1,6 @@ --- old.templateInsideCallback.js +++ new.templateInsideCallback.js -@@= skipped -58, +58 lines =@@ - - //// [templateInsideCallback.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - /** - * @typedef Oops - * @template T -@@= skipped -47, +48 lines =@@ +@@= skipped -105, +105 lines =@@ /** @type {unknown[]} */ const result = []; for (let i = 0; i < array.length; i += 1) { @@ -36,30 +28,15 @@ - * @returns {T[]} - */ -declare function flatMap(): any; --/** -- * @typedef Oops -- * @template T -- * @property {T} a -- * @property {T} b -- */ --/** -- * @callback Call -- * @template T -- * @param {T} x -- * @returns {T} -- */ --/** -- * @template T -- * @type {Call} -- */ --declare const identity: Call; --type Nested = { +export type Call = () ; -+export type Nested = { - oh: { - no: number; + /** + * @typedef Oops + * @template T +@@= skipped -46, +31 lines =@@ noooooo: string; }; }; -type Oops = any; --type Call = () => any; \ No newline at end of file +-type Call = () => any; ++declare function flatMap(): any; ++declare function flatMap(): any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt new file mode 100644 index 0000000000..09f1fbd268 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt @@ -0,0 +1,12 @@ +/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 deleted file mode 100644 index 1d8aabb7f2..0000000000 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.errors.txt.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- 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 6493017cb5..99801b5b7e 100644 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols @@ -5,9 +5,7 @@ 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 09efca276a..3fa69a4d35 100644 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.symbols.diff @@ -1,13 +1,6 @@ --- old.untypedModuleImport_allowJs.symbols +++ new.untypedModuleImport_allowJs.symbols -@@= 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)) - +@@= skipped -9, +9 lines =@@ === /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 114f087c64..8965344e10 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 : { bar(): number; } +>foo : typeof foo foo.bar(); ->foo.bar() : number ->foo.bar : () => number ->foo : { bar(): number; } ->bar : () => number +>foo.bar() : any +>foo.bar : any +>foo : typeof foo +>bar : any === /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 deleted file mode 100644 index ede066d4fe..0000000000 --- a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.types.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- 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