mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
fix: getDefaultLibFilePath should normalize __dirname (#49051)
- this currently causes a bug on Windows with mixed path separators
- it returns a POSIX backslash path for __dirname, and then adds a
forward slash from the directorySeparator, causing mixed separators
- TS uses `/` internally and lets the host convert if needed, so
I assume this should be normalized to all forward slashses instead
- example of the bug from my tests:
```
Expected: "D:\\a\\rollup-plugin-typescript2\\rollup-plugin-typescript2\\node_modules\\typescript\\lib\\lib.d.ts"
Received: "D:\\a\\rollup-plugin-typescript2\\rollup-plugin-typescript2\\node_modules\\typescript\\lib/lib.d.ts"
```
- every other use of __dirname in the codebase seems to be normalized
except for this one
- could use normalizeSlashes for this, but I figure combinePaths is
more appropriate since that will handle it and combine properly as
well without any `+ directorySeparator +` stuff
This commit is contained in:
parent
1ba609660b
commit
da00ba67ed
@ -2880,7 +2880,7 @@ namespace ts {
|
||||
export function getDefaultLibFilePath(options: CompilerOptions): string {
|
||||
// Check __dirname is defined and that we are on a node.js system.
|
||||
if (typeof __dirname !== "undefined") {
|
||||
return __dirname + directorySeparator + getDefaultLibFileName(options);
|
||||
return combinePaths(__dirname, getDefaultLibFileName(options));
|
||||
}
|
||||
|
||||
throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user