mirror of
https://github.com/nodejs/node.git
synced 2025-05-14 13:13:21 +00:00

Contains the following npm releases: - v3.9.0: https://github.com/npm/npm/releases/tag/v3.9.0 - v3.9.1: https://github.com/npm/npm/releases/tag/v3.9.1 - v3.9.2: https://github.com/npm/npm/releases/tag/v3.9.2 - v3.9.3: https://github.com/npm/npm/releases/tag/v3.9.3 PR-URL: https://github.com/nodejs/node/pull/7030 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
28 lines
673 B
JavaScript
28 lines
673 B
JavaScript
'use strict'
|
|
var path = require('path')
|
|
var isWindowsShell = require('./is-windows-shell.js')
|
|
|
|
/*
|
|
Escape the name of an executable suitable for passing to the system shell.
|
|
|
|
Windows is easy, wrap in double quotes and you're done, as there's no
|
|
facility to create files with quotes in their names.
|
|
|
|
Unix-likes are a little more complicated, wrap in single quotes and escape
|
|
any single quotes in the filename.
|
|
*/
|
|
|
|
module.exports = escapify
|
|
|
|
function escapify (str) {
|
|
if (isWindowsShell) {
|
|
return '"' + path.normalize(str) + '"'
|
|
} else {
|
|
if (/[^-_.~/\w]/.test(str)) {
|
|
return "'" + str.replace(/'/g, "'\"'\"'") + "'"
|
|
} else {
|
|
return str
|
|
}
|
|
}
|
|
}
|