Skip to content

Latest commit

 

History

History
88 lines (57 loc) · 3.94 KB

CHECKLIST.md

File metadata and controls

88 lines (57 loc) · 3.94 KB
  • watch the egghead.io series How to Write an Open Source JavaScript Library; it is extremely useful for any NPM project (OSS or closed-sourced).

  • start unit testing right away, pick your unit testing framework

  • start linting code to prevent obvious problems, like misspelled variable. eslint, jshint, jscs or all of them together gulp-lint-everything

  • run linting and unit tests on each commit locally. pre-git, ghooks

  • validate commit message using pre-git or commitizen with validate-commit-msg. This enables other tools, like intelligent release notes.

  • show the project's GitHub open issues on demand or on commit using git-issues

  • setup continuous integration server, like TravisCI or CircleCI (or wait until you set up semantic-release which will set up TravisCI for you).

  • add badges to the README to make broken unit tests or out of date dependencies visible

    • ci server badge
    • published NPM package info
    • production and dev dependencies being out of date
    • semantic release badge
  • check module published size and white list only necessary files, tutorial

  • setup semantic-release to automate publishing and avoid breaking semver. This is important, but is currently broken in too many projects. Even this checklist is using semver!

  • avoid surprizes by using exact versions of the top level dependencies. Use save-exact NPM setting and exact-semver to enforce it.

  • setup a script to reliably update out of date dependencies using next-update

  • catch missing or invalid package.json values using grunt-nice-package or fixpack

  • write simple installation commands for your module

  • write "quick intro" example showing the main feature of your module

  • add CONTRIBUTING.md file with clear guidelines how others can add new features or fix bugs in your module. Atom editor and lodash have excellent examples to follow.

Source: npm-module-checklist