mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
fix(compiler-cli): support hasInvalidatedResolutions. (#47585)
The latest TypeScript compiler exposes the previously private field `hasInvalidatedResolutions`. That breaks Angular in the newer TS, because the new field would be required on DelegatingCompilerHost. However we cannot just add the field here, because it's not present in the older compiler. This change adds the field for delegation, which works at runtime because the field is present. It suppresses the compiler error using a `// @ts-expect-error`, which should be removed once Angular moves to a TSC version that includes this change. PR Close #47585
This commit is contained in:
parent
c3f857975d
commit
2e1dddec45
2 changed files with 10 additions and 0 deletions
|
|
@ -68,6 +68,11 @@ export class DelegatingCompilerHost implements
|
|||
useCaseSensitiveFileNames = this.delegateMethod('useCaseSensitiveFileNames');
|
||||
writeFile = this.delegateMethod('writeFile');
|
||||
getModuleResolutionCache = this.delegateMethod('getModuleResolutionCache');
|
||||
// @ts-expect-error 'hasInvalidatedResolutions' is visible (and thus required here) in latest TSC
|
||||
// main. It's already present, so the code works at runtime.
|
||||
// TODO: remove this comment including the suppression once Angular uses a TSC version that
|
||||
// includes this change (github.com/microsoft/TypeScript@a455955).
|
||||
hasInvalidatedResolutions = this.delegateMethod('hasInvalidatedResolutions');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -52,6 +52,11 @@ export class DelegatingCompilerHost implements
|
|||
trace = this.delegateMethod('trace');
|
||||
useCaseSensitiveFileNames = this.delegateMethod('useCaseSensitiveFileNames');
|
||||
getModuleResolutionCache = this.delegateMethod('getModuleResolutionCache');
|
||||
// @ts-expect-error 'hasInvalidatedResolutions' is visible (and thus required here) in latest TSC
|
||||
// main. It's already present, so the code works at runtime.
|
||||
// TODO: remove this comment including the suppression once Angular uses a TSC version that
|
||||
// includes this change (github.com/microsoft/TypeScript@a455955).
|
||||
hasInvalidatedResolutions = this.delegateMethod('hasInvalidatedResolutions');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue