@@ -33,21 +33,22 @@ module.exports = function resolve(x, options, callback) {
33
33
34
34
var extensions = opts . extensions || [ '.js' ] ;
35
35
var basedir = opts . basedir || path . dirname ( caller ( ) ) ;
36
+ var parent = opts . filename || basedir ;
36
37
37
38
opts . paths = opts . paths || [ ] ;
38
39
39
40
if ( / ^ (?: \. \. ? (?: \/ | $ ) | \/ | ( [ A - Z a - z ] : ) ? [ / \\ ] ) / . test ( x ) ) {
40
- var res = path . resolve ( basedir , x ) ;
41
+ var res = path . resolve ( parent , x ) ;
41
42
if ( x === '..' || x . slice ( - 1 ) === '/' ) res += '/' ;
42
- if ( / \/ $ / . test ( x ) && res === basedir ) {
43
+ if ( / \/ $ / . test ( x ) && res === parent ) {
43
44
loadAsDirectory ( res , opts . package , onfile ) ;
44
45
} else loadAsFile ( res , opts . package , onfile ) ;
45
- } else loadNodeModules ( x , basedir , function ( err , n , pkg ) {
46
+ } else loadNodeModules ( x , parent , function ( err , n , pkg ) {
46
47
if ( err ) cb ( err ) ;
47
48
else if ( n ) cb ( null , n , pkg ) ;
48
49
else if ( core [ x ] ) return cb ( null , x ) ;
49
50
else {
50
- var moduleError = new Error ( "Cannot find module '" + x + "' from '" + basedir + "'" ) ;
51
+ var moduleError = new Error ( "Cannot find module '" + x + "' from '" + parent + "'" ) ;
51
52
moduleError . code = 'MODULE_NOT_FOUND' ;
52
53
cb ( moduleError ) ;
53
54
}
@@ -60,7 +61,7 @@ module.exports = function resolve(x, options, callback) {
60
61
if ( err ) cb ( err ) ;
61
62
else if ( d ) cb ( null , d , pkg ) ;
62
63
else {
63
- var moduleError = new Error ( "Cannot find module '" + x + "' from '" + basedir + "'" ) ;
64
+ var moduleError = new Error ( "Cannot find module '" + x + "' from '" + parent + "'" ) ;
64
65
moduleError . code = 'MODULE_NOT_FOUND' ;
65
66
cb ( moduleError ) ;
66
67
}
0 commit comments