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.
(TOC generated by verb using markdown-toc)
Install
Install with npm:
$ npm i base-questions --save
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
.choices
Create a "choices" question from an array.
Params
queue
{String|Array}: Name or array of question names.options
{Object|Function}: Question options or callback functioncallback
{Function}: callback function
Example
app.choices('foo', ['a', 'b', 'c']);
// or
app.choices('foo', {
message: 'Favorite letter?',
choices: ['a', 'b', 'c']
});
// then
app.ask('foo', function(err, answer) {
console.log(answer);
});
.question
Add a question to be asked at a later point.
Params
value
{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 theapp.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);
});
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: Generate an inquirer choices question from an array. | homepage
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright © 2016 Jon Schlinkert Released under the MIT license.
This file was generated by verb on January 14, 2016.