UNPKG

mangle-js-webpack-plugin

Version:

支持3种加密算法: `aaencode` `jjencode` `obfuscator JS`(默认)

32 lines (27 loc) 871 B
const optimizer = require('./optimizer'); const runner = (compiler, compilation, opts) => { const optimize = optimizer(compiler, compilation, opts); return (chunks, callback) => { optimize(chunks); callback(); }; } class Plugin { constructor(opts = {}) { this.opts = opts; } apply(compiler) { if (compiler.hooks) { // setup hooks for webpack >= 4 compiler.hooks.compilation.tap('MangleJsClassPluginHooks', compilation => { compilation.hooks.optimizeChunkAssets.tapAsync('MangleJsClassPluginOptimizeChunkAssetsHooks', runner(compiler, compilation, this.opts)); }); } else { // setup hooks for webpack <= 3 compiler.plugin('compilation', (compilation) => { compilation.plugin('optimize-chunk-assets', runner(compiler, compilation, this.opts)); }); } } } module.exports = Plugin;