Package Exports
- enquirer
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (enquirer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
enquirer

Intuitive, plugin-based prompt system for node.js.
Table of Contents
(TOC generated by verb using markdown-toc)
Usage
Enquirer
Create an instance of Enquirer with the given options.
Params
options{Object}
Example
var Enquirer = require('enquirer');
var enquirer = new Enquirer();.register
Register a new prompt type with the given fn.
Params
type{String}: The name of the prompt typefn{Function}: Prompt function that inherits from prompt-base.returns{Object}: Returns the Enquirer instance for chaining.
Example
enquirer.register('confirm', require('enquirer-prompt-confirm'));.use
Invoke a plugin fn
Params
fn{Function}: Function that takes an instance ofEnquirerreturns{Object}: Returns the instance for chaining.
Example
enquirer.use(require('some-enquirer-plugin'));.question
Create question name with the given message and options. Uses enquirer-question, visit that library for additional details.
Params
name{String|Object}: Name or options objectmessage{String|Object}: Message or options objectoptions{Object}returns{Object}: Returns the created question object
Events
emits:question
Example
enquirer.question('color', 'What is your favorite color?');
enquirer.question('color', 'What is your favorite color?', {
default: 'blue'
});
enquirer.question('color', {
message: 'What is your favorite color?',
default: 'blue'
});
enquirer.question({
name: 'color',
message: 'What is your favorite color?',
default: 'blue'
});
enquirer.question({
name: 'color',
type: 'input', // "input" is the default prompt type and doesn't need to be specified
message: 'What is your favorite color?',
default: 'blue'
});.set
Set a question on enquirer.questions. Same as #question
but returns the enquirer instance instead of the question object.
Params
name{String|Object}: Name or options objectmessage{String|Object}: Message or options objectoptions{Object}returns{Object}: Returns the enquirer instance
Events
emits:question
.get
Get a registered question from enquirer.questions.
Params
name{String}: The name of the question to get.returns{Object|undefined}: Returns the question object or undefined.
.has
Returns true if a question is registered on enquirer.questions.
Params
name{String}: The name of the question to check for.returns{Boolean}
.ask
Initialize a prompt session for one or more questions.
returns{Array|Object}questions: One or more question objects or names of registered questions.
Events
emits:askWith the array ofquestionsto be asked
Example
var Enquirer = require('enquirer');
var enquirer = new Enquirer();
enquirer.question('first', 'First name?');
enquirer.question('last', 'Last name?');
enquirer.ask('first')
.then(function(answers) {
console.log(answers)
});
// errors
enquirer.ask('first')
.then(function(answers) {
console.log(answers)
})
.catch(function(err) {
console.log(err)
});.prompt
Initialize a prompt session for a single question. Used by the ask method.
Params
name{String}
Events
emits:promptwith thedefaultvalue,key,questionobject, andanswersobjectemits:answerwith theanswervalue,key,questionobject, andanswersobject
Example
var Enquirer = require('enquirer');
var enquirer = new Enquirer();
enquirer.question('first', 'First name?');
enquirer.prompt('first')
.then(function(answers) {
console.log(answers)
});.separator
Create a new Separator to use in a choices array.
.Separator
Create a new Separator to use in a choices array.
Prompt types
What is a prompt "type"?
Prompt types determine the type of question - or prompt - to initiate. Currently, the only prompt type that ships with enquirer is input.
These following additional prompt types are available as plugins:
- prompt-autocompletion: Prompt that autocompletes as you type. Can be used standalone or with a prompt system… more | homepage
- prompt-checkbox: Multiple-choice/checkbox prompt. Can be used standalone or with a prompt system like Enquirer. | homepage
- prompt-confirm: Confirm (yes/no) prompt. Can be used standalone or with a prompt system like Enquirer. | homepage
- prompt-editor: Editor prompt. Opens your text editor and waits for you to save your input during… more | homepage
- prompt-expand: Expand prompt. Can be used as a standalone prompt, or with a prompt system like… more | homepage
- prompt-input: Basic text input prompt. This can be used standalone, but it's also included in [enquirer… more | homepage
- prompt-list: List-style prompt. Can be used as a standalone prompt, or with a prompt system like… more | homepage
- prompt-password: Password prompt. Can be used as a standalone prompt, or as a plugin for Enquirer. | homepage
- prompt-question: Question object, used by Enquirer and prompt plugins. | homepage
- prompt-radio: Radio prompt. Can be used as a standalone prompt, or as a plugin for Enquirer. | homepage
- prompt-rawlist: Rawlist prompt. Can be used as a standalone prompt, or with a prompt system like… more | homepage
Or you can use enquirer-prompts, if you want a bundle with all of the listed prompt types.
Publishing prompt types
Prompt modules are named using the convention prompt-*.
TBC
Plugins
TODO
Publishing plugins
Plugin modules are named using the convention enquirer-*.
TBC
Why another prompt module?
We use prompts extensively in our projects, and we wanted to improve the user experience and reduce dependencies associated with other libraries we tried, like Inquirer.
Our main goals were:
- reduce initial load time
- make prompt-types easier to add
- make code footprint smaller
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
Running tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm testAuthor
Jon Schlinkert
License
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on December 28, 2017.