travel/admin/node_modules/svg-sprite-loader/lib/utils/get-module-chunk.js

36 lines
979 B
JavaScript

const webpackVersion = require('./get-webpack-version');
/**
* Find nearest module chunk (not sure that is reliable method, but who cares).
* @see http://stackoverflow.com/questions/43202761/how-to-determine-all-module-chunks-in-webpack
* @param {NormalModule} module
* @param {NormalModule[]} modules - webpack 1 compat
* @return {Chunk|null}
*/
function getModuleChunk(module, modules) {
let chunks;
if (webpackVersion.IS_4) {
chunks = Array.from(module.chunksIterable);
} else if (parseInt(webpackVersion(), 10) >= 3) {
chunks = module.mapChunks();
} else {
chunks = module.chunks;
}
// webpack 1 compat
const issuer = typeof module.issuer === 'string'
? modules.find(m => m.request === module.issuer)
: module.issuer;
if (Array.isArray(chunks) && chunks.length > 0) {
return chunks[chunks.length - 1];
} else if (issuer) {
return getModuleChunk(issuer, modules);
}
return null;
}
module.exports = getModuleChunk;