node moduleを作ってnpmに公開するまでの小ネタまとめ
そういうとこに乗ってなかった小ネタがちょこちょあったのでまとめ。
開発前
gitを使いましょう
バージョン管理をしましょうという話は当然ですが
$ npm install gitのurl
というgitのurlでインストール出来たりと色々利点が多いのでgitを使うと捗ります。
npm init しましょう
git initと同じタイミングでやっちゃいましょう。
$ git init $ npm init
色々聞かれます。答えるとpackage.jsonができます。便利。
手動で作ると色々間違うのでこっちを使いましょう。
開発中
プラグインのインストール時は --saveオプションを使いましょう
$ npm install --save hoge
-
- saveをつけると自動的にpackage.jsonに保存されます。便利。
開発中しか使わないテストツールのようなものは--save-devをつけましょう。
公開前
使わなかったプラグインはdependenciesから削りましょう。
開発中はあれないかこれないかと色々プラグインを入れるでしょう。
で、最終的に使わないのとか出てきます。
package.jsonからdependenciesから削りましょう。
dependenciesがいっぱいあって困るのは他の人がinstallした時に重くなるという事ぐらいですがなるべく剤っときましょう。
削ったら
npm prune
をしましょう。自動でnode_modulesから消えてくれます。
他の人がインストールした時のテストをしましょう。
空のディレクトリかなんかを作って
$ npm install 自分のgitのurl
を実行しましょう。
そして他の人が使う時の挙動を確認しましょう。
package.jsonに書いてたmainの指定スクリプトが違ってた!とか無いように。
binをつけたコマンドラインのパッケージなら
$ npm install -g 自分のgitのurl
でもいいですね。
*1
publishはurl指定でやりましょう
package.jsonの中にはrepositoryという項目がありますが
npm publish
を指定した場合にはこれは見てくれるわけではなく、そのカレントディレクトリをパッケージ化してアップするようです。
.npmignoreという.gitignoreと同じようなものもありますが、gitignoreと違ってglobalな設定は出来ない模様なので*2油断するとIDEの設定ファイルなんかがひょいと上がってしまいます。
なので
npm publish 自分のgitのurl
とするのが安全です。これならgitに上がったものだけをそのまま使ってくれます。
gitには上げてるけど更にnpmにだけ上げたくないものだけ.npmignoreに記述してgitにアップするよ良いでしょう*3