Skip to content

Commit cf661cf

Browse files
committed
Several Windows path fixes in module resolver:
- strip leading backslashes - turn backslashes to slashes - correctly strip node_modules[\/\\]?
1 parent f2f3c27 commit cf661cf

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

resolver.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ exports.TnsResolver = {
4141
var plugin = this;
4242
resolver.plugin('module', function(request, callback) {
4343
var resolvedFile = null;
44-
var moduleName = request.request;
44+
//Remove leading backslash on Windows!
45+
var moduleName = request.request.replace(/^\\/, "");
4546
if (plugin.isCoreDirModule(moduleName)) {
4647
resolvedFile = plugin.resolveCoreDirModule(moduleName);
4748
} else if (plugin.isCoreFileModule(moduleName)) {
@@ -67,6 +68,9 @@ exports.TnsResolver = {
6768
return;
6869
}
6970

71+
//Turn Windows backslashes to slashes
72+
resolvedFile = resolvedFile.replace(/\\/g, "/");
73+
7074
// Resolve to discovered "real" module name.
7175
//
7276
// Taken from "enhanced-resolve@0.9.1", ModuleAliasPlugin.js
@@ -122,7 +126,8 @@ exports.TnsResolver = {
122126
throw new Error("File module not found for: " + tnsModule);
123127
}
124128
}
125-
return result.replace(/^node_modules\/?/i, "");
129+
//Make sure we strip both slashes and backslashes after node_modules!
130+
return result.replace(/^node_modules[\/\\]?/i, "");
126131
},
127132
resolveNonCoreFileModule: function(moduleName) {
128133
var nodeModulesPath = path.join("node_modules", moduleName);

0 commit comments

Comments
 (0)