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"; /** @typedef {import("./Module")} Module */ /** @typedef {import("./DependenciesBlock")} DependenciesBlock */ /** @typedef {false | true | string[]} UsedExports */ const addToSet = (a, b) => { for (const item of b) { if (!a.includes(item)) a.push(item); } return a; }; const isSubset = (biggerSet, subset) => { if (biggerSet === true) return true; if (subset === true) return false; return subset.every(item => biggerSet.indexOf(item) >= 0); }; class FlagDependencyUsagePlugin { apply(compiler) { compiler.hooks.compilation.tap("FlagDependencyUsagePlugin", compilation => { compilation.hooks.optimizeDependencies.tap( "FlagDependencyUsagePlugin", modules => { const processModule = (module, usedExports) => { module.used = true; if (module.usedExports === true) return; if (usedExports === true) { module.usedExports = true; } else if (Array.isArray(usedExports)) { const old = module.usedExports ? module.usedExports.length : -1; module.usedExports = addToSet( module.usedExports || [], usedExports ); if (module.usedExports.length === old) { return; } } else if (Array.isArray(module.usedExports)) { return; } else { module.usedExports = false; } // for a module without side effects we stop tracking usage here when no export is used // This module won't be evaluated in this case if (module.factoryMeta.sideEffectFree) { if (module.usedExports === false) return; if ( Array.isArray(module.usedExports) && module.usedExports.length === 0 ) return; } queue.push([module, module, module.usedExports]); }; const processDependenciesBlock = (module, depBlock, usedExports) => { for (const dep of depBlock.dependencies) { processDependency(module, dep); } for (const variable of depBlock.variables) { for (const dep of variable.dependencies) { processDependency(module, dep); } } for (const block of depBlock.blocks) { queue.push([module, block, usedExports]); } }; const processDependency = (module, dep) => { const reference = compilation.getDependencyReference(module, dep); if (!reference) return; const referenceModule = reference.module; const importedNames = reference.importedNames; const oldUsed = referenceModule.used; const oldUsedExports = referenceModule.usedExports; if ( !oldUsed || (importedNames && (!oldUsedExports || !isSubset(oldUsedExports, importedNames))) ) { processModule(referenceModule, importedNames); } }; for (const module of modules) { if (!module.used) module.used = false; } /** @type {[Module, DependenciesBlock, UsedExports][]} */ const queue = []; for (const preparedEntrypoint of compilation._preparedEntrypoints) { if (preparedEntrypoint.module) { processModule(preparedEntrypoint.module, true); } } while (queue.length) { const queueItem = queue.pop(); processDependenciesBlock(queueItem[0], queueItem[1], queueItem[2]); } } ); }); } } module.exports = FlagDependencyUsagePlugin;