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 { Tapable, HookMap, SyncHook, SyncWaterfallHook } = require("tapable"); const Factory = require("enhanced-resolve").ResolverFactory; const { cachedCleverMerge } = require("./util/cleverMerge"); /** @typedef {import("enhanced-resolve").Resolver} Resolver */ const EMTPY_RESOLVE_OPTIONS = {}; module.exports = class ResolverFactory extends Tapable { constructor() { super(); this.hooks = { resolveOptions: new HookMap( () => new SyncWaterfallHook(["resolveOptions"]) ), resolver: new HookMap(() => new SyncHook(["resolver", "resolveOptions"])) }; this._pluginCompat.tap("ResolverFactory", options => { let match; match = /^resolve-options (.+)$/.exec(options.name); if (match) { this.hooks.resolveOptions .for(match[1]) .tap(options.fn.name || "unnamed compat plugin", options.fn); return true; } match = /^resolver (.+)$/.exec(options.name); if (match) { this.hooks.resolver .for(match[1]) .tap(options.fn.name || "unnamed compat plugin", options.fn); return true; } }); this.cache2 = new Map(); } get(type, resolveOptions) { resolveOptions = resolveOptions || EMTPY_RESOLVE_OPTIONS; const ident = `${type}|${JSON.stringify(resolveOptions)}`; const resolver = this.cache2.get(ident); if (resolver) return resolver; const newResolver = this._create(type, resolveOptions); this.cache2.set(ident, newResolver); return newResolver; } _create(type, resolveOptions) { const originalResolveOptions = Object.assign({}, resolveOptions); resolveOptions = this.hooks.resolveOptions.for(type).call(resolveOptions); const resolver = Factory.createResolver(resolveOptions); if (!resolver) { throw new Error("No resolver created"); } /** @type {Map<Object, Resolver>} */ const childCache = new Map(); resolver.withOptions = options => { const cacheEntry = childCache.get(options); if (cacheEntry !== undefined) return cacheEntry; const mergedOptions = cachedCleverMerge(originalResolveOptions, options); const resolver = this.get(type, mergedOptions); childCache.set(options, resolver); return resolver; }; this.hooks.resolver.for(type).call(resolver, resolveOptions); return resolver; } };