create-なんとか系は初期生成状態をアーカイブしておくといいかも
Next.js とか Remix のような「create-なんとか」をして新規プロジェクトを作成するフレームワークの過去バージョンについての話題。
古いバージョンのフレームワークを使っていて、その古いバージョンの初期状態に対して何かしらのアップグレードを試してみたいとか、検証用にプレーンな状態が欲しいとかそういうニーズに遭遇したことがあった。
昔のバージョンを使っていた頃のプロジェクト作成時を再現するのに手間がかかることがある。 例えば、このようなディスカッションも GitHub 上には存在する。
そのバージョンが現役だった当時の状態を再現することが難しい原因の一つに、生成スクリプトのテンプレート自体が変わってしまうために起きるということがある。
古いバージョンを create 時に指定したら、古いバージョンのフレームワークは入るんだけど、コードのほうは最新な構成だったりするみたいなときは大抵これである。
じゃあどうするのか。
僕はちゃんと使っていくぞっていうフレームワークについては、当時のプレーンなプロジェクト生成時の状態を GitHub にアーカイブしておくということをしている。例えば archive-
なんてプレフィクスをつけて GitHub に置いておく。
特に Breaking Changes の前のバージョンとかあると非常に重宝すると思う。
そうすると package-lock.json
も当時のままで、古いバージョンとの動作の違いなんかを確かめるときに役立つ。
でも「当時そんなのアーカイブとかしていなかった」なんてことも多々ある。
自分の場合は、フレームワークの新規プロジェクトでコードを自動生成したら、まずは「first commit」として生成したばかりのコードをコミットしていて、そういう状態であれば当時のコミットハッシュを使って、生成時の状態を引っ張り出すことが出来る。