From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- node_modules/enhanced-resolve/lib/RootPlugin.js | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 node_modules/enhanced-resolve/lib/RootPlugin.js (limited to 'node_modules/enhanced-resolve/lib/RootPlugin.js') diff --git a/node_modules/enhanced-resolve/lib/RootPlugin.js b/node_modules/enhanced-resolve/lib/RootPlugin.js new file mode 100644 index 0000000..5c0e046 --- /dev/null +++ b/node_modules/enhanced-resolve/lib/RootPlugin.js @@ -0,0 +1,53 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Ivan Kopeykin @vankop +*/ + +"use strict"; + +/** @typedef {import("./Resolver")} Resolver */ +/** @typedef {import("./Resolver").ResolveStepHook} ResolveStepHook */ + +class RootPlugin { + /** + * @param {string | ResolveStepHook} source source hook + * @param {Array} root roots + * @param {string | ResolveStepHook} target target hook + */ + constructor(source, root, target) { + this.root = root; + 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("RootPlugin", (request, resolveContext, callback) => { + const req = request.request; + if (!req) return callback(); + if (!req.startsWith("/")) return callback(); + + const path = resolver.join(this.root, req.slice(1)); + const obj = Object.assign(request, { + path, + relativePath: request.relativePath && path + }); + resolver.doResolve( + target, + obj, + `root path ${this.root}`, + resolveContext, + callback + ); + }); + } +} + +module.exports = RootPlugin; -- cgit v1.2.3