From 4f757c2bcf1356d33eaa86bc3b715c0a6b7c2ed8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 5 Aug 2021 08:33:01 +0200 Subject: [PATCH] fix(@angular-devkit/build-angular): handle null maps in JavaScript optimizer worker `asset.map` can be `null` which causes an unhandled exception. ``` Error: Optimization error [generated/js/custom-elements-es5-polyfills.js]: TypeError: Cannot destructure property 'mappings' of 'map' as it is null. at decodeSourceMap (/angular/aio/node_modules/@ampproject/remapping/dist/remapping.umd.js:178:15) at Array.map () at buildSourceMapTree (/angular/aio/node_modules/@ampproject/remapping/dist/remapping.umd.js:725:37) at Object.remapping [as default] (/angular/aio/node_modules/@ampproject/remapping/dist/remapping.umd.js:831:23) at default_1 (/angular/aio/node_modules/@angular-devkit/build-angular/src/webpack/plugins/javascript-optimizer-worker.js:44:44) ``` AIO CI failure: https://app.circleci.com/pipelines/github/angular/angular/35940/workflows/c9c91ad3-1645-4a88-bb5b-6a06a9b887b9/jobs/1032993 (cherry picked from commit 8758e4415d7ef6301c4441db0014e24f1cc8d146) --- .../src/webpack/plugins/javascript-optimizer-worker.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts index 0e423bedb223..dce97bb8d453 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts @@ -74,7 +74,9 @@ export default async function ({ asset, options }: OptimizeRequest) { partialSourcemaps.unshift(terserResult.map); } - partialSourcemaps.push(asset.map); + if (asset.map) { + partialSourcemaps.push(asset.map); + } fullSourcemap = remapping(partialSourcemaps, () => null); }