
Rolldown 1.0 RCを発表
output.codeSplitting APIを提供します。Vite 8 betaはすでにRolldownをデフォルトバンドラーとして採用し、既存のesbuild + Rollupの二重パイプラインを統合しています。今週のJavaScriptツーリングは、Rustによる世代交代が主軸となっています。VoidZeroのRolldown 1.0 RCが中心的な話題です。beta以降3,400件超のコミット、Rollup比10〜30倍の速度、Oxcによる組み込みTypeScript/JSX変換、webpackスタイルのチャンク制御のためのout… 開発ですぐ活用できるよう整理しました。

output.codeSplitting APIを提供します。Vite 8 betaはすでにRolldownをデフォルトバンドラーとして採用し、既存のesbuild + Rollupの二重パイプラインを統合しています。
@types/espreeおよび@types/eslint-scopeパッケージを置き換える点です。新しい型定義には既存の型との差分(バグ修正)が含まれるため、利用プロジェクトは確認が必要です。no-shadowルールの関数・クラス式名の扱いの修正なども含まれており、eslint@nextでインストールできます。
appLayoutプロパティによる宣言的なレイアウト管理が可能になり、ISR/SWRルートへのpayload抽出拡張によりCDNで_payload.jsonをキャッシュしてクライアントAPIコールを削減できます。setPageLayoutはレイアウトへのprops直接渡しをサポートする第2引数を追加しました。サーバーディレクトリ内の保護されたimportのための#serveraliasが追加され、route rulesのコンパイルにrou3を採用してradix3クライアントバンドル依存を排除しました。主要機能のほとんどはNuxt v3.21.0にもバックポートされています。
form()関数に渡すとFieldTree/FieldStateの階層構造が生成され、コピーを持たず元のモデルを直接変更します。バインディングには[field]ディレクティブ(v21.0.0-next.8で[control]から改名)を使用し、組み込みバリデーター、カスタムバリデーター、schemaの再利用、whenオプションによる条件付きバリデーションをサポートします。カスタムコントロールは4メソッドのControlValueAccessor実装が不要になり、modelSignal型のvalueプロパティ1つで新しいFormValueControl<>インターフェースを満たせます。
tsc不要のtype-awareリントルール、GritQLプラグイン、Vue/Svelte/Astroの実験的サポートを含むBiome v2をリリースしました。2026年の主要計画にはSCSS対応、JSXとCSS間のcross-languageリントルール、Prettier準拠のHTMLフォーマット、JavaScriptへのCSS/GraphQL組み込み言語DX向上、LSP機能強化、opt-inモノレポworkspace設定、YAMLの安定化などが含まれます。モノレポのメモリリークや複雑な設定のデバッグ問題といった過去の課題についても言及しています。
Vc<…>)という細粒度のキャッシュ単位を使い、どの関数がどのセルを読んだかを自動追跡します。ソースファイルが変更されると、実際にそのセルを読んだ関数のみがdirtyとマークされ、active query(開いているdevページまたはプロダクションビルドリクエスト)が発生するまで再計算が遅延されます。依存グラフの上に「aggregation graph」を維持し、数百万の細粒度ノードを走査せずにサブグラフ全体のクエリを効率的に処理します。Next.js 16.1からnext devのファイルシステムキャッシュが安定してデフォルト有効になっています。
useStateで作成したrefオブジェクトを子コンポーネントのpropとして渡すと、コンパイラはオブジェクトの参照同一性で子をメモ化し、内部値が変化しても更新されなくなります。このバグはクラスインスタンスを介した間接的な変更ではESLintルールで検出されません。解決策はBabelプラグインでpanicThreshold: 'all_errors'を設定し、変更の代わりにuseMemoで新しいオブジェクトを生成するパターンに移行することです。
output.codeSplitting APIを提供します。Vite 8 betaはすでにRolldownをデフォルトバンドラーとして採用し、既存のesbuild + Rollupの二重パイプラインを統合しています。@types/espreeおよび@types/eslint-scopeパッケージを置き換える点です。新しい型定義には既存の型との差分(バグ修正)が含まれるため、利用プロジェクトは確認が必要です。no-shadowルールの関数・クラス式名の扱いの修正なども含まれており、eslint@nextでインストールできます。appLayoutプロパティによる宣言的なレイアウト管理が可能になり、ISR/SWRルートへのpayload抽出拡張によりCDNで_payload.jsonをキャッシュしてクライアントAPIコールを削減できます。setPageLayoutはレイアウトへのprops直接渡しをサポートする第2引数を追加しました。サーバーディレクトリ内の保護されたimportのための#serveraliasが追加され、route rulesのコンパイルにrou3を採用してradix3クライアントバンドル依存を排除しました。主要機能のほとんどはNuxt v3.21.0にもバックポートされています。form()関数に渡すとFieldTree/FieldStateの階層構造が生成され、コピーを持たず元のモデルを直接変更します。バインディングには[field]ディレクティブ(v21.0.0-next.8で[control]から改名)を使用し、組み込みバリデーター、カスタムバリデーター、schemaの再利用、whenオプションによる条件付きバリデーションをサポートします。カスタムコントロールは4メソッドのControlValueAccessor実装が不要になり、modelSignal型のvalueプロパティ1つで新しいFormValueControl<>インターフェースを満たせます。tsc不要のtype-awareリントルール、GritQLプラグイン、Vue/Svelte/Astroの実験的サポートを含むBiome v2をリリースしました。2026年の主要計画にはSCSS対応、JSXとCSS間のcross-languageリントルール、Prettier準拠のHTMLフォーマット、JavaScriptへのCSS/GraphQL組み込み言語DX向上、LSP機能強化、opt-inモノレポworkspace設定、YAMLの安定化などが含まれます。モノレポのメモリリークや複雑な設定のデバッグ問題といった過去の課題についても言及しています。Vc<…>)という細粒度のキャッシュ単位を使い、どの関数がどのセルを読んだかを自動追跡します。ソースファイルが変更されると、実際にそのセルを読んだ関数のみがdirtyとマークされ、active query(開いているdevページまたはプロダクションビルドリクエスト)が発生するまで再計算が遅延されます。依存グラフの上に「aggregation graph」を維持し、数百万の細粒度ノードを走査せずにサブグラフ全体のクエリを効率的に処理します。Next.js 16.1からnext devのファイルシステムキャッシュが安定してデフォルト有効になっています。useStateで作成したrefオブジェクトを子コンポーネントのpropとして渡すと、コンパイラはオブジェクトの参照同一性で子をメモ化し、内部値が変化しても更新されなくなります。このバグはクラスインスタンスを介した間接的な変更ではESLintルールで検出されません。解決策はBabelプラグインでpanicThreshold: 'all_errors'を設定し、変更の代わりにuseMemoで新しいオブジェクトを生成するパターンに移行することです。今週のJavaScriptツーリングは、Rustによる世代交代が主軸となっています。VoidZeroのRolldown 1.0 RCが中心的な話題です。beta以降3,400件超のコミット、Rollup比10〜30倍の速度、Oxcによる組み込みTypeScript/JSX変換、webpackスタイルのチャンク制御のためのoutput.codeSplitting APIを備えながらも、Rollupプラグイン互換性を維持しています。特にVite 8 betaがすでにRolldownをデフォルトバンドラーとして採用し、従来のesbuild + Rollupの二重パイプラインを単一ツールへ統合したことが注目されます。Next.jsチームによるTurbopackの増分計算アーキテクチャの詳解 — SalsaとSolidJS signalに着想を得たdemand-driven「value cell」(Vc<…>)と、Next.js 16.1で安定化したファイルシステムキャッシュ — もバンドラルネサンスを締めくくっています。
リンティング分野も活発です。ESLint v10.0.0-rc.1はEspreeとESLint Scopeに組み込みTypeScript型定義を追加し、DefinitelyTypedパッケージを置き換えます。旧来のコミュニティ型に依存するプロジェクトは差分を確認する必要があります。Biomeは月間1,500万ダウンロードを達成したBiome v2を基盤に、野心的な2026年ロードマップを公開しました。SCSSサポート、JSXとCSSにまたがるcross-languageリントルール、HTMLフォーマット改善、メモリリーク問題を解決するopt-inモノレポworkspace設定が柱です。
フレームワーク面では、Nuxt 4.3がroute rulesのappLayoutによる宣言的レイアウト管理、ISR/SWRルートまで拡張されたCDNキャッシュ可能なpayload抽出、サーバー専用importのための#serveraliasを提供します。Angular 21の実験的Signal FormsはSignalモデルをform()関数に渡してFieldTree階層を生成し、従来4メソッドのControlValueAccessorを単一のmodelSignal型valueプロパティに置き換えます。一方、Corbin CrutchleyによるReact Compilerのサイレントメモ化の落とし穴 — クラスベースのref変更がコンパイラの依存追跡を回避する問題 — はコンパイラを導入するライブラリ作者必読の内容です。