diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 853d728e97d4..3cbaa2ad409b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -105,6 +105,19 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise { - if (!this.options.vendors || !this.options.runtime) { + let vendorsTest: RegExp | null = null; + let runtimeTest: RegExp | null = null; + if (this.options.vendors) { + vendorsTest = this.options.vendors.test; + } + if (this.options.runtime) { + runtimeTest = this.options.runtime.test; + } + if (!vendorsTest && !runtimeTest) { return; } - const vendorsTest = this.options.vendors.test; - const runtimeTest = this.options.runtime.test; for (const [name, asset] of Object.entries(assets)) { const source = asset.source(); @@ -53,12 +55,13 @@ export class DevToolsIgnorePlugin { sources: string[]; [IGNORE_LIST]: number[]; }; + if (!map) { continue; } map[IGNORE_LIST] = Object.entries(map.sources) - .filter(([, source]) => source.match(vendorsTest) || source.match(runtimeTest)) + .filter(([, source]) => vendorsTest?.test(source) || runtimeTest?.test(source)) .map(([index]) => +index); compilation.assets[name] = new SourceMapSource(source, name, map);