Skip to content

Commit eb0cfe0

Browse files
authored
fix(typescript): Allow for using compilerOptions.moduleResolution (#1453)
* fix(typescript): Add test for setting moduleResolution This adds a test case for resolving types with node ESM `exports` feature and `compilerOptions.moduleResolution` option configured. Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de> * fix(typescript): Allow for using `compilerOptions.moduleResolution` Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de> --------- Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
1 parent 089a51e commit eb0cfe0

File tree

14 files changed

+55
-7
lines changed

14 files changed

+55
-7
lines changed

β€Žpackages/typescript/src/options/tsconfig.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ function containsEnumOptions(
105105
*/
106106
function setModuleResolutionKind(parsedConfig: ParsedCommandLine): ParsedCommandLine {
107107
const moduleKind = parsedConfig.options.module;
108+
// Fallback if `parsedConfig.options.moduleResolution` is not set
108109
const moduleResolution =
109110
moduleKind === ModuleKind.Node16
110111
? ModuleResolutionKind.Node16
@@ -115,8 +116,8 @@ function setModuleResolutionKind(parsedConfig: ParsedCommandLine): ParsedCommand
115116
return {
116117
...parsedConfig,
117118
options: {
118-
...parsedConfig.options,
119-
moduleResolution
119+
moduleResolution,
120+
...parsedConfig.options
120121
}
121122
};
122123
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import foo from 'foo';
2+
3+
const bar: string = foo;
4+
console.log(bar);

β€Žpackages/typescript/test/fixtures/nodenext-module/node_modules/foo/package.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"type": "module"
3+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"compilerOptions": {
3+
"module": "nodenext"
4+
}
5+
}

β€Žpackages/typescript/test/fixtures/nodenext-resolution/node_modules/foo/dist/index.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žpackages/typescript/test/fixtures/nodenext-resolution/node_modules/foo/package.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
Β (0)