npm initでauthorやlicenseなどの初期値を指定する
JavaScript Advent Calendar 2015の2日目。小ネタです。
npm init
するときにauthorとかlicenseとか毎回同じこと入力するの面倒だったりしません?実はいくつかの項目は初期値を設定できるのだけど、ググってもあまり日本語情報が無いようなので共有。
設定方法は.npmrc
で以下のように指定すればOK。
init-author-name=Teppei Sato init-author-email=teppeis@gmail.com
.npmrc
の場所は以下の順で優先される。(詳細は公式を参照)
- per-project config file (/path/to/my/project/.npmrc)
- per-user config file (~/.npmrc)
- global config file ($PREFIX/etc/npmrc)
- npm builtin config file (/path/to/npm/npmrc)
今回は全プロジェクトに指定したいケースなので、ホームディレクトリの~/.npmrc
に書いておくのが良いと思う。
指定できる設定値は公式docを参照。init-で始まる項目をリストアップしてみる。
init-author-name, init-author-email
名前とメールアドレス。これはたぶんみんな便利になるはず。
init-author-url
自分はURL書いてないので使ってない。
init-license
デフォルトのライセンスはISC
なので、自分はMIT
を初期値に指定してる。
init-version
デフォルトが1.0.0
の強気設定なので、0.0.1
から始めたい弱気な人はどうぞ。
init-module
これを指定するとnpm init
が呼ばれたときにロードするJSファイルを置き換えることができる。よりカスタマイズしたい上級者向け。
完全に置き換わるので、いつもの対話的にパッケージ名等を聞かれる処理はいっさいなくなっちゃうから必要なら自分でゼロから書かなければいけない。実はinit-module
の初期値は~/.npm-init.js
になっていて、ファイルがあれば発動するようになっているので、init-module
自体を設定しなくてもファイルを置けば利用可能。
npm init
の実体は npm/init-package-json パッケージで、そのうち default-input.js がデフォルトの対話式スクリプトの実体なので、これをベースに改造するのが良いかも。
以上です。
あとnpm init
とは関係ないnpmrcの小ネタとして、tag-version-prefix を変更するとnpm version
で"v1.0.1"になるのを"1.0.1"にできるようになるよ。
Enjoy happy npm life!