( この記事は bower/spec の json.md をベースに作成しています。 bower.json を作成する際、その 書き方 の 参考 になればと思います。 )
bower.json は 作成しようとしているパッケージが他のパッケージとどのような依存関係にあるかを設定するものです。
これは Node.js の package.json、 Ruby の
bower.json は bower init コマンドを利用することで ウィザード に従って作成することができます。
{
"name": "blue-leaf",
"description": "Physics-like animations for pretty particles",
"main": [
"js/motion.js",
"sass/motion.scss"
],
"dependencies": {
"get-size": "~1.2.2",
"eventEmitter": "~4.2.11"
},
"devDependencies": {
"qunit": "~1.16.0"
},
"moduleType": [
"amd",
"globals",
"node"
],
"keywords": [
"motion",
"physics",
"particles"
],
"authors": [
"Betty Beta <bbeta@example.com>"
],
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"homepage": "http://betty.github.io/blue-leaf/index.html",
"repository": {
"type": "git",
"url": "git://github.com/betty/blue-leaf.git"
},
"resolutions": {
"angular": "1.3.0-beta.16"
},
"private": true
}
| プロパティ名 | 型 | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | string | 必須 Bower リポジトリ に登録するパッケージ名。
|
||||||||||
| description | string | 推奨 140文字までの任意の文字列。 簡単な説明を付けることで作成したパッケージを検索および特定しやすくします。 パッケージがどう作られているかではなく、どのようなものかを記載します。 CLIで検索した結果やWebサイトのパッケージ検索結果に表示されます。 |
||||||||||
| main | string / string[] | 推奨 パッケージを利用する際に必要となるエントリーポイントファイルを記載します。 ファイルタイプごとに1ファイルずつ指定できます。 エントリーポイントファイルでは モジュール の エクスポート や インポート があります。
Bower では 直接 例えば以下のようなパッケージを準備していたとします。
package
js/
motion.js
run.js
walk.js
sass/
motion.scss
run.scss
walk.scss
img/
motion.png
walk.png
run.png
fonts/
icons.woff2
icons.woff
dist/
movement.js
movement.min.js
movement.css
movement.min.css
"main": [ "js/motion.js", "sass/motion.scss", ] 画像およびフォントファイルも JS や Sass ファイルの中で参照されているかもしれませんが、エントリーポイントではないため
|
||||||||||
| dependencies | object | dependencies は パッケージ名 と 単純なハッシュ
|
||||||||||
| devDependencies | object | dependencies を同じルールです。 テストフレームワークやビルドドキュメントといった開発時でしか利用しないパッケージを記載します。 |
||||||||||
| moduleType | string / string[] | 推奨
|
||||||||||
| keywords | string[] | 推奨 "name" と同じフォーマットで指定します。 キーワード検索で使われます。 パッケージ名が分からなくても簡単にパッケージを検索できるようにします。 |
||||||||||
| authors | string[] / object[] | パッケージを作成している著者のリストを指定します。 以下のどちらかのフォーマットで指定します。 "authors": [ "John Doe", "John Doe <john@doe.com>", "John Doe <john@doe.com> (http://johndoe.com)" ]
"authors": [
{ "name": "John Doe" },
{ "name": "John Doe", "email": "john@doe.com" },
{ "name": "John Doe", "email": "john@doe.com", "homepage": "http://johndoe.com" }
]
|
||||||||||
| license | string / string[] | 推奨 SPDX ライセンス リスト の 識別子 (Identifier) または ライセンスへの パス か URL を指定します。 |
||||||||||
| ignore | string[] | 推奨 あなたのパッケージをインストールする際、Bower が 無視するファイルのリストを指定します。 (*) シンボリックリンクは常に無視されますが、 無視するルールは gitignore pattern spec と同じルールに従います。 |
||||||||||
| homepage | string | パッケージに関する情報があるURLを記載します。 指定がない場合、GitHubプロジェクトにフォールバックします。 | ||||||||||
| repository | object | ソースコードがあるリポジトリを指定します。 |
||||||||||
| resolutions | object | パッケージ間で競合が発生した場合に自動解決させる依存バージョンを指定します。 |
||||||||||
| private | boolean | true に設定した場合、 Bower はパッケージの公開を拒否します。 これは間違ってプライベートリポジトリを公開することを防ぐために利用します。 |
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!