Gruntのプラグインを作って公開してみた

現在担当している業務で、ちょっとしたタスクが出てきた。
あるJSONファイルのデータを元に、別のJSONファイルを生成するというものだ。

イメージはこんな感じ。

元のJSONファイルの内容(src.json)

1
2
3
4
5
[
{
"foo": "bar"
}
]

生成したJSONファイルの内容(dest.json)

1
2
3
4
5
6
[
{
"foo": "bar",
"baz": "foobar"
}
]

元のJSONファイルを編集するたびに生成先のJSONを編集するとかやってられないので、gruntプラグインで目的に合致しているものがないか探したがなかった。(このプラグインで出来るよというのあったら教えて下さい!)

そこでnode.jsのfsモジュールを使ってJSONファイル(dest.json)を生成するコードを書いて、grunt-shellで逐次実行するようにした。

しばらくそれで問題なかったが、よくよく考えるとshellで逐次実行しなくても、gruntプラグインとして直接実行できるのでは?と気付いた。
調べてみると、使っていたnode.jsのコードをちょっと変えるだけでgruntプラグインとして公開出来そうだったので、試してみた。

Qiitaのこの記事を参考にした。
grunt-pluginの作り方と解剖

作ったものがこちら
grunt-json-extend

自分以外に使う人はいなかろう、と思いつつ公開したが、日に数回程はダウンロードされている模様。
ダウンロード結果の解析は見れないっぽいのでどういう目的で使われているのか全然わからないが、誰かの役に立っているのなら嬉しいな。
使ったことある人、もしこのブログを見ていたらどんな使い方をしているか教えて下さい。

ちなみにこのプラグインを公開したちょっと後にgulpを初めて使ってみてgulpfile.jsの短さに感動してしまったので、
今後の新規案件ではgulpでタスク処理するようになると思います。