Plugin for base-methods that adds methods for prompting the user and storing the answers on a project-by-project basis.
npm install 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.
- Install
- Usage
- API
- About
* Related projects
* Contributing
* Contributors
* Building docs
* Running tests
* Author
* License
_(TOC generated by verb using markdown-toc)_
Install with npm:
``sh`
$ npm install --save base-questions
Try running the actual examples if it helps to see the following example in action.
`js
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!');
});
`
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
`js
app.confirm('file', 'Want to generate a file?');
// equivalent to
app.question({
name: 'file',
message: 'Want to generate a file?',
type: 'confirm'
});
`
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
`js
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']
});
`
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 the this.questions object, for chaining
Example
`js
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 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
`js
// 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);
});
`
* 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 | choices question types: checkbox, list, rawlist, expand"" class="text-primary hover:underline" target="_blank" rel="noopener noreferrer">homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
_(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:
`sh`
$ npm install -g verb verb-generate-readme && verb
Install dev dependencies:
`sh``
$ npm install -d && npm test
Jon Schlinkert
* github/jonschlinkert
* twitter/jonschlinkert
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
*
_This file was generated by verb-generate-readme, v0.1.31, on October 01, 2016._