From c40bc34625d63cccc0db7296e616af27868fe1fe Mon Sep 17 00:00:00 2001 From: Ahn <27772165+ahnpnl@users.noreply.github.com> Date: Wed, 13 Jul 2022 22:08:15 +0200 Subject: [PATCH] fix(legacy): add `useCaseSensitiveFileNames` wherever needed (#3683) fixes #3665 --- src/legacy/compiler/ts-compiler.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/legacy/compiler/ts-compiler.ts b/src/legacy/compiler/ts-compiler.ts index 9b7e3e82be..5ef5f3df8c 100644 --- a/src/legacy/compiler/ts-compiler.ts +++ b/src/legacy/compiler/ts-compiler.ts @@ -108,10 +108,11 @@ export class TsCompiler implements TsCompilerInstance { getCurrentDirectory: () => this.configSet.cwd, realpath: this._ts.sys.realpath && memoize(this._ts.sys.realpath), getDirectories: memoize(this._ts.sys.getDirectories), + useCaseSensitiveFileNames: () => this._ts.sys.useCaseSensitiveFileNames, } this._moduleResolutionCache = this._ts.createModuleResolutionCache( this.configSet.cwd, - (x) => x, + this._ts.sys.useCaseSensitiveFileNames ? (x) => x : (x) => x.toLowerCase(), this._compilerOptions, ) this._createLanguageService() @@ -285,6 +286,7 @@ export class TsCompiler implements TsCompilerInstance { .forEach((fileName) => this._fileVersionCache!.set(fileName, 0)) /* istanbul ignore next */ const serviceHost: LanguageServiceHost = { + useCaseSensitiveFileNames: () => this._ts.sys.useCaseSensitiveFileNames, getProjectVersion: () => String(this._projectVersion), // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getScriptFileNames: () => [...this._fileVersionCache!.keys()], @@ -346,7 +348,10 @@ export class TsCompiler implements TsCompilerInstance { this._logger.debug('created language service') - this._languageService = this._ts.createLanguageService(serviceHost, this._ts.createDocumentRegistry()) + this._languageService = this._ts.createLanguageService( + serviceHost, + this._ts.createDocumentRegistry(this._ts.sys.useCaseSensitiveFileNames, this.configSet.cwd), + ) this.program = this._languageService.getProgram() }