O 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 o App Hosting oferece suporte direto, além de um ponto de partida para aprender sobre frameworks e ferramentas relacionados.
Frameworks da Web e App Hosting
O App Hosting oferece dois níveis gerais de suporte para frameworks da Web modernos: suporte pré-configurado para build e implantação e suporte no nível da comunidade por contribuições de código aberto em conformidade com a especificação do pacote de saída. Em ambos os casos, um componente adaptador de framework permite a integração de um framework específico com o App Hosting.
Frameworks com suporte pré-configurado para build e implantação
Com suporte pré-configurado para build e implantação, o Firebase identifica qual
framework você está usando ao inspecionar 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 para 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 as programações de suporte para detalhes sobre versões e níveis de suporte específicos.
Se você tentar implantar um app Node.js sem um arquivo de bloqueio, o App Hosting
não vai conseguir criar e executar o app. Para criar package-lock.json, execute
npm install no diretório raiz.
Frameworks com suporte da comunidade
Além do Next.js e do Angular, o App Hosting também é compatível com qualquer framework da Web que possa fornecer uma saída de build correspondente à nossa especificação do 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 o App Hosting. Por exemplo, o framework Nuxt, que é muito usado, tem suporte da equipe do Nitro, que criou um adaptador do Firebase para permitir a implantação de apps Nuxt no App Hosting.
Se quiser ver outros frameworks compatíveis com App Hosting, crie um adaptador de framework ou entre em contato com os mantenedores do framework para converter 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 está criando um adaptador.
Informações sobre frameworks com suporte da comunidade podem ser encontradas em Firebase Open Source. Problemas e solicitações de recursos para frameworks com suporte da comunidade devem ser encaminhados à 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
No App Hosting, o suporte para frameworks pré-configurados e com suporte da comunidade é fornecido 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 infraestrutura App Hosting. - 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. O App Hosting tentará fazer builds com comandos de build
personalizados, mas não pode garantir o sucesso. É possível
substituir scripts de build e execução
em apphosting.yaml.
A origem dos adaptadores Next.js e Angular está disponível em firebase-framework-tools.
Ambientes de execução para App Hosting
Depois que ele é criado e lançado pelo App Hosting, seu app Node.js é executado em uma revisão Cloud Run. Portanto, a versão do ambiente de execução do app precisa estar dentro do intervalo compatível do Cloud Run 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 compatíveis:
- Next.js 13.5.x e versões mais recentes
- Angular 18.2.x e versões mais recentes
- Node.js 20 e versões mais recentes
O App Hosting não oferece suporte ativo automático para versões de framework lançadas recentemente. As versões mais recentes que a versão "ativa" designada no momento serão consideradas em estado de "prévia" até serem oficialmente marcadas como "ativas" para App Hosting.
O 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 09/10/2025 |
| 15.1.x | ativo | não antes de 09/10/2025 |
| 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 09/10/2025 |
| 19.1.x | ativo | não antes de 09/10/2025 |
| 19.2.x | ativo | - |
Atualizações automáticas da imagem de base (ABIU)
As atualizações automáticas de imagem de base (ABIU, na sigla em inglês) são um recurso que aplica automaticamente patches de segurança ao ambiente de execução subjacente sem exigir que você acione um novo lançamento de app.
App Hosting ativa a ABIU por padrão para novos back-ends, com estes requisitos específicos:
- Ambientes de execução com controle de versão:para usar a ABIU, especifique um ambiente de execução com controle de versão (como
nodejs20,nodejs22,nodejs24). O App Hosting é compatível com versões do Node.js de número par, assim como o Cloud Run. - Correspondência de package.json:a versão do Node 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 tempo de execução do back-end antes de fazer a implantação.
Desativar a ABIU
Se você quiser desativar a ABIU, faça isso durante a integração ou
selecione "Não especificado" para o tempo de execução no console do Firebase. Quando
um padrão nodejs sem versão é usado, a ABIU é desativada automaticamente.
Como gerenciar versões do ambiente de execução
É possível conferir e mudar a versão de tempo de execução e a preferência de ABIU do back-end a qualquer momento na guia Configurações do painel App Hosting. No entanto, mudar a versão de tempo de execução pode prejudicar o aplicativo se a nova versão for incompatível com o código.
As versões do ambiente de execução chegam ao fim do ciclo de vida de suporte. É importante manter os runtimes atualizados para evitar mudanças interruptivas:
- Runtimes descontinuados:se o runtime escolhido for descontinuado, seu aplicativo geralmente vai continuar funcionando. Você vai receber um aviso no console, e é recomendável migrar para uma versão mais recente assim que possível. Para mais informações, consulte a documentação Cloud Run do ciclo de vida do runtime.
- Runtimes desativados:os runtimes 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 execução em versões desativadas podem parar de funcionar, e o Cloud Run se reserva o direito de excluí-las.
Para uma lista completa de versões do Node compatíveis, descontinuadas e desativadas, consulte a documentação de suporte ao ambiente de execução do Cloud Run. Para mais detalhes técnicos sobre como as atualizações de imagens de base funcionam, consulte a documentação do ABIU do Cloud Run.
Gerenciadores de pacotes
O App Hosting usa buildpacks nativos da nuvem para executar a instalação de dependências e criar o app usando npm, yarn ou pnpm. Outros gerenciadores de pacotes, como o JSR, não são compatíveis.
NPM
- O NPM é o gerenciador de pacotes padrão.
- As dependências de não produção são removidas após a conclusão do build.
- É 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. - O App Hosting é compatível com o 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 arquivopackage.json. - Para um exemplo prático, confira o sample-node-pnpm. do app.
Monorepos para App Hosting
O App Hosting é compatível com apps baseados em Nx. Consulte Usar monorepos com App Hosting para orientações detalhadas.
As seguintes versões do Nx são compatíveis:
| 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 09/10/2025 |
| 20.1.x | ativo | não antes de 09/10/2025 |
| 20.2.x | ativo | não antes de 09/10/2025 |
| 20.3.x | ativo | não antes de 09/10/2025 |
| 20.4.x | ativo | não antes de 09/10/2025 |
| 20.5.x | ativo | não antes de 09/10/2025 |
| 20.6.x | ativo | não antes de 09/10/2025 |
| 20.7.x | ativo | — |
Se você precisar de suporte para outros tipos de espaços de trabalho de monorepo, entre em contato com a UserVoice do Firebase.