aboutsummaryrefslogtreecommitdiff
path: root/node_modules/spawn-wrap/lib/win-rebase.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/spawn-wrap/lib/win-rebase.js')
-rw-r--r--node_modules/spawn-wrap/lib/win-rebase.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/spawn-wrap/lib/win-rebase.js b/node_modules/spawn-wrap/lib/win-rebase.js
new file mode 100644
index 000000000..d4af5fed4
--- /dev/null
+++ b/node_modules/spawn-wrap/lib/win-rebase.js
@@ -0,0 +1,18 @@
+var re = /^\s*("*)([^"]*?\b(?:node|iojs)(?:\.exe)?)("*)( |$)/
+var npmre = /^\s*("*)([^"]*?\b(?:npm))("*)( |$)/
+var path_ = require('path')
+if (path_.win32) path_ = path_.win32
+
+module.exports = function (path, rebase, whichOrUndefined) {
+ var m = path.match(re)
+ if (!m) {
+ m = path.match(npmre)
+ if (!m) return path
+ var npmPath = whichOrUndefined('npm') || 'npm'
+ npmPath = path_.dirname(npmPath) + '\\node_modules\\npm\\bin\\npm-cli.js'
+ return path.replace(npmre, m[1] + rebase + ' "' + npmPath + '"' + m[3] + m[4])
+ }
+ // preserve the quotes
+ var replace = m[1] + rebase + m[3] + m[4]
+ return path.replace(re, replace)
+}