はじめに
この投稿はGrunt Plugins Advent Calendar 2013の8日目の記事です。
http://qiita.com/advent-calendar/2013/grunt-plugins/
grunt-sync-versionとは
JSONファイルのバージョンの更新し忘れを防ぐだけの簡単なプラグインです。
普段の開発でもversionを記述するファイルはpackage.json
の他に、
bower.json
とか、ChromeExtensionをたまに開発するときはmanifest.json
と色々あり、
たまにversionを更新し忘れてpushとかpublishしてしまうときがあった。ので作りました。
使い方
package.json
があるプロジェクトルートに移動して、
grunt-sync-version
をインストール。
$ cd ./path/to/your/project
$ npm install grunt-sync-version --save-dev
既にあると思うのでgruntfile.js
に以下のように記述する。
module.exports = function (grunt) {
grunt.initConfig({
version: {
options: {
base: 'package.json'
},
files: ['bower.json']
}
});
grunt.loadNpmTasks('grunt-sync-version');
grunt.registerTask('default', 'version');
};
base
に指定されたJSONファイルのversion
を同期元とし、
files
に指定されたJSONファイルを同期先とします。
options
に記述してあるbase
については省略すると、
package.json
のバージョンを取得するようになってるので、基本は省略で良いかもしれません。
module.exports = function (grunt) {
grunt.initConfig({
version: {
files: ['target1.json', 'target2.json']
}
});
grunt.loadNpmTasks('grunt-sync-version');
grunt.registerTask('default', 'version');
};
これで、package.json
のバージョンを元に、target1.json
とtarget2.json
を更新します。
files
には同期対象のjsonファイルを指定しますが、単一ファイルでも、glob指定でもOKです。
まとめ
そもそもJSONファイルが乱立してしまう昨今の開発事情も微妙なところはあるんですけどね…。
JSONファイルのバージョン更新し忘れがちな方は是非どうぞ!