npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

helper-prompt

v1.3.1

Published

Async helper that prompts the user for input then uses the answers to render templates. Must be registered with a library that supports async helpers, like assemble or generate. After that it should work with handlebars, lo-dash or any other node.js engin

Downloads

25

Readme

helper-prompt NPM version NPM monthly downloads NPM total downloads

Async helper that prompts the user for input then uses the answers to render templates. Must be registered with a library that supports async helpers, like assemble or generate. After that it should work with handlebars, lo-dash or any other node.js engine that supports helper functions.

Install

Install with npm:

$ npm install --save helper-prompt

How it works

  1. Prompts you for input
  2. If "answered", a second prompt asks if you want to save the answer (this can be skipped)
  3. If "yes", the answer is persisted to a local data store, and the prompt will be skipped the next time the same question is asked.

This is really simple and basic at the moment, it would probably be good to keep it that way. There are lots of interesting things we can do with prompts and templates, but it would be better to do those things with custom implementations.

Usage

Register as an async helper with assemble, generate, templates or any library that uses async-helpers.

var prompt = require('helper-prompt');
var assemble = require('assemble');
var app = assemble();

// "app" can be any of the mentioned libraries above
app.asyncHelper('prompt', prompt());

Example

var templates = require('templates');
var app = templates();

app.engine('hbs', require('engine-handlebars'));
app.asyncHelper('prompt', prompt({save: false}));

app.create('pages');
app.page('example.hbs', 'My name is: {{prompt "What is your name?"}}');

app.render('example.hbs', function(err, view) {
  if (err) {
    console.log(err);
    process.exit(1);
  }
  console.log(view.contents.toString());
  //=> 'My name is: Jon'
});

Prompt types

Currently only the following prompt types are supported:

Any prompt options may be defined using hash arguments.

Options

options.save

Type: boolean

Default: undefined

By default, you will be prompted to confirm whether or not an answer value should be persisted. You can disable this by setting options.save to false.

var prompt = require('helper-prompt');
var assemble = require('assemble');
var app = assemble();

app.asyncHelper('prompt', prompt({save: false}));

options.prompt

Type: boolean

Default: undefined

Don't skip the prompt, regardless of whether or not the answer was persisted. This is especially useful when argv is passed to helper options.

This is different from save in that it forces the prompt to be presented, it does not have any effect on whether or not the answer value is persisted.

var prompt = require('helper-prompt');
var minimist = require('minimist')(process.argv.slice(2));
var assemble = require('assemble');
var app = assemble();

// $ your-app --prompt
app.asyncHelper('prompt', prompt(argv));

Data store

Answer values are persisted using data-store. Options are passed to that library, so you'll need to visit the data-store docs to see all available options and features.

Here is an example of how to change the path of the data store:

// persist answers to a local folder in "data/prompt-answers.json"
prompt({path: 'data/prompt-answers.json'});

About

Related projects

  • enquirer: Intuitive, plugin-based prompt system for node.js. Much faster and lighter alternative to Inquirer, with all… more | homepage
  • prompt-base: Base prompt module used for creating custom prompts. | 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

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.

Building docs

(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

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 test

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the MIT License.


This file was generated by verb-generate-readme, v0.6.0, on May 28, 2017.