npm publishをする前の前提を確認してみます。
npm publish前に確認すること
1. git status
gitにコミットしてないファイルがないか。
npm publishはgitの結果ではなく現在のファイルを公開するので、commitにファイルを変更していたらそれが公開されてしまいます。
2. git fetch
リモートレポジトリの方が進んでいないか。
3. node_modulesを削除しnpm installを実行
最新の依存関係で動作するか。
4. npm test
テストが通るか
5. バージョンを上げ、git tagを作成
$ npm version [ major | minor | patch ]
npm versionを実行すると、タグ付けとコミットを自動で行います。
基本的にセマンティックバージョニングに従います。
いきなりメジャーバージョンを付加することは稀なので、はじめはnpm version minor
を実行しましょう。
6. npm publish
ここまで来たら安心してnpm publishができます。
が、今のところnode v6におけるnpm publishでバグがあり、node v5系でpublishした方が安全でしょう。
7. git push
バージョンアップをリモートレポジトリにも反映しておきます。
$ git push --follow-tags
以上でnpm publishの流れは完了です。
np
さて、上記の処理を毎回行うのは非常に面倒ですが、それを1コマンド行ってくれるのがnpモジュールです。
sindresorhus/np: A better npm publish
npmからダウンロードできます。
$ npm install --global np
npで実行できます。デフォルトでは、patchバージョンになります。
np [patch | minor | major | <version>]
# `patch` is default
新しいモジュールを作成したときは、minorで公開すると思うので、以下のコマンドを打てば公開できます。
$ np minor
他にもnpm pulishを便利にするライブラリはありますが、作者が安心と安定のsindresorhus(npmライブラリの1年間のダウンロード数合計が20億超えのnode.js界のユニコーン)なのでこれを使っています。