Frameworks et outils pour App Hosting

Firebase App Hosting est conçu spécifiquement pour prendre en charge le développement d'applications Web modernes axées sur les frameworks. Utilisez cette page comme référence pour les outils et les frameworks directement compatibles avec App Hosting, ainsi qu'un point de départ pour en savoir plus sur les frameworks et outils associés.

Frameworks Web et App Hosting

App Hosting offre deux niveaux d'assistance pour les frameworks Web modernes : une assistance préconfigurée pour la compilation et le déploiement, et une assistance au niveau de la communauté via des contributions Open Source conformes à la spécification du bundle de sortie. Dans les deux cas, un composant adaptateur de framework permet l'intégration d'un framework spécifique à App Hosting.

Frameworks avec assistance préconfigurée pour la compilation et le déploiement

Grâce à l'assistance préconfigurée pour la compilation et le déploiement, Firebase identifie le framework que vous utilisez en inspectant le fichier package-lock.json ou un autre fichier de verrouillage, et optimise les processus de compilation et de déploiement de votre application. Google s'engage à maintenir la compatibilité avec ces frameworks, et l'équipe d'assistance Firebase peut accepter les rapports de problèmes et les demandes de fonctionnalités.

Ce niveau d'assistance est fourni pour les frameworks suivants :

  • Next.js
  • Angular

Pour en savoir plus sur les versions et les niveaux d'assistance spécifiques, consultez les calendriers de compatibilité.

Si vous tentez de déployer une application Node.js à laquelle il manque un fichier de verrouillage, App Hosting ne pourra pas compiler ni exécuter votre application. Vous pouvez créer package-lock.json en exécutant npm install dans votre répertoire racine.

Frameworks compatibles avec la communauté

En plus de Next.js et d'Angular, App Hosting est également compatible avec tous les frameworks Web capables de fournir une sortie de compilation correspondant à notre spécification de bundle de sortie. Les auteurs de frameworks peuvent tirer parti de la spécification du bundle de sortie pour s'assurer que leur framework est compatible avec App Hosting. Par exemple, le framework Nuxt populaire est compatible avec l'équipe Nitro, qui a créé un adaptateur Firebase pour permettre le déploiement d'applications Nuxt sur App Hosting.

Si vous souhaitez que d'autres frameworks soient compatibles avec App Hosting, vous pouvez créer un adaptateur de framework ou contacter les responsables de la maintenance du framework pour convertir les sorties de compilation au format App Hosting. Les adaptateurs Next.js et Angular sont de bons exemples de référence pour toute personne créant un adaptateur.

Vous trouverez des informations sur les frameworks compatibles avec la communauté sur Firebase Open Source. Les problèmes et les demandes de fonctionnalités concernant les frameworks compatibles avec la communauté doivent être adressés à la communauté Open Source ou aux auteurs du framework. Dans certains cas, Google peut être en mesure de vous aider, mais la communauté est le premier niveau d'assistance pour ces adaptateurs.

Adaptateurs de framework App Hosting

Dans App Hosting, la compatibilité avec les frameworks préconfigurés et compatibles avec la communauté est assurée par des adaptateurs de framework. App Hosting adaptateurs de framework ont deux rôles clés :

  • Ils analysent votre code source et tous les fichiers de configuration spécifiques au framework (tels que next.config.js) et génèrent un bundle de sortie qui peut être traité par le reste de l'App Hosting infrastructure.
  • Ils exécutent la commande de compilation de votre application pour générer des éléments statiques et créer une version optimisée de votre application pour la production.

Les adaptateurs de framework compilent votre application Node.js avec npm run build, qui fonctionne mieux avec les scripts de compilation par défaut de chaque framework : next build pour Next.js et ng build pour Angular. App Hosting tentera de compiler avec des commandes de compilation personnalisées, mais ne peut pas garantir le succès de manière fiable. Vous pouvez remplacer les scripts de compilation et d'exécution dans apphosting.yaml.

La source des adaptateurs Next.js et Angular est disponible dans firebase-framework-tools.

Environnements d'exécution pour App Hosting

Une fois compilée et déployée par App Hosting, votre application Node.js s'exécute dans une Cloud Run révision. Par conséquent, la version de l'environnement d'exécution de votre application doit se situer à la fois dans Cloud Run's plage compatible et dans celle du framework Web que vous avez choisi. Pour la compatibilité préconfigurée avec Angular et Next.js, cela signifie que les versions de Node.js suivantes sont compatibles :

  • Next.js 13.5.x et versions ultérieures
  • Angular 18.2.x et versions ultérieures
  • Node.js 20 et versions ultérieures

App Hosting n'offre pas automatiquement d'assistance active pour les versions de framework récemment publiées. Les versions plus récentes que notre version "active" actuellement désignée seront considérées comme étant en état "preview" jusqu'à ce qu'elles soient officiellement marquées comme "actives" pour App Hosting.

App Hosting est compatible avec l'assistance à long terme (LTS) pour la dernière version mineure d' une version majeure pendant un an à compter de sa période d'assistance active, à condition que vous effectuiez régulièrement la mise à jour vers les dernières versions de correctif de cette version mineure. Pour en savoir plus sur Next.js et Angular, consultez les tableaux suivants.

Calendrier de compatibilité avec Next.js

Version État Obsolescence
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x actif pas avant le 2025-10-9
15.1.x actif pas avant le 2025-10-9
15.2.x actif -

