JSONを事前にバリデートしたほうがいい
bower.json内の余計なカンマに気づかず公開してしまい、試しにダウンロードしようとしてエラーに気づきました。
結局、パッチのバージョンを上げて公開し直しました。
package.jsonもbower.jsonも事前に検査しておいたほうがいいです。
Webで検査
- package.json: http://package-json-validator.com/
- bower.json: 適当なサービスが見当たりませんでした。ここでいろいろなJSONの検査ができるようですが、余計なカンマをエラーと認識しませんでした。
コマンドラインで検査
それぞれのnpmパッケージが提供されています。
- package.json: package-json-validator
- bower.json: bower-json
devDependenciesに追加して、一括して検査できるようにします。
なお、bower-jsonは実行用のJSファイルを別途用意しなければなりません。
今回はbower-json.validate.js
に記述しています。
package.json
{
"devDependencies": {
"bower-json": "^0.8.1",
"package-json-validator": "^0.6.1"
},
"scripts": {
"validate-json": "pjv && node bower-json.validate.js"
}
bower-json.validate.js
var bowerJson = require('bower-json');
bowerJson.read('bower.json', function (err, json) {
if (err) {
console.error('There was an error reading the file');
console.error(err.message);
return;
}
console.log('bower.json is valid');
});
これで、下記のコマンドで一括して検査できます。
$ npm run validate-json
descriptionは必須
description
がないとパッケージの紹介ページがかっこ悪くなります。
たとえばnpmのユーザーのページで。
現在はdescription
を書いているので下記のように表示されています。
jquery.add-input-area - v4.9.1 - jQuery plugin to add or delete form fields.
以前は横着してdescription
を書いていなかったので、README.mdのh1見出し直後の1行、TravisCIのバッジのコードが表示されていました。
jquery.add-input-area - v4.9.0 -
[![Build Status](https://travis-ci.org/sutara79/jquery.simple-scroll-follow.svg?branch=master)](https://travis-ci.org/sutara79/jquery.simple-scroll-follow)
これでは意味不明です。
というわけでpackage.jsonでもbower.jsonでもdescription
は必須です。
{
"description": "jQuery plugin to add or delete form fields."