はじめに
こんにちは。もっぴーです。
先日Nxv15での環境構築を備忘録として記載し、今回はv16の環境構築を記載しようと思ったのですが
nx migrateコマンドでアップデートできることがわかりましたので
環境構築方法ではなく、v15→v16の変更点をまとめようと思います。
英語には弱弱なので、翻訳や解釈が間違っている部分あるかと思いますが、お許しを![]()
間違っている点ございましたら、ご指摘いただけると幸いです。
既存のv15構成からv16構成への移行
Nxv15からv16へのアップデートは以下コマンドで実行できます。
nx migrate latest
これにより依存関係が最新バージョンに更新されるだけでなく
ルートのpackage.json内の依存関係も更新されるので安心!!
楽に移行ができますね。
v15→v16の主な変更点
以下の記事から情報を抜き出しています。
@nrwl/* から @nx/* への再スコープ
前回のv15環境構築の際に使用していたNxのプラグインで@nrwl/reactや@nrwl/nestを使用していたかと思います。
それらのパッケージ名が@nrwl/*から@nx/*に変更になりました。
要は、@nx/reactや@nx/nestになったということですね。
@nrwl/*系のパッケージはプロジェクトが破損しないように
2023年10月にリリース予定のv17までは公開されているようです。(現在非推奨)
Denoに対応
Nxを使用して新しい単一プロジェクトのDenoワークスペースを簡単にセットアップできるようになりました。
以下コマンドの実行でワークスペースが作成でき、最速のDeno開発環境の構築方法だそうです。
npx create-nx-workspace --preset=@nx/deno
また、最近はエッジファンクションに関することが特に注目されており(もちろんサーバーレス全般)、
Node.jsを使用して開発する際には、エッジやいくつかのサーバーレス環境にデプロイしたいというニーズが一般的であると言われています。
その為、@nx/netlify(ラボ版)というパッケージが開発され
Netlifyファンクションの開発とデプロイのための新しいプロジェクトを
簡単にセットアップできる他、既存のプロジェクトにサーバーレスデプロイのサポートが追加されたとのことです...
@nx/netlify:setup-serverless
更に、@nx/aws-lambda パッケージも公開され、LambdaファンクションをAWSにデプロイすることにも対応したとのこと。
Deno DeployおよびNetlifyの両方へのサーバーレスデプロイに関しては
@nx/deno:setup-serverless --platform <deno-deploy or netlify>
で実現できるようです...
Cypressの機能テスト
多くの機能を収集する傾向のあるアプリケーションのためにE2Eテストをセットアップする際
適切に分離するのには向いていない大規模なアトミックスイートが生成されることがあります。
Nxv16では、これらのテストを実際のテスト対象の機能に近い場所に分散しやすくして
nx affectedコマンドを使用して、実際に必要なテストをより簡単に特定できるようになったそうです。
すごくありがたいことですが、個人的にはPlaywrightも欲しいです![]()
パッケージマネージャーがpnpmに
内部的に、Nxリポジトリはパッケージマネージャとしてpnpmを使用するように切り替わり
以下の利点が確認できたようです。
・パッケージの公開が2倍速くなった
・CIの時間が短縮された
・インストール時間が短縮された
以上が主な変更点です。
おわりに
最近Nxを触るようになってからゾッコンです。
私自身まだまだ使いこなせておらず、理解度も非常に浅いので、定期的に情報のキャッチアップと
技術検証等も進めていきたいです。
v17も楽しみです。