From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- .../enhanced-resolve/lib/AliasFieldPlugin.js | 83 +++++++++++----------- 1 file changed, 42 insertions(+), 41 deletions(-) (limited to 'node_modules/enhanced-resolve/lib/AliasFieldPlugin.js') diff --git a/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js b/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js index 70b6b97d6..922ee74e8 100644 --- a/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +++ b/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js @@ -2,50 +2,51 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; -var DescriptionFileUtils = require("./DescriptionFileUtils"); -var createInnerCallback = require("./createInnerCallback"); -var getInnerRequest = require("./getInnerRequest"); +const DescriptionFileUtils = require("./DescriptionFileUtils"); +const getInnerRequest = require("./getInnerRequest"); -function AliasFieldPlugin(source, field, target) { - this.source = source; - this.field = field; - this.target = target; -} -module.exports = AliasFieldPlugin; +module.exports = class AliasFieldPlugin { + constructor(source, field, target) { + this.source = source; + this.field = field; + this.target = target; + } -AliasFieldPlugin.prototype.apply = function(resolver) { - var target = this.target; - var field = this.field; - resolver.plugin(this.source, function(request, callback) { - if(!request.descriptionFileData) return callback(); - var innerRequest = getInnerRequest(resolver, request); - if(!innerRequest) return callback(); - var fieldData = DescriptionFileUtils.getField(request.descriptionFileData, field); - if(typeof fieldData !== "object") { - if(callback.log) callback.log("Field '" + field + "' doesn't contain a valid alias configuration"); - return callback(); - } - var data1 = fieldData[innerRequest]; - var data2 = fieldData[innerRequest.replace(/^\.\//, "")]; - var data = typeof data1 !== "undefined" ? data1 : data2; - if(data === innerRequest) return callback(); - if(data === undefined) return callback(); - if(data === false) { - var ignoreObj = Object.assign({}, request, { - path: false + apply(resolver) { + const target = resolver.ensureHook(this.target); + resolver.getHook(this.source).tapAsync("AliasFieldPlugin", (request, resolveContext, callback) => { + if(!request.descriptionFileData) return callback(); + const innerRequest = getInnerRequest(resolver, request); + if(!innerRequest) return callback(); + const fieldData = DescriptionFileUtils.getField(request.descriptionFileData, this.field); + if(typeof fieldData !== "object") { + if(resolveContext.log) resolveContext.log("Field '" + this.field + "' doesn't contain a valid alias configuration"); + return callback(); + } + const data1 = fieldData[innerRequest]; + const data2 = fieldData[innerRequest.replace(/^\.\//, "")]; + const data = typeof data1 !== "undefined" ? data1 : data2; + if(data === innerRequest) return callback(); + if(data === undefined) return callback(); + if(data === false) { + const ignoreObj = Object.assign({}, request, { + path: false + }); + return callback(null, ignoreObj); + } + const obj = Object.assign({}, request, { + path: request.descriptionFileRoot, + request: data }); - return callback(null, ignoreObj); - } - var obj = Object.assign({}, request, { - path: request.descriptionFileRoot, - request: data - }); - resolver.doResolve(target, obj, "aliased from description file " + request.descriptionFilePath + " with mapping '" + innerRequest + "' to '" + data + "'", createInnerCallback(function(err, result) { - if(arguments.length > 0) return callback(err, result); + resolver.doResolve(target, obj, "aliased from description file " + request.descriptionFilePath + " with mapping '" + innerRequest + "' to '" + data + "'", resolveContext, (err, result) => { + if(err) return callback(err); - // Don't allow other aliasing or raw request - callback(null, null); - }, callback)); - }); + // Don't allow other aliasing or raw request + if(result === undefined) return callback(null, null); + callback(null, result); + }); + }); + } }; -- cgit v1.2.3