diff options
Diffstat (limited to 'node_modules/spawn-wrap/lib/win-rebase.js')
-rw-r--r-- | node_modules/spawn-wrap/lib/win-rebase.js | 18 |
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) +} |