Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/compiler/utilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9084,6 +9084,14 @@ const _computedOptions = createComputedCompilerOptions({
if (compilerOptions.resolveJsonModule !== undefined) {
return compilerOptions.resolveJsonModule;
}
switch (_computedOptions.module.computeValue(compilerOptions)) {
// TODO in 6.0: uncomment
// case ModuleKind.Node16:
// case ModuleKind.Node18:
case ModuleKind.Node20:
case ModuleKind.NodeNext:
return true;
}
return _computedOptions.moduleResolution.computeValue(compilerOptions) === ModuleResolutionKind.Bundler;
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"======== Resolving module '../lib' from '/app/test.ts'. ========",
"Explicitly specified module resolution kind: 'NodeNext'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"Loading module as file / folder, candidate module location '/lib', target file types: TypeScript, JavaScript, Declaration.",
"Loading module as file / folder, candidate module location '/lib', target file types: TypeScript, JavaScript, Declaration, JSON.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was going to ask "what happens if lib.json exists", but I can see from the trace below that lib.json is still not being checked, which is good. Phew.

"File '/lib.ts' does not exist.",
"File '/lib.tsx' does not exist.",
"File '/lib.d.ts' does not exist.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"======== Resolving module '../lib' from '/app/test.ts'. ========",
"Explicitly specified module resolution kind: 'NodeNext'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"Loading module as file / folder, candidate module location '/lib', target file types: TypeScript, JavaScript, Declaration.",
"Loading module as file / folder, candidate module location '/lib', target file types: TypeScript, JavaScript, Declaration, JSON.",
"File '/lib.ts' does not exist.",
"File '/lib.tsx' does not exist.",
"File '/lib.d.ts' does not exist.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"allowSyntheticDefaultImports": true,
"resolvePackageJsonExports": true,
"resolvePackageJsonImports": true,
"resolveJsonModule": true,
"useDefineForClassFields": true
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
error TS5070: Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'.
error TS5109: Option 'moduleResolution' must be set to 'Node16' (or left unspecified) when option 'module' is set to 'Node20'.


!!! error TS5070: Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'.
!!! error TS5109: Option 'moduleResolution' must be set to 'Node16' (or left unspecified) when option 'module' is set to 'Node20'.
==== a.ts (0 errors) ====
declare var dec: any, __decorate: any;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
error TS5070: Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'.
error TS5109: Option 'moduleResolution' must be set to 'NodeNext' (or left unspecified) when option 'module' is set to 'NodeNext'.


!!! error TS5070: Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'.
!!! error TS5109: Option 'moduleResolution' must be set to 'NodeNext' (or left unspecified) when option 'module' is set to 'NodeNext'.
==== a.ts (0 errors) ====
declare var dec: any, __decorate: any;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"File '/package.json' does not exist.",
"Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Using 'exports' subpath './foo' with target './dist/foo.js'.",
Expand All @@ -17,7 +17,7 @@
"File '/node_modules/exports-and-types-versions/dist/foo.d.ts' does not exist.",
"Export specifier './foo' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Using 'exports' subpath './foo' with target './dist/foo.js'.",
"File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.",
Expand All @@ -29,20 +29,20 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Export specifier './nope' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Export specifier './nope' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"======== Module name 'exports-and-types-versions/nope' was not resolved. ========",
"======== Resolving module 'exports-and-types-versions/yep' from '/main.cts'. ========",
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
Expand All @@ -57,7 +57,7 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
Expand All @@ -72,15 +72,15 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
"Saw non-matching condition 'types@<4'.",
"Exiting conditional exports.",
"Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
"Saw non-matching condition 'types@<4'.",
Expand All @@ -91,7 +91,7 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in CJS mode with conditions 'require', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'just-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'just-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/just-types-versions/package.json' exists according to earlier cached lookups.",
"'package.json' has a 'typesVersions' field with version-specific path mappings.",
Expand All @@ -105,7 +105,7 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in ESM mode with conditions 'import', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Using 'exports' subpath './foo' with target './dist/foo.js'.",
Expand All @@ -115,7 +115,7 @@
"File '/node_modules/exports-and-types-versions/dist/foo.d.ts' does not exist.",
"Export specifier './foo' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Using 'exports' subpath './foo' with target './dist/foo.js'.",
"File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.",
Expand All @@ -136,20 +136,20 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in ESM mode with conditions 'import', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Export specifier './nope' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Export specifier './nope' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"======== Module name 'exports-and-types-versions/nope' was not resolved. ========",
"======== Resolving module 'exports-and-types-versions/yep' from '/main.mts'. ========",
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in ESM mode with conditions 'import', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
Expand All @@ -164,7 +164,7 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in ESM mode with conditions 'import', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
Expand All @@ -179,15 +179,15 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in ESM mode with conditions 'import', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
"Saw non-matching condition 'types@<4'.",
"Exiting conditional exports.",
"Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.",
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.",
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.",
"File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.",
"Entering conditional exports.",
"Saw non-matching condition 'types@<4'.",
Expand All @@ -198,7 +198,7 @@
"Module resolution kind is not specified, using 'Node16'.",
"Resolving in ESM mode with conditions 'import', 'types', 'node'.",
"File '/package.json' does not exist according to earlier cached lookups.",
"Loading module 'just-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
"Loading module 'just-types-versions/foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.",
"File '/node_modules/just-types-versions/package.json' exists according to earlier cached lookups.",
"'package.json' has a 'typesVersions' entry '*' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'foo'.",
Expand Down
Loading
Loading