Sha256: f8f633cbbceb911bfaf527409b0e4bdd8939fa3bbfd67560b1849f688567c08c
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 KB
Contents
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const path = require("path"); const asyncLib = require("async"); class LibManifestPlugin { constructor(options) { this.options = options; } apply(compiler) { compiler.plugin("emit", (compilation, callback) => { asyncLib.forEach(compilation.chunks, (chunk, callback) => { if(!chunk.isInitial()) { callback(); return; } const targetPath = compilation.getPath(this.options.path, { hash: compilation.hash, chunk }); const name = this.options.name && compilation.getPath(this.options.name, { hash: compilation.hash, chunk }); const manifest = { name, type: this.options.type, content: chunk.modules.reduce((obj, module) => { if(module.libIdent) { const ident = module.libIdent({ context: this.options.context || compiler.options.context }); if(ident) { obj[ident] = { id: module.id, meta: module.meta, exports: Array.isArray(module.providedExports) ? module.providedExports : undefined }; } } return obj; }, {}) }; const content = new Buffer(JSON.stringify(manifest), "utf8"); //eslint-disable-line compiler.outputFileSystem.mkdirp(path.dirname(targetPath), err => { if(err) return callback(err); compiler.outputFileSystem.writeFile(targetPath, content, callback); }); }, callback); }); } } module.exports = LibManifestPlugin;
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ilog-0.4.1 | node_modules/webpack/lib/LibManifestPlugin.js |
ilog-0.4.0 | node_modules/webpack/lib/LibManifestPlugin.js |
ilog-0.3.3 | node_modules/webpack/lib/LibManifestPlugin.js |