/snap/node/11691/lib/node_modules/npm/node_modules/@npmcli/run-script/lib
NameSizeModeActions
node-gyp-bin/-0755rm
is-server-package.js2450644editdlrm
make-spawn-args.js11300644editdlrm
package-envs.js8260644editdlrm
run-script-pkg.js29770644editdlrm
run-script.js5200644editdlrm
set-path.js15010644editdlrm
signal-manager.js10510644editdlrm
validate-options.js12120644editdlrm
Edit: /snap/node/11691/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/signal-manager.js (1051B)
const runningProcs = new Set() let handlersInstalled = false const forwardedSignals = [ 'SIGINT', 'SIGTERM', ] // no-op, this is so receiving the signal doesn't cause us to exit immediately // instead, we exit after all children have exited when we re-send the signal // to ourselves. see the catch handler at the bottom of run-script-pkg.js const handleSignal = signal => { for (const proc of runningProcs) { proc.kill(signal) } } const setupListeners = () => { for (const signal of forwardedSignals) { process.on(signal, handleSignal) } handlersInstalled = true } const cleanupListeners = () => { if (runningProcs.size === 0) { for (const signal of forwardedSignals) { process.removeListener(signal, handleSignal) } handlersInstalled = false } } const add = proc => { runningProcs.add(proc) if (!handlersInstalled) { setupListeners() } proc.once('exit', () => { runningProcs.delete(proc) cleanupListeners() }) } module.exports = { add, handleSignal, forwardedSignals, }