From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- node_modules/enhanced-resolve/lib/AliasPlugin.js | 113 +++++++++++------------ 1 file changed, 56 insertions(+), 57 deletions(-) (limited to 'node_modules/enhanced-resolve/lib/AliasPlugin.js') diff --git a/node_modules/enhanced-resolve/lib/AliasPlugin.js b/node_modules/enhanced-resolve/lib/AliasPlugin.js index 86f2a6fba..c9af4f56c 100644 --- a/node_modules/enhanced-resolve/lib/AliasPlugin.js +++ b/node_modules/enhanced-resolve/lib/AliasPlugin.js @@ -1,57 +1,56 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -var createInnerCallback = require("./createInnerCallback"); - -function startsWith(string, searchString) { - var stringLength = string.length; - var searchLength = searchString.length; - - // early out if the search length is greater than the search string - if(searchLength > stringLength) { - return false; - } - var index = -1; - while(++index < searchLength) { - if(string.charCodeAt(index) !== searchString.charCodeAt(index)) { - return false; - } - } - return true; -} - -function AliasPlugin(source, options, target) { - this.source = source; - this.name = options.name; - this.alias = options.alias; - this.onlyModule = options.onlyModule; - this.target = target; -} -module.exports = AliasPlugin; - -AliasPlugin.prototype.apply = function(resolver) { - var target = this.target; - var name = this.name; - var alias = this.alias; - var onlyModule = this.onlyModule; - resolver.plugin(this.source, function(request, callback) { - var innerRequest = request.request; - if(!innerRequest) return callback(); - if(innerRequest === name || (!onlyModule && startsWith(innerRequest, name + "/"))) { - if(innerRequest !== alias && !startsWith(innerRequest, alias + "/")) { - var newRequestStr = alias + innerRequest.substr(name.length); - var obj = Object.assign({}, request, { - request: newRequestStr - }); - return resolver.doResolve(target, obj, "aliased with mapping '" + name + "': '" + alias + "' to '" + newRequestStr + "'", createInnerCallback(function(err, result) { - if(arguments.length > 0) return callback(err, result); - - // don't allow other aliasing or raw request - callback(null, null); - }, callback)); - } - } - return callback(); - }); -}; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; + +function startsWith(string, searchString) { + const stringLength = string.length; + const searchLength = searchString.length; + + // early out if the search length is greater than the search string + if(searchLength > stringLength) { + return false; + } + let index = -1; + while(++index < searchLength) { + if(string.charCodeAt(index) !== searchString.charCodeAt(index)) { + return false; + } + } + return true; +} + +module.exports = class AliasPlugin { + constructor(source, options, target) { + this.source = source; + this.options = Array.isArray(options) ? options : [options]; + this.target = target; + } + + apply(resolver) { + const target = resolver.ensureHook(this.target); + resolver.getHook(this.source).tapAsync("AliasPlugin", (request, resolveContext, callback) => { + const innerRequest = request.request || request.path; + if(!innerRequest) return callback(); + for(const item of this.options) { + if(innerRequest === item.name || (!item.onlyModule && startsWith(innerRequest, item.name + "/"))) { + if(innerRequest !== item.alias && !startsWith(innerRequest, item.alias + "/")) { + const newRequestStr = item.alias + innerRequest.substr(item.name.length); + const obj = Object.assign({}, request, { + request: newRequestStr + }); + return resolver.doResolve(target, obj, "aliased with mapping '" + item.name + "': '" + item.alias + "' to '" + newRequestStr + "'", resolveContext, (err, result) => { + if(err) return callback(err); + + // Don't allow other aliasing or raw request + if(result === undefined) return callback(null, null); + callback(null, result); + }); + } + } + } + return callback(); + }); + } +}; -- cgit v1.2.3