Firebase App Hosting foi criado especificamente para oferecer suporte ao desenvolvimento de apps da Web modernos centrados em frameworks. Use esta página como referência para as ferramentas e frameworks que App Hosting oferece suporte direto, bem como um ponto de partida para aprender sobre frameworks e ferramentas relacionados.
Frameworks da Web e App Hosting
App Hosting oferece dois níveis de suporte para frameworks da Web modernos: suporte de build e implantação pré-configurado e suporte da comunidade por meio de contribuições de código aberto em conformidade com a especificação do pacote de saída. Nos dois casos, um componente de adaptador de framework permite a integração de um framework específico com App Hosting.
Frameworks com suporte de build e implantação pré-configurado
Com o suporte de build e implantação pré-configurado, o Firebase identifica qual framework você está usando inspecionando o arquivo package-lock.json ou outro arquivo de bloqueio e otimiza os processos de build e implantação do seu app. O Google está comprometido em manter o suporte a esses frameworks, e a equipe de suporte do Firebase pode aceitar relatórios de problemas e solicitações de recursos.
Esse nível de suporte é oferecido para:
- Next.js
- Angular
Consulte os cronogramas de suporte para detalhes sobre versões e níveis específicos de suporte.
Se você tentar implantar um app Node.js que não tem um arquivo de bloqueio, App Hosting
não vai conseguir criar e executar o app. É possível criar package-lock.json executando npm install no diretório raiz.
Frameworks com suporte da comunidade
Além do Next.js e do Angular, App Hosting também oferece suporte a qualquer web framework que possa fornecer uma saída de build que corresponda à nossa especificação de pacote de saída. Os autores de frameworks podem aproveitar a especificação do pacote de saída para garantir que o framework seja compatível com App Hosting. Por exemplo, o popular framework Nuxt tem suporte da equipe do Nitro, que criou um adaptador do Firebase para permitir a implantação de apps Nuxt em App Hosting.
Se você quiser que o App Hosting ofereça suporte a outros frameworks, você pode criar um adaptador de framework ou entrar em contato com os responsáveis pela manutenção do framework para converter as saídas de build no formato App Hosting. Os adaptadores do Next.js e do Angular são bons exemplos de referência para quem cria um adaptador.
As informações sobre frameworks com suporte da comunidade podem ser encontradas no Firebase Open Source. Problemas e solicitações de recursos para frameworks com suporte da comunidade precisam ser direcionados à comunidade de código aberto ou aos autores do framework. Em alguns casos, o Google pode ajudar, mas a comunidade é a primeira linha de suporte para esses adaptadores.
Adaptadores de framework App Hosting
Em App Hosting, o suporte a frameworks pré-configurados e com suporte da comunidade é oferecido por adaptadores de framework. Os adaptadores de framework App Hosting têm duas funções principais:
- Eles analisam seu código-fonte e todos os arquivos de configuração específicos do framework (como
next.config.js) e geram um pacote de saída que pode ser processado pelo restante da App Hosting infraestrutura. - Eles executam o comando de build do app para gerar recursos estáticos e criar uma versão otimizada do app para produção.
Os adaptadores de framework criam seu app Node.js com npm run build, funcionando melhor com os scripts de build padrão para cada framework: next build para Next.js e ng build para Angular. App Hosting tentará builds com comandos de build personalizados, mas não pode garantir o sucesso de forma confiável. É possível
substituir scripts de build e execução
em apphosting.yaml.
O código-fonte dos adaptadores do Next.js e do Angular está disponível em firebase-framework-tools.
Ambientes de execução para o App Hosting
Depois de criado e lançado pelo App Hosting, seu app Node.js é executado em uma Cloud Run revisão. Portanto, a versão do ambiente de execução do app precisa estar dentro do intervalo com suporte do Cloud Run Cloud Run's supported range e do intervalo do framework da Web escolhido. Para o suporte pré-configurado do Angular e do Next.js, isso significa que as seguintes versões do Node.js são aceitas:
- Next.js 13.5.x e mais recentes
- Angular 18.2.x e mais recentes
- Node.js 20 e mais recentes
App Hosting não oferece suporte ativo automático para versões de framework recém-lançadas. As versões mais recentes do que a versão "ativa" designada no momento serão consideradas em estado de "pré-lançamento" até serem marcadas oficialmente como "ativas" para App Hosting.
App Hosting oferece suporte de longo prazo (LTS) para a versão secundária mais recente de uma versão principal por um ano a partir do período de suporte ativo, desde que você atualize consistentemente para as versões de patch mais recentes nessa versão secundária. Consulte as tabelas a seguir para detalhes sobre o Next.js e o Angular.
Cronograma de suporte do Next.js
| Versão | Status | Suspensão de uso |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | ativo | não antes de 2025-10-9 |
| 15.1.x | ativo | não antes de 2025-10-9 |
| 15.2.x | ativo | - |
Cronograma de suporte do Angular
| Versão | Status | Suspensão de uso |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | ativo | não antes de 2025-10-9 |
| 19.1.x | ativo | não antes de 2025-10-9 |
| 19.2.x | ativo | - |
Atualizações automáticas da imagem de base (ABIU)
As atualizações automáticas da imagem de base (ABIU) são um recurso que aplica patches de segurança automaticamente ao ambiente de execução subjacente, sem que você precise acionar um novo lançamento do app.
App Hosting ativa a ABIU por padrão para novos back-ends, com estes requisitos específicos:
- Ambientes de execução com versão:para usar a ABIU, é necessário especificar um ambiente de execução com versão
(como
nodejs20,nodejs22,nodejs24). App Hosting oferece suporte a versões pares do Node.js, espelhando o suporte do Cloud Run. - Correspondência de package.json:a versão do nó selecionada para App Hosting
precisa ser compatível com a versão especificada no campo
enginesdo arquivopackage.json. Se houver uma incompatibilidade, você vai encontrar um erro de build de Cloud Build. Sempre que você mudar o campoengines, atualize o ambiente de execução do back-end antes de implantar.
Como desativar a ABIU
Se você quiser desativar a ABIU, faça isso durante a integração ou por
selecionando "Não especificado" para o ambiente de execução no Firebase console. Quando um padrão nodejs sem versão é usado, a ABIU é desativada automaticamente.
Como gerenciar versões do ambiente de execução
É possível visualizar e mudar a versão do ambiente de execução e a preferência de ABIU do back-end a qualquer momento na guia Configurações do painel do App Hosting. No entanto, mudar a versão do ambiente de execução pode interromper o aplicativo se a nova versão for incompatível com o código.
As versões do ambiente de execução acabam atingindo o fim do ciclo de vida de suporte. É importante manter os ambientes de execução atualizados para evitar mudanças interruptivas:
- Ambientes de execução obsoletos:se o ambiente de execução escolhido ficar obsoleto, o aplicativo geralmente vai continuar funcionando. Você vai receber um aviso no console e precisará mudar para uma versão mais recente o mais rápido possível. Para mais informações, consulte a documentação do Cloud Run sobre o ciclo de vida do ambiente de execução.
- Ambientes de execução desativados:os ambientes de execução desativados não têm suporte. Não é possível criar novos builds ou back-ends usando uma versão desativada, e tentar fazer isso vai gerar um erro de build. As implantações atuais em versões desativadas podem parar de funcionar, e Cloud Run reserva o direito de excluí-las.
Para uma lista completa de versões do nó com suporte, obsoletas e desativadas, consulte a documentação de suporte do ambiente de execução do Cloud Run.Cloud Run Para mais detalhes técnicos sobre como as atualizações da imagem de base funcionam, consulte a Cloud Run ABIU documentação.
Gerenciadores de pacotes
App Hosting usa buildpacks nativos da nuvem para executar a instalação de dependências e cria o app usando npm, yarn ou pnpm. Outros gerenciadores de pacotes, como o JSR, não são aceitos.
NPM
- O NPM é o gerenciador de pacotes padrão.
- As dependências não de produção são removidas após a criação.
- É possível especificar a seção da versão do NPM usando o campo
engines.npmno arquivopackage.json.
Lã
- O Yarn é usado quando você inclui o arquivo
yarn.lockno projeto. - É possível especificar a versão do Yarn a ser usada no campo
engines.yarnoupackageManagerdo arquivopackage.json. - App Hosting oferece suporte ao modo Yarn2 PnP.
Pnpm
- O Pnpm é usado quando você inclui o arquivo
pnpm-lock.yamlno projeto. - Você pode especificar uma versão do pnpm no campo
engines.pnpmoupackageManagerdo seu arquivopackage.json. - Para um exemplo prático, consulte o sample-node-pnpm. do app.
Monorepos para o App Hosting
App Hosting oferece suporte a apps baseados em Nx. Consulte Usar monorepos com App Hosting para orientações detalhadas.
As seguintes versões do Nx são aceitas:
| Versão | Status | Suspensão de uso |
|---|---|---|
| 19.5.x | manutenção | 2025-10-9 |
| 19.6.x | manutenção | 2025-10-9 |
| 19.7.x | manutenção | 2025-10-9 |
| 19.8.x | lts | 2026-10-9 |
| 20.0.x | ativo | não antes de 2025-10-9 |
| 20.1.x | ativo | não antes de 2025-10-9 |
| 20.2.x | ativo | não antes de 2025-10-9 |
| 20.3.x | ativo | não antes de 2025-10-9 |
| 20.4.x | ativo | não antes de 2025-10-9 |
| 20.5.x | ativo | não antes de 2025-10-9 |
| 20.6.x | ativo | não antes de 2025-10-9 |
| 20.7.x | ativo | — |
Se você precisar de suporte para outros tipos de espaços de trabalho monorepo, entre em contato com o Firebase UserVoice.