Skip to content

Commit 8dac14a

Browse files
committed
fixed chunkNameFiles for chunk merging
1 parent 323e386 commit 8dac14a

3 files changed

Lines changed: 36 additions & 28 deletions

File tree

lib/formatOutput.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,16 @@ module.exports = function(stats, options) {
2626
});
2727
var fileChunkNames = {};
2828
Object.keys(stats.chunkNameFiles).forEach(function(name) {
29-
if(name.length > maxLenChunkname) maxLenChunkname = name.length;
30-
fileChunkNames[stats.chunkNameFiles[name]] = name;
29+
if(/^[1-9][0-9]*$/.test(name)) return;
30+
var filename = stats.chunkNameFiles[name];
31+
if(!fileChunkNames[filename])
32+
fileChunkNames[filename] = [];
33+
fileChunkNames[filename].push(name);
34+
var length = fileChunkNames[filename].join(" ").length;
35+
if(length > maxLenChunkname) maxLenChunkname = length;
3136
});
3237
Object.keys(stats.fileSizes).forEach(function(file) {
33-
var name = fileChunkNames[file] || "";
38+
var name = fileChunkNames[file] && fileChunkNames[file].join(" ") || "";
3439
var fileLine = sprintf("%" + maxLenChunkname + "s", name) + c("\033[1m") + sprintf("%" + (3 + maxLenFilename) + "s", file) + c("\033[22m")+": "+c("\033[1m") + sprintf("%8d", stats.fileSizes[file]) + c("\033[22m") + " chars/bytes ";
3540
buf.push(fileLine);
3641
});

lib/webpack.js

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -447,32 +447,35 @@ function webpack(context, moduleName, options, callback) {
447447
var chunkNameMap = {};
448448

449449
chunkIds.reverse().forEach(function(chunkId) {
450-
var chunk = depTree.chunks[chunkId]
451-
if(!chunk.filename) return;
452-
var modulesArray = [];
453-
for(var moduleId in chunk.modules) {
454-
if(chunk.modules[moduleId] === "include") {
455-
var modu = depTree.modules[moduleId];
456-
modulesArray.push({
457-
id: modu.realId,
458-
size: modu.size,
459-
filename: modu.filename,
460-
dirname: modu.dirname,
461-
fromCache: modu.fromCache,
462-
toCache: modu.toCache,
463-
seperate: modu.seperate,
464-
profile: modu.profile,
465-
loaders: modu.loaders,
466-
dependencies: modu.dependencies,
467-
reasons: modu.reasons});
468-
sum++;
469-
}
450+
var chunk = depTree.chunks[chunkId];
451+
if(chunk.filename) {
452+
var modulesArray = [];
453+
for(var moduleId in chunk.modules) {
454+
if(chunk.modules[moduleId] === "include") {
455+
var modu = depTree.modules[moduleId];
456+
modulesArray.push({
457+
id: modu.realId,
458+
size: modu.size,
459+
filename: modu.filename,
460+
dirname: modu.dirname,
461+
fromCache: modu.fromCache,
462+
toCache: modu.toCache,
463+
seperate: modu.seperate,
464+
profile: modu.profile,
465+
loaders: modu.loaders,
466+
dependencies: modu.dependencies,
467+
reasons: modu.reasons});
468+
sum++;
469+
}
470470

471+
}
472+
modulesArray.sort(function(a, b) {
473+
return a.id - b.id;
474+
});
475+
fileModulesMap[path.basename(chunk.filename)] = modulesArray;
471476
}
472-
modulesArray.sort(function(a, b) {
473-
return a.id - b.id;
474-
});
475-
fileModulesMap[path.basename(chunk.filename)] = modulesArray;
477+
while(chunk.equals)
478+
chunk = depTree.chunks[chunk.equals];
476479
chunkNameMap[chunkId] = path.basename(chunk.filename).replace(HASH_REGEXP, hash);
477480
});
478481
buffer.modulesIncludingDuplicates = sum;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "webpack",
3-
"version": "0.7.6",
3+
"version": "0.7.7",
44
"author": "Tobias Koppers @sokra",
55
"description": "Packs CommonJs/AMD Modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loading of js, json, jade, coffee, css, ... out of the box and more with custom loaders.",
66
"dependencies": {

0 commit comments

Comments
 (0)