App Hosting のフレームワークとツール

Firebase App Hosting は、フレームワーク中心の最新のウェブアプリ開発をサポートするように特別に設計されています。このページは、App Hosting が直接サポートするツールとフレームワークの参照として、また、関連するフレームワークとツールの学習の出発点として使用してください。

ウェブ フレームワークと App Hosting

App Hosting は、最新のウェブ フレームワークに対して、事前構成されたビルドとデプロイのサポートと、出力バンドル仕様に準拠したオープンソースの貢献によるコミュニティ レベルのサポートという、2 つの幅広いレベルのサポートを提供します。どちらの場合も、フレームワーク アダプター コンポーネントを使用すると、特定のフレームワークを App Hosting と統合できます。

ビルドとデプロイのサポートが事前構成されたフレームワーク

事前構成されたビルドとデプロイのサポートにより、Firebase は package-lock.json ファイルやその他のロックファイルを検査して、使用しているフレームワークを特定し、アプリのビルドとデプロイのプロセスを最適化します。Google はこれらのフレームワークのサポートを維持することに取り組んでおり、Firebase サポートチームは問題レポートと機能リクエストを受け付けています。

このレベルのサポートは、以下に対して提供されます。

  • Next.js
  • Angular

特定のバージョンとサポートレベルの詳細については、サポート スケジュールをご覧ください。

ロックファイルがない Node.js アプリをデプロイしようとすると、App Hosting がアプリのビルドと実行に失敗します。package-lock.json は、ルート ディレクトリで npm install を実行して作成できます。

コミュニティでサポートされているフレームワーク

App Hosting は、Next.js と Angular に加えて、出力バンドルの仕様に一致するビルド出力を提供する任意のウェブ フレームワークもサポートしています。フレームワークの作成者は、出力バンドルの仕様を利用して、フレームワークが App Hosting でサポートされていることを確認できます。たとえば、一般的な Nuxt フレームワークは Nitro チームによってサポートされています。Nitro チームは、App Hosting への Nuxt アプリのデプロイを可能にするために Firebase アダプターを構築しました。

App Hosting でサポートされているフレームワークをさらに確認するには、フレームワーク アダプタを作成するか、フレームワークのメンテナーに連絡して、ビルド出力を App Hosting 形式に変換してもらいます。Next.js アダプターと Angular アダプターは、アダプターを作成するすべてのユーザーにとって優れた参照例です。

コミュニティでサポートされているフレームワークについては、Firebase Open Source をご覧ください。コミュニティでサポートされているフレームワークに関する問題や機能リクエストは、オープンソース コミュニティまたはフレームワークの作成者にお問い合わせください。場合によっては Google がサポートできる場合もありますが、これらのアダプタの最初のサポート窓口はコミュニティです。

App Hosting フレームワーク アダプター

App Hosting では、事前構成済みフレームワークとコミュニティ サポートのフレームワークの両方のサポートが、フレームワーク アダプタによって提供されます。App Hosting フレームワーク アダプタには、次の 2 つの重要な役割があります。

  • ソースコードとフレームワーク固有の構成ファイル(next.config.js など)を解析し、残りの App Hosting インフラストラクチャで処理できる出力バンドルを生成します。
  • アプリのビルドコマンドを実行して、静的アセットを生成し、製品版向けにアプリの最適化バージョンを作成します。

フレームワーク アダプタは npm run build を使用して Node.js アプリをビルドします。各フレームワークのデフォルトのビルド スクリプト(Next.js の場合は next build、Angular の場合は ng build)で最適に動作します。App Hosting はカスタム ビルド コマンドを使用してビルドを試みますが、成功を保証することはできません。apphosting.yamlビルド スクリプトと実行スクリプトをオーバーライドできます。

Next.js アダプターと Angular アダプターのソースは、firebase-framework-tools で入手できます。

App Hosting のランタイム

App Hosting によってビルドされてロールアウトされると、Node.js アプリは Cloud Run リビジョンで実行されます。したがって、アプリのランタイム バージョンは、Cloud Run でサポートされている範囲と、選択したウェブ フレームワークの範囲の両方内にする必要があります。Angular と Next.js の事前構成済みサポートの場合、次の Node.js バージョンがサポートされます。

  • Next.js 13.5.x 以降
  • Angular 18.2.x 以降
  • Node.js 18 以降

App Hosting は、新しくリリースされたフレームワーク バージョンを自動的にサポートするわけではありません。現在「有効」と指定されているバージョンより新しいバージョンは、App Hosting で正式に「有効」とマークされるまで「プレビュー」状態と見なされます。

App Hosting は、メジャー リリースの最新のマイナー バージョンの長期サポート(LTS)を、そのマイナー バージョン内の最新のパッチ リリースに継続的に更新することを条件に、アクティブなサポート期間から 1 年間サポートします。Next.js と Angular の詳細については、次の表をご覧ください。

Next.js のサポート スケジュール

バージョン ステータス 非推奨
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x 有効 2025-10-9 より前
15.1.x 有効 2025-10-9 より前
15.2.x 有効 -

Angular のサポート スケジュール

バージョン ステータス 非推奨
18.2.x lts 2026-10-9
19.0.x 有効 2025-10-9 より前
19.1.x 有効 2025-10-9 より前
19.2.x 有効 -

パッケージ マネージャー

App HostingCloud Native Buildpack を使用して依存関係のインストールを実行し、npm、yarn、または pnpm を使用してアプリをビルドします。JSR などの他のパッケージ マネージャーはサポートされていません。

NPM

  • npm はデフォルトのパッケージ管理システムです。
  • 本番環境以外の依存関係は、ビルドが正常に完了すると削除されます。
  • npm バージョンのセクションは、package.json ファイルの engines.npm フィールドで指定できます。

Yarn

  • yarn を使用するには、プロジェクトに yarn.lock ファイルを含めます。
  • 使用する yarn のバージョンは、package.json ファイルの engines.yarn フィールドまたは packageManager フィールドで指定できます。
  • App Hosting は Yarn2 PnP モードをサポートしています。

Pnpm

  • pnpm を使用するには、プロジェクトに pnpm-lock.yaml ファイルを含めます。
  • package.json ファイルの engines.pnpm フィールドまたは packageManager フィールドで、pnpm のバージョンを指定できます。
  • 実際の例については、sample-node-pnpm をご覧ください。アプリを起動します。

App Hosting の Monorepo

App Hosting は Nx ベースのアプリをサポートしています。詳細なガイダンスについては、App Hosting で単一リポジトリを使用するをご覧ください。

サポートされている Nx のバージョンは次のとおりです。

バージョン ステータス 非推奨
19.5.x メンテナンス 2025-10-9
19.6.x メンテナンス 2025-10-9
19.7.x メンテナンス 2025-10-9
19.8.x lts 2026-10-9
20.0.x 有効 2025-10-9 より前
20.1.x 有効 2025-10-9 より前
20.2.x 有効 2025-10-9 より前
20.3.x 有効 2025-10-9 より前
20.4.x 有効 2025-10-9 より前
20.5.x 有効 2025-10-9 より前
20.6.x 有効 2025-10-9 より前
20.7.x 有効

他のタイプの Monorepo ワークスペースのサポートが必要な場合は、Firebase UserVoice でお問い合わせください。