enhanced-resolve
Advanced tools
Comparing version 0.5.15 to 0.6.0
@@ -19,32 +19,17 @@ /* | ||
var aliasName = keys[i]; | ||
if(request.request.indexOf(aliasName + "/") === 0 || request.request === aliasName) { | ||
var aliasValue = aliasMap[aliasName]; | ||
var onlyModule = /\$$/.test(aliasName); | ||
if(onlyModule) aliasName = aliasName.substr(0, aliasName.length-1); | ||
if((!onlyModule && request.request.indexOf(aliasName + "/") === 0) || request.request === aliasName) { | ||
var aliasValue = aliasMap[keys[i]]; | ||
if(request.request.indexOf(aliasValue + "/") !== 0 && request.request != aliasValue) { | ||
var resolveWithAlias = function() { | ||
var newRequest = this.parse(aliasValue + request.request.substr(aliasName.length)); | ||
var obj = { | ||
path: request.path, | ||
request: newRequest.path, | ||
query: newRequest.query, | ||
directory: newRequest.directory | ||
}; | ||
if(newRequest.module) return this.doResolve("module", obj, callback); | ||
if(newRequest.directory) return this.doResolve("directory", obj, callback); | ||
return this.doResolve(["file", "directory"], obj, callback); | ||
}.bind(this); | ||
if(request.request !== aliasName) { | ||
// Check if aliasValue resolves to a file. | ||
// If it do so, we do not alias the module as the user | ||
// only want to alias the module as directory | ||
var newRequest = this.parse(aliasValue); | ||
return this.doResolve("file", { | ||
path: request.path, | ||
request: newRequest.path, | ||
query: newRequest.query, | ||
directory: newRequest.directory | ||
}, function(err, result) { | ||
if(!err && result) return i++, next.call(this); | ||
return resolveWithAlias(); | ||
}.bind(this)); | ||
} else return resolveWithAlias(); | ||
var newRequest = this.parse(aliasValue + request.request.substr(aliasName.length)); | ||
var obj = { | ||
path: request.path, | ||
request: newRequest.path, | ||
query: newRequest.query, | ||
directory: newRequest.directory | ||
}; | ||
if(newRequest.module) return this.doResolve("module", obj, callback); | ||
if(newRequest.directory) return this.doResolve("directory", obj, callback); | ||
return this.doResolve(["file", "directory"], obj, callback); | ||
} | ||
@@ -51,0 +36,0 @@ } |
{ | ||
"name": "enhanced-resolve", | ||
"version": "0.5.15", | ||
"version": "0.6.0", | ||
"author": "Tobias Koppers @sokra", | ||
@@ -5,0 +5,0 @@ "description": "Offers a async require.resolve function. It's highly configurable.", |
@@ -53,4 +53,4 @@ var Resolver = require("../lib/Resolver"); | ||
aliasA: "a", | ||
b: "a/index", | ||
c: "/a/index", | ||
"b$": "a/index", | ||
"c$": "/a/index", | ||
recursive: "recursive/dir" | ||
@@ -57,0 +57,0 @@ }), |
Sorry, the diff of this file is not supported yet
48973
1362