node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…

np

A better <code>npm publish</code>

np

A better npm publish

  • Ensures you are publishing from the master branch
  • Ensures the working directory is clean and that there are no unpulled changes
  • Reinstalls dependencies to ensure your project works with the latest dependency tree
  • Runs the tests
  • Bumps the version in package.json and npm-shrinkwrap.json (if present) and creates a git tag
  • Publishes the new version to npm, optionally under a dist-tag
  • Pushes commits and tags to GitHub
$ npm install --global np
$ np --help
 
  Usage
    $ np <version>
 
    Version can be:
      patch | minor | major | prepatch | preminor | premajor | prerelease | 1.2.3
 
  Options
    --any-branch    Allow publishing from any branch
    --skip-cleanup  Skips cleanup of node_modules
    --yolo          Skips cleanup and testing
    --tag           Publish under a given dist-tag
 
  Examples
    $ np patch
    $ np 1.0.2
    $ np 1.0.2-beta.3 --tag=beta

You can use any of the test/version/publish related npm lifecycle hooks in your package.json to add extra behavior.

For example, here we build the documentation before tagging the release:

{
    "name": "my-awesome-package",
    "scripts": {
        "preversion": "./build-docs"
    }
}

MIT © Sindre Sorhus