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/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const asyncLib = require("neo-async"); class CachePlugin { constructor(cache) { this.cache = cache || {}; this.FS_ACCURACY = 2000; } apply(compiler) { if (Array.isArray(compiler.compilers)) { compiler.compilers.forEach((c, idx) => { new CachePlugin((this.cache[idx] = this.cache[idx] || {})).apply(c); }); } else { const registerCacheToCompiler = (compiler, cache) => { compiler.hooks.thisCompilation.tap("CachePlugin", compilation => { compilation.cache = cache; compilation.hooks.childCompiler.tap( "CachePlugin", (childCompiler, compilerName, compilerIndex) => { let childCache; if (!cache.children) { cache.children = {}; } if (!cache.children[compilerName]) { cache.children[compilerName] = []; } if (cache.children[compilerName][compilerIndex]) { childCache = cache.children[compilerName][compilerIndex]; } else { cache.children[compilerName].push((childCache = {})); } registerCacheToCompiler(childCompiler, childCache); } ); }); }; registerCacheToCompiler(compiler, this.cache); compiler.hooks.watchRun.tap("CachePlugin", () => { this.watching = true; }); compiler.hooks.run.tapAsync("CachePlugin", (compiler, callback) => { if (!compiler._lastCompilationFileDependencies) { return callback(); } const fs = compiler.inputFileSystem; const fileTs = (compiler.fileTimestamps = new Map()); asyncLib.forEach( compiler._lastCompilationFileDependencies, (file, callback) => { fs.stat(file, (err, stat) => { if (err) { if (err.code === "ENOENT") return callback(); return callback(err); } if (stat.mtime) this.applyMtime(+stat.mtime); fileTs.set(file, +stat.mtime || Infinity); callback(); }); }, err => { if (err) return callback(err); for (const [file, ts] of fileTs) { fileTs.set(file, ts + this.FS_ACCURACY); } callback(); } ); }); compiler.hooks.afterCompile.tap("CachePlugin", compilation => { compilation.compiler._lastCompilationFileDependencies = compilation.fileDependencies; compilation.compiler._lastCompilationContextDependencies = compilation.contextDependencies; }); } } /* istanbul ignore next */ applyMtime(mtime) { if (this.FS_ACCURACY > 1 && mtime % 2 !== 0) this.FS_ACCURACY = 1; else if (this.FS_ACCURACY > 10 && mtime % 20 !== 0) this.FS_ACCURACY = 10; else if (this.FS_ACCURACY > 100 && mtime % 200 !== 0) this.FS_ACCURACY = 100; else if (this.FS_ACCURACY > 1000 && mtime % 2000 !== 0) this.FS_ACCURACY = 1000; } } module.exports = CachePlugin;