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

generator-nom

v2.0.0

Published

A modular generator to create or update node modules

Downloads

16

Readme

generator-nom

A modular Yeoman generator to create or update node modules. It's composed of several subgenerators, relatively unopinionated, usable by themselves. Most but not all input values are remembered.

npm status Dependency status

demo

what it does

yo nom will ask you which subgenerators to execute, then executes those in order as listed below. Those you successfully ran before will be disabled by default. Run any of them separately with yo nom:*. For example: yo nom:travis to just setup Travis.

npm

Create package.json, .gitignore, install test framework (tape, tap, mocha, grunt, cake, or ava), add LICENSE file (MIT, BSD2 or BSD3). If a package.json already exists, it will be merged, used for default answers and for sort order of the top-level fields. At deeper levels, like dependencies, nom behaves like npm and sorts lexicographically.

git

Initialize local git repository, unless .git directory exists.

github

Create public or private GitHub project, named "module-name" or "node-module-name". Unless local git already has configured remotes. Asks for access token and repository owner (which defaults to the owner of the token), skips creation if the repository already exists, adds URLs to package.json and adds remote origin.

travis

Add .travis.yml for node 0.10 and iojs, setup GitHub hook. The travis tool asks for username and password.

appveyor

Add appveyor.yml for node 0.10 and iojs, setup GitHub hook. Asks for access token.

cli

Create a CLI app (with meow) and add a bin field to package.json. Asks for name and path.

style (todo)

Add standard or xo as a pretest script.

readme

Add readme.md with common sections and shield.io badges for npm and david. If you did the travis and/or appveyor setup, badges for those services will be added as well.

gulp

Create an ES5 or ES6 gulpfile and tasks directory. Installs gulp and if ES6, babel-core.

usage

mkdir my-module
cd my-module
yo nom

install

Install Yeoman and generator-nom globally with npm:

npm i yo generator-nom -g

changelog

2.0.0

  • Gulpfile can be in ES5 or ES6.
  • Disable gulp subgenerator by default
  • A package.json will always be created (for example, when running nom:gulp by itself).
  • Generation of main file (index.js) is optional
  • Move CLI to own subgenerator, with new questions for name and path.
  • Preserve sort order of existing package.json, except for dependencies which are always sorted lexicographically (like npm does).
  • CI targets node 0.10 and 4
  • Install latest npm on AppVeyor
  • Deduce author's name and email from (in order): author field of existing package.json, npm config (legacy formats too) and git config. Because Yeoman reads the git config by spawning git, it is done lazily, as a last resort.
  • Don't humanize author's URL, to keep it "clickable" in editors and other places
  • Author URL is optional
  • Pin Babel to 5

license and acknowledgments

MIT © ironSource. Originally forked from generator-n © Andrei Kashcha. Small parts borrowed from generator-nm © Sindre Sorhus.