ツーリングBiome v2.5:500 Lint Rule、Plugin Code Fix、Cross-file Linting
Biome v2.5は500件のlintルールというマイルストーンを達成し、73件のnurseryルールをcorrectness、suspicious、style、securityなどの安定グループへ昇格させました。Biomeのモジュールグラフを活用したクロスランゲージのnurseryルールとして、CSS・JSX・HTMLファイル間のCSSクラスの不整合を検出するnoUnusedClassesとnoUndeclaredClassesが新たに導入されました。GritQLプラグインは=>シンボルを使ってsafeまたはunsafeなコード修正を宣言できるようになり、includesオプションで特定のファイルパスへの適用も可能です。そのほか、lint・format・checkコマンドへの--watchモード追加、言語サーバーへのgo-to-definition対応、新しいdelimiterSpacingフォーマッターオプション、biome upgrade CLIコマンド、AIコーディングエージェント向けのconciseレポーターも含まれています。今リリースではlinterとcheckerが約13%高速化されています。
Read Articlearrow_forward Article · フレームワークREAD TIME: 16m
Angular 22:主要機能と変更点
Angular 22では、新しいコンポーネントのデフォルト変更検出戦略がOnPushになり、既存の動作への明示的なオプトインとしてChangeDetectionStrategy.Eagerと自動マイグレーションが追加されました。Signal Formsとresource()・httpResource() APIが実験的段階から安定版へ昇格し、長時間実行アプリのサブスクリプションリークも修正されています。ルーターはデフォルトで親ルートのパラメーターを継承するようになり(paramsInheritanceStrategy: 'always')、route.parent?.parent?.snapshot.paramsの連鎖が不要になりました。@Injectable({ providedIn: 'root' })のシンプルな代替として@Serviceデコレーターが、オプションのプリフェッチトリガーをサポートするinjectAsyncヘルパーも追加されています。実験的なWebMCP機能により、AngularのフォームやサービスをnavigatorのmodelContext経由でブラウザ内AIエージェントが呼び出せる型付きツールとして登録できます。platform-serverのSSRF対策強化やSVG hrefバインディング・TransferCacheのデフォルト値に対するセキュリティ強化も含まれています。
READ_FULL_LOGarrow_forwardArticle · フレームワークREAD TIME: 5m
Svelteの最新情報:2026年6月
6月のSvelteアップデートは、バージョン2.57から2.61にわたるSvelteKitのremote formとquery APIの改善に重点が置かれています。formのsubmitメソッドが有効性をbooleanで返すようになり、requested() APIはlimitが必須となり構造化されたエントリーを返します。remote queryの.run()メソッドは削除され、直接awaitを使う形に変わりました。新しいquery.live() APIにより長期実行のasync-iterableなremote queryサブスクリプションが可能になり、enhanceコールバックはプログラマティックなsubmit() APIを持つremote formインスタンスのコピーを受け取ります。Svelteコアではマークアップ内でのインライン宣言がサポートされ、svelte-language-toolsは言語サーバー・svelte2tsx・svelte-check・svelte-preprocessパッケージ全体でTypeScript 6.0をサポートします。Svelte MCPサーバーのstdioモードはファイル内容を直接読み込めるようになり、ローカルツールワークフローでのラウンドトリップが削減されます。
READ_FULL_LOGarrow_forwardArticle · ライブラリREAD TIME: 15m
TanStack Table V9 Beta:Tree-shakable、Signal-based State、Custom Feature
TanStack Table V9は、V8の2つの中核的な問題であるReact Compilerのルールとの非互換性と真のtree-shakabilityの欠如を解消するための数年にわたる再実装を経て、ベータ版に突入しました。V9はTanStack Storeを状態管理レイヤーとして採用し、TanStack FormのformSubscribe APIを踏襲したtable.Subscribeコンポーネントでセレクターベースのサブスクリプションを実現しています。行選択の変更が関係のないツリー部分の再レンダーを引き起こさなくなりました。機能はtableFeatures()で登録するopt-inプラグイン方式となり、ソートやページネーションなど未使用のコードはバンドルから除外され、TypeScriptは登録された機能に基づいて利用可能なAPIを把握します。新しいcreateTableHookユーティリティはTanStack FormのcreateFormHookと同様に、共通のテーブル設定を一度定義してアプリ全体で再利用できます。行・セル・ヘッダーAPIを共有プロトタイプに移動してメモリ効率も向上し、専用の@tanstack/react-table-devtoolsパッケージでconsole.logなしにテーブル状態を構造的に検査できます。
READ_FULL_LOGarrow_forwardArticle · 詳細解説READ TIME: 8m
JavaScript Reactivity(Part 3):Coarse vs. Fine-grained Reactivity
Jim Schofieldのリアクティビティシリーズ第3弾は、JavaScriptフレームワークを変更が検出されるスコープ(window、application、service、component、template、DOM node)と、そのスコープ内で使われるメカニズムという2軸でマッピングしています。Zone.jsは最も粗い極端を代表し、すべての非同期処理をmonkey-patchして何が変わったか分からないまま全コンポーネントツリーを走査します。React、Preact、Redux、Zustandは仮想DOM調停と参照等価チェックで再レンダーを間引くアプリケーション層に位置します。VueとEmberは中間地点にあり、Vueは再帰プロキシでテンプレートが実際に読んだプロパティのみを追跡し、Emberはトラックされたデータのクロックをインクリメントしてどのテンプレートを再レンダーすべきか判断します。Angularシグナル・Solidシグナル・Svelte 5 runes・Preactシグナルなどの細粒度システムはDOMノードレベルで更新しますが、1つの状態変化が複数の経路を伝播してトポロジカルソートなしにグリッチを引き起こすダイヤモンド問題など、依存関係追跡の課題も伴います。
READ_FULL_LOGarrow_forwardArticle · サービスワーカーREAD TIME: 15m
なぜService Workerを使わないのか?
2018年から全主要ブラウザでサポートされているにもかかわらず、Service Workerは中小規模の会社のコードベースではほとんど使われていません。本記事は、Service Workerをオフラインサポートを超えて再評価するための3つのプロダクション事例を紹介しています。Slackはデプロイタイムスタンプに紐付いたキャッシュバケット、カスタムwebpackマニフェストプラグイン、ジッター付き再登録インターバルを活用してブート時間を約50%短縮し、ウォームブートはコールドブートより25%高速になりました。MuxはService WorkerでHLSマニフェストリクエストをインターセプトして720p以下のレンディションを除去し、サーバーサイドプロキシなしにアダプティブビットレートの問題を解決しました。Viteのデプロイ障害を契機に、Service Workerが開いたタブに通知する前に新しいアセットを先にキャッシュするversion.jsonポーリング戦略が導入され、「Failed to fetch dynamically imported module」のエラーループが解消されました。また、PartytownがWeb Worker内の分析スクリプトによる同期的なDOM読み取りをService Workerがインターセプトする偽の同期XHRコールでブリッジする仕組みも解説されています。
READ_FULL_LOGarrow_forwardArticle · ランタイムREAD TIME: 9m
Node.js 26.3.0(Current)
Node.js 26.3.0は4つのSEMVER-MINOR追加とともに、AppleがIntelアーキテクチャのサポートを段階的に廃止するに伴い、macOSユニバーサルバイナリの提供が将来変更される可能性があるという告知も行っています。Buffer.poolSizeのデフォルト値が8 KiBから64 KiBに増加し、高スループットワークロードでの割り当てパフォーマンスが向上します。httpモジュールには受信ヘッダー値の検証を制御するhttpValidationオプションが追加されました。inspectorモジュールはJavaScriptランタイムに精密なカバレッジ開始情報を公開するようになりました。permissionモデルにはアプリケーションが実行時に特定の権限を自発的に放棄できるpermission.drop APIが追加されています。また、James M Snellが貢献したQUICの大規模な改善として、ホスト名検証、ストリームのアイドルタイムアウト、ブロックリスト対応、セッション作成とバージョンネゴシエーションのレート制限、recvmmsgバッチ処理、ECNマーキングサポートが含まれています。
READ_FULL_LOGarrow_forwardsummarizeDigest_Summary
今週のJavaScriptカテゴリは主要なフレームワークとツールのリリースが中心でした。Biome v2.5は500件のlintルールというマイルストーンを達成し、CSS・JSX・HTMLファイル間のCSSクラス不一致を検出するクロスファイルのnurseryルール(noUnusedClassesとnoUndeclaredClasses)を導入しました。ファイル単位のリンターでは不可能だった機能です。--watchモード、GritQLプラグインのコード修正、13%の速度向上も含まれます。Angular 22はOnPushをデフォルトの変更検出戦略とし、Signal FormsとresourceとhttpResource APIを安定版に昇格、navigator.modelContextを通じてAngularサービスをブラウザ内AIエージェントが呼び出せる型付きツールとして公開する実験的WebMCP機能を追加しました。
TanStack Table V9は、React Compilerとの非互換性とtree-shakabilityの欠如というV8の2つの問題を解決するための数年にわたる再実装を経てベータ版になりました。V9はtable.SubscribeコンポーネントによるセレクターベースのサブスクリプションにTanStack Storeを採用し、tableFeatures()で登録するopt-inプラグイン方式で未使用コードを自動的にバンドルから除外します。Node.js 26.3.0はBuffer.poolSizeのデフォルトを8 KiBから64 KiBに引き上げ、新しいpermission.drop API、レート制限・recvmmsgバッチ処理・ECNマーキングを含む広範なQUIC改善など4つのSEMVER-MINOR追加を含みました。リアクティビティの詳細解説記事では、Zone.jsの粗いmonkey-patchingからAngular・Solid・Svelte 5の細粒度DOMノードレベルのsignalまでフレームワークを体系的に分類しました。
SvelteKitバージョン2.57-2.61はremote formとquery APIを改善しました。新しいquery.live()はasync-iterableな長期サブスクリプションをサポートし、.run()メソッドは削除されて直接awaitを使う形になり、svelte-language-toolsはTypeScript 6.0をサポートしました。Service Workerの事例解説記事では、Slackがキャッシュバケットでブート時間を50%短縮し、MuxがHLSマニフェストをService Workerでインターセプトしてアダプティブビットレートの問題を解決した事例を通じ、オフラインサポートを超えたService Workerの活用法を提示しました。
Key Takeaways- Biome v2.5のnoUnusedClassesとnoUndeclaredClassesはモジュールグラフを活用した初のクロスファイルlintルールで、CSS/JSX/HTMLのクラス不一致を検出します。今すぐアップグレードして有効化してください。
- TanStack Table V9のtableFeatures() opt-inプラグイン方式は未使用機能(ソート・ページネーション)を自動的にtree-shakeし、V8の採用を妨げていたReact Compilerとの非互換性を解消します。
- Angular 22の実験的WebMCPはnavigator.modelContextを通じてAngularフォームとサービスをブラウザ内AIエージェントが呼び出せる型付きツールとして公開し、エージェントネイティブWebアプリの新しいフロンティアを切り開きます。