Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/webpack/lib/optimize/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; class AggressiveMergingPlugin { constructor(options) { if ( (options !== undefined && typeof options !== "object") || Array.isArray(options) ) { throw new Error( "Argument should be an options object. To use defaults, pass in nothing.\nFor more info on options, see https://webpack.js.org/plugins/" ); } this.options = options || {}; } apply(compiler) { const options = this.options; const minSizeReduce = options.minSizeReduce || 1.5; compiler.hooks.thisCompilation.tap( "AggressiveMergingPlugin", compilation => { compilation.hooks.optimizeChunksAdvanced.tap( "AggressiveMergingPlugin", chunks => { let combinations = []; chunks.forEach((a, idx) => { if (a.canBeInitial()) return; for (let i = 0; i < idx; i++) { const b = chunks[i]; if (b.canBeInitial()) continue; combinations.push({ a, b, improvement: undefined }); } }); for (const pair of combinations) { const a = pair.b.size({ chunkOverhead: 0 }); const b = pair.a.size({ chunkOverhead: 0 }); const ab = pair.b.integratedSize(pair.a, { chunkOverhead: 0 }); let newSize; if (ab === false) { pair.improvement = false; return; } else { newSize = ab; } pair.improvement = (a + b) / newSize; } combinations = combinations.filter(pair => { return pair.improvement !== false; }); combinations.sort((a, b) => { return b.improvement - a.improvement; }); const pair = combinations[0]; if (!pair) return; if (pair.improvement < minSizeReduce) return; if (pair.b.integrate(pair.a, "aggressive-merge")) { chunks.splice(chunks.indexOf(pair.a), 1); return true; } } ); } ); } } module.exports = AggressiveMergingPlugin;