From 15eff13cac218b014ab093bc9628a2eb14ed9591 Mon Sep 17 00:00:00 2001 From: Kevin Cheung Date: Thu, 17 Jul 2025 10:53:51 -0700 Subject: [PATCH] docs: sync framework docs from internal repo --- src/frameworks/docs/angular.md | 12 +++++++++++- src/frameworks/docs/frameworks-overview.md | 8 ++------ src/frameworks/docs/nextjs.md | 18 +++++++++++++----- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/frameworks/docs/angular.md b/src/frameworks/docs/angular.md index a45b098c33e..687fa070229 100644 --- a/src/frameworks/docs/angular.md +++ b/src/frameworks/docs/angular.md @@ -15,6 +15,14 @@ to Firebase and serve dynamic content to your users. <<_includes/_preview-disclaimer.md>> +Caution: For developers creating a full-stack Angular app, we strongly +recommend [Firebase App Hosting](/docs/app-hosting/). +If you're already using the frameworks experiment in the Firebase CLI, we +recommend "graduating" to +{{app_hosting}}. With {{app_hosting}}, you'll have a unified solution to manage +everything from CDN to server-side rendering, along with improved GitHub +integration. + <<_includes/_before-you-begin.md>> - Optional: AngularFire @@ -55,9 +63,11 @@ To prerender dynamic content in Angular, you need to set up Angular SSR. ng add @angular/ssr ``` -See the [Angular Prerendering (SSG) guide](https://angular.dev/guide/prerendering) +See the [Angular Prerendering (SSG) guide](https://angular.dev/guide/ssr) for more information. +### Optional: add a server module + #### Deploy When you deploy with `firebase deploy`, Firebase builds your browser bundle, diff --git a/src/frameworks/docs/frameworks-overview.md b/src/frameworks/docs/frameworks-overview.md index a8b1d3e6ff4..6a019149dcf 100644 --- a/src/frameworks/docs/frameworks-overview.md +++ b/src/frameworks/docs/frameworks-overview.md @@ -15,10 +15,6 @@ and Next.js. Using {{firebase_hosting}} and {{cloud_functions_full}} with these frameworks, you can develop apps and microservices in your preferred framework environment, and then deploy them in a managed, secure server environment. -Note: Experimental support for Flask and Django is under development, and will be -available soon. To stay up to date on the latest releases, sign up as a -trusted tester at [https://goo.gle/41enW5X](//goo.gle/41enW5X). - Support during this early preview includes the following functionality: * Deploy Web apps comprised of static web content @@ -55,6 +51,6 @@ live site: See the detailed guide for your preferred framework: * [Angular](/docs/hosting/frameworks/angular) -* [Next.js] (/docs/hosting/frameworks/nextjs) -* [Flutter Web] (/docs/hosting/frameworks/flutter) +* [Next.js](/docs/hosting/frameworks/nextjs) +* [Flutter Web](/docs/hosting/frameworks/flutter) * [Frameworks with Express.js](/docs/hosting/frameworks/express) diff --git a/src/frameworks/docs/nextjs.md b/src/frameworks/docs/nextjs.md index 611bf5ae818..d0e5643d3d6 100644 --- a/src/frameworks/docs/nextjs.md +++ b/src/frameworks/docs/nextjs.md @@ -18,6 +18,14 @@ logic to {{cloud_functions_full}}. <<_includes/_preview-disclaimer.md>> +Caution: For developers creating a full-stack Next.js app, we strongly +recommend [Firebase App Hosting](/docs/app-hosting/). +If you're already using the frameworks experiment in the Firebase CLI, we +recommend "graduating" to +{{app_hosting}}. With {{app_hosting}}, you'll have a unified solution to manage +everything from CDN to server-side rendering, along with improved GitHub +integration. + <<_includes/_before-you-begin.md>> - Optional: use the experimental ReactFire library to benefit from its @@ -26,7 +34,7 @@ logic to {{cloud_functions_full}}. <<_includes/_initialize-firebase.md>> 1. Answer yes to "Do you want to use a web framework? (experimental)" -1. Choose your hosting source directory. If this an existing Next.js app, +1. Choose your hosting source directory. If this is an existing Next.js app, the {{cli}} process completes, and you can proceed to the next section. 1. If prompted, choose Next.js. @@ -45,14 +53,14 @@ on its live site. ## Pre-render dynamic content The {{firebase_cli}} will detect usage of -[getStaticProps](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-props) +[getStaticProps](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-props) and [getStaticPaths](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-paths). ### Optional: integrate with the Firebase JS SDK When including Firebase JS SDK methods in both server and client bundles, guard against runtime errors by checking `isSupported()` before using the product. -Not all products are +Not all products are [supported in all environments](/docs/web/environments-js-sdk#other_environments). Tip: consider using @@ -69,7 +77,7 @@ and [getStaticPaths](https://nextjs.org/docs/basic-features/data-fetching/get-st The {{firebase_cli}} will detect usage of [getServerSideProps](https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props). -In such cases, the {{cli}} will deploy functions to {{cloud_functions_full}} to run dynamic +In such cases, the {{cli}} will deploy functions to {{cloud_functions_full}} to run dynamic server code. You can view information about these functions, such as their domain and runtime configuration, in the [Firebase console](https://console.firebase.google.com/project/_/functions). @@ -87,7 +95,7 @@ interoperate well together. ### Redirects, Rewrites, and Headers -The {{firebase_cli}} respects +The {{firebase_cli}} respects [redirects](https://nextjs.org/docs/api-reference/next.config.js/redirects), [rewrites](https://nextjs.org/docs/api-reference/next.config.js/rewrites), and [headers](https://nextjs.org/docs/api-reference/next.config.js/headers) in