一年半くらい前に作ったやつの背景を書きたくなったので書く。
JSON で表現できる複雑度をもった任意のオブジェクトについて、それのキーがソートされているがバリューはそのままのオブジェクトがほしい。もしバリューがオブジェクトだったり配列だったりするのであれば、その内容についても再帰的に同じように処理してほしい。
例えば手動での編集が重なり混沌とした JSON/YAML であったり、処理系によっては出力される JSON のキーが順不同(毎回順番が違う)になる場合もあるらしい。キーの順序を一定にできればふたつの JSON の diff も読みやすくなるし、このような需要は常に一定程度あると思われる。
sort-keys というそのままの名前の NPM パッケージがすぐに見つかったのだが、個人的にもう少しやりたいことがあったので新しいツールを作った。