source: trip-planner-front/node_modules/@angular-devkit/build-angular/src/webpack/utils/async-chunks.js@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 2.1 KB
Line 
1"use strict";
2/**
3 * @license
4 * Copyright Google LLC All Rights Reserved.
5 *
6 * Use of this source code is governed by an MIT-style license that can be
7 * found in the LICENSE file at https://angular.io/license
8 */
9Object.defineProperty(exports, "__esModule", { value: true });
10exports.markAsyncChunksNonInitial = void 0;
11/**
12 * Webpack stats may incorrectly mark extra entry points `initial` chunks, when
13 * they are actually loaded asynchronously and thus not in the main bundle. This
14 * function finds extra entry points in Webpack stats and corrects this value
15 * whereever necessary. Does not modify {@param webpackStats}.
16 */
17function markAsyncChunksNonInitial(webpackStats, extraEntryPoints) {
18 const { chunks = [], entrypoints: entryPoints = {} } = webpackStats;
19 // Find all Webpack chunk IDs not injected into the main bundle. We don't have
20 // to worry about transitive dependencies because extra entry points cannot be
21 // depended upon in Webpack, thus any extra entry point with `inject: false`,
22 // **cannot** be loaded in main bundle.
23 const asyncChunkIds = extraEntryPoints
24 .filter((entryPoint) => !entryPoint.inject && entryPoints[entryPoint.bundleName])
25 .flatMap((entryPoint) => { var _a; return (_a = entryPoints[entryPoint.bundleName].chunks) === null || _a === void 0 ? void 0 : _a.filter((n) => n !== 'runtime'); });
26 // Find chunks for each ID.
27 const asyncChunks = asyncChunkIds.map((chunkId) => {
28 const chunk = chunks.find((chunk) => chunk.id === chunkId);
29 if (!chunk) {
30 throw new Error(`Failed to find chunk (${chunkId}) in set:\n${JSON.stringify(chunks)}`);
31 }
32 return chunk;
33 });
34 // A chunk is considered `initial` only if Webpack already belives it to be initial
35 // and the application developer did not mark it async via an extra entry point.
36 return chunks.map((chunk) => {
37 return asyncChunks.find((asyncChunk) => asyncChunk === chunk)
38 ? {
39 ...chunk,
40 initial: false,
41 }
42 : chunk;
43 });
44}
45exports.markAsyncChunksNonInitial = markAsyncChunksNonInitial;
Note: See TracBrowser for help on using the repository browser.