UNPKG

koot

Version:

Koot.js - React isomorphic framework created by CMUX

35 lines (31 loc) 1.26 kB
const path = require('path') /** * 从 Webpack compilation 数据中生成文件对应表 (Filemap) * @param {Object} compilation * @param {String} [dirRelative] * @returns {Object} 文件对应表 (Filemap) */ module.exports = (compilation, dirRelative) => { if (typeof compilation !== 'object') return undefined const filemap = {} const stats = (typeof compilation.getStats === 'function') ? compilation.getStats() : compilation for (let id in stats.compilation.chunks) { const o = stats.compilation.chunks[id] if (typeof o.name === 'undefined' || o.name === null) continue if (Array.isArray(o.files)) { o.files .filter(filename => !/\.(js|css)\.map$/i.test(filename)) .forEach(filename => { const extname = path.extname(filename) const file = o.name + extname if (typeof filemap[file] !== 'string') filemap[file] = process.env.WEBPACK_BUILD_ENV === 'dev' ? filename : (dirRelative ? dirRelative + '/' : '') + filename }) } } return filemap }