なぜ
semverというバージョニングをいい感じにできるnpmパッケージがある
携わってるプロジェクトでバージョン管理をするのにsemverを使おうとしたのだが、npmパッケージをプロジェクト内に入れたくなかったためsemverだけをAPIにした
使い方
curl "https://sember-api-nozo-moto.vercel.app/api/?current_version=v1.2.0&increment=major"
> 2.0.0
↑のように current_version
というparamと increment
というparmsを設定すればいい感じに次のバージョンが帰ってくる
サーバー側ではexpress使ってnodeサーバーを立てて、semberをラップしているだけ、詳しくはsemberの方のドキュメントを見ると良いかも
今回デプロイ先はvercelを選んだ
Github連携と、ビルドの設定をするだけでAPIが作れる、そのまま継続的デリバリもできる
所感
手元にインストールしたくないコマンド類をAPI化してしまうのは場合によっては良さそう
ただ数が増えたり利用者増えると維持メンテするのが大変なので、難しいところ