Calendrier de compatibilité avec Angular

Version État Obsolescence
18.2.x lts 2026-10-9
19.0.x actif pas avant le 2025-10-9
19.1.x actif pas avant le 2025-10-9
19.2.x actif -

Mises à jour automatiques des images de base

Les mises à jour automatiques des images de base sont une fonctionnalité qui applique automatiquement des correctifs de sécurité à votre environnement d'exécution sous-jacent sans que vous ayez à déclencher un nouveau déploiement d'application.

App Hosting active par défaut les mises à jour automatiques des images de base pour les nouveaux backends, avec les exigences spécifiques suivantes :

  • Environnements d'exécution versionnés : pour utiliser les mises à jour automatiques des images de base, vous devez spécifier un environnement d'exécution versionné (tel que nodejs20, nodejs22, nodejs24). App Hosting est compatible avec les versions paires de Node.js, à l'image de Cloud Run.
  • Correspondance package.json : la version de nœud que vous sélectionnez pour App Hosting doit être compatible avec la version spécifiée dans le champ engines de votre package.json fichier. En cas d'incohérence, une erreur de compilation s'affiche dans Cloud Build. Chaque fois que vous modifiez le champ engines, veillez à mettre à jour l'environnement d'exécution de votre backend avant de le déployer.

Désactiver les mises à jour automatiques des images de base

Si vous souhaitez désactiver les mises à jour automatiques des images de base, vous pouvez le faire lors de l'intégration ou en sélectionnant "Non spécifié" pour votre environnement d'exécution dans la Firebase console. Lorsque la valeur par défaut nodejs sans version est utilisée, les mises à jour automatiques des images de base sont automatiquement désactivées.

Gérer les versions d'exécution

Vous pouvez afficher et modifier la version de l'environnement d'exécution de votre backend et la préférence de mises à jour automatiques des images de base à tout moment dans l'onglet Paramètres de votre App Hosting tableau de bord. Toutefois, sachez que la modification de la version de votre environnement d'exécution peut endommager votre application si la nouvelle version n'est pas compatible avec votre code.

Les versions d'exécution finissent par atteindre la fin de leur cycle de vie. Il est important de maintenir vos environnements d'exécution à jour pour éviter les modifications destructives :

  • Environnements d'exécution obsolètes : si l'environnement d'exécution que vous avez choisi devient obsolète, votre application continuera généralement de fonctionner. Un avertissement s'affichera dans la console, et vous devrez passer à une version plus récente dès que possible. Pour en savoir plus, consultez la documentation Cloud Run sur le cycle de vie de l'environnement d'exécution .
  • Environnements d'exécution hors service : les environnements d'exécution hors service ne sont plus du tout compatibles. Vous ne serez pas autorisé à créer de nouvelles compilations ni de nouveaux backends à l'aide d'une version hors service, et toute tentative en ce sens générera une erreur de compilation. Les déploiements existants exécutés sur des versions hors service peuvent cesser de fonctionner, et Cloud Run se réserve le droit de les supprimer.

Pour obtenir la liste complète des versions de nœud compatibles, obsolètes et hors service, consultez la documentation sur la compatibilité des environnements d'exécutionCloud Run. Pour en savoir plus sur le fonctionnement des mises à jour des images de base, consultez la documentation sur les mises à jour automatiques des images de base Cloud Run.Cloud Run

Gestionnaires de packages

App Hosting utilise Cloud Native Buildpacks pour exécuter l' installation des dépendances et compiler l'application à l'aide de npm, yarn ou pnpm. Les autres gestionnaires de packages tels que JSR ne sont pas compatibles.

NPM

  • NPM est le gestionnaire de packages par défaut.
  • Les dépendances hors production sont supprimées une fois la compilation réussie.
  • Vous pouvez spécifier la section de version npm à l'aide du champ engines.npm de votre fichier package.json.

Laine

  • Le fichier Yarn est utilisé lorsque vous incluez le fichier yarn.lock dans votre projet.
  • Vous pouvez spécifier la version de yarn à utiliser dans le champ engines.yarn ou packageManager de votre fichier package.json.
  • App Hosting est compatible avec le mode Yarn2 PnP.

Pnpm

  • Pnpm est utilisé à la place lorsque vous incluez le fichier pnpm-lock.yaml dans votre projet.
  • Vous pouvez spécifier une version de pnpm dans le champ engines.pnpm ou packageManager de votre fichier package.json.
  • Pour obtenir un exemple fonctionnel, consultez l' application sample-node-pnpm. pour votre application conteneurisée.

Monorepos pour App Hosting

App Hosting est compatible avec les applications basées sur Nx. Pour obtenir des instructions détaillées, consultez Utiliser des monorepos avec App Hosting.

Les versions Nx suivantes sont compatibles :

Version État Obsolescence
19.5.x entretien 2025-10-9
19.6.x entretien 2025-10-9
19.7.x entretien 2025-10-9
19.8.x lts 2026-10-9
20.0.x actif pas avant le 2025-10-9
20.1.x actif pas avant le 2025-10-9
20.2.x actif pas avant le 2025-10-9
20.3.x actif pas avant le 2025-10-9
20.4.x actif pas avant le 2025-10-9
20.5.x actif pas avant le 2025-10-9
20.6.x actif pas avant le 2025-10-9
20.7.x actif

Si vous avez besoin d'aide pour d'autres types d'espaces de travail monorepo, contactez-nous sur Firebase UserVoice.