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-iojs

v4.2.0

Published

A basic node module template, that includes handy git hooks, a release script, and auto-changelog generation.

Downloads

216

Readme

Yoeman Generator for Node projects NPM version Build Status Dependency Status

A basic module template, that includes handy git hooks, a release script, es{6,2015} support via babel, and auto-changelog generation.

Here's what you get:

  • auto-creates a package.json
  • auto-creates and keeps your .npmignore file up-to-date
  • auto-creates a CONTRIBUTING.md
  • auto-creates a LICENSE
  • auto-creates a README.md with a template that you can fill in
  • auto-creates a .travis.yml for easy CI
  • tests are auto-setup in tape, and it uses smokestack so you can do browser tests too.
  • auto-runs tests and linters before a git push, to ensure you can never push bad code
  • auto-runs the Node Security Project advisory list against installed node modules before a git push to make sure your project is always secure
  • adds a release script to automate the headache of releasing a new version. It auto-generates a changelog, runs the tests, bumps the version, pushes to github, and publishes to npm.

Table of Contents generated with DocToc

Install

npm install -g generator-iojs yo

Usage

yo iojs

What Everything Does

.babelrc

As long as you haven't turned off es6 (and why would you!?), this file is created to configure Babel, the es6 compiler. By default, it includes a closure-elimination plugin. This makes the compiled code faster!

.editorconfig

The Editor Config standard enforces very basic white space rules in files.

.gitignore

Ever accidentally commit .DS_Store to git? There are a bunch of defaults here that you almost certainly don't want to commit.

.eslintrc

Linters are good! They save you from making silly mistakes. This is a fairly opinionated linter setup, but it catches you from many silly errors. The linter will be run before every commit and before every release.

.npmignore

What you commit to git and what you publish to npm don't need to be the same thing. Just like you wouldn't commit compiled files to git, you don't want to send unnecessary files to npm. When others npm install your module, they don't need all your tests or source files. These defaults strip out everything but what people really need when they install your module. It's kept up-to-date semi-automatically with dmn.

.npmrc

Local configuration for npm commands. Most of the time, when you're installing modules, you want to save them to package.json. This changes the default behavior of npm install to always be npm install --save. --save-dev overrides this and works as normal.

.travis.yml

Tests are good. Automatically testing is even better. travis is free for open source modules and is a good choice for a CI server. This file is configured to automatically test your code against node 0.10, 0.12, and iojs latest. It puts you into the faster build environment on travis.

README.md

Without docs, no one (including you, 3 months from now) will be able to figure out how to use this thing you've built! This readme provides a decent structure for a readme. It includes a table of contents that is automatically updated when deploying a new version.

LICENSE

You should have a license

CHANGELOG.md

Changelogs are really important for open source projects, but they're a pain to maintain. This changelog will automatically get updated (but give you a chance to edit it) every time you run npm run release.

CONTRIBUTING.md

A file for github! This will show a banner above the new issue and new PR screens. This file has a set of general rules.

package.json

So much magic! This sets up your node module with good defaults, and installs a bunch of dev dependencies to make magic! There are many included scripts to make dev life easier. npm run release and npm run tdd are some favorites.

index.js

Just dummy content for your new node module.

test/test.js

Just a dummy test file.

bin/<module name>

If you specified this module as a CLI module, this file gets created for you. It should be a light-weight wrapper around index.js so that you can use the module both from the CLI and programatically.

Developing

To publish, run npm run release -- [{patch,minor,major}]

NOTE: you might need to sudo ln -s /usr/local/bin/node /usr/bin/node to ensure node is in your path for the git hooks to work

Tests

Tests are in tape. They can be run with npm test.

Tests can be run in a loop with npm run tdd

Requirements

  • npm > 2.0.0 So that passing args to a npm script will work. npm i -g npm
  • git > 1.8.3 So that git push --follow-tags will work. brew install git

License

Artistic 2.0 © Joey Baker