lacolaco's marginalia

Weekly Commits on Angular 2025-02-26

一週間の間にAngular関連レポジトリへ取り込まれたコミットについて見ていきます。フレームワーク・ツールの利用者にあまり関係のないものは省略しています。

angular/angular

Commits: https://github.com/angular/angular/commits/main/?since=2025-02-20&until=2025-02-26

Service Worker連携のドキュメント拡充

Service Workerを使うアプリケーションのローカル開発についてのガイドが追記されました。

v19.1.7, v19.2.0-rc.0リリース

v19.1系のパッチバージョンがリリースされました。また、v19.2.0のRCバージョンが開始しています。

チュートリアルの新ビルダー移行

Angularのチュートリアルガイド用のサンプルプロジェクトで使うビルダーを @angular/builde:application に移行しています。webpack依存の残る @angular-devkit/build-angular を終了させていく動きです。

mainブランチのターゲットをv20に移行

mainブランチのターゲットがv19系からv20系に移行されました。今後の機能追加はv19.3ではなく5月ごろに予定されるv20.0でリリースされることになります。

Dateフォーマットの誤ったパターンを検知

date パイプや formatDate 関数などで日付を文字列フォーマットする際、週番号ベースでの年表記(YYYYなど)が週番号表記(wなど)と併用されていない場合、標準的な年表記(yyyyなど)との取り違えであると判定されるようになります。週番号を使わないなら週番号ベースの年表記を使うこともないだろうということです。破壊的変更なので、これはv20.0でリリースされます。

カスタムビルドパイプラインについてのガイドを追加

Angular CLIに組み込みのビルドパイプラインではなく、RspackやViteといったサードパーティのツールを使ってビルドパイプラインを構築する方法についてのガイドが追加されました。すでにAngular.devで読めます。

テンプレート式の構文拡張

テンプレート内の式でJavaScriptの void 演算子と べき乗演算子 ** がサポートされました。void演算子はイベントハンドラ関数の戻り値によって意図せずイベントバブリングを中断してしまう可能性を排除できる用途があります。

RouterのResolverの機能拡張

RouterのResolverが階層的に複数ある場合、上位の階層で解決されたデータが下位の階層のResolverで読み取りできるようになりました。Routeの階層に従ってルートから末端に向かって直列的に実行されるのはもともとの挙動なので、これによりRouterの挙動が変わることはありません。

angular/angular-cli

Commits: https://github.com/angular/angular-cli/commits/main/?since=2025-02-20&until=2025-02-26

v19.1.8, v19.2.0-rc.0のリリース

v19.1系パッチバージョンのリリースと、v19.2.0のRCバージョン開始です。

mainブランチのターゲットをv20に移行

こちらのレポジトリでもv19.3系には進まず、次のv20.0に向けた開発に移行しています。

Node.js v18系のサポート終了

v20.0でリリースされる予定の破壊的変更です。Node.jsのサポートバージョンがv20系以上に引き上げられます。

angular/components

Commits: https://github.com/angular/components/commits/main/?since=2025-02-20&until=2025-02-26

v19.1.5, v19.2.0-rc.0のリリース

Angular CDKやAngular Materialもパッチバージョンのリリースとv19.2のRCバージョンが開始しています。

mainブランチのターゲットをv20に移行

angular/components のパッケージ群のmainブランチもv19.3には進まず、v20.0に向かうようです。

イベントオブジェクトの型付け

これまで any 型のフィールドを持っていた一部のイベントオブジェクトに厳密な型付けができるようジェネリクスを追加し、破壊的変更にならないようデフォルト型としてanyを指定しています。

MatButtonとMatAnchorの統合

これまでは2つ別々のディレクティブだったMatButtonMatAnchorがひとつのディレクティブとして統合されました。ディレクティブの使用方法については基本的に互換性が保たれているので特に移行作業は必要ありません。