parent
04b0d6b4ea
commit
fde3f6298d
|
@ -263,7 +263,6 @@ class ProgressPlugin {
|
||||||
recordModules: "record modules",
|
recordModules: "record modules",
|
||||||
recordChunks: "record chunks",
|
recordChunks: "record chunks",
|
||||||
beforeHash: "hashing",
|
beforeHash: "hashing",
|
||||||
contentHash: "content hashing",
|
|
||||||
afterHash: "after hashing",
|
afterHash: "after hashing",
|
||||||
recordHash: "record hash",
|
recordHash: "record hash",
|
||||||
beforeModuleAssets: "module assets processing",
|
beforeModuleAssets: "module assets processing",
|
||||||
|
|
|
@ -49,27 +49,13 @@ const assetsCache = new WeakMap();
|
||||||
/**
|
/**
|
||||||
* Creating {@link SourceMapTask} for given file
|
* Creating {@link SourceMapTask} for given file
|
||||||
* @param {string} file current compiled file
|
* @param {string} file current compiled file
|
||||||
|
* @param {Source} asset the asset
|
||||||
* @param {Chunk} chunk related chunk
|
* @param {Chunk} chunk related chunk
|
||||||
* @param {SourceMapDevToolPluginOptions} options source map options
|
* @param {SourceMapDevToolPluginOptions} options source map options
|
||||||
* @param {Compilation} compilation compilation instance
|
* @param {Compilation} compilation compilation instance
|
||||||
* @returns {SourceMapTask | undefined} created task instance or `undefined`
|
* @returns {SourceMapTask | undefined} created task instance or `undefined`
|
||||||
*/
|
*/
|
||||||
const getTaskForFile = (file, chunk, options, compilation) => {
|
const getTaskForFile = (file, asset, chunk, options, compilation) => {
|
||||||
const asset = compilation.assets[file];
|
|
||||||
const cache = assetsCache.get(asset);
|
|
||||||
/**
|
|
||||||
* If presented in cache, reassigns assets. Cache assets already have source maps.
|
|
||||||
*/
|
|
||||||
if (cache && cache.file === file) {
|
|
||||||
for (const cachedFile in cache.assets) {
|
|
||||||
compilation.assets[cachedFile] = cache.assets[cachedFile];
|
|
||||||
/**
|
|
||||||
* Add file to chunk, if not presented there
|
|
||||||
*/
|
|
||||||
if (cachedFile !== file) chunk.files.push(cachedFile);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
let source, sourceMap;
|
let source, sourceMap;
|
||||||
/**
|
/**
|
||||||
* Check if asset can build source map
|
* Check if asset can build source map
|
||||||
|
@ -189,13 +175,35 @@ class SourceMapDevToolPlugin {
|
||||||
reportProgress(0.0);
|
reportProgress(0.0);
|
||||||
const tasks = [];
|
const tasks = [];
|
||||||
files.forEach(({ file, chunk }, idx) => {
|
files.forEach(({ file, chunk }, idx) => {
|
||||||
|
const asset = compilation.assets[file];
|
||||||
|
const cache = assetsCache.get(asset);
|
||||||
|
/**
|
||||||
|
* If presented in cache, reassigns assets. Cache assets already have source maps.
|
||||||
|
*/
|
||||||
|
if (cache && cache.file === file) {
|
||||||
|
for (const cachedFile in cache.assets) {
|
||||||
|
compilation.assets[cachedFile] = cache.assets[cachedFile];
|
||||||
|
/**
|
||||||
|
* Add file to chunk, if not presented there
|
||||||
|
*/
|
||||||
|
if (cachedFile !== file) chunk.files.push(cachedFile);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
reportProgress(
|
reportProgress(
|
||||||
(0.5 * idx) / files.length,
|
(0.5 * idx) / files.length,
|
||||||
file,
|
file,
|
||||||
"generate SourceMap"
|
"generate SourceMap"
|
||||||
);
|
);
|
||||||
/** @type {SourceMapTask | undefined} */
|
/** @type {SourceMapTask | undefined} */
|
||||||
const task = getTaskForFile(file, chunk, options, compilation);
|
const task = getTaskForFile(
|
||||||
|
file,
|
||||||
|
asset,
|
||||||
|
chunk,
|
||||||
|
options,
|
||||||
|
compilation
|
||||||
|
);
|
||||||
|
|
||||||
if (task) {
|
if (task) {
|
||||||
const modules = task.sourceMap.sources.map(source => {
|
const modules = task.sourceMap.sources.map(source => {
|
||||||
|
|
Loading…
Reference in New Issue