期間: 2026-09-17 〜 2026-09-24 · PR 14 件(新機能 4 / 変更・修正 9 / その他 1)

新機能

ローディング画面を WebGPU パーティクルの山脈アニメーションに変更(#36178)

何ができるようになったか

Nuxt のローディング画面が、WebGPU でパーティクルによる山脈を描画する新しいアニメーションに置き換わった。

  • 仕組み: シェーダー1つ・描画コール1つで、リッジ状の高さマップを遠近法でサンプリングし、スカイラインのオクルージョンも計算して山脈を表現する
  • UI: ロゴ周辺は空けてあり、ホバーするとパーティクルに衝撃波が走る。進捗バーは window.__NUXT_LOADING_STATE__ か nuxt:loading-state イベントを読み取り、無ければ不確定表示のまま
  • フォールバック: WebGPU が使えない環境では canvas を出さずロゴのみの画面になる。prefers-reduced-motion ではアニメーションを止める

⏳ 未リリース · トピック: UIテンプレート・ローディング画面

開発時の SSR スタックトレースをソースへ正しくマッピング(#36258)

何ができるようになったか

開発中にサーバー側でエラーが起きたとき、スタックトレースが自分のソースコードの位置・コードフレームまで正しくマッピングされるようになった。

  • 仕組み: Nuxt のエラーハンドラー内で、エラーを読み取る前にマッピング処理を行うよう変更。charset=utf-8 の指定が無いインラインソースマップも読めるようにし、マッピング後の列番号は V8 のスタックと同じ 1-based に統一した
  • Vite の変換エラー: vite-node のソケット経由で転送される Vite の変換失敗が loc・plugin・pluginCode を保持するようになり、エラーハンドラーが message を再パースせずに正確な位置を表示できる
  • 公開先: マッピング済みのソースマップは nitroApp.ssrSourceMaps(getSourceMap・getCode など)として Nitro 側に公開される

⏳ 未リリース · トピック: 開発時エラー表示

開発時のエラーレポートをリモート peer 向けにスコープ可能に(#36389)

何ができるようになったか

danielroe/my-bad 側の対応する変更を取り込み、Docker 上の dev サーバーなどネットワーク越しの接続でも、意図した範囲でエラーレポートのデータをストリーミングできるようになった。

⏳ 未リリース · トピック: 開発時エラー表示

統一されたクライアント側プリフェッチスケジューラーを追加(#36391)

何ができるようになったか

ルートチャンク・レイアウト/ミドルウェアチャンク・_payload.json・island の JSON・リソースヒントなど、これまでバラバラな方式で行っていたプリフェッチ/プリロードを、1つの内部スケジューラーに統一した。

  • タスクの単位: 各プリフェッチ処理は「キー(重複排除用)」「優先度」「スコープ(ナビゲーション時のクリーンアップ用)」「グループ(遷移先のパス・クエリ単位)」を持つタスクとして扱われる
  • ナビゲーション時: 進行中の navigation スコープの作業は中断してキューを破棄するが、遷移先のペイロードだけは残す
  • 低速回線・非表示タブ: saveData や 2G 回線の検出、タブが非表示、ナビゲーション中といった条件では作業をバックログに保持し、条件が解消すると再開する(以前は単に破棄されていた)
  • Prioritized Task Scheduling API を利用する

⏳ 未リリース · トピック: プリフェッチ・ナビゲーション

変更・修正

dedupe 対象パッケージが importer ベースの外部化対象から除外されるよう修正(#36363)

Before

nitro のトレーシングに関する問題(nitrojs/nitro#4468、nitrojs/nitro#4456)により、同じベア指定子を指す絶対パスが複数あると、出力に必要なファイルが欠落することがあった(例: 新しいバージョンの vue-router が持つ vue-router.node.mjs を、古いバージョンを先に見つけたために nitro がコピーしない)。

After

vue・vue-router のように dedupe(重複排除)されるべきパッケージについては、絶対パスによる外部化(externalisation)を無視するようにした。

⏳ 未リリース · トピック: モジュール解決・ビルド

nitro とその暗黙の依存関係をホイスティングに依存せず解決するよう変更(#36366)

Before

nitro とその暗黙の依存関係の解決が、パッケージマネージャーのホイスティングに依存する形になっていた(#35375)。

After

ホイスティングに依存せずに nitro とその暗黙の依存関係を解決するよう変更した。以前の試み(#35380)を、現在の nitro 解決の形に合わせて作り直したもの。

⏳ 未リリース · トピック: モジュール解決・ビルド

consola・cookie-es・hookable の型を nuxt core の公開 API として切り出し(#36368)

Before

consola・cookie-es・hookable の型を、Nuxt 自身が追跡できる形の公開 API として持っていなかった。

After

これらの型を nuxt core の API として切り出し、nuxt/app の公開 API のうちより多くの部分を Nuxt 自身が持つようにした。

⏳ 未リリース · トピック: アプリコンテキスト・ランタイム

クライアント環境から unctx を除去し、単一 app.config での defu 呼び出しを省略(#36371)

Before

ブラウザには存在しない AsyncLocalStorage のために、クライアント環境でも unctx(約 1KB)を読み込んでいた。また app.config が1つしか無い場合でも、defu による不要なマージ処理を行っていた。

After

クライアント環境では unctx を使わないようにし、app.config が1つだけの場合は defu の呼び出しを省略するようにした。

⏳ 未リリース · トピック: アプリコンテキスト・ランタイム

ssrFixStacktrace を await するよう修正(#36372)

Before

ssrFixStacktrace の失敗が catch/抑制されておらず、Cannot assign to read only property 'stack' of object 'Page not found: /favicon.ico' のようなエラーで落ちることがあった。

After

ssrFixStacktrace の呼び出しを await するようにし、失敗を捕捉できるようにした。

⏳ 未リリース · トピック: 開発時エラー表示

vite-server で public ファイルのインデックスを1度だけ行うよう変更(#36373)

Before

public/ 配下のファイルを、リクエストのたびにファイルシステムへ問い合わせて確認していた。

After

public ファイルの一覧を一度だけインデックス化するようにし、vite-server のパフォーマンスが 3〜5% 向上した。

⏳ 未リリース · トピック: モジュール解決・ビルド

vite の dev 環境で nuxt 自体が外部化されてしまう不具合を修正(#36370)

Before

Nuxt 本体のワークスペースリンクが node_modules の外で解決される環境(Nuxt リポジトリの playground など)以外では、nuxt パッケージが Vite の dev 環境で外部化されてしまう問題があった(#36369)。

After

noExternal の対象に nuxt と nightly 版を追加し、外部化されないようにした。

⏳ 未リリース · トピック: モジュール解決・ビルド

開発者が設定した appSecret を上書きしないよう修正(#36397)

Before

#35874 の変更後、開発者が既に NUXT_APP_SECRET を設定している場合への後方互換が十分でなかった。

After

開発者が設定した appSecret を上書きしないようにし、使用箇所(point-of-use)でのみ警告を出すようにした。

⏳ 未リリース · トピック: アプリシークレット

nitro・vite-server 間でエラー処理を共通化(#36398)

Before

nitro と vite-server のビルダーが、それぞれ独立に my-bad のエラーレポートを組み立て、スタックのマッピングなどを重複して行っていた。

After

ビルダー間でエラー処理を共通化した。ビルダーごとに提供できる createDevErrorReporter() を新設し、describeError・isExpectedError・appendVary・isJsonRequest を1つに統一。error-500 テンプレートは nuxt パッケージ側に移し、nitro 側のエラーユーティリティファイルは削除した。

⏳ 未リリース · トピック: 開発時エラー表示

その他

  • chore: update ui templates in precommit hook(#36383)⏳ 未リリース