Skip to content

Commit 2d0d82b

Browse files
committed
fix(@angular-devkit/build-angular): correctly mark async chunks as non initial in dev-server
1 parent 699802d commit 2d0d82b

File tree

3 files changed

+41
-25
lines changed

3 files changed

+41
-25
lines changed

packages/angular_devkit/build_angular/src/dev-server/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ export function serveWebpackBrowser(
335335
}
336336

337337
return runWebpackDevServer(webpackConfig, context, {
338-
logging: transforms.logging || createWebpackLoggingCallback(!!options.verbose, logger),
338+
logging: transforms.logging || createWebpackLoggingCallback(browserOptions, logger),
339339
webpackFactory: require('webpack') as typeof webpack,
340340
webpackDevServerFactory: require('webpack-dev-server') as typeof webpackDevServer,
341341
}).pipe(

packages/angular_devkit/build_angular/src/extract-i18n/index.ts

+23-22
Original file line numberDiff line numberDiff line change
@@ -175,28 +175,29 @@ export async function execute(
175175
let useLegacyIds = true;
176176

177177
const ivyMessages: LocalizeMessage[] = [];
178-
const { config, projectRoot } = await generateBrowserWebpackConfigFromContext(
179-
{
180-
...browserOptions,
181-
optimization: false,
182-
sourceMap: {
183-
scripts: true,
184-
styles: false,
185-
vendor: true,
186-
},
187-
buildOptimizer: false,
188-
aot: true,
189-
progress: options.progress,
190-
budgets: [],
191-
assets: [],
192-
scripts: [],
193-
styles: [],
194-
deleteOutputPath: false,
195-
extractLicenses: false,
196-
subresourceIntegrity: false,
197-
outputHashing: OutputHashing.None,
198-
namedChunks: true,
178+
const builderOptions = {
179+
...browserOptions,
180+
optimization: false,
181+
sourceMap: {
182+
scripts: true,
183+
styles: false,
184+
vendor: true,
199185
},
186+
buildOptimizer: false,
187+
aot: true,
188+
progress: options.progress,
189+
budgets: [],
190+
assets: [],
191+
scripts: [],
192+
styles: [],
193+
deleteOutputPath: false,
194+
extractLicenses: false,
195+
subresourceIntegrity: false,
196+
outputHashing: OutputHashing.None,
197+
namedChunks: true,
198+
};
199+
const { config, projectRoot } = await generateBrowserWebpackConfigFromContext(
200+
builderOptions,
200201
context,
201202
(wco) => {
202203
if (wco.tsConfig.options.enableIvy === false) {
@@ -262,7 +263,7 @@ export async function execute(
262263
(await transforms?.webpackConfiguration?.(config)) || config,
263264
context,
264265
{
265-
logging: createWebpackLoggingCallback(false, context.logger),
266+
logging: createWebpackLoggingCallback(builderOptions, context.logger),
266267
webpackFactory: webpack,
267268
},
268269
).toPromise();

packages/angular_devkit/build_angular/src/webpack/utils/stats.ts

+17-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ import { logging, tags } from '@angular-devkit/core';
1111
import * as path from 'path';
1212
import * as textTable from 'text-table';
1313
import { Configuration, StatsCompilation } from 'webpack';
14+
import { Schema as BrowserBuilderOptions } from '../../browser/schema';
1415
import { colors as ansiColors, removeColor } from '../../utils/color';
1516
import { getWebpackStatsConfig } from '../configs/stats';
17+
import { markAsyncChunksNonInitial } from './async-chunks';
18+
import { normalizeExtraEntryPoints } from './helpers';
1619

1720
export function formatSize(size: number): string {
1821
if (size <= 0) {
@@ -325,15 +328,27 @@ export function statsHasWarnings(json: StatsCompilation): boolean {
325328
}
326329

327330
export function createWebpackLoggingCallback(
328-
verbose: boolean,
331+
options: BrowserBuilderOptions,
329332
logger: logging.LoggerApi,
330333
): WebpackLoggingCallback {
334+
const { verbose = false, scripts = [], styles = [] } = options;
335+
const extraEntryPoints = [
336+
...normalizeExtraEntryPoints(styles, 'styles'),
337+
...normalizeExtraEntryPoints(scripts, 'scripts'),
338+
];
339+
331340
return (stats, config) => {
332341
if (verbose) {
333342
logger.info(stats.toString(config.stats));
334343
}
335344

336-
webpackStatsLogger(logger, stats.toJson(getWebpackStatsConfig(false)), config);
345+
const rawStats = stats.toJson(getWebpackStatsConfig(false));
346+
const webpackStats = {
347+
...rawStats,
348+
chunks: markAsyncChunksNonInitial(rawStats, extraEntryPoints),
349+
};
350+
351+
webpackStatsLogger(logger, webpackStats, config);
337352
};
338353
}
339354

0 commit comments

Comments
 (0)