( この記事は 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 の フォロー」 お願いします!!