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/node/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const AliasPlugin = require("enhanced-resolve/lib/AliasPlugin"); const ParserHelpers = require("../ParserHelpers"); const nodeLibsBrowser = require("node-libs-browser"); module.exports = class NodeSourcePlugin { constructor(options) { this.options = options; } apply(compiler) { const options = this.options; if (options === false) { // allow single kill switch to turn off this plugin return; } const getPathToModule = (module, type) => { if (type === true || (type === undefined && nodeLibsBrowser[module])) { if (!nodeLibsBrowser[module]) { throw new Error( `No browser version for node.js core module ${module} available` ); } return nodeLibsBrowser[module]; } else if (type === "mock") { return require.resolve(`node-libs-browser/mock/${module}`); } else if (type === "empty") { return require.resolve("node-libs-browser/mock/empty"); } else { return module; } }; const addExpression = (parser, name, module, type, suffix) => { suffix = suffix || ""; parser.hooks.expression.for(name).tap("NodeSourcePlugin", () => { if ( parser.state.module && parser.state.module.resource === getPathToModule(module, type) ) return; const mockModule = ParserHelpers.requireFileAsExpression( parser.state.module.context, getPathToModule(module, type) ); return ParserHelpers.addParsedVariableToModule( parser, name, mockModule + suffix ); }); }; compiler.hooks.compilation.tap( "NodeSourcePlugin", (compilation, { normalModuleFactory }) => { const handler = (parser, parserOptions) => { if (parserOptions.node === false) return; let localOptions = options; if (parserOptions.node) { localOptions = Object.assign({}, localOptions, parserOptions.node); } if (localOptions.global) { parser.hooks.expression .for("global") .tap("NodeSourcePlugin", () => { const retrieveGlobalModule = ParserHelpers.requireFileAsExpression( parser.state.module.context, require.resolve("../../buildin/global") ); return ParserHelpers.addParsedVariableToModule( parser, "global", retrieveGlobalModule ); }); } if (localOptions.process) { const processType = localOptions.process; addExpression(parser, "process", "process", processType); } if (localOptions.console) { const consoleType = localOptions.console; addExpression(parser, "console", "console", consoleType); } const bufferType = localOptions.Buffer; if (bufferType) { addExpression(parser, "Buffer", "buffer", bufferType, ".Buffer"); } if (localOptions.setImmediate) { const setImmediateType = localOptions.setImmediate; addExpression( parser, "setImmediate", "timers", setImmediateType, ".setImmediate" ); addExpression( parser, "clearImmediate", "timers", setImmediateType, ".clearImmediate" ); } }; normalModuleFactory.hooks.parser .for("javascript/auto") .tap("NodeSourcePlugin", handler); normalModuleFactory.hooks.parser .for("javascript/dynamic") .tap("NodeSourcePlugin", handler); } ); compiler.hooks.afterResolvers.tap("NodeSourcePlugin", compiler => { for (const lib of Object.keys(nodeLibsBrowser)) { if (options[lib] !== false) { compiler.resolverFactory.hooks.resolver .for("normal") .tap("NodeSourcePlugin", resolver => { new AliasPlugin( "described-resolve", { name: lib, onlyModule: true, alias: getPathToModule(lib, options[lib]) }, "resolve" ).apply(resolver); }); } } }); } };