Communitygithub.com

junksidetm/darkside-toolkit

Next.js 16+ と Turbopack のガイダンス — インクリメンタル Rust バンドル、ファイルシステムキャッシュ、高速な開発開始と HMR、Turbopack と webpack のトレードオフ、middleware.ts から proxy.ts へのファイル名変更に対応。Next.js 16+ アプリの開発やデバッグ、開発開始やホットリロードの遅延診断、バンドラーの選択、middleware/proxy ファイル名の確認時に使用します。

darkside-toolkit とは?

このスキルは、Next.js 16+ および Turbopack の開発とデバッグに特化したガイダンスを提供します。Next.js 16 以降、デフォルトの開発バンドラーは Rust 製のインクリメンタルバンドラーである Turbopack になり、開発開始の高速化とホットモジュールリプレースメント (HMR) の改善を実現します。スキルは、Turbopack とレガシーな webpack の適切な使い分け、ファイルシステムキャッシュの利点、Next.js 16.1 以降で利用可能な実験的な Bundle Analyzer の活用方法を解説します。また、Next.js 16 で導入された middleware ファイル名の変更(middleware.ts から proxy.ts)に関する重要な注意点も含まれており、古い命名規則に基づいた誤った修正を防ぎます。このスキルは、開発速度の最適化、バンドルサイズの診断、および Next.js 16 プロジェクトの正しい設定を必要とするすべての開発者にとって有益です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/junksidetm/darkside-toolkit/tree/HEAD/skills/nextjs-turbopack

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Next.js と Turbopack

Next.js 16+ はローカル開発においてデフォルトで Turbopack を使用します。これは Rust で書かれたインクリメンタルバンドラーで、開発開始とホットアップデートを大幅に高速化します。

使用するタイミング

  • Turbopack(デフォルトの dev):日々の開発に使用します。特に大規模アプリでコールドスタートと HMR が高速化されます。
  • Webpack(レガシー dev):Turbopack のバグに遭遇した場合、または開発時に webpack のみのプラグインに依存している場合にのみ使用します。--webpack(または Next.js のバージョンによっては --no-turbopack)で無効化します。リリースに応じたドキュメントを確認してください。
  • プロダクション:next build によるプロダクションビルドの動作は、Next.js のバージョンによって Turbopack または webpack を使用する場合があります。お使いのバージョンの公式 Next.js ドキュメントを確認してください。

使用するタイミング:Next.js 16+ アプリの開発またはデバッグ時、開発開始または HMR の遅延診断時、プロダクションバンドルの最適化時。

仕組み

  • Turbopack:Next.js 開発用のインクリメンタルバンドラーです。ファイルシステムキャッシュを使用するため、再起動がはるかに高速です(大規模プロジェクトでは 5~14 倍の速度向上)。
  • 開発時のデフォルト:Next.js 16 以降、next dev は無効化しない限り Turbopack で実行されます。
  • ファイルシステムキャッシュ:再起動時に以前の作業を再利用します。キャッシュは通常 .next 以下にあります。基本的な使用には追加設定は不要です。
  • Bundle Analyzer(Next.js 16.1 以上):実験的な Bundle Analyzer で出力を検査し、大きな依存関係を特定できます。設定または実験的フラグを介して有効にします(お使いのバージョンの Next.js ドキュメントを参照)。

例

コマンド

next dev
next build
next start

使用方法

ローカル開発では next dev を実行し、Turbopack を使用します。Bundle Analyzer(Next.js ドキュメントを参照)を使用してコード分割を最適化し、大きな依存関係を削減します。可能な場合は App Router とサーバーコンポーネントを優先します。

Middleware ファイルの命名

Next.js 16 では、middleware ファイル名として proxy.ts が導入され、以前の middleware.ts 規則に取って代わりました。

  • Next.js 16+:プロジェクトルートに proxy.ts を使用
  • Next.js 16 より前:プロジェクトルートに middleware.ts を使用

ファイル名の変更は、使用中のバンドラー(Turbopack または webpack)ではなく、Next.js のバージョンに関連付けられています。確認しているバージョンの公式ドキュメントを必ず確認してください。

Next.js 16 プロジェクトにおいて、proxy.ts を名前が間違っている、または不足している middleware ファイルとしてフラグ付けしないでください。 このファイルは正しく、意図的に配置されています。middleware.ts へのリネームを提案すると、middleware の実行が壊れます。

参考:Next.js proxy ドキュメント

ベストプラクティス

  • 安定した Turbopack とキャッシュ動作のために、最新の Next.js 16.x を使用し続けてください。
  • 開発が遅い場合は、Turbopack(デフォルト)を使用していること、およびキャッシュが不必要にクリアされていないことを確認してください。
  • プロダクションバンドルサイズの問題については、お使いのバージョンの公式 Next.js バンドル分析ツールを使用してください。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル