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