diff --git a/internal/ast/ast.go b/internal/ast/ast.go index abee405be0..7939f87efc 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -10757,7 +10757,9 @@ type SourceFile struct { NodeCount int TextCount int CommonJSModuleIndicator *Node - ExternalModuleIndicator *Node + // If this is the SourceFile itself, then this module was "forced" + // to be an external module (previously "true"). + ExternalModuleIndicator *Node // Fields set by binder diff --git a/internal/checker/checker.go b/internal/checker/checker.go index c9bb8dabd7..99c6da8f9b 100644 --- a/internal/checker/checker.go +++ b/internal/checker/checker.go @@ -14440,7 +14440,7 @@ func (c *Checker) canHaveSyntheticDefault(file *ast.Node, moduleSymbol *ast.Symb } // JS files have a synthetic default if they do not contain ES2015+ module syntax (export = is not valid in js) _and_ do not have an __esModule marker - return !ast.IsExternalModule(file.AsSourceFile()) && c.resolveExportByName(moduleSymbol, "__esModule", nil /*sourceNode*/, dontResolveAlias) == nil + return (file.AsSourceFile().ExternalModuleIndicator == nil || file.AsSourceFile().ExternalModuleIndicator == file) && c.resolveExportByName(moduleSymbol, "__esModule", nil /*sourceNode*/, dontResolveAlias) == nil } func (c *Checker) getEmitSyntaxForModuleSpecifierExpression(usage *ast.Node) core.ResolutionMode { diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).errors.txt deleted file mode 100644 index 2341cc6d8a..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - - -==== foo.cjs (0 errors) ==== - exports.foo = "foo" -==== bar.ts (1 errors) ==== - import foo from "./foo.cjs" - ~~~ -!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).errors.txt.diff deleted file mode 100644 index a23640d399..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=node16).errors.txt -+++ new.nodeModulesAllowJsCjsFromJs(module=node16).errors.txt -@@= skipped -0, +0 lines =@@ -- -+bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ -+ -+==== foo.cjs (0 errors) ==== -+ exports.foo = "foo" -+==== bar.ts (1 errors) ==== -+ import foo from "./foo.cjs" -+ ~~~ -+!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols index e0dacb4026..897bc4c98c 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols @@ -11,5 +11,7 @@ import foo from "./foo.cjs" >foo : Symbol(foo, Decl(bar.ts, 0, 6)) foo.foo; +>foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(bar.ts, 0, 6)) +>foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols.diff index 60f85982fc..291a89e218 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).symbols.diff @@ -8,11 +8,4 @@ +>exports : Symbol("foo", Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(foo.cjs, 0, 0)) - === bar.ts === -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) - - foo.foo; -->foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) -->foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) + === bar.ts === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types index 44070dc13f..6a7052f1f7 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types @@ -10,10 +10,10 @@ exports.foo = "foo" === bar.ts === import foo from "./foo.cjs" ->foo : any +>foo : typeof foo foo.foo; ->foo.foo : any ->foo : any ->foo : any +>foo.foo : "foo" +>foo : typeof foo +>foo : "foo" diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types.diff deleted file mode 100644 index 6a61945545..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node16).types.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=node16).types -+++ new.nodeModulesAllowJsCjsFromJs(module=node16).types -@@= skipped -9, +9 lines =@@ - - === bar.ts === - import foo from "./foo.cjs" -->foo : typeof foo -+>foo : any - - foo.foo; -->foo.foo : "foo" -->foo : typeof foo -->foo : "foo" -+>foo.foo : any -+>foo : any -+>foo : any diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).errors.txt deleted file mode 100644 index 2341cc6d8a..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - - -==== foo.cjs (0 errors) ==== - exports.foo = "foo" -==== bar.ts (1 errors) ==== - import foo from "./foo.cjs" - ~~~ -!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).errors.txt.diff deleted file mode 100644 index 17c98e1a8b..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=node18).errors.txt -+++ new.nodeModulesAllowJsCjsFromJs(module=node18).errors.txt -@@= skipped -0, +0 lines =@@ -- -+bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ -+ -+==== foo.cjs (0 errors) ==== -+ exports.foo = "foo" -+==== bar.ts (1 errors) ==== -+ import foo from "./foo.cjs" -+ ~~~ -+!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols index e0dacb4026..897bc4c98c 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols @@ -11,5 +11,7 @@ import foo from "./foo.cjs" >foo : Symbol(foo, Decl(bar.ts, 0, 6)) foo.foo; +>foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(bar.ts, 0, 6)) +>foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols.diff index a8478e44f2..5cca1b54a2 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).symbols.diff @@ -8,11 +8,4 @@ +>exports : Symbol("foo", Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(foo.cjs, 0, 0)) - === bar.ts === -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) - - foo.foo; -->foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) -->foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) + === bar.ts === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types index 44070dc13f..6a7052f1f7 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types @@ -10,10 +10,10 @@ exports.foo = "foo" === bar.ts === import foo from "./foo.cjs" ->foo : any +>foo : typeof foo foo.foo; ->foo.foo : any ->foo : any ->foo : any +>foo.foo : "foo" +>foo : typeof foo +>foo : "foo" diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types.diff deleted file mode 100644 index 864c2f587d..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node18).types.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=node18).types -+++ new.nodeModulesAllowJsCjsFromJs(module=node18).types -@@= skipped -9, +9 lines =@@ - - === bar.ts === - import foo from "./foo.cjs" -->foo : typeof foo -+>foo : any - - foo.foo; -->foo.foo : "foo" -->foo : typeof foo -->foo : "foo" -+>foo.foo : any -+>foo : any -+>foo : any diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).errors.txt deleted file mode 100644 index 2341cc6d8a..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - - -==== foo.cjs (0 errors) ==== - exports.foo = "foo" -==== bar.ts (1 errors) ==== - import foo from "./foo.cjs" - ~~~ -!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).errors.txt.diff deleted file mode 100644 index a627b9e85e..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=node20).errors.txt -+++ new.nodeModulesAllowJsCjsFromJs(module=node20).errors.txt -@@= skipped -0, +0 lines =@@ -- -+bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ -+ -+==== foo.cjs (0 errors) ==== -+ exports.foo = "foo" -+==== bar.ts (1 errors) ==== -+ import foo from "./foo.cjs" -+ ~~~ -+!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols index e0dacb4026..897bc4c98c 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols @@ -11,5 +11,7 @@ import foo from "./foo.cjs" >foo : Symbol(foo, Decl(bar.ts, 0, 6)) foo.foo; +>foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(bar.ts, 0, 6)) +>foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols.diff index 1fb8a2a304..6abbea0333 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).symbols.diff @@ -8,11 +8,4 @@ +>exports : Symbol("foo", Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(foo.cjs, 0, 0)) - === bar.ts === -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) - - foo.foo; -->foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) -->foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) + === bar.ts === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types index 44070dc13f..6a7052f1f7 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types @@ -10,10 +10,10 @@ exports.foo = "foo" === bar.ts === import foo from "./foo.cjs" ->foo : any +>foo : typeof foo foo.foo; ->foo.foo : any ->foo : any ->foo : any +>foo.foo : "foo" +>foo : typeof foo +>foo : "foo" diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types.diff deleted file mode 100644 index 53d48aed42..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=node20).types.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=node20).types -+++ new.nodeModulesAllowJsCjsFromJs(module=node20).types -@@= skipped -9, +9 lines =@@ - - === bar.ts === - import foo from "./foo.cjs" -->foo : typeof foo -+>foo : any - - foo.foo; -->foo.foo : "foo" -->foo : typeof foo -->foo : "foo" -+>foo.foo : any -+>foo : any -+>foo : any diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt deleted file mode 100644 index 2341cc6d8a..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - - -==== foo.cjs (0 errors) ==== - exports.foo = "foo" -==== bar.ts (1 errors) ==== - import foo from "./foo.cjs" - ~~~ -!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? - foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt.diff deleted file mode 100644 index 088b216a88..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt -+++ new.nodeModulesAllowJsCjsFromJs(module=nodenext).errors.txt -@@= skipped -0, +0 lines =@@ -- -+bar.ts(1,8): error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ -+ -+==== foo.cjs (0 errors) ==== -+ exports.foo = "foo" -+==== bar.ts (1 errors) ==== -+ import foo from "./foo.cjs" -+ ~~~ -+!!! error TS2613: Module '"foo"' has no default export. Did you mean to use 'import { foo } from "foo"' instead? -+ foo.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols index e0dacb4026..897bc4c98c 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols @@ -11,5 +11,7 @@ import foo from "./foo.cjs" >foo : Symbol(foo, Decl(bar.ts, 0, 6)) foo.foo; +>foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(bar.ts, 0, 6)) +>foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols.diff index 2a232eef82..ce3c33d595 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).symbols.diff @@ -8,11 +8,4 @@ +>exports : Symbol("foo", Decl(foo.cjs, 0, 0)) >foo : Symbol(foo, Decl(foo.cjs, 0, 0)) - === bar.ts === -@@= skipped -8, +8 lines =@@ - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) - - foo.foo; -->foo.foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) - >foo : Symbol(foo, Decl(bar.ts, 0, 6)) -->foo : Symbol(foo.foo, Decl(foo.cjs, 0, 0)) + === bar.ts === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types index 44070dc13f..6a7052f1f7 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types @@ -10,10 +10,10 @@ exports.foo = "foo" === bar.ts === import foo from "./foo.cjs" ->foo : any +>foo : typeof foo foo.foo; ->foo.foo : any ->foo : any ->foo : any +>foo.foo : "foo" +>foo : typeof foo +>foo : "foo" diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types.diff deleted file mode 100644 index 336e608daa..0000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsCjsFromJs(module=nodenext).types.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- old.nodeModulesAllowJsCjsFromJs(module=nodenext).types -+++ new.nodeModulesAllowJsCjsFromJs(module=nodenext).types -@@= skipped -9, +9 lines =@@ - - === bar.ts === - import foo from "./foo.cjs" -->foo : typeof foo -+>foo : any - - foo.foo; -->foo.foo : "foo" -->foo : typeof foo -->foo : "foo" -+>foo.foo : any -+>foo : any -+>foo : any diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt index 68c11a8bbb..b45fab9f5b 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt @@ -1,4 +1,3 @@ -/5.cjs(1,8): error TS1192: Module '"/2"' has no default export. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. @@ -15,10 +14,8 @@ ==== /4.cjs (0 errors) ==== ; -==== /5.cjs (2 errors) ==== +==== /5.cjs (1 errors) ==== import two from "./2.cjs"; // ok - ~~~ -!!! error TS1192: Module '"/2"' has no default export. import three from "./3.cjs"; // error ~~~~~ !!! error TS1192: Module '"/3"' has no default export. diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff index 38143f0c90..7c2f8c3185 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff @@ -2,11 +2,10 @@ +++ new.nodeModulesCJSEmit1(module=node18).errors.txt @@= skipped -0, +0 lines =@@ -/3.cjs(2,1): error TS2304: Cannot find name 'exports'. -+/5.cjs(1,8): error TS1192: Module '"/2"' has no default export. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. -@@= skipped -7, +7 lines =@@ +@@= skipped -7, +6 lines =@@ ==== /2.cjs (0 errors) ==== exports.foo = 0; @@ -18,13 +17,4 @@ -!!! error TS2304: Cannot find name 'exports'. ==== /4.cjs (0 errors) ==== - ; - --==== /5.cjs (1 errors) ==== -+==== /5.cjs (2 errors) ==== - import two from "./2.cjs"; // ok -+ ~~~ -+!!! error TS1192: Module '"/2"' has no default export. - import three from "./3.cjs"; // error - ~~~~~ - !!! error TS1192: Module '"/3"' has no default export. \ No newline at end of file + ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt index 68c11a8bbb..b45fab9f5b 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt @@ -1,4 +1,3 @@ -/5.cjs(1,8): error TS1192: Module '"/2"' has no default export. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. @@ -15,10 +14,8 @@ ==== /4.cjs (0 errors) ==== ; -==== /5.cjs (2 errors) ==== +==== /5.cjs (1 errors) ==== import two from "./2.cjs"; // ok - ~~~ -!!! error TS1192: Module '"/2"' has no default export. import three from "./3.cjs"; // error ~~~~~ !!! error TS1192: Module '"/3"' has no default export. diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff index 6e13ad03cb..1d9299e922 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff @@ -2,11 +2,10 @@ +++ new.nodeModulesCJSEmit1(module=node20).errors.txt @@= skipped -0, +0 lines =@@ -/3.cjs(2,1): error TS2304: Cannot find name 'exports'. -+/5.cjs(1,8): error TS1192: Module '"/2"' has no default export. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. -@@= skipped -7, +7 lines =@@ +@@= skipped -7, +6 lines =@@ ==== /2.cjs (0 errors) ==== exports.foo = 0; @@ -18,13 +17,4 @@ -!!! error TS2304: Cannot find name 'exports'. ==== /4.cjs (0 errors) ==== - ; - --==== /5.cjs (1 errors) ==== -+==== /5.cjs (2 errors) ==== - import two from "./2.cjs"; // ok -+ ~~~ -+!!! error TS1192: Module '"/2"' has no default export. - import three from "./3.cjs"; // error - ~~~~~ - !!! error TS1192: Module '"/3"' has no default export. \ No newline at end of file + ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt index 68c11a8bbb..b45fab9f5b 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt @@ -1,4 +1,3 @@ -/5.cjs(1,8): error TS1192: Module '"/2"' has no default export. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. @@ -15,10 +14,8 @@ ==== /4.cjs (0 errors) ==== ; -==== /5.cjs (2 errors) ==== +==== /5.cjs (1 errors) ==== import two from "./2.cjs"; // ok - ~~~ -!!! error TS1192: Module '"/2"' has no default export. import three from "./3.cjs"; // error ~~~~~ !!! error TS1192: Module '"/3"' has no default export. diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff index 040e7289e0..ad48066fe4 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff @@ -2,11 +2,10 @@ +++ new.nodeModulesCJSEmit1(module=nodenext).errors.txt @@= skipped -0, +0 lines =@@ -/3.cjs(2,1): error TS2304: Cannot find name 'exports'. -+/5.cjs(1,8): error TS1192: Module '"/2"' has no default export. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. -@@= skipped -7, +7 lines =@@ +@@= skipped -7, +6 lines =@@ ==== /2.cjs (0 errors) ==== exports.foo = 0; @@ -18,13 +17,4 @@ -!!! error TS2304: Cannot find name 'exports'. ==== /4.cjs (0 errors) ==== - ; - --==== /5.cjs (1 errors) ==== -+==== /5.cjs (2 errors) ==== - import two from "./2.cjs"; // ok -+ ~~~ -+!!! error TS1192: Module '"/2"' has no default export. - import three from "./3.cjs"; // error - ~~~~~ - !!! error TS1192: Module '"/3"' has no default export. \ No newline at end of file + ; \ No newline at end of file