開発に長く関わっていると、package.jsonの中身は随分かわっていきますよね。メインで使ってるライブラリだけではなく、 typescript
などのdevDepenciesも気づいたらメジャーバージョンがあがってたりします。
ただ、じゃあすべてを最新版ににすればいいかというと、依存するメインライブラリが dependencies
にいれているパッケージのバージョンを見る必要があります。けれど、それをすべて確認するのは現実的ではありません。
そこで私は、定期的に生成するCLIテンプレートをみるようにしています。タグにいれている、 ionic
、 capacitor
、 angular
、 NestJS
は(私が採用してるというだけの選択ではあるのですが)、CLIでスターターテンプレートを使ったプロジェクト作成ができます。言い換えると、CLI内、もしくはレポジトリとしてスターターテンプレートを持っているわけです。なので、これをみることで、メンテナが推奨している構成を確認することができます。
いろいろ言ってもわかりにくいと思うので、例えばIonic Angularプロジェクトのスターターテンプレートは以下にあります。
このディレクトリ以下に、 base
、 official
があります。Ionic CLIは、プロジェクト作成するとまず base
をコピーしてきて、そこにCLIで選択したテンプレート(tabs
や blank
など) を official
から引っ張ってきて上書きするようになっています。なので、例えば依存関係をみたい時は base
の package.json
ですね。
また、 angular.json
や tsconfig.json
も時代とともに推奨の構成が変わっていますので、どう変化しているかを追うと面白いです。
Angularのngコマンドで生成されるものは以下にすべてまとめられています。
これをみると、Ionic AngularとAngularの推奨構成の違いをみたりすることもできて面白いです。
Capacitorプラグインのテンプレートであったり:
NestJSのTypeScriptプロジェクトのテンプレートであったり:
どうしてもプロジェクトを長期でまわしていると、イマの推奨構成から外れていってしまうことがあるので、定期的にみて、どのような構成をイマの推奨構成としているかを確認することはプロジェクトの質の向上につながると思います。
ぜひご活用ください。