Package Exports
- base-questions
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 (base-questions) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
base-questions

Plugin for base-methods that adds methods for prompting the user and storing the answers on a project-by-project basis.
You might also be interested in data-store.
Table of Contents
(TOC generated by verb using markdown-toc)
Install
Install with npm:
$ npm install --save base-questions
Usage
Try running the actual examples if it helps to see the following example in action.
var questions = require('base-questions');
var assemble = require('assemble-core');
var store = require('base-store');
var argv = require('base-argv');
var app = assemble();
app.use(store());
app.use(argv());
var argv = app.argv(process.argv.slice(2));
app.use(questions(app, argv.options));
app.task('ask', function (cb) {
app.ask(function (err, answers) {
if (err) return cb(err);
console.log(answers);
cb();
});
});
app.task('a', function (cb) {
console.log('task > a!');
cb();
});
app.task('b', function (cb) {
console.log('task > b!');
cb();
});
app.task('c', function (cb) {
console.log('task > c!');
cb();
});
app.task('choices', function (cb) {
app.choices('run', ['a', 'b', 'c'], function (err, answers) {
if (err) return cb(err);
if (!answers.run.length) return cb();
app.build(answers.run, cb);
});
});
app.build('choices', function(err) {
if (err) return console.log(err);
console.log('done!');
});
API
.confirm
Create a confirm
question.
Params
name
{String}: Question namemsg
{String}: Question messagequeue
{String|Array}: Name or array of question names.options
{Object|Function}: Question options or callback functioncallback
{Function}: callback function
Example
app.confirm('file', 'Want to generate a file?');
// equivalent to
app.question({
name: 'file',
message: 'Want to generate a file?',
type: 'confirm'
});
.choices
Create a "choices" question from an array.
Params
name
{String}: Question namemsg
{String}: Question messagechoices
{Array}: Choice itemsqueue
{String|Array}: Name or array of question names.options
{Object|Function}: Question options or callback functioncallback
{Function}: callback function
Example
app.choices('color', 'Favorite color?', ['blue', 'orange', 'green']);
// or
app.choices('color', {
message: 'Favorite color?',
choices: ['blue', 'orange', 'green']
});
// or
app.choices({
name: 'color',
message: 'Favorite color?',
choices: ['blue', 'orange', 'green']
});
.question
Add a question to be asked by the .ask
method.
Params
name
{String}: Question namemsg
{String}: Question messagevalue
{Object|String}: Question object, message (string), or options object.locale
{String}: Optionally pass the locale to use, otherwise the default locale is used.returns
{Object}: Returns thethis.questions
object, for chaining
Example
app.question('beverage', 'What is your favorite beverage?');
// or
app.question('beverage', {
type: 'input',
message: 'What is your favorite beverage?'
});
// or
app.question({
name: 'beverage'
type: 'input',
message: 'What is your favorite beverage?'
});
.ask
Ask one or more questions, with the given options
and callback.
Params
queue
{String|Array}: Name or array of question names.options
{Object|Function}: Question options or callback functioncallback
{Function}: callback function
Example
// ask all questions
app.ask(function(err, answers) {
console.log(answers);
});
// ask the specified questions
app.ask(['name', 'description'], function(err, answers) {
console.log(answers);
});
About
Related projects
- answer-store: Store answers to user prompts, based on locale and/or current working directory. | homepage
- common-questions: An object of questions commonly used by project generators or when initializing projects. Questions can… more | homepage
- question-store: Ask questions, persist the answers. Basic support for i18n and storing answers based on current… more | homepage
- to-choices: Easily create a normalized inquirer choices question. Supports all of the
choices
question types: checkbox… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb-generate-readme, v0.1.31, on October 01, 2016.