mirror of https://github.com/webpack/webpack.git
report progress for both steps
This commit is contained in:
parent
91f961b8fa
commit
55ad52fd9a
|
|
@ -87,39 +87,50 @@ class SourceMapDevToolPlugin {
|
|||
context: true
|
||||
}, (context, chunks) => {
|
||||
const moduleToSourceNameMapping = new Map();
|
||||
const tasks = [];
|
||||
const reportProgress = (context && context.reportProgress) ? context.reportProgress : () => {};
|
||||
|
||||
reportProgress(0.0, "Generation starting...");
|
||||
const files = [];
|
||||
chunks.forEach(chunk => {
|
||||
chunk.files.forEach(file => {
|
||||
if(matchObject(file)) {
|
||||
const task = getTaskForFile(file, chunk, options, compilation);
|
||||
|
||||
if(task) {
|
||||
const modules = task.sourceMap.sources.map(source => {
|
||||
const module = compilation.findModule(source);
|
||||
return module || source;
|
||||
});
|
||||
|
||||
for(let idx = 0; idx < modules.length; idx++) {
|
||||
const module = modules[idx];
|
||||
if(!moduleToSourceNameMapping.get(module)) {
|
||||
moduleToSourceNameMapping.set(module, ModuleFilenameHelpers.createFilename(module, {
|
||||
moduleFilenameTemplate: moduleFilenameTemplate,
|
||||
namespace: namespace
|
||||
}, requestShortener));
|
||||
}
|
||||
}
|
||||
|
||||
task.modules = modules;
|
||||
|
||||
tasks.push(task);
|
||||
}
|
||||
files.push({
|
||||
file,
|
||||
chunk
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
reportProgress(0.0);
|
||||
const tasks = [];
|
||||
files.forEach(({ file, chunk }, idx) => {
|
||||
reportProgress(0.5 * idx / files.length, file, "generate SourceMap");
|
||||
const task = getTaskForFile(file, chunk, options, compilation);
|
||||
|
||||
if(task) {
|
||||
const modules = task.sourceMap.sources.map(source => {
|
||||
const module = compilation.findModule(source);
|
||||
return module || source;
|
||||
});
|
||||
|
||||
for(let idx = 0; idx < modules.length; idx++) {
|
||||
const module = modules[idx];
|
||||
if(!moduleToSourceNameMapping.get(module)) {
|
||||
moduleToSourceNameMapping.set(module, ModuleFilenameHelpers.createFilename(module, {
|
||||
moduleFilenameTemplate: moduleFilenameTemplate,
|
||||
namespace: namespace
|
||||
}, requestShortener));
|
||||
}
|
||||
}
|
||||
|
||||
task.modules = modules;
|
||||
|
||||
tasks.push(task);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
reportProgress(0.5, "resolve sources");
|
||||
const usedNamesSet = new Set(moduleToSourceNameMapping.values());
|
||||
const conflictDetectionSet = new Set();
|
||||
|
||||
|
|
@ -161,7 +172,7 @@ class SourceMapDevToolPlugin {
|
|||
usedNamesSet.add(sourceName);
|
||||
}
|
||||
tasks.forEach((task, index) => {
|
||||
reportProgress(index / tasks.length, `Generating sourcemap ${index + 1} of ${tasks.length}: ${task.file}`);
|
||||
reportProgress(0.5 + 0.5 * index / tasks.length, task.file, "attach SourceMap");
|
||||
const chunk = task.chunk;
|
||||
const file = task.file;
|
||||
const asset = task.asset;
|
||||
|
|
@ -214,7 +225,7 @@ class SourceMapDevToolPlugin {
|
|||
);
|
||||
}
|
||||
});
|
||||
reportProgress(1.0, "Finished");
|
||||
reportProgress(1.0);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue