improve chunk splitting

by also trying to select combinations of module chunks
(limited by complexity)
fix size ordering (was reversed)
add chunk cound ordering
This commit is contained in:
Tobias Koppers 2018-02-16 09:12:01 +01:00
parent 4b30be4f6a
commit 1e73752fb2
23 changed files with 385 additions and 228 deletions

View File

@ -168,6 +168,7 @@ class WebpackOptionsDefaulter extends OptionsDefaulter {
this.set("optimization.usedExports", "make", options => isProductionLikeMode(options)); this.set("optimization.usedExports", "make", options => isProductionLikeMode(options));
this.set("optimization.concatenateModules", "make", options => isProductionLikeMode(options)); this.set("optimization.concatenateModules", "make", options => isProductionLikeMode(options));
this.set("optimization.splitChunks", {}); this.set("optimization.splitChunks", {});
this.set("optimization.splitChunks.maxComplexity", "make", options => isProductionLikeMode(options) ? 3 : 1);
this.set("optimization.splitChunks.chunks", "async"); this.set("optimization.splitChunks.chunks", "async");
this.set("optimization.splitChunks.minSize", 30000); this.set("optimization.splitChunks.minSize", 30000);
this.set("optimization.splitChunks.minChunks", 1); this.set("optimization.splitChunks.minChunks", 1);

View File

@ -40,18 +40,41 @@ const isOverlap = (a, b) => {
return false; return false;
}; };
const getCombinations = (array, maxDepth) => {
const results = [];
getCombinationsInteral(array, maxDepth, results);
return results;
};
const getCombinationsInteral = (array, maxDepth, results) => {
results.push(array);
if(maxDepth === 0 || array.length === 1) {
return;
}
for(let i = 0; i < array.length; i++) {
const newArray = array.slice(0, i).concat(array.slice(i + 1, array.length));
getCombinationsInteral(newArray, maxDepth - 1, results);
}
};
const compareEntries = (a, b) => { const compareEntries = (a, b) => {
// 1. by priority // 1. by priority
const diffPriority = a.cacheGroup.priority - b.cacheGroup.priority; const diffPriority = a.cacheGroup.priority - b.cacheGroup.priority;
if(diffPriority) return diffPriority; if(diffPriority) return diffPriority;
// 2. by total modules size // 2. by number of chunks
const diffSize = b.size - a.size; const diffCount = a.chunks.size - b.chunks.size;
if(diffSize) return diffSize; if(diffCount) return diffCount;
// 3. by size reduction
const aSizeReduce = a.size * (a.chunks.size - 1);
const bSizeReduce = b.size * (b.chunks.size - 1);
const diffSizeReduce = aSizeReduce - bSizeReduce;
if(diffSizeReduce) return diffSizeReduce;
// 4. by number of modules (to be able to compare by identifier)
const modulesA = a.modules; const modulesA = a.modules;
const modulesB = b.modules; const modulesB = b.modules;
// 3. by module identifiers
const diff = modulesA.size - modulesB.size; const diff = modulesA.size - modulesB.size;
if(diff) return diff; if(diff) return diff;
// 5. by module identifiers
modulesA.sort(); modulesA.sort();
modulesB.sort(); modulesB.sort();
const aI = modulesA[Symbol.iterator](); const aI = modulesA[Symbol.iterator]();
@ -74,6 +97,7 @@ module.exports = class SplitChunksPlugin {
static normalizeOptions(options) { static normalizeOptions(options) {
return { return {
maxComplexity: options.maxComplexity || 0,
chunks: options.chunks || "all", chunks: options.chunks || "all",
minSize: options.minSize || 0, minSize: options.minSize || 0,
minChunks: options.minChunks || 1, minChunks: options.minChunks || 1,
@ -226,47 +250,53 @@ module.exports = class SplitChunksPlugin {
reuseExistingChunk: cacheGroupSource.reuseExistingChunk reuseExistingChunk: cacheGroupSource.reuseExistingChunk
}; };
// Select chunks by configuration // Select chunks by configuration
const selectedChunks = cacheGroup.chunks === "initial" ? chunks.filter(chunk => chunk.canBeInitial()) : const maxSelectedChunks = cacheGroup.chunks === "initial" ? chunks.filter(chunk => chunk.canBeInitial()) :
cacheGroup.chunks === "async" ? chunks.filter(chunk => !chunk.canBeInitial()) : cacheGroup.chunks === "async" ? chunks.filter(chunk => !chunk.canBeInitial()) :
chunks; chunks;
// Get indices of chunks in which this module occurs // For all (nearly all) combination of chunk selection
const chunkIndices = selectedChunks.map(chunk => indexMap.get(chunk)); for(const selectedChunks of getCombinations(maxSelectedChunks, this.options.maxComplexity)) {
// Break if minimum number of chunks is not reached // Get indices of chunks in which this module occurs
if(chunkIndices.length < cacheGroup.minChunks) const chunkIndices = selectedChunks.map(chunk => indexMap.get(chunk));
continue; // Break if minimum number of chunks is not reached
// Determine name for split chunk if(chunkIndices.length < cacheGroup.minChunks)
const name = cacheGroup.getName(module, selectedChunks, cacheGroup.key); continue;
// Create key for maps // Determine name for split chunk
// When it has a name we use the name as key const name = cacheGroup.getName(module, selectedChunks, cacheGroup.key);
// Elsewise we create the key from chunks and cache group key // Create key for maps
// This automatically merges equal names // When it has a name we use the name as key
const chunksKey = chunkIndices.sort().join(); // Elsewise we create the key from chunks and cache group key
const key = name && `name:${name}` || // This automatically merges equal names
`chunks:${chunksKey} key:${cacheGroup.key}`; const chunksKey = chunkIndices.sort().join();
// Add module to maps const key = name && `name:${name}` ||
let info = chunksInfoMap.get(key); `chunks:${chunksKey} key:${cacheGroup.key}`;
if(info === undefined) { // Add module to maps
chunksInfoMap.set(key, info = { let info = chunksInfoMap.get(key);
modules: new SortableSet(undefined, sortByIdentifier), if(info === undefined) {
cacheGroup, chunksInfoMap.set(key, info = {
name, modules: new SortableSet(undefined, sortByIdentifier),
chunks: new Map(), cacheGroup,
reusedableChunks: new Set(), name,
chunksKeys: new Set() chunks: new Map(),
}); reusedableChunks: new Set(),
} chunksKeys: new Set()
info.modules.add(module); });
if(!info.chunksKeys.has(chunksKey)) { }
info.chunksKeys.add(chunksKey); info.modules.add(module);
for(const chunk of selectedChunks) { if(!info.chunksKeys.has(chunksKey)) {
info.chunks.set(chunk, chunk.getNumberOfModules()); info.chunksKeys.add(chunksKey);
for(const chunk of selectedChunks) {
info.chunks.set(chunk, chunk.getNumberOfModules());
}
} }
} }
} }
} }
for(const info of chunksInfoMap.values()) { for(const [key, info] of chunksInfoMap) {
// Get size of module lists // Get size of module lists
info.size = getModulesSize(info.modules); info.size = getModulesSize(info.modules);
if(info.size < info.cacheGroup.minSize) {
chunksInfoMap.delete(key);
}
} }
let changed = false; let changed = false;
while(chunksInfoMap.size > 0) { while(chunksInfoMap.size > 0) {
@ -286,10 +316,7 @@ module.exports = class SplitChunksPlugin {
} }
const item = bestEntry; const item = bestEntry;
if(item.size < item.cacheGroup.minSize) { chunksInfoMap.delete(bestEntryKey);
chunksInfoMap.delete(bestEntryKey);
continue;
}
let chunkName = item.name; let chunkName = item.name;
// Variable for the new chunk (lazy created) // Variable for the new chunk (lazy created)
@ -357,21 +384,25 @@ module.exports = class SplitChunksPlugin {
} }
} }
// remove all modules from other entries and update size // remove all modules from other entries and update size
for(const info of chunksInfoMap.values()) { for(const [key, info] of chunksInfoMap) {
if(isOverlap(info.chunks, item.chunks)) { if(isOverlap(info.chunks, item.chunks)) {
const oldSize = info.modules.size; const oldSize = info.modules.size;
for(const module of item.modules) { for(const module of item.modules) {
info.modules.delete(module); info.modules.delete(module);
} }
if(info.modules.size === 0) {
chunksInfoMap.delete(key);
continue;
}
if(info.modules.size !== oldSize) { if(info.modules.size !== oldSize) {
info.size = getModulesSize(info.modules); info.size = getModulesSize(info.modules);
if(info.size < info.cacheGroup.minSize)
chunksInfoMap.delete(key);
} }
} }
} }
changed = true; changed = true;
} }
chunksInfoMap.delete(bestEntryKey);
} }
if(changed) return true; if(changed) return true;
}); });

View File

@ -1335,6 +1335,11 @@
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"maxComplexity": {
"description": "Limits the algorithmic complexity",
"type": "number",
"minimum": 0
},
"chunks": { "chunks": {
"description": "Select chunks for determining shared modules (defaults to \"async\", \"initial\" and \"all\" requires adding these chunks to the HTML)", "description": "Select chunks for determining shared modules (defaults to \"async\", \"initial\" and \"all\" requires adding these chunks to the HTML)",
"enum": [ "enum": [

View File

@ -62,52 +62,52 @@ Child default:
Entrypoint a = default/a.js Entrypoint a = default/a.js
Entrypoint b = default/b.js Entrypoint b = default/b.js
Entrypoint c = default/c.js Entrypoint c = default/c.js
chunk {0} default/vendors~async-a~async-b~async-c.js (vendors~async-a~async-b~async-c) 20 bytes <{9}> ={8}= ={1}= ={3}= ={7}= ={2}= ={6}= ={5}= >{3}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b~async-c) chunk {0} default/vendors~async-a~async-b~async-c.js (vendors~async-a~async-b~async-c) 20 bytes <{9}> ={8}= ={1}= ={2}= ={7}= ={3}= ={6}= ={5}= >{2}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b~async-c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
chunk {1} default/async-a~async-b~async-c.js (async-a~async-b~async-c) 20 bytes <{9}> ={0}= ={8}= ={3}= ={7}= ={2}= ={6}= ={5}= >{3}< >{4}< [rendered] split chunk (cache group: default) (name: async-a~async-b~async-c) chunk {1} default/async-a~async-b~async-c.js (async-a~async-b~async-c) 20 bytes <{9}> ={0}= ={8}= ={2}= ={7}= ={3}= ={6}= ={5}= >{2}< >{4}< [rendered] split chunk (cache group: default) (name: async-a~async-b~async-c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} default/vendors~async-a~async-b.js (vendors~async-a~async-b) 20 bytes <{9}> ={0}= ={1}= ={6}= ={5}= >{3}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b) chunk {2} default/async-b~async-c~async-g.js (async-b~async-c~async-g) 20 bytes <{0}> <{3}> <{1}> <{5}> <{10}> <{9}> ={4}= ={0}= ={8}= ={1}= ={7}= ={3}= ={6}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g)
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built]
chunk {3} default/async-b~async-c~async-g.js (async-b~async-c~async-g) 20 bytes <{0}> <{2}> <{1}> <{5}> <{10}> <{9}> ={4}= ={0}= ={8}= ={1}= ={7}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g)
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[2] ./f.js 20 bytes {3} {6} {11} {12} [built] > ./b [8] ./index.js 2:0-47
chunk {4} default/async-g.js (async-g) 34 bytes <{0}> <{2}> <{1}> <{5}> <{10}> ={3}= [rendered] [2] ./f.js 20 bytes {2} {11} {12} [built]
chunk {3} default/vendors~async-a~async-b.js (vendors~async-a~async-b) 20 bytes <{9}> ={0}= ={1}= ={2}= ={6}= ={5}= >{2}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b)
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {3} {10} {11} [built]
chunk {4} default/async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{5}> <{10}> ={2}= [rendered]
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
[9] ./g.js 34 bytes {4} [built] [9] ./g.js 34 bytes {4} [built]
chunk {5} default/async-a.js (async-a) 156 bytes <{9}> ={0}= ={2}= ={1}= >{3}< >{4}< [rendered] chunk {5} default/async-a.js (async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{4}< [rendered]
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[7] ./a.js + 1 modules 156 bytes {5} {10} [built] [7] ./a.js + 1 modules 156 bytes {5} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {6} default/async-b.js (async-b) 92 bytes <{9}> ={0}= ={2}= ={1}= [rendered] chunk {6} default/async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered]
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
[2] ./f.js 20 bytes {3} {6} {11} {12} [built]
[5] ./b.js 72 bytes {6} {11} [built] [5] ./b.js 72 bytes {6} {11} [built]
chunk {7} default/async-c.js (async-c) 72 bytes <{9}> ={0}= ={8}= ={1}= ={3}= [rendered] chunk {7} default/async-c.js (async-c) 72 bytes <{9}> ={0}= ={8}= ={1}= ={2}= [rendered]
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[6] ./c.js 72 bytes {7} {12} [built] [6] ./c.js 72 bytes {7} {12} [built]
chunk {8} default/vendors~async-c.js (vendors~async-c) 20 bytes <{9}> ={0}= ={1}= ={3}= ={7}= [rendered] split chunk (cache group: vendors) (name: vendors~async-c) chunk {8} default/vendors~async-c.js (vendors~async-c) 20 bytes <{9}> ={0}= ={1}= ={2}= ={7}= [rendered] split chunk (cache group: vendors) (name: vendors~async-c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[4] ./node_modules/z.js 20 bytes {8} {12} [built] [4] ./node_modules/z.js 20 bytes {8} {12} [built]
chunk {9} default/main.js (main) 147 bytes >{0}< >{2}< >{1}< >{5}< >{6}< >{8}< >{3}< >{7}< [entry] [rendered] chunk {9} default/main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{6}< >{5}< >{8}< >{7}< [entry] [rendered]
> ./ main > ./ main
[8] ./index.js 147 bytes {9} [built] [8] ./index.js 147 bytes {9} [built]
chunk {10} default/a.js (a) 216 bytes >{3}< >{4}< [entry] [rendered] chunk {10} default/a.js (a) 216 bytes >{2}< >{4}< [entry] [rendered]
> ./a a > ./a a
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built] [3] ./node_modules/y.js 20 bytes {3} {10} {11} [built]
[7] ./a.js + 1 modules 156 bytes {5} {10} [built] [7] ./a.js + 1 modules 156 bytes {5} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
@ -115,14 +115,14 @@ Child default:
> ./b b > ./b b
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
[2] ./f.js 20 bytes {3} {6} {11} {12} [built] [2] ./f.js 20 bytes {2} {11} {12} [built]
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built] [3] ./node_modules/y.js 20 bytes {3} {10} {11} [built]
[5] ./b.js 72 bytes {6} {11} [built] [5] ./b.js 72 bytes {6} {11} [built]
chunk {12} default/c.js (c) 152 bytes [entry] [rendered] chunk {12} default/c.js (c) 152 bytes [entry] [rendered]
> ./c c > ./c c
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
[2] ./f.js 20 bytes {3} {6} {11} {12} [built] [2] ./f.js 20 bytes {2} {11} {12} [built]
[4] ./node_modules/z.js 20 bytes {8} {12} [built] [4] ./node_modules/z.js 20 bytes {8} {12} [built]
[6] ./c.js 72 bytes {7} {12} [built] [6] ./c.js 72 bytes {7} {12} [built]
Child vendors: Child vendors:
@ -185,10 +185,10 @@ Child vendors:
[6] ./c.js 72 bytes {3} {8} [built] [6] ./c.js 72 bytes {3} {8} [built]
Child multiple-vendors: Child multiple-vendors:
Entrypoint main = multiple-vendors/main.js Entrypoint main = multiple-vendors/main.js
Entrypoint a = multiple-vendors/libs-x.js multiple-vendors/a.js Entrypoint a = multiple-vendors/libs-x.js multiple-vendors/vendors~a~async-a~async-b~b.js multiple-vendors/a.js
Entrypoint b = multiple-vendors/libs-x.js multiple-vendors/b.js Entrypoint b = multiple-vendors/libs-x.js multiple-vendors/vendors~a~async-a~async-b~b.js multiple-vendors/b.js
Entrypoint c = multiple-vendors/libs-x.js multiple-vendors/c.js Entrypoint c = multiple-vendors/libs-x.js multiple-vendors/vendors~async-c~c.js multiple-vendors/c.js
chunk {0} multiple-vendors/libs-x.js (libs-x) 20 bytes <{9}> ={12}= ={11}= ={10}= ={7}= ={1}= ={6}= ={2}= ={5}= ={4}= >{8}< >{3}< [initial] [rendered] split chunk (cache group: libs) (name: libs-x) chunk {0} multiple-vendors/libs-x.js (libs-x) 20 bytes <{9}> ={4}= ={12}= ={3}= ={11}= ={10}= ={1}= ={2}= ={7}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: libs) (name: libs-x)
> ./c c > ./c c
> ./b b > ./b b
> ./a a > ./a a
@ -196,126 +196,126 @@ Child multiple-vendors:
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[2] ./node_modules/x.js 20 bytes {0} [built] [2] ./node_modules/x.js 20 bytes {0} [built]
chunk {1} multiple-vendors/a~async-a~async-b~async-c~b~c.js (a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={0}= ={7}= ={6}= ={2}= ={5}= ={4}= >{8}< >{3}< [rendered] split chunk (cache group: default) (name: a~async-a~async-b~async-c~b~c) chunk {1} multiple-vendors/a~async-a~async-b~async-c~b~c.js (a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={0}= ={4}= ={2}= ={7}= ={3}= ={6}= ={8}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a~async-b~async-c~b~c)
> ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[1] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} multiple-vendors/vendors~a~async-a~async-b~b.js (vendors~a~async-a~async-b~b) 20 bytes <{9}> ={0}= ={1}= ={5}= ={4}= >{8}< >{3}< [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~b)
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built]
chunk {3} multiple-vendors/async-g.js (async-g) 34 bytes <{0}> <{10}> <{2}> <{1}> <{4}> ={8}= [rendered]
> ./g [] 6:0-47
> ./g [] 6:0-47
[9] ./g.js 34 bytes {3} [built]
chunk {4} multiple-vendors/async-a.js (async-a) 156 bytes <{9}> ={0}= ={2}= ={1}= >{8}< >{3}< [rendered]
> ./a [8] ./index.js 1:0-47
[7] ./a.js + 1 modules 156 bytes {4} {10} [built]
| ./a.js 121 bytes [built]
| ./e.js 20 bytes [built]
chunk {5} multiple-vendors/async-b.js (async-b) 92 bytes <{9}> ={0}= ={2}= ={1}= [rendered]
> ./b [8] ./index.js 2:0-47
[0] ./f.js 20 bytes {5} {6} {8} {11} {12} [built]
[5] ./b.js 72 bytes {5} {11} [built]
chunk {6} multiple-vendors/async-c.js (async-c) 92 bytes <{9}> ={0}= ={7}= ={1}= [rendered]
> ./c [8] ./index.js 3:0-47
[0] ./f.js 20 bytes {5} {6} {8} {11} {12} [built]
[6] ./c.js 72 bytes {6} {12} [built]
chunk {7} multiple-vendors/vendors~async-c~c.js (vendors~async-c~c) 20 bytes <{9}> ={0}= ={1}= ={6}= [rendered] split chunk (cache group: vendors) (name: vendors~async-c~c)
> ./c [8] ./index.js 3:0-47
[4] ./node_modules/z.js 20 bytes {7} {12} [built]
chunk {8} multiple-vendors/async-b~async-c~async-g~b~c.js (async-b~async-c~async-g~b~c) 20 bytes <{0}> <{10}> <{2}> <{1}> <{4}> ={3}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~b~c)
> ./g [] 6:0-47
> ./g [] 6:0-47
[0] ./f.js 20 bytes {5} {6} {8} {11} {12} [built]
chunk {9} multiple-vendors/main.js (main) 147 bytes >{0}< >{2}< >{1}< >{4}< >{5}< >{7}< >{6}< [entry] [rendered]
> ./ main
[8] ./index.js 147 bytes {9} [built]
chunk {10} multiple-vendors/a.js (a) 196 bytes ={0}= >{8}< >{3}< [entry] [rendered]
> ./a a
[1] ./d.js 20 bytes {1} {10} {11} {12} [built]
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built]
[7] ./a.js + 1 modules 156 bytes {4} {10} [built]
| ./a.js 121 bytes [built]
| ./e.js 20 bytes [built]
chunk {11} multiple-vendors/b.js (b) 132 bytes ={0}= [entry] [rendered]
> ./b b
[0] ./f.js 20 bytes {5} {6} {8} {11} {12} [built]
[1] ./d.js 20 bytes {1} {10} {11} {12} [built]
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built]
[5] ./b.js 72 bytes {5} {11} [built]
chunk {12} multiple-vendors/c.js (c) 132 bytes ={0}= [entry] [rendered]
> ./c c
[0] ./f.js 20 bytes {5} {6} {8} {11} {12} [built]
[1] ./d.js 20 bytes {1} {10} {11} {12} [built]
[4] ./node_modules/z.js 20 bytes {7} {12} [built]
[6] ./c.js 72 bytes {6} {12} [built]
Child all:
Entrypoint main = all/main.js
Entrypoint a = all/vendors~a~async-a~async-b~async-c~b~c.js all/a~async-a~async-b~b.js all/a.js
Entrypoint b = all/vendors~a~async-a~async-b~async-c~b~c.js all/a~async-a~async-b~b.js all/b.js
Entrypoint c = all/vendors~a~async-a~async-b~async-c~b~c.js all/vendors~async-c~c.js all/c.js
chunk {0} all/vendors~a~async-a~async-b~async-c~b~c.js (vendors~a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={4}= ={12}= ={3}= ={11}= ={10}= ={1}= ={2}= ={8}= ={7}= ={6}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~async-c~b~c)
> ./c c
> ./b b
> ./a a
> ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[2] ./node_modules/x.js 20 bytes {0} [built]
chunk {1} all/a~async-a~async-b~async-c~b~c.js (a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={0}= ={4}= ={2}= ={8}= ={3}= ={7}= ={6}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a~async-b~async-c~b~c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} all/async-b~async-c~async-g~b~c.js (async-b~async-c~async-g~b~c) 20 bytes <{0}> <{3}> <{1}> <{6}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={8}= ={3}= ={7}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~b~c) chunk {2} multiple-vendors/async-b~async-c~async-g~b~c.js (async-b~async-c~async-g~b~c) 20 bytes <{0}> <{3}> <{1}> <{8}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={7}= ={3}= ={6}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~b~c)
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
[1] ./f.js 20 bytes {2} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
chunk {3} all/a~async-a~async-b~b.js (a~async-a~async-b~b) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={2}= ={7}= ={6}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~b) chunk {3} multiple-vendors/vendors~a~async-a~async-b~b.js (vendors~a~async-a~async-b~b) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={2}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~b)
> ./b b > ./b b
> ./a a > ./a a
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {3} [built] [3] ./node_modules/y.js 20 bytes {3} [built]
chunk {4} all/vendors~async-c~c.js (vendors~async-c~c) 20 bytes <{9}> ={0}= ={12}= ={1}= ={2}= ={8}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~c) chunk {4} multiple-vendors/vendors~async-c~c.js (vendors~async-c~c) 20 bytes <{9}> ={0}= ={12}= ={1}= ={2}= ={7}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~c)
> ./c c > ./c c
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[7] ./node_modules/z.js 20 bytes {4} [built] [7] ./node_modules/z.js 20 bytes {4} [built]
chunk {5} all/async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{6}> <{10}> ={2}= [rendered] chunk {5} multiple-vendors/async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{8}> <{10}> ={2}= [rendered]
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
[9] ./g.js 34 bytes {5} [built] [9] ./g.js 34 bytes {5} [built]
chunk {6} all/async-a.js (async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{5}< [rendered] chunk {6} multiple-vendors/async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered]
> ./b [8] ./index.js 2:0-47
[4] ./b.js 72 bytes {6} {11} [built]
chunk {7} multiple-vendors/async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={2}= [rendered]
> ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {7} {12} [built]
chunk {8} multiple-vendors/a~async-a.js (a~async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a)
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[6] ./a.js + 1 modules 156 bytes {6} {10} [built] [6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {7} all/async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered] chunk {9} multiple-vendors/main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{6}< >{8}< >{4}< >{7}< [entry] [rendered]
> ./b [8] ./index.js 2:0-47 > ./ main
[4] ./b.js 72 bytes {7} {11} [built] [8] ./index.js 147 bytes {9} [built]
chunk {8} all/async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={2}= [rendered] chunk {10} multiple-vendors/a.js (a) 176 bytes ={0}= ={3}= >{2}< >{5}< [entry] [rendered]
> ./a a
[0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built]
| ./e.js 20 bytes [built]
chunk {11} multiple-vendors/b.js (b) 112 bytes ={0}= ={3}= [entry] [rendered]
> ./b b
[0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {2} {11} {12} [built]
[4] ./b.js 72 bytes {6} {11} [built]
chunk {12} multiple-vendors/c.js (c) 112 bytes ={0}= ={4}= [entry] [rendered]
> ./c c
[0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {2} {11} {12} [built]
[5] ./c.js 72 bytes {7} {12} [built]
Child all:
Entrypoint main = all/main.js
Entrypoint a = all/vendors~a~async-a~async-b~async-c~b~c.js all/vendors~a~async-a~async-b~b.js all/a.js
Entrypoint b = all/vendors~a~async-a~async-b~async-c~b~c.js all/vendors~a~async-a~async-b~b.js all/b.js
Entrypoint c = all/vendors~a~async-a~async-b~async-c~b~c.js all/vendors~async-c~c.js all/c.js
chunk {0} all/vendors~a~async-a~async-b~async-c~b~c.js (vendors~a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={4}= ={12}= ={3}= ={11}= ={10}= ={1}= ={2}= ={7}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~async-c~b~c)
> ./c c
> ./b b
> ./a a
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {8} {12} [built] > ./b [8] ./index.js 2:0-47
chunk {9} all/main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{7}< >{6}< >{4}< >{8}< [entry] [rendered] > ./a [8] ./index.js 1:0-47
[2] ./node_modules/x.js 20 bytes {0} [built]
chunk {1} all/a~async-a~async-b~async-c~b~c.js (a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={0}= ={4}= ={2}= ={7}= ={3}= ={6}= ={8}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a~async-b~async-c~b~c)
> ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[0] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} all/async-b~async-c~async-g~b~c.js (async-b~async-c~async-g~b~c) 20 bytes <{0}> <{3}> <{1}> <{8}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={7}= ={3}= ={6}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~b~c)
> ./g [] 6:0-47
> ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47
[1] ./f.js 20 bytes {2} {11} {12} [built]
chunk {3} all/vendors~a~async-a~async-b~b.js (vendors~a~async-a~async-b~b) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={2}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~b)
> ./b b
> ./a a
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {3} [built]
chunk {4} all/vendors~async-c~c.js (vendors~async-c~c) 20 bytes <{9}> ={0}= ={12}= ={1}= ={2}= ={7}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~c)
> ./c c
> ./c [8] ./index.js 3:0-47
[7] ./node_modules/z.js 20 bytes {4} [built]
chunk {5} all/async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{8}> <{10}> ={2}= [rendered]
> ./g [] 6:0-47
> ./g [] 6:0-47
[9] ./g.js 34 bytes {5} [built]
chunk {6} all/async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered]
> ./b [8] ./index.js 2:0-47
[4] ./b.js 72 bytes {6} {11} [built]
chunk {7} all/async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={2}= [rendered]
> ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {7} {12} [built]
chunk {8} all/a~async-a.js (a~async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a)
> ./a [8] ./index.js 1:0-47
[6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built]
| ./e.js 20 bytes [built]
chunk {9} all/main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{6}< >{8}< >{4}< >{7}< [entry] [rendered]
> ./ main > ./ main
[8] ./index.js 147 bytes {9} [built] [8] ./index.js 147 bytes {9} [built]
chunk {10} all/a.js (a) 176 bytes ={0}= ={3}= >{2}< >{5}< [entry] [rendered] chunk {10} all/a.js (a) 176 bytes ={0}= ={3}= >{2}< >{5}< [entry] [rendered]
> ./a a > ./a a
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[6] ./a.js + 1 modules 156 bytes {6} {10} [built] [6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {11} all/b.js (b) 112 bytes ={0}= ={3}= [entry] [rendered] chunk {11} all/b.js (b) 112 bytes ={0}= ={3}= [entry] [rendered]
> ./b b > ./b b
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {2} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
[4] ./b.js 72 bytes {7} {11} [built] [4] ./b.js 72 bytes {6} {11} [built]
chunk {12} all/c.js (c) 112 bytes ={0}= ={4}= [entry] [rendered] chunk {12} all/c.js (c) 112 bytes ={0}= ={4}= [entry] [rendered]
> ./c c > ./c c
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {2} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
[5] ./c.js 72 bytes {8} {12} [built] [5] ./c.js 72 bytes {7} {12} [built]

View File

@ -0,0 +1,3 @@
import "./d";
import "./e";
export default "a";

View File

@ -0,0 +1,3 @@
import "./d";
import "./e";
export default "b";

View File

@ -0,0 +1,2 @@
import "./d";
export default "a";

View File

@ -0,0 +1 @@
// content content content content content content content content

View File

@ -0,0 +1 @@
// content content content content content content content content

View File

@ -0,0 +1,19 @@
Entrypoint main = main.js
chunk {0} async-a~async-b.js (async-a~async-b) 134 bytes <{4}> ={2}= ={1}= [rendered] split chunk (cache group: default) (name: async-a~async-b)
> ./b [5] ./index.js 2:0-47
> ./a [5] ./index.js 1:0-47
[0] ./d.js 67 bytes {0} {3} [built]
[1] ./e.js 67 bytes {0} [built]
chunk {1} async-a.js (async-a) 48 bytes <{4}> ={0}= [rendered]
> ./a [5] ./index.js 1:0-47
[2] ./a.js 48 bytes {1} [built]
chunk {2} async-b.js (async-b) 48 bytes <{4}> ={0}= [rendered]
> ./b [5] ./index.js 2:0-47
[3] ./b.js 48 bytes {2} [built]
chunk {3} async-c.js (async-c) 101 bytes <{4}> [rendered]
> ./c [5] ./index.js 3:0-47
[0] ./d.js 67 bytes {0} {3} [built]
[4] ./c.js 34 bytes {3} [built]
chunk {4} main.js (main) 147 bytes >{0}< >{1}< >{2}< >{3}< [entry] [rendered]
> ./ main
[5] ./index.js 147 bytes {4} [built]

View File

@ -0,0 +1 @@
// content content content content content

View File

@ -0,0 +1,3 @@
import(/* webpackChunkName: "async-a" */ "./a");
import(/* webpackChunkName: "async-b" */ "./b");
import(/* webpackChunkName: "async-c" */ "./c");

View File

@ -0,0 +1,25 @@
const stats = {
hash: false,
timings: false,
builtAt: false,
assets: false,
chunks: true,
chunkOrigins: true,
entrypoints: true,
modules: false
};
module.exports = {
mode: "production",
entry: {
main: "./"
},
output: {
filename: "[name].js"
},
optimization: {
splitChunks: {
minSize: 100
}
},
stats
};

View File

@ -0,0 +1,3 @@
import "./d";
import "./e";
export default "a";

View File

@ -0,0 +1,4 @@
import "./d";
import "./e";
import "./f";
export default "b";

View File

@ -0,0 +1,3 @@
import "./d";
import "./f";
export default "a";

View File

@ -0,0 +1 @@
// content content content content content

View File

@ -0,0 +1 @@
// content content content content content

View File

@ -0,0 +1,21 @@
Entrypoint main = default/main.js
chunk {0} default/async-b~async-c.js (async-b~async-c) 110 bytes <{4}> ={3}= ={2}= [rendered] split chunk (cache group: default) (name: async-b~async-c)
> ./c [6] ./index.js 3:0-47
> ./b [6] ./index.js 2:0-47
[0] ./d.js 43 bytes {0} {1} [built]
[2] ./f.js 67 bytes {0} [built]
chunk {1} default/async-a.js (async-a) 134 bytes <{4}> [rendered]
> ./a [6] ./index.js 1:0-47
[0] ./d.js 43 bytes {0} {1} [built]
[1] ./e.js 43 bytes {1} {2} [built]
[3] ./a.js 48 bytes {1} [built]
chunk {2} default/async-b.js (async-b) 105 bytes <{4}> ={0}= [rendered]
> ./b [6] ./index.js 2:0-47
[1] ./e.js 43 bytes {1} {2} [built]
[4] ./b.js 62 bytes {2} [built]
chunk {3} default/async-c.js (async-c) 48 bytes <{4}> ={0}= [rendered]
> ./c [6] ./index.js 3:0-47
[5] ./c.js 48 bytes {3} [built]
chunk {4} default/main.js (main) 147 bytes >{0}< >{2}< >{3}< >{1}< [entry] [rendered]
> ./ main
[6] ./index.js 147 bytes {4} [built]

View File

@ -0,0 +1 @@
// content content content content content content content content

View File

@ -0,0 +1,3 @@
import(/* webpackChunkName: "async-a" */ "./a");
import(/* webpackChunkName: "async-b" */ "./b");
import(/* webpackChunkName: "async-c" */ "./c");

View File

@ -0,0 +1,25 @@
const stats = {
hash: false,
timings: false,
builtAt: false,
assets: false,
chunks: true,
chunkOrigins: true,
entrypoints: true,
modules: false
};
module.exports = {
mode: "production",
entry: {
main: "./",
},
output: {
filename: "default/[name].js"
},
optimization: {
splitChunks: {
minSize: 80
}
},
stats
};

View File

@ -3,52 +3,52 @@ Child default:
Entrypoint a = default/a.js Entrypoint a = default/a.js
Entrypoint b = default/b.js Entrypoint b = default/b.js
Entrypoint c = default/c.js Entrypoint c = default/c.js
chunk {0} default/vendors~async-a~async-b~async-c.js (vendors~async-a~async-b~async-c) 20 bytes <{9}> ={8}= ={1}= ={3}= ={7}= ={2}= ={6}= ={5}= >{3}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b~async-c) chunk {0} default/vendors~async-a~async-b~async-c.js (vendors~async-a~async-b~async-c) 20 bytes <{9}> ={8}= ={1}= ={2}= ={7}= ={3}= ={6}= ={5}= >{2}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b~async-c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
chunk {1} default/async-a~async-b~async-c.js (async-a~async-b~async-c) 20 bytes <{9}> ={0}= ={8}= ={3}= ={7}= ={2}= ={6}= ={5}= >{3}< >{4}< [rendered] split chunk (cache group: default) (name: async-a~async-b~async-c) chunk {1} default/async-a~async-b~async-c.js (async-a~async-b~async-c) 20 bytes <{9}> ={0}= ={8}= ={2}= ={7}= ={3}= ={6}= ={5}= >{2}< >{4}< [rendered] split chunk (cache group: default) (name: async-a~async-b~async-c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} default/vendors~async-a~async-b.js (vendors~async-a~async-b) 20 bytes <{9}> ={0}= ={1}= ={6}= ={5}= >{3}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b) chunk {2} default/async-b~async-c~async-g.js (async-b~async-c~async-g) 20 bytes <{0}> <{3}> <{1}> <{5}> <{10}> <{9}> ={4}= ={0}= ={8}= ={1}= ={7}= ={3}= ={6}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g)
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built]
chunk {3} default/async-b~async-c~async-g.js (async-b~async-c~async-g) 20 bytes <{0}> <{2}> <{1}> <{5}> <{10}> <{9}> ={4}= ={0}= ={8}= ={1}= ={7}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g)
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[2] ./f.js 20 bytes {3} {6} {11} {12} [built] > ./b [8] ./index.js 2:0-47
chunk {4} default/async-g.js (async-g) 34 bytes <{0}> <{2}> <{1}> <{5}> <{10}> ={3}= [rendered] [2] ./f.js 20 bytes {2} {11} {12} [built]
chunk {3} default/vendors~async-a~async-b.js (vendors~async-a~async-b) 20 bytes <{9}> ={0}= ={1}= ={2}= ={6}= ={5}= >{2}< >{4}< [rendered] split chunk (cache group: vendors) (name: vendors~async-a~async-b)
> ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {3} {10} {11} [built]
chunk {4} default/async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{5}> <{10}> ={2}= [rendered]
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
[9] ./g.js 34 bytes {4} [built] [9] ./g.js 34 bytes {4} [built]
chunk {5} default/async-a.js (async-a) 156 bytes <{9}> ={0}= ={2}= ={1}= >{3}< >{4}< [rendered] chunk {5} default/async-a.js (async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{4}< [rendered]
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[7] ./a.js + 1 modules 156 bytes {5} {10} [built] [7] ./a.js + 1 modules 156 bytes {5} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {6} default/async-b.js (async-b) 92 bytes <{9}> ={0}= ={2}= ={1}= [rendered] chunk {6} default/async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered]
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
[2] ./f.js 20 bytes {3} {6} {11} {12} [built]
[5] ./b.js 72 bytes {6} {11} [built] [5] ./b.js 72 bytes {6} {11} [built]
chunk {7} default/async-c.js (async-c) 72 bytes <{9}> ={0}= ={8}= ={1}= ={3}= [rendered] chunk {7} default/async-c.js (async-c) 72 bytes <{9}> ={0}= ={8}= ={1}= ={2}= [rendered]
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[6] ./c.js 72 bytes {7} {12} [built] [6] ./c.js 72 bytes {7} {12} [built]
chunk {8} default/vendors~async-c.js (vendors~async-c) 20 bytes <{9}> ={0}= ={1}= ={3}= ={7}= [rendered] split chunk (cache group: vendors) (name: vendors~async-c) chunk {8} default/vendors~async-c.js (vendors~async-c) 20 bytes <{9}> ={0}= ={1}= ={2}= ={7}= [rendered] split chunk (cache group: vendors) (name: vendors~async-c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[4] ./node_modules/z.js 20 bytes {8} {12} [built] [4] ./node_modules/z.js 20 bytes {8} {12} [built]
chunk {9} default/main.js (main) 147 bytes >{0}< >{2}< >{1}< >{5}< >{6}< >{8}< >{3}< >{7}< [entry] [rendered] chunk {9} default/main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{6}< >{5}< >{8}< >{7}< [entry] [rendered]
> ./ main > ./ main
[8] ./index.js 147 bytes {9} [built] [8] ./index.js 147 bytes {9} [built]
chunk {10} default/a.js (a) 216 bytes >{3}< >{4}< [entry] [rendered] chunk {10} default/a.js (a) 216 bytes >{2}< >{4}< [entry] [rendered]
> ./a a > ./a a
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built] [3] ./node_modules/y.js 20 bytes {3} {10} {11} [built]
[7] ./a.js + 1 modules 156 bytes {5} {10} [built] [7] ./a.js + 1 modules 156 bytes {5} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
@ -56,14 +56,14 @@ Child default:
> ./b b > ./b b
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
[2] ./f.js 20 bytes {3} {6} {11} {12} [built] [2] ./f.js 20 bytes {2} {11} {12} [built]
[3] ./node_modules/y.js 20 bytes {2} {10} {11} [built] [3] ./node_modules/y.js 20 bytes {3} {10} {11} [built]
[5] ./b.js 72 bytes {6} {11} [built] [5] ./b.js 72 bytes {6} {11} [built]
chunk {12} default/c.js (c) 152 bytes [entry] [rendered] chunk {12} default/c.js (c) 152 bytes [entry] [rendered]
> ./c c > ./c c
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built] [1] ./node_modules/x.js 20 bytes {0} {10} {11} {12} [built]
[2] ./f.js 20 bytes {3} {6} {11} {12} [built] [2] ./f.js 20 bytes {2} {11} {12} [built]
[4] ./node_modules/z.js 20 bytes {8} {12} [built] [4] ./node_modules/z.js 20 bytes {8} {12} [built]
[6] ./c.js 72 bytes {7} {12} [built] [6] ./c.js 72 bytes {7} {12} [built]
Child all-chunks: Child all-chunks:
@ -71,7 +71,7 @@ Child all-chunks:
Entrypoint a = default/vendors~a~async-a~async-b~async-c~b~c.js default/vendors~a~async-a~async-b~b.js default/a.js Entrypoint a = default/vendors~a~async-a~async-b~async-c~b~c.js default/vendors~a~async-a~async-b~b.js default/a.js
Entrypoint b = default/vendors~a~async-a~async-b~async-c~b~c.js default/vendors~a~async-a~async-b~b.js default/b.js Entrypoint b = default/vendors~a~async-a~async-b~async-c~b~c.js default/vendors~a~async-a~async-b~b.js default/b.js
Entrypoint c = default/vendors~a~async-a~async-b~async-c~b~c.js default/vendors~async-c~c.js default/c.js Entrypoint c = default/vendors~a~async-a~async-b~async-c~b~c.js default/vendors~async-c~c.js default/c.js
chunk {0} default/vendors~a~async-a~async-b~async-c~b~c.js (vendors~a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={4}= ={12}= ={2}= ={11}= ={10}= ={1}= ={3}= ={8}= ={7}= ={6}= >{3}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~async-c~b~c) chunk {0} default/vendors~a~async-a~async-b~async-c~b~c.js (vendors~a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={4}= ={12}= ={3}= ={11}= ={10}= ={1}= ={2}= ={7}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~async-c~b~c)
> ./c c > ./c c
> ./b b > ./b b
> ./a a > ./a a
@ -79,61 +79,61 @@ Child all-chunks:
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[2] ./node_modules/x.js 20 bytes {0} [built] [2] ./node_modules/x.js 20 bytes {0} [built]
chunk {1} default/a~async-a~async-b~async-c~b~c.js (a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={0}= ={4}= ={3}= ={8}= ={2}= ={7}= ={6}= >{3}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a~async-b~async-c~b~c) chunk {1} default/a~async-a~async-b~async-c~b~c.js (a~async-a~async-b~async-c~b~c) 20 bytes <{9}> ={0}= ={4}= ={2}= ={7}= ={3}= ={6}= ={8}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a~async-b~async-c~b~c)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} default/vendors~a~async-a~async-b~b.js (vendors~a~async-a~async-b~b) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={7}= ={6}= >{3}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~b) chunk {2} default/async-b~async-c~async-g~b~c.js (async-b~async-c~async-g~b~c) 20 bytes <{0}> <{3}> <{1}> <{8}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={7}= ={3}= ={6}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~b~c)
> ./g [] 6:0-47
> ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47
[1] ./f.js 20 bytes {2} {11} {12} [built]
chunk {3} default/vendors~a~async-a~async-b~b.js (vendors~a~async-a~async-b~b) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={2}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~a~async-a~async-b~b)
> ./b b > ./b b
> ./a a > ./a a
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {2} [built] [3] ./node_modules/y.js 20 bytes {3} [built]
chunk {3} default/async-b~async-c~async-g~b~c.js (async-b~async-c~async-g~b~c) 20 bytes <{0}> <{2}> <{1}> <{6}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={8}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~b~c) chunk {4} default/vendors~async-c~c.js (vendors~async-c~c) 20 bytes <{9}> ={0}= ={12}= ={1}= ={2}= ={7}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~c)
> ./g [] 6:0-47
> ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47
[1] ./f.js 20 bytes {3} {7} {11} {12} [built]
chunk {4} default/vendors~async-c~c.js (vendors~async-c~c) 20 bytes <{9}> ={0}= ={12}= ={1}= ={3}= ={8}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~c)
> ./c c > ./c c
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[7] ./node_modules/z.js 20 bytes {4} [built] [7] ./node_modules/z.js 20 bytes {4} [built]
chunk {5} default/async-g.js (async-g) 34 bytes <{0}> <{2}> <{1}> <{6}> <{10}> ={3}= [rendered] chunk {5} default/async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{8}> <{10}> ={2}= [rendered]
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
[9] ./g.js 34 bytes {5} [built] [9] ./g.js 34 bytes {5} [built]
chunk {6} default/async-a.js (async-a) 156 bytes <{9}> ={0}= ={2}= ={1}= >{3}< >{5}< [rendered] chunk {6} default/async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered]
> ./b [8] ./index.js 2:0-47
[4] ./b.js 72 bytes {6} {11} [built]
chunk {7} default/async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={2}= [rendered]
> ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {7} {12} [built]
chunk {8} default/a~async-a.js (a~async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: a~async-a)
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[6] ./a.js + 1 modules 156 bytes {6} {10} [built] [6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {7} default/async-b.js (async-b) 92 bytes <{9}> ={0}= ={2}= ={1}= [rendered] chunk {9} default/main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{6}< >{8}< >{4}< >{7}< [entry] [rendered]
> ./b [8] ./index.js 2:0-47
[1] ./f.js 20 bytes {3} {7} {11} {12} [built]
[4] ./b.js 72 bytes {7} {11} [built]
chunk {8} default/async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={3}= [rendered]
> ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {8} {12} [built]
chunk {9} default/main.js (main) 147 bytes >{0}< >{2}< >{1}< >{6}< >{7}< >{4}< >{3}< >{8}< [entry] [rendered]
> ./ main > ./ main
[8] ./index.js 147 bytes {9} [built] [8] ./index.js 147 bytes {9} [built]
chunk {10} default/a.js (a) 176 bytes ={0}= ={2}= >{3}< >{5}< [entry] [rendered] chunk {10} default/a.js (a) 176 bytes ={0}= ={3}= >{2}< >{5}< [entry] [rendered]
> ./a a > ./a a
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[6] ./a.js + 1 modules 156 bytes {6} {10} [built] [6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {11} default/b.js (b) 112 bytes ={0}= ={2}= [entry] [rendered] chunk {11} default/b.js (b) 112 bytes ={0}= ={3}= [entry] [rendered]
> ./b b > ./b b
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {3} {7} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
[4] ./b.js 72 bytes {7} {11} [built] [4] ./b.js 72 bytes {6} {11} [built]
chunk {12} default/c.js (c) 112 bytes ={0}= ={4}= [entry] [rendered] chunk {12} default/c.js (c) 112 bytes ={0}= ={4}= [entry] [rendered]
> ./c c > ./c c
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {3} {7} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
[5] ./c.js 72 bytes {8} {12} [built] [5] ./c.js 72 bytes {7} {12} [built]
Child manual: Child manual:
Entrypoint main = default/main.js Entrypoint main = default/main.js
Entrypoint a = default/vendors.js default/a.js Entrypoint a = default/vendors.js default/a.js
@ -195,7 +195,7 @@ Child name-too-long:
Entrypoint aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.js Entrypoint aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.js
Entrypoint bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb = vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js Entrypoint bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb = vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js
Entrypoint cccccccccccccccccccccccccccccc = vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js vendors~async-c~cccccccccccccccccccccccccccccc.js cccccccccccccccccccccccccccccc.js Entrypoint cccccccccccccccccccccccccccccc = vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js vendors~async-c~cccccccccccccccccccccccccccccc.js cccccccccccccccccccccccccccccc.js
chunk {0} vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js (vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be) 20 bytes <{9}> ={4}= ={12}= ={2}= ={11}= ={10}= ={1}= ={3}= ={8}= ={7}= ={6}= >{3}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be) chunk {0} vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be.js (vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be) 20 bytes <{9}> ={4}= ={12}= ={3}= ={11}= ={10}= ={1}= ={2}= ={7}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccc~716093be)
> ./c cccccccccccccccccccccccccccccc > ./c cccccccccccccccccccccccccccccc
> ./b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb > ./b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ./a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ./a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@ -203,58 +203,58 @@ Child name-too-long:
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[2] ./node_modules/x.js 20 bytes {0} [built] [2] ./node_modules/x.js 20 bytes {0} [built]
chunk {1} aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccc~e7d53185.js (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccc~e7d53185) 20 bytes <{9}> ={0}= ={4}= ={3}= ={8}= ={2}= ={7}= ={6}= >{3}< >{5}< [rendered] split chunk (cache group: default) (name: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccc~e7d53185) chunk {1} aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccc~e7d53185.js (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccc~e7d53185) 20 bytes <{9}> ={0}= ={4}= ={2}= ={7}= ={3}= ={6}= ={8}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~async-c~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccc~e7d53185)
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
chunk {2} vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js (vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={7}= ={6}= >{3}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) chunk {2} async-b~async-c~async-g~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccccccccccccccccccc.js (async-b~async-c~async-g~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccccccccccccccccccc) 20 bytes <{0}> <{3}> <{1}> <{8}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={7}= ={3}= ={6}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccccccccccccccccccc)
> ./g [] 6:0-47
> ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47
> ./b [8] ./index.js 2:0-47
[1] ./f.js 20 bytes {2} {11} {12} [built]
chunk {3} vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js (vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) 20 bytes <{9}> ={0}= ={11}= ={10}= ={1}= ={2}= ={6}= ={8}= >{2}< >{5}< [initial] [rendered] split chunk (cache group: vendors) (name: vendors~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a~async-b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
> ./b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb > ./b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ./a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ./a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
> ./b [8] ./index.js 2:0-47 > ./b [8] ./index.js 2:0-47
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[3] ./node_modules/y.js 20 bytes {2} [built] [3] ./node_modules/y.js 20 bytes {3} [built]
chunk {3} async-b~async-c~async-g~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccccccccccccccccccc.js (async-b~async-c~async-g~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccccccccccccccccccc) 20 bytes <{0}> <{2}> <{1}> <{6}> <{10}> <{9}> ={5}= ={0}= ={4}= ={1}= ={8}= [rendered] split chunk (cache group: default) (name: async-b~async-c~async-g~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb~cccccccccccccccccccccccccccccc) chunk {4} vendors~async-c~cccccccccccccccccccccccccccccc.js (vendors~async-c~cccccccccccccccccccccccccccccc) 20 bytes <{9}> ={0}= ={12}= ={1}= ={2}= ={7}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~cccccccccccccccccccccccccccccc)
> ./g [] 6:0-47
> ./g [] 6:0-47
> ./c [8] ./index.js 3:0-47
[1] ./f.js 20 bytes {3} {7} {11} {12} [built]
chunk {4} vendors~async-c~cccccccccccccccccccccccccccccc.js (vendors~async-c~cccccccccccccccccccccccccccccc) 20 bytes <{9}> ={0}= ={12}= ={1}= ={3}= ={8}= [initial] [rendered] split chunk (cache group: vendors) (name: vendors~async-c~cccccccccccccccccccccccccccccc)
> ./c cccccccccccccccccccccccccccccc > ./c cccccccccccccccccccccccccccccc
> ./c [8] ./index.js 3:0-47 > ./c [8] ./index.js 3:0-47
[7] ./node_modules/z.js 20 bytes {4} [built] [7] ./node_modules/z.js 20 bytes {4} [built]
chunk {5} async-g.js (async-g) 34 bytes <{0}> <{2}> <{1}> <{6}> <{10}> ={3}= [rendered] chunk {5} async-g.js (async-g) 34 bytes <{0}> <{3}> <{1}> <{8}> <{10}> ={2}= [rendered]
> ./g [] 6:0-47 > ./g [] 6:0-47
> ./g [] 6:0-47 > ./g [] 6:0-47
[9] ./g.js 34 bytes {5} [built] [9] ./g.js 34 bytes {5} [built]
chunk {6} async-a.js (async-a) 156 bytes <{9}> ={0}= ={2}= ={1}= >{3}< >{5}< [rendered] chunk {6} async-b.js (async-b) 72 bytes <{9}> ={0}= ={3}= ={1}= ={2}= [rendered]
> ./b [8] ./index.js 2:0-47
[4] ./b.js 72 bytes {6} {11} [built]
chunk {7} async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={2}= [rendered]
> ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {7} {12} [built]
chunk {8} aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a.js (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a) 156 bytes <{9}> ={0}= ={3}= ={1}= >{2}< >{5}< [rendered] split chunk (cache group: default) (name: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~async-a)
> ./a [8] ./index.js 1:0-47 > ./a [8] ./index.js 1:0-47
[6] ./a.js + 1 modules 156 bytes {6} {10} [built] [6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {7} async-b.js (async-b) 92 bytes <{9}> ={0}= ={2}= ={1}= [rendered] chunk {9} main.js (main) 147 bytes >{0}< >{3}< >{1}< >{2}< >{6}< >{8}< >{4}< >{7}< [entry] [rendered]
> ./b [8] ./index.js 2:0-47
[1] ./f.js 20 bytes {3} {7} {11} {12} [built]
[4] ./b.js 72 bytes {7} {11} [built]
chunk {8} async-c.js (async-c) 72 bytes <{9}> ={0}= ={4}= ={1}= ={3}= [rendered]
> ./c [8] ./index.js 3:0-47
[5] ./c.js 72 bytes {8} {12} [built]
chunk {9} main.js (main) 147 bytes >{0}< >{2}< >{1}< >{6}< >{7}< >{4}< >{3}< >{8}< [entry] [rendered]
> ./ main > ./ main
[8] ./index.js 147 bytes {9} [built] [8] ./index.js 147 bytes {9} [built]
chunk {10} aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.js (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) 176 bytes ={0}= ={2}= >{3}< >{5}< [entry] [rendered] chunk {10} aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.js (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) 176 bytes ={0}= ={3}= >{2}< >{5}< [entry] [rendered]
> ./a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ./a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[6] ./a.js + 1 modules 156 bytes {6} {10} [built] [6] ./a.js + 1 modules 156 bytes {8} {10} [built]
| ./a.js 121 bytes [built] | ./a.js 121 bytes [built]
| ./e.js 20 bytes [built] | ./e.js 20 bytes [built]
chunk {11} bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js (bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) 112 bytes ={0}= ={2}= [entry] [rendered] chunk {11} bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.js (bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) 112 bytes ={0}= ={3}= [entry] [rendered]
> ./b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb > ./b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {3} {7} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
[4] ./b.js 72 bytes {7} {11} [built] [4] ./b.js 72 bytes {6} {11} [built]
chunk {12} cccccccccccccccccccccccccccccc.js (cccccccccccccccccccccccccccccc) 112 bytes ={0}= ={4}= [entry] [rendered] chunk {12} cccccccccccccccccccccccccccccc.js (cccccccccccccccccccccccccccccc) 112 bytes ={0}= ={4}= [entry] [rendered]
> ./c cccccccccccccccccccccccccccccc > ./c cccccccccccccccccccccccccccccc
[0] ./d.js 20 bytes {1} {10} {11} {12} [built] [0] ./d.js 20 bytes {1} {10} {11} {12} [built]
[1] ./f.js 20 bytes {3} {7} {11} {12} [built] [1] ./f.js 20 bytes {2} {11} {12} [built]
[5] ./c.js 72 bytes {8} {12} [built] [5] ./c.js 72 bytes {7} {12} [built]