HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //opt/alt/alt-nodejs8/root/lib/node_modules/npm/lib/utils/escape-arg.js
'use strict'
var path = require('path')
var isWindows = require('./is-windows.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 (isWindows) {
    return '"' + path.normalize(str) + '"'
  } else {
    if (/[^-_.~/\w]/.test(str)) {
      return "'" + str.replace(/'/g, "'\"'\"'") + "'"
    } else {
      return str
    }
  }
}