press-any-key

Press any key to continue...


Keywords
cli, util, confirm, dialog
License
MIT
Install
npm install press-any-key@0.1.0

Documentation

press-any-key

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.

Install

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

Arguments

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

How to route

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...

Programmatic usage

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
  })

API

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.
  • preverseLog 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')
  })

Author

Vladimir Kalmykov vladimirmorulus@gmail.com

License

MIT