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/enhanced-resolve/lib/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const getPaths = require("./getPaths"); const forEachBail = require("./forEachBail"); module.exports = class SymlinkPlugin { constructor(source, target) { this.source = source; this.target = target; } apply(resolver) { const target = resolver.ensureHook(this.target); const fs = resolver.fileSystem; resolver .getHook(this.source) .tapAsync("SymlinkPlugin", (request, resolveContext, callback) => { const pathsResult = getPaths(request.path); const pathSeqments = pathsResult.seqments; const paths = pathsResult.paths; let containsSymlink = false; forEachBail.withIndex( paths, (path, idx, callback) => { fs.readlink(path, (err, result) => { if (!err && result) { pathSeqments[idx] = result; containsSymlink = true; // Shortcut when absolute symlink found if (/^(\/|[a-zA-Z]:($|\\))/.test(result)) return callback(null, idx); } callback(); }); }, (err, idx) => { if (!containsSymlink) return callback(); const resultSeqments = typeof idx === "number" ? pathSeqments.slice(0, idx + 1) : pathSeqments.slice(); const result = resultSeqments.reverse().reduce((a, b) => { return resolver.join(a, b); }); const obj = Object.assign({}, request, { path: result }); resolver.doResolve( target, obj, "resolved symlink to " + result, resolveContext, callback ); } ); }); } };