A utility to launch the simplest confirmation dialog.
npx -q press-any-key
Press any key to continue...
If user presses any key it will exit with code 0. In the case of pressing CTRL+C it will exit with code 1.
If you wish to use the utility from a npm scripts, you can install it into your project as a usual npm dependency.
npm install press-any-key --save-dev
But you can also use npx to invoke the command without install.
npx -q press-any-key
press-any-key <message> [...options]
By the default, the message is "Press any key to continue..."
, but if you would like you can specify your own message as the first argument.
press-any-key "Press any key to run the application"
Options:
--ctrlc <code>
Exit code on pressing CTRL-C.
--preserve-log
Do not clean the message, after resolve
--hide-message
Do not show the massage
You can use standard bash logical operators &&
and ||
to perform branching.
npx -q press-any-key && echo "A good choice!" || echo "Bye bye :("
Or you can rely on the fact that CTRL + C, by default, exits the process.
For example, you have a script that performs irreversible actions, and to avoid accidental execution of the script, you can add additional confirmation.
echo 'You are about to delete all files in current directory'
npx -q press-any-key
rm -rf *
You are about to delete all files in the current directory
Press any key to continue...
You can use the package press-any-key API in your node.js script.
const pressAnyKey = require('press-any-key');
pressAnyKey()
.then(() => {
// ... User presses a key
})
pressAnyKey(message, options)
The message is a string that will be displayed in the standard output before it starts to listen for key presses. Pass null if you'd like to use the default message.
Options:
-
ctrlC
The exit code, or"reject"
(do reject the promise), or false to perceive as pressing any key. -
preserveLog
Preserve the message in the log -
hideMessage
Do not show the message
By default, when the user presses CTRL+C, the function will exit the process. However, you can change the standard behavior of CTRL+C by passing the option ctrlC with the value "reject". In this case, pressing CTRL+C will not exit the process but will instead reject the promise.
const pressAnyKey = require('press-any-key');
pressAnyKey("Press any key to resolve, or CTRL+C to reject", {
ctrlC: "reject"
})
.then(() => {
console.log('You pressed any key')
})
.catch(() => {
console.log('You pressed CTRL+C')
})
Vladimir Kalmykov vladimirmorulus@gmail.com
MIT