From f50e9a9f5865fe261bc1491d2641df9a23c3a7db Mon Sep 17 00:00:00 2001 From: Filipe Silva Date: Wed, 31 Jul 2019 17:55:15 +0100 Subject: [PATCH] fix(@angular-devkit/build-angular): use GLOBAL_DEFS_FOR_TERSER_WITH_AOT if present Fix #15206 --- .../models/webpack-configs/common.ts | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts b/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts index 9afad63c7cc3..6d7be009e41e 100644 --- a/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts +++ b/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts @@ -297,15 +297,22 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { ngI18nClosureMode: false, }; - try { - // Try to load known global definitions from @angular/compiler-cli. - // tslint:disable-next-line:no-implicit-dependencies - const GLOBAL_DEFS_FOR_TERSER = require('@angular/compiler-cli').GLOBAL_DEFS_FOR_TERSER; - if (GLOBAL_DEFS_FOR_TERSER) { - angularGlobalDefinitions = GLOBAL_DEFS_FOR_TERSER; + // Try to load known global definitions from @angular/compiler-cli. + const GLOBAL_DEFS_FOR_TERSER = require('@angular/compiler-cli').GLOBAL_DEFS_FOR_TERSER; + if (GLOBAL_DEFS_FOR_TERSER) { + angularGlobalDefinitions = GLOBAL_DEFS_FOR_TERSER; + } + + if (buildOptions.aot) { + // Also try to load AOT-only global definitions. + const GLOBAL_DEFS_FOR_TERSER_WITH_AOT = + require('@angular/compiler-cli').GLOBAL_DEFS_FOR_TERSER_WITH_AOT; + if (GLOBAL_DEFS_FOR_TERSER_WITH_AOT) { + angularGlobalDefinitions = { + ...angularGlobalDefinitions, + ...GLOBAL_DEFS_FOR_TERSER_WITH_AOT, + }; } - } catch { - // Do nothing, the default above will be used instead. } const terserOptions = {