package.json - Node.js
package.json
詳細は、ドキュメント参照のこと
name
パッケージの名称。
jsやnodeといった言葉は、含めるべきではない。
version
パッケージのバージョン。
description
パッケージの説明。
npm searchの検索対象。
license
単純な指定であれば、下記の「Identifier」を指定するとよい。
https://spdx.org/licenses/
author
作者
下記のフォーマットがシンプル
name
main
パッケージが、requireされた時に実行されるファイル。
指定されていない時は、nodeのルールに従って実行される。
bin
実行可能ファイルの指定。
ここに指定されたファイルは、
グローバルインストールの時、prefix/bin/
ローカルインストールの時、./node_modules/.bin/
にシンボリックリンクが張られる。
repository
パッケージのソースコードのリポジトリを指定。
指定内容は、下記のフォーマットが推奨。
{ "type" : "git", "url" : "http://github.com/npm/npm.git" }
scripts
様々なタイミングで実行されるスクリプトを指定する項目。
https://www.npmjs.org/doc/misc/npm-scripts.html
実際に使うのは下記くらいか。
- start
- test
install,postinsall等を使って、ユーザの環境でセットアップ作業をさせるのは あまり好ましくないため。(全ての環境に対応するのは厳しい)
package.jsonやnpmの設定値を、環境変数として読めるので、色々出来そうではある。
dependencies
パッケージを利用するのに必要な依存パッケージの指定。
キーにパッケージ名、値にバージョン指定またはtarballかgitのURLを記載。
devDependencies
パッケージの開発に必要な依存パッケージの指定。
テスティングフレームワークや他の言語(CoffeeScriptyやTypeScriptなど)のためのパッケージ等。
optionalDependencies
オプションの依存パッケージ
存在しない場合や、インストールに失敗する場合でも許容される。
engines
パッケージを正常にインストールできるnpmのバージョンや、
正常に動作させられるnodeのバージョンの指定。
(engine-strictの設定が、trueになっていない限り、この記述は勧告に過ぎない)
preferGlobal
グローバルモードでのインストールを推奨するための指定。
trueを指定すると、ローカルモードでのインストール時に警告がなされる。
private
レジストリへの登録・公開を防止するための設定。
有効にするには、trueを指定する。
publishConfig
npm publish時の、既存を設定を上書く設定を指定する項目。
関連する設定は下記。
- tag
- registry