diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index a43c01b03f3d..ff9f27c111ca 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -154,12 +154,15 @@ export default custom(() => { } if (optimize) { - const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(this.resourcePath); + // @angular/platform-server/init entry-point has side-effects. + const safeAngularPackage = + /[\\/]node_modules[\\/]@angular[\\/]/.test(this.resourcePath) && + !/@angular[\\/]platform-server[\\/]f?esm2022[\\/]init/.test(this.resourcePath); customOptions.optimize = { // Angular packages provide additional tested side effects guarantees and can use // otherwise unsafe optimizations. - looseEnums: angularPackage, - pureTopLevel: angularPackage, + looseEnums: safeAngularPackage, + pureTopLevel: safeAngularPackage, // JavaScript modules that are marked as side effect free are considered to have // no decorators that contain non-local effects. wrapDecorators: !!this._module?.factoryMeta?.sideEffectFree,