Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
local
/
nvm
/
versions
/
node
/
v18.20.8
/
lib
/
node_modules
/
npm
/
node_modules
/
cross-spawn
/
lib
Upload
5 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
enoent.js
1.45 KB
-rw-r--r--
2025-03-27 00:29:52
Edit
Del
parse.js
2.99 KB
-rw-r--r--
2023-06-20 06:00:25
Edit
Del
util
-
drwxr-xr-x
2025-03-27 01:06:02
Del
Editing: enoent.js
(1.45 KB)
Path: /usr/local/nvm/versions/node/v18.20.8/lib/node_modules/npm/node_modules/cross-spawn/lib/enoent.js
Back
'use strict'; const isWin = process.platform === 'win32'; function notFoundError(original, syscall) { return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { code: 'ENOENT', errno: 'ENOENT', syscall: `${syscall} ${original.command}`, path: original.command, spawnargs: original.args, }); } function hookChildProcess(cp, parsed) { if (!isWin) { return; } const originalEmit = cp.emit; cp.emit = function (name, arg1) { // If emitting "exit" event and exit code is 1, we need to check if // the command exists and emit an "error" instead // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 if (name === 'exit') { const err = verifyENOENT(arg1, parsed, 'spawn'); if (err) { return originalEmit.call(cp, 'error', err); } } return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params }; } function verifyENOENT(status, parsed) { if (isWin && status === 1 && !parsed.file) { return notFoundError(parsed.original, 'spawn'); } return null; } function verifyENOENTSync(status, parsed) { if (isWin && status === 1 && !parsed.file) { return notFoundError(parsed.original, 'spawnSync'); } return null; } module.exports = { hookChildProcess, verifyENOENT, verifyENOENTSync, notFoundError, };