From 42bd74e61014715e3eebb5886bb10cf61eab9fab Mon Sep 17 00:00:00 2001 From: James Daniels Date: Tue, 8 Apr 2025 23:58:15 -0400 Subject: [PATCH 01/10] First attempt --- .opensource/project.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .opensource/project.json diff --git a/.opensource/project.json b/.opensource/project.json new file mode 100644 index 00000000..baa0e469 --- /dev/null +++ b/.opensource/project.json @@ -0,0 +1,7 @@ +{ + "name": "Astro adapter", + "platforms": [ + "app_hosting" + ], + "content": "README.md" +} \ No newline at end of file From 8f1836589a766616a20cbc3daa072d94d5aa308d Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 00:29:33 -0400 Subject: [PATCH 02/10] Docs yo --- {.opensource => docs/astro/.opensource}/project.json | 0 docs/astro/README.md | 1 + docs/nitro/.opensource/project.json | 7 +++++++ docs/nitro/README.md | 1 + 4 files changed, 9 insertions(+) rename {.opensource => docs/astro/.opensource}/project.json (100%) create mode 100644 docs/astro/README.md create mode 100644 docs/nitro/.opensource/project.json create mode 100644 docs/nitro/README.md diff --git a/.opensource/project.json b/docs/astro/.opensource/project.json similarity index 100% rename from .opensource/project.json rename to docs/astro/.opensource/project.json diff --git a/docs/astro/README.md b/docs/astro/README.md new file mode 100644 index 00000000..ff700855 --- /dev/null +++ b/docs/astro/README.md @@ -0,0 +1 @@ +Astro yo. \ No newline at end of file diff --git a/docs/nitro/.opensource/project.json b/docs/nitro/.opensource/project.json new file mode 100644 index 00000000..f716d8e7 --- /dev/null +++ b/docs/nitro/.opensource/project.json @@ -0,0 +1,7 @@ +{ + "name": "Nitro adapter", + "platforms": [ + "app_hosting" + ], + "content": "README.md" +} \ No newline at end of file diff --git a/docs/nitro/README.md b/docs/nitro/README.md new file mode 100644 index 00000000..79e70dea --- /dev/null +++ b/docs/nitro/README.md @@ -0,0 +1 @@ +Nitro yo. \ No newline at end of file From 66eeda35d9f0bba185554d1508ad68f894402489 Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 00:49:25 -0400 Subject: [PATCH 03/10] Content --- docs/astro/README.md | 6 +++++- docs/nitro/README.md | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/astro/README.md b/docs/astro/README.md index ff700855..e1cdf3d4 100644 --- a/docs/astro/README.md +++ b/docs/astro/README.md @@ -1 +1,5 @@ -Astro yo. \ No newline at end of file +# Astro App Hosting Adapter + +## Overview + +Yada yada. diff --git a/docs/nitro/README.md b/docs/nitro/README.md index 79e70dea..fd6b53cf 100644 --- a/docs/nitro/README.md +++ b/docs/nitro/README.md @@ -1 +1,5 @@ -Nitro yo. \ No newline at end of file +# Nitro App Hosting Adapter + +## Overview + +Yada yada. From ab06f2184cfb8f910a7429d1adaad7befdbd141d Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 01:19:35 -0400 Subject: [PATCH 04/10] Placeholder adapters --- docs/angular/.opensource/project.json | 7 +++++++ docs/angular/README.md | 5 +++++ docs/astro/README.md | 2 +- docs/nextjs/.opensource/project.json | 7 +++++++ docs/nextjs/README.md | 5 +++++ docs/nitro/README.md | 2 +- 6 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 docs/angular/.opensource/project.json create mode 100644 docs/angular/README.md create mode 100644 docs/nextjs/.opensource/project.json create mode 100644 docs/nextjs/README.md diff --git a/docs/angular/.opensource/project.json b/docs/angular/.opensource/project.json new file mode 100644 index 00000000..f35663d6 --- /dev/null +++ b/docs/angular/.opensource/project.json @@ -0,0 +1,7 @@ +{ + "name": "Angular adapter", + "platforms": [ + "app_hosting" + ], + "content": "README.md" +} \ No newline at end of file diff --git a/docs/angular/README.md b/docs/angular/README.md new file mode 100644 index 00000000..3a0c6184 --- /dev/null +++ b/docs/angular/README.md @@ -0,0 +1,5 @@ +# App Hosting Angular Adapter + +## Overview + +Yada yada. diff --git a/docs/astro/README.md b/docs/astro/README.md index e1cdf3d4..6a4ce0a0 100644 --- a/docs/astro/README.md +++ b/docs/astro/README.md @@ -1,4 +1,4 @@ -# Astro App Hosting Adapter +# App Hosting Astro Adapter ## Overview diff --git a/docs/nextjs/.opensource/project.json b/docs/nextjs/.opensource/project.json new file mode 100644 index 00000000..da23c310 --- /dev/null +++ b/docs/nextjs/.opensource/project.json @@ -0,0 +1,7 @@ +{ + "name": "Next.js adapter", + "platforms": [ + "app_hosting" + ], + "content": "README.md" +} \ No newline at end of file diff --git a/docs/nextjs/README.md b/docs/nextjs/README.md new file mode 100644 index 00000000..fbd2c2f3 --- /dev/null +++ b/docs/nextjs/README.md @@ -0,0 +1,5 @@ +# App Hosting Next.js Adapter + +## Overview + +Yada yada. diff --git a/docs/nitro/README.md b/docs/nitro/README.md index fd6b53cf..be4f32d5 100644 --- a/docs/nitro/README.md +++ b/docs/nitro/README.md @@ -1,4 +1,4 @@ -# Nitro App Hosting Adapter +# App Hosting Nitro Adapter ## Overview From 131e79c63af3b9fd6c1199d9e31a2f697571d498 Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 01:21:45 -0400 Subject: [PATCH 05/10] Description --- docs/astro/.opensource/project.json | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/astro/.opensource/project.json b/docs/astro/.opensource/project.json index baa0e469..a7216ace 100644 --- a/docs/astro/.opensource/project.json +++ b/docs/astro/.opensource/project.json @@ -3,5 +3,6 @@ "platforms": [ "app_hosting" ], + "description": "Experimental Astro adapter for Firebase App Hosting", "content": "README.md" } \ No newline at end of file From f0422b5aa74b5fde33a01f5d64dde09956cf4a67 Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 01:27:57 -0400 Subject: [PATCH 06/10] Descriptions --- docs/angular/.opensource/project.json | 1 + docs/nextjs/.opensource/project.json | 1 + docs/nitro/.opensource/project.json | 1 + 3 files changed, 3 insertions(+) diff --git a/docs/angular/.opensource/project.json b/docs/angular/.opensource/project.json index f35663d6..c2f25389 100644 --- a/docs/angular/.opensource/project.json +++ b/docs/angular/.opensource/project.json @@ -3,5 +3,6 @@ "platforms": [ "app_hosting" ], + "description": "Official Angular adapter for Firebase App Hosting", "content": "README.md" } \ No newline at end of file diff --git a/docs/nextjs/.opensource/project.json b/docs/nextjs/.opensource/project.json index da23c310..9da65f8c 100644 --- a/docs/nextjs/.opensource/project.json +++ b/docs/nextjs/.opensource/project.json @@ -3,5 +3,6 @@ "platforms": [ "app_hosting" ], + "description": "Official Next.js adapter for Firebase App Hosting", "content": "README.md" } \ No newline at end of file diff --git a/docs/nitro/.opensource/project.json b/docs/nitro/.opensource/project.json index f716d8e7..ec7995a2 100644 --- a/docs/nitro/.opensource/project.json +++ b/docs/nitro/.opensource/project.json @@ -3,5 +3,6 @@ "platforms": [ "app_hosting" ], + "description": "Community-supported Nitro adapter for Firebase App Hosting", "content": "README.md" } \ No newline at end of file From 93bddc802428db18ecb8a1e07750c491bf8840ca Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 01:32:27 -0400 Subject: [PATCH 07/10] Nuxt --- docs/nitro/.opensource/project.json | 3 +++ docs/nuxt/.opensource/project.json | 11 +++++++++++ docs/nuxt/README.md | 5 +++++ 3 files changed, 19 insertions(+) create mode 100644 docs/nuxt/.opensource/project.json create mode 100644 docs/nuxt/README.md diff --git a/docs/nitro/.opensource/project.json b/docs/nitro/.opensource/project.json index ec7995a2..b3fd185d 100644 --- a/docs/nitro/.opensource/project.json +++ b/docs/nitro/.opensource/project.json @@ -3,6 +3,9 @@ "platforms": [ "app_hosting" ], + "related": [ + "FirebaseExtended/firebase-framework-tools::docs::nuxt" + ], "description": "Community-supported Nitro adapter for Firebase App Hosting", "content": "README.md" } \ No newline at end of file diff --git a/docs/nuxt/.opensource/project.json b/docs/nuxt/.opensource/project.json new file mode 100644 index 00000000..77733e54 --- /dev/null +++ b/docs/nuxt/.opensource/project.json @@ -0,0 +1,11 @@ +{ + "name": "Nuxt adapter", + "platforms": [ + "app_hosting" + ], + "related": [ + "FirebaseExtended/firebase-framework-tools::docs::nitro" + ], + "description": "Deploy Nuxt applications to Firebase App Hosting using the community-supported Nitro adapter", + "content": "README.md" +} \ No newline at end of file diff --git a/docs/nuxt/README.md b/docs/nuxt/README.md new file mode 100644 index 00000000..be4f32d5 --- /dev/null +++ b/docs/nuxt/README.md @@ -0,0 +1,5 @@ +# App Hosting Nitro Adapter + +## Overview + +Yada yada. From dab73d98de6e85dda51c87e0f1d0b4f603562ced Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 10:29:43 -0500 Subject: [PATCH 08/10] Copy --- docs/angular/README.md | 22 ++++++++++++++++++++-- docs/astro/README.md | 24 ++++++++++++++++++++++-- docs/nextjs/README.md | 23 +++++++++++++++++++++-- docs/nitro/README.md | 5 +++-- docs/nuxt/README.md | 6 +++--- 5 files changed, 69 insertions(+), 11 deletions(-) diff --git a/docs/angular/README.md b/docs/angular/README.md index 3a0c6184..1acc063e 100644 --- a/docs/angular/README.md +++ b/docs/angular/README.md @@ -1,5 +1,23 @@ # App Hosting Angular Adapter -## Overview +Official Angular support for Firebase App Hosting. -Yada yada. +### Versions supported + +| Version | Status | Deprecation | +|---------|--------|-----------------------| +| 18.2.x | lts | 2026-10-9 | +| 19.0.x | active | not before 2025-10-9 | +| 19.1.x | active | not before 2025-10-9 | +| 19.2.x | active | - | + +[See Firebase App Hosting's runtime support policy](https://firebase.google.com/docs/app-hosting/frameworks-tooling#runtimes-for-app-hosting) for more information. + +## Known limitations + +* **I18n:** While core I18n functionality works, direct navigation to SSR pages can result in errors. +* **Localization:** Building versions for different locales isn't supported. +* **Builders:** Only the Application builder is currently supported. +* **Environments and Monorepo Tooling:** Angular projects that have more than a single application target will fail. For more complete monorepo support, use Nx. + +[See Firebase App Hosting's FAQ and troubleshooting documentation](https://firebase.google.com/docs/app-hosting/troubleshooting) for up-to-date information on the current limitations of the platform. \ No newline at end of file diff --git a/docs/astro/README.md b/docs/astro/README.md index 6a4ce0a0..0a20e167 100644 --- a/docs/astro/README.md +++ b/docs/astro/README.md @@ -1,5 +1,25 @@ # App Hosting Astro Adapter -## Overview +Experimental support for Astro on Firebase App Hosting, [see the work-in-progress here](https://github.com/FirebaseExtended/firebase-framework-tools/pull/297). -Yada yada. +## Instructions for use + +To use follow these instructions: + +1. Install the `@apphosting/astro-adapter` Astro adapter with the following command in your terminal: +`npx astro add @apphosting/astro-adapter` +1. Add the adapter with the standalone rendering mode to your astro.config.* file: +```js +import { defineConfig } from 'astro/config'; +import node from '@apphosting/astro-adapter'; + +export default defineConfig({ + output: 'server', + adapter: node({ + mode: 'standalone', + }), +}); +``` +1. Push the changes to github and kickoff a new rollout + +> **Experimental:** While this adapter was built by Google employees, it is not currently an official Google Cloud product. Support is best-effort only. diff --git a/docs/nextjs/README.md b/docs/nextjs/README.md index fbd2c2f3..557d9018 100644 --- a/docs/nextjs/README.md +++ b/docs/nextjs/README.md @@ -1,5 +1,24 @@ # App Hosting Next.js Adapter -## Overview +Official Next.js support for Firebase App Hosting. -Yada yada. +## Versions supported + +| Version | Status | Deprecation | +|---------|--------|-----------------------| +| 13.5.x | lts | 2026-10-9 | +| 14.2.x | lts | 2026-10-9 | +| 15.0.x | active | not before 2025-10-9 | +| 15.1.x | active | not before 2025-10-9 | +| 15.2.x | active | - | + +[See Firebase App Hosting's runtime support policy](https://firebase.google.com/docs/app-hosting/frameworks-tooling#runtimes-for-app-hosting) for more information. + +## Known limitations + +* By default, the [built-in NextJS image optimization](https://nextjs.org/.docs/app/building-your-application/optimizing/images) is disabled on App Hosting unless you explicitly set [`images.unoptimized`](https://nextjs.org/docs/pages/api-reference/components/image#unoptimized) to false or use a custom [Image Loader.](https://nextjs.org/docs/app/api-reference/config/next-config-js/images#example-loader-configuration) See [Optimize image loading on Next.js](/docs/app-hosting/optimize-image-loading). +* URL paths containing percent-encoded characters are decoded by Cloud Run. This may cause issues with features that expect only encoded URL paths, such as Next.js parallel routing. +* Currently, App Hosting limits the caching for NextJS apps using [middleware](https://nextjs.org/docs/app/building-your-application/routing/middleware). Over time, cache hit rates should improve. +* URL paths containing percent-encoded characters are decoded by Cloud Run. This may cause issues with features that expect only encoded URL paths, such as [Next.js parallel routing](https://nextjs.org/docs/app/building-your-application/routing/parallel-routes) + +[See Firebase App Hosting's FAQ and troubleshooting documentation](https://firebase.google.com/docs/app-hosting/troubleshooting) for up-to-date information on the current limitations of the platform. \ No newline at end of file diff --git a/docs/nitro/README.md b/docs/nitro/README.md index be4f32d5..d4999b9c 100644 --- a/docs/nitro/README.md +++ b/docs/nitro/README.md @@ -1,5 +1,6 @@ # App Hosting Nitro Adapter -## Overview -Yada yada. +Applications powered by Nitro have zero-configuration support for Firebase App Hosting, using the Firebase App Hosting preset. [Learn more in the Nitro documentation](https://nitro.build/deploy/providers/firebase). + +> **Community-supported:** While built in collaboration with Firebase App Hosting, the Nitro preset is not currently an official Google Cloud product. Support is best-effort only. \ No newline at end of file diff --git a/docs/nuxt/README.md b/docs/nuxt/README.md index be4f32d5..67d5aea0 100644 --- a/docs/nuxt/README.md +++ b/docs/nuxt/README.md @@ -1,5 +1,5 @@ -# App Hosting Nitro Adapter +# Nuxt on Firebase App Hosting -## Overview +Nuxt support on Firebase App Hosting is powered by the [community-supported Nitro preset](/projects/FirebaseExtended/firebase-framework-tools::docs::nuxt). -Yada yada. +> **Community-supported:** While built in collaboration with Firebase App Hosting, the Nitro preset is not currently an official Google Cloud product. Support is best-effort only. From c5e7772b30f80fac76257416b363e13c5c7fd4de Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 10:32:22 -0500 Subject: [PATCH 09/10] Nitro link --- docs/nuxt/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/nuxt/README.md b/docs/nuxt/README.md index 67d5aea0..aea6f46a 100644 --- a/docs/nuxt/README.md +++ b/docs/nuxt/README.md @@ -1,5 +1,5 @@ # Nuxt on Firebase App Hosting -Nuxt support on Firebase App Hosting is powered by the [community-supported Nitro preset](/projects/FirebaseExtended/firebase-framework-tools::docs::nuxt). +Nuxt support on Firebase App Hosting is powered by the [community-supported Nitro preset](https://firebaseopensource.com/projects/FirebaseExtended/firebase-framework-tools::docs::nuxt). > **Community-supported:** While built in collaboration with Firebase App Hosting, the Nitro preset is not currently an official Google Cloud product. Support is best-effort only. From 92c52cdb9146bba5fee0189876baeedfc86dca92 Mon Sep 17 00:00:00 2001 From: James Daniels Date: Wed, 9 Apr 2025 10:38:16 -0500 Subject: [PATCH 10/10] Nitro preset --- docs/nitro/.opensource/project.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/nitro/.opensource/project.json b/docs/nitro/.opensource/project.json index b3fd185d..e7c12a58 100644 --- a/docs/nitro/.opensource/project.json +++ b/docs/nitro/.opensource/project.json @@ -1,11 +1,11 @@ { - "name": "Nitro adapter", + "name": "Nitro preset", "platforms": [ "app_hosting" ], "related": [ "FirebaseExtended/firebase-framework-tools::docs::nuxt" ], - "description": "Community-supported Nitro adapter for Firebase App Hosting", + "description": "Community-supported Nitro preset for Firebase App Hosting", "content": "README.md" } \ No newline at end of file