report progress for both steps

This commit is contained in:
Tobias Koppers 2018-01-04 15:41:26 +01:00
parent 91f961b8fa
commit 55ad52fd9a
1 changed files with 37 additions and 26 deletions

View File

@ -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);
});
});
}