diff --git a/packages/ngtools/webpack/src/angular_compiler_plugin.ts b/packages/ngtools/webpack/src/angular_compiler_plugin.ts index 34183aef51..663476531c 100644 --- a/packages/ngtools/webpack/src/angular_compiler_plugin.ts +++ b/packages/ngtools/webpack/src/angular_compiler_plugin.ts @@ -911,18 +911,18 @@ export class AngularCompilerPlugin { // When Ivy is enabled we need to add the fields added by NGCC // to take precedence over the provided mainFields. // NGCC adds fields in package.json suffixed with '_ivy_ngcc' - // Example: module -> module__ivy_ngcc + // Example: module -> module_ivy_ngcc // tslint:disable-next-line:no-any (compiler as any).resolverFactory.hooks.resolveOptions .for('normal') // tslint:disable-next-line:no-any .tap('WebpackOptionsApply', (resolveOptions: any) => { - const mainFields = (resolveOptions.mainFields as string[]) - .map(f => [`${f}_ivy_ngcc`, f]); + const originalMainFields: string[] = resolveOptions.mainFields; + const ivyMainFields = originalMainFields.map(f => `${f}_ivy_ngcc`); return { ...resolveOptions, - mainFields: flattenArray(mainFields), + mainFields: [...ivyMainFields, ...originalMainFields], }; }); }