Skip to content

Commit da2c71a

Browse files
filipesilvaBrocco
authored andcommitted
fix(@angular/cli): fix ever increasing lazy chunk name counter
Currently, rebuilds with lazy modules keep increasing the lazy chunk name indefinitely (.0, .1, .2, etc) for the same lazy chunk. This PR fixes that.
1 parent aa9103a commit da2c71a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

packages/@angular/cli/plugins/named-lazy-chunks-webpack-plugin.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ const ImportDependency = require('webpack/lib/dependencies/ImportDependency');
88
export class NamedLazyChunksWebpackPlugin extends webpack.NamedChunksPlugin {
99
constructor() {
1010
// Append a dot and number if the name already exists.
11-
const nameMap = new Map<string, boolean>();
12-
function getUniqueName(baseName: string) {
11+
const nameMap = new Map<string, string>();
12+
function getUniqueName(baseName: string, request: string) {
1313
let name = baseName;
1414
let num = 0;
15-
while (nameMap.has(name)) {
15+
while (nameMap.has(name) && nameMap.get(name) !== request) {
1616
name = `${baseName}.${num++}`;
1717
}
18-
nameMap.set(name, true);
18+
nameMap.set(name, request);
1919
return name;
2020
}
2121

@@ -34,13 +34,13 @@ export class NamedLazyChunksWebpackPlugin extends webpack.NamedChunksPlugin {
3434
|| chunk.blocks[0].dependencies[0] instanceof ImportDependency)
3535
) {
3636
// Create chunkname from file request, stripping ngfactory and extension.
37-
const req = chunk.blocks[0].dependencies[0].request;
38-
const chunkName = basename(req).replace(/(\.ngfactory)?\.(js|ts)$/, '');
37+
const request = chunk.blocks[0].dependencies[0].request;
38+
const chunkName = basename(request).replace(/(\.ngfactory)?\.(js|ts)$/, '');
3939
if (!chunkName || chunkName === '') {
4040
// Bail out if something went wrong with the name.
4141
return null;
4242
}
43-
return getUniqueName(chunkName);
43+
return getUniqueName(chunkName, request);
4444
}
4545

4646
return null;

0 commit comments

Comments
 (0)