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

generate-generator

v0.2.3

Published

Generate a generate generator project, complete with unit tests.

Downloads

10

Readme

Generate a generate generator project, complete with unit tests.

generate-generator

NPM version NPM downloads Build Status

generate-generator demo

Table of Contents

(TOC generated by verb using markdown-toc)

Tasks

Running tasks

To run a task, just run $ gen generator: followed by the name of the task to run. For example, the following command will run the minimal task:

$ gen generator:minimal

Available tasks

generator:default

Scaffold out a generate generator project. Alias for the generator task, to allow running the generator with the following command:

Example

$ gen generator

generator:minimal

Scaffold out a minimal Generate generator project.

Example

$ gen generator:min
## or
$ gen generator:minimal

generator:micro

Scaffold out a project for a Generate micro-generator.

Example

$ gen generator:micro

generator:file

Write a generator.js file to the current working directory.

Example

$ gen generator:file

generator:main-micro

Write the generator.js and index.js files for a micro-generator.

Example

$ gen generator:main-micro

generator:rootfiles

Generate the LICENSE, package.json and README.md files for a generator project.

Example

$ gen generator:rootfiles

generator:test

Write a test.js file to the current working directory, with unit tests for a generate generator.

Example

$ gen generator:test

generator:templates

Generate files in the generator's templates directory.

Example

$ gen generator:templates

generator:prompt-git

Initiates a prompt to ask if you'd like to initialize a git repository with first commit.

Example

$ gen generator:prompt-git

Files trees

The following files trees are automatically generated by a task in verbfile.js.

  • dest files: trees representing the actual generated "dest" files for each task
  • source files: trees representing the source files and templates used by each task

(See Generate's customization documentation to learn how to override individual templates.)

Generated files

Files generated by each task

Diffs are base on files generated by the default task. Note that some tasks generate files that have different contents but the file path is unchanged (for example, the contents of index.js differs based on the task). These files won't show in the diff.

default

Files generated by the default task:

 .
 ├─┬ test
 │ ├── test.js
 │ └── plugin.js
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
 ├── generator.js
 ├── index.js
 ├── LICENSE
 ├── package.json
 └── README.md

micro

Files generated by the micro task:

 .
 ├─┬ test
 │ ├── test.js
 │ └── plugin.js
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
 ├── generator.js
 ├── index.js
 ├── LICENSE
 ├── package.json
 └── README.md

minimal

Files generated by the minimal task:

 .
-├─┬ test
-│ ├── test.js
-│ └── plugin.js
-├── .editorconfig
-├── .eslintrc.json
-├── .gitattributes
 ├── .gitignore
-├── .travis.yml
 ├── generator.js
 ├── index.js
 ├── LICENSE
 ├── package.json
 └── README.md

files

Files generated by the files task:

 .
-├─┬ test
-│ ├── test.js
-│ └── plugin.js
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 ├── .travis.yml
-├── generator.js
-├── index.js
 ├── LICENSE
 ├── package.json
 └── README.md

rootfiles

Files generated by the rootfiles task:

 .
-├─┬ test
-│ ├── test.js
-│ └── plugin.js
-├── .editorconfig
-├── .eslintrc.json
-├── .gitattributes
-├── .gitignore
-├── .travis.yml
-├── generator.js
-├── index.js
 ├── LICENSE
 ├── package.json
 └── README.md

dotfiles

Files generated by the dotfiles task:

 .
-├─┬ test
-│ ├── test.js
-│ └── plugin.js
 ├── .editorconfig
 ├── .eslintrc.json
 ├── .gitattributes
 ├── .gitignore
 └── .travis.yml
-├── generator.js
-├── index.js
-├── LICENSE
-├── package.json
-└── README.md

index

Files generated by the index task:

 .
-├─┬ test
-│ ├── test.js
-│ └── plugin.js
-├── .editorconfig
-├── .eslintrc.json
-├── .gitattributes
-├── .gitignore
-├── .travis.yml
-├── generator.js
 └── index.js
-├── LICENSE
-├── package.json
-└── README.md

Source files

Source files or templates that are used by each task

default

Source files and/or libraries used by the default task:

 .
 ├─┬ templates
 │ ├─┬ tests
 │ │ ├── test.js
 │ │ └── plugin.js
 │ ├── generator.js
 │ └── index.js
 └─┬ node_modules
   ├─┬ generate-editorconfig
   │ └─┬ templates
   │   └── _editorconfig
   ├─┬ generate-eslint
   │ └─┬ templates
   │   └── _eslintrc.json
   ├─┬ generate-gitattributes
   │ └─┬ templates
   │   └── _gitattributes
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Minimal.gitignore
   ├─┬ generate-travis
   │ └─┬ templates
   │   └── _travis.yml
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

micro

Source files and/or libraries used by the micro task:

 .
 ├─┬ templates
 │ ├─┬ tests
 │ │ ├── test.js
 │ │ └── plugin.js
 │ ├── generator-micro.js
 │ └── index.js
 └─┬ node_modules
   ├─┬ generate-editorconfig
   │ └─┬ templates
   │   └── _editorconfig
   ├─┬ generate-eslint
   │ └─┬ templates
   │   └── _eslintrc.json
   ├─┬ generate-gitattributes
   │ └─┬ templates
   │   └── _gitattributes
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Minimal.gitignore
   ├─┬ generate-travis
   │ └─┬ templates
   │   └── _travis.yml
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

minimal

Source files and/or libraries used by the minimal task:

 .
 ├─┬ node_modules
 │ ├─┬ generate-gitignore
 │ │ └─┬ templates
 │ │   └── Node.gitignore
 │ ├─┬ generate-license
 │ │ └─┬ templates
 │ │   └── mit.tmpl
 │ ├─┬ generate-package
 │ │ └─┬ templates
 │ │   └── $package.json
 │ └─┬ generate-readme
 │   └─┬ templates
 │     └── node.md
 └─┬ templates
   ├── generator.js
   └── index.js

files

Source files and/or libraries used by the files task:

 .
 └─┬ node_modules
   ├─┬ generate-editorconfig
   │ └─┬ templates
   │   └── _editorconfig
   ├─┬ generate-eslint
   │ └─┬ templates
   │   └── _eslintrc.json
   ├─┬ generate-gitattributes
   │ └─┬ templates
   │   └── _gitattributes
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Minimal.gitignore
   ├─┬ generate-travis
   │ └─┬ templates
   │   └── _travis.yml
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

rootfiles

Source files and/or libraries used by the rootfiles task:

 .
 └─┬ node_modules
   ├─┬ generate-license
   │ └─┬ templates
   │   └── mit.tmpl
   ├─┬ generate-package
   │ └─┬ templates
   │   └── $package.json
   └─┬ generate-readme
     └─┬ templates
       └── node.md

dotfiles

Source files and/or libraries used by the dotfiles task:

 .
 └─┬ node_modules
   ├─┬ generate-editorconfig
   │ └─┬ templates
   │   └── _editorconfig
   ├─┬ generate-eslint
   │ └─┬ templates
   │   └── _eslintrc.json
   ├─┬ generate-gitattributes
   │ └─┬ templates
   │   └── _gitattributes
   ├─┬ generate-gitignore
   │ └─┬ templates
   │   └── Minimal.gitignore
   └─┬ generate-travis
     └─┬ templates
       └── _travis.yml

index

Source files and/or libraries used by the index task:

 .
 └─┬ node_modules
   └─┬ generate-project
     └─┬ templates
       └── index.js

What is "Generate"?

Generate is a command line tool and developer framework for scaffolding out new GitHub projects using generators and tasks.

Answers to prompts and the user's environment can be used to determine the templates, directories, files and contents to build. Support for gulp, base and assemble plugins, and much more.

For more information:

Getting started

Install

Installing the CLI

To run the generator generator from the command line, you'll need to install Generate globally first. You can do that now with the following command:

$ npm install --global generate

This adds the gen command to your system path, allowing it to be run from any directory.

Install generate-generator

Install this module with the following command:

$ npm install --global generate-generator

Usage

Run this generator's default task with the following command:

$ gen generator

What you should see in the terminal

If completed successfully, you should see both starting and finished events in the terminal, like the following:

[00:44:21] starting ...
...
[00:44:22] finished ✔

If you do not see one or both of those events, please let us know about it.

Help

To see a general help menu and available commands for Generate's CLI, run:

$ gen help

Next steps

Running unit tests

It's never too early to begin running unit tests. When you're ready to get started, the following command will ensure the project's dependencies are installed then run all of the unit tests:

$ npm install && test

Publishing your generator

If you're tests are passing and you're ready to publish your generator to npm, you can do that now with the following command:

Are you sure you're ready?!

Let's go!

$ npm publish

About

Related projects

generate: Command line tool and developer framework for scaffolding out new GitHub projects. Generate offers the… more | homepage

Community

Are you using Generate in your project? Have you published a generator and want to share your project with the world?

Here are some suggestions!

  • If you get like Generate and want to tweet about it, please feel free to mention @generatejs or use the #generatejs hashtag
  • Show your love by starring Generate and generate-generator
  • Get implementation help on StackOverflow (please use the generatejs tag in questions)
  • Gitter Discuss Generate with us on Gitter
  • If you publish an generator, thank you! To make your project as discoverable as possible, please add the keyword generategenerator to package.json.

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

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.30, on August 18, 2016.