⚝
One Hat Cyber Team
⚝
Your IP:
172.22.0.1
Server IP:
151.80.20.34
Server:
Linux 794f04d97d5e 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64
Server Software:
Apache/2.4.62 (Debian)
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
node_modules
/
enhanced-resolve
/
lib
/
View File Name :
RootsPlugin.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Ivan Kopeykin @vankop */ "use strict"; const forEachBail = require("./forEachBail"); /** @typedef {import("./Resolver")} Resolver */ /** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ class RootsPlugin { /** * @param {string | ResolveStepHook} source source hook * @param {Set<string>} roots roots * @param {string | ResolveStepHook} target target hook */ constructor(source, roots, target) { this.roots = Array.from(roots); this.source = source; this.target = target; } /** * @param {Resolver} resolver the resolver * @returns {void} */ apply(resolver) { const target = resolver.ensureHook(this.target); resolver .getHook(this.source) .tapAsync("RootsPlugin", (request, resolveContext, callback) => { const req = request.request; if (!req) return callback(); if (!req.startsWith("/")) return callback(); forEachBail( this.roots, (root, callback) => { const path = resolver.join(root, req.slice(1)); const obj = { ...request, path, relativePath: request.relativePath && path }; resolver.doResolve( target, obj, `root path ${root}`, resolveContext, callback ); }, callback ); }); } } module.exports = RootsPlugin;