fix(@angular-devkit/build-angular): correctly set overridden compiler option

Previously, we set the options of an incorrect variable.
This commit is contained in:
Alan Agius 2023-05-31 13:48:25 +00:00 committed by Charles
parent 1225ce4dc4
commit fc60d22276

View File

@ -26,11 +26,11 @@ export function createIvyPlugin(
}; };
if (tsConfig.options.target === undefined || tsConfig.options.target < ScriptTarget.ES2022) { if (tsConfig.options.target === undefined || tsConfig.options.target < ScriptTarget.ES2022) {
tsConfig.options.target = ScriptTarget.ES2022; compilerOptions.target = ScriptTarget.ES2022;
// If 'useDefineForClassFields' is already defined in the users project leave the value as is. // If 'useDefineForClassFields' is already defined in the users project leave the value as is.
// Otherwise fallback to false due to https://github.com/microsoft/TypeScript/issues/45995 // Otherwise fallback to false due to https://github.com/microsoft/TypeScript/issues/45995
// which breaks the deprecated `@Effects` NGRX decorator and potentially other existing code as well. // which breaks the deprecated `@Effects` NGRX decorator and potentially other existing code as well.
tsConfig.options.useDefineForClassFields ??= false; compilerOptions.useDefineForClassFields ??= false;
wco.logger.warn( wco.logger.warn(
'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' + 'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' +