What is the problem this feature will solve?
Node has gained node --run as a way to directly execute a package.json script, but this has a glaring subtle limitation currently that has bitten me and likely others, and is also recurring in the existing package managers: It doesn't forward signals properly to the subprocess, and the shell in the middle can even end up swallowing those signals and lingering when invoked node --run is invoked as PID 1 in Docker.
What is the feature you are proposing to solve the problem?
It would be much nicer to have a variant that can function identically to just a direct node script.js invocation, but with the arguments and command line in the package.json for DRY reasons. This can be problematic though, as package.json scripts are currently arbitrary shell scripts, and Node.js likely just uses sh to execute them rather then any JS shell-emulator (Pnpm, Yarn), which can limit it's ability to directly exec the final ran command so the shell in the middle doesn't swallow signals.
What alternatives have you considered?
Don't use node --run or the package mangers, just direct node script.js duplicating the start command.
What is the problem this feature will solve?
Node has gained
node --runas a way to directly execute a package.json script, but this has a glaring subtle limitation currently that has bitten me and likely others, and is also recurring in the existing package managers: It doesn't forward signals properly to the subprocess, and the shell in the middle can even end up swallowing those signals and lingering when invokednode --runis invoked as PID 1 in Docker.What is the feature you are proposing to solve the problem?
It would be much nicer to have a variant that can function identically to just a direct
node script.jsinvocation, but with the arguments and command line in thepackage.jsonfor DRY reasons. This can be problematic though, as package.json scripts are currently arbitrary shell scripts, and Node.js likely just usesshto execute them rather then any JS shell-emulator (Pnpm, Yarn), which can limit it's ability to directlyexecthe final ran command so the shell in the middle doesn't swallow signals.What alternatives have you considered?
Don't use
node --runor the package mangers, just directnode script.jsduplicating the start command.