# Compatibilidade com frameworks

A Azion faz o build de um projeto de framework por meio de um preset, um conjunto de configurações de build padrão para um framework ou uma linguagem. [Azion Bundler](https://github.com/aziontech/bundler) é o framework adapter que executa o build: o `azion build` chama o Azion Bundler com o preset do projeto e prepara a saída para rodar no Azion Runtime. O Azion Bundler é um projeto de código aberto e aceita contribuições da comunidade para dar suporte a mais frameworks JavaScript.

Você inicia um projeto de framework a partir de um template do [Azion Marketplace](/pt-br/documentacao/plataforma/marketplace/), de um repositório do GitHub ou com a [Azion CLI](/pt-br/documentacao/devtools/cli/). O guia de cada framework documenta as rotas que funcionam para ele.

---

## Frameworks e presets

Cada linha indica o preset com o qual a Azion CLI faz o build do framework, como o `azion list presets` o imprime. Em uma aplicação estática, o deploy envia os arquivos do build para um bucket de storage, e uma [application](/pt-br/documentacao/plataforma/applications/) serve esses arquivos. Uma [function](/pt-br/documentacao/plataforma/functions/) executa o código de servidor do projeto em cada requisição que recebe. Um traço marca um framework sem guia de build, cuja linha aponta para os guias dos templates dele.

| Framework                   | Preset       | Roda na Azion como                                        | Guia                                                                                                                                                                                                                                                                                                                                |
| --------------------------- | ------------ | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Angular                     | `angular`    | Aplicação estática                                        | [Desenvolva com Angular](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/angular/)                                                                                                                                                                                                                               |
| Astro                       | `astro`      | Aplicação estática                                        | [Desenvolva com Astro](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/astro/)                                                                                                                                                                                                                                   |
| Docusaurus                  | `docusaurus` | Aplicação estática                                        | [Desenvolva com Docusaurus](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/docusaurus/)                                                                                                                                                                                                                         |
| Eleventy                    | `eleventy`   | Aplicação estática                                        | [Desenvolva com Eleventy](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/eleventy/)                                                                                                                                                                                                                             |
| Gatsby                      | `gatsby`     | Aplicação estática                                        | [Desenvolva com Gatsby](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/gatsby/)                                                                                                                                                                                                                                 |
| Hexo                        | `hexo`       | Aplicação estática                                        | [Desenvolva com Hexo](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/hexo/)                                                                                                                                                                                                                                     |
| Hono                        | `typescript` | Function, sem bucket de storage                           | [Desenvolva com Hono](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/hono/)                                                                                                                                                                                                                                     |
| Hugo                        | `hugo`       | Aplicação estática                                        | [Desenvolva com Hugo](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/hugo/)                                                                                                                                                                                                                                     |
| Jekyll                      | `jekyll`     | Aplicação estática                                        | [Desenvolva com Jekyll](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/jekyll/)                                                                                                                                                                                                                                 |
| Next.js                     | `next`       | Assets estáticos em um bucket de storage e uma function   | [Desenvolva com Next.js](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/next/) e [Versões do Next.js](/pt-br/documentacao/devtools/runtime/frameworks/nextjs-compatibility/) para as versões e os recursos suportados                                                                                           |
| Nextal, um template Next.js | `opennextjs` | Assets estáticos em um bucket de storage e uma function   | [Desenvolva com Nextal](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/nextal/)                                                                                                                                                                                                                                 |
| Nuxt                        | `nuxt`       | —                                                         | Templates: [Nuxt 3 Static Boilerplate](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/nuxt-static-boilerplate/), [Nuxt Notes](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/nuxt-notes/), [Nuxt Content](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/nuxt-content/) |
| Preact                      | `preact`     | —                                                         | Templates: [Preact TypeScript Boilerplate](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/preact-typescript-boilerplate/), [Preact JavaScript Boilerplate](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/preact-javascript-boilerplate/)                                                   |
| Qwik                        | `qwik`       | —                                                         | Templates: [Qwik Minimal](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/qwik-minimal/), [Qwik Boilerplate](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/qwik-boilerplate/)                                                                                                               |
| React                       | `react`      | Aplicação estática                                        | [Desenvolva com React](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/react/)                                                                                                                                                                                                                                   |
| Svelte                      | `svelte`     | Arquivos estáticos em um bucket de storage e uma function | [Desenvolva com Svelte](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/svelte/)                                                                                                                                                                                                                                 |
| VitePress                   | `vitepress`  | Aplicação estática                                        | [Desenvolva com VitePress](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/vite/)                                                                                                                                                                                                                                |
| Vue                         | `vue`        | Aplicação estática                                        | [Desenvolva com Vue](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/vue/)                                                                                                                                                                                                                                       |
| VuePress                    | `vuepress`   | —                                                         | Template: [VuePress Boilerplate](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/frameworks/vuepress-boilerplate/)                                                                                                                                                                                                          |

Quando um framework tem templates no Console, o guia dele lista esses templates e aponta para os que têm um guia próprio. Nuxt, Preact, Qwik e VuePress não têm guia de build, então as linhas deles apontam diretamente para os guias dos templates.

Toda rota da CLI exige Node.js 18 ou posterior e npm. Três linhas diferem das demais:

- **Hono** é uma entrada do seletor de presets do `azion init`, e o `azion list presets` não imprime esse nome. Um projeto Hono faz o build com o preset `typescript`.
- **Jekyll** também exige Ruby e Bundler na sua máquina. O preset `jekyll` executa `bundle install && bundle exec jekyll build`, então a versão do Bundler que o `Gemfile.lock` indica precisa estar instalada.
- **Hugo** não exige uma instalação separada quando você parte do Hugo Boilerplate, que instala o Hugo como uma dependência npm.

A lista **Preset** da importação do GitHub no Azion Console inclui Next.js, Angular, Astro, Hexo, React e Vue. Para todos os campos dessa rota, consulte [Importe um projeto do GitHub](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/automacao/importar-um-projeto-existente-do-github/).

---

## Outros presets

A Azion CLI também faz o build de projetos que não usam um framework:

| Preset       | Projeto                                |
| ------------ | -------------------------------------- |
| `javascript` | Uma function escrita em JavaScript     |
| `typescript` | Uma function escrita em TypeScript     |
| `emscripten` | C++ compilado com Emscripten           |
| `rustwasm`   | Rust                                   |
| `html`       | Um site HTML que serve a pasta `./www` |

O preset `html` não é uma entrada do seletor do `azion init`. Para configurar um site HTML, execute `azion link --preset html`. A lista também inclui `nitro` e `stencil`. Vue3/Vite é um template do preset `vue`, não um preset. Para a lista completa e o comando que a imprime, consulte [Azion CLI presets](/pt-br/documentacao/devtools/cli/recursos/presets/).

---

## Recursos relacionados

- [Azion CLI presets](/pt-br/documentacao/devtools/cli/recursos/presets.md): O comando que lista todos os nomes de preset que o `azion link` e o `azion build` aceitam.
- [Azion CLI init](/pt-br/documentacao/devtools/cli/init.md): O comando que inicia um projeto pelos seletores de preset e de template.
- [Versões do Next.js](/pt-br/documentacao/devtools/runtime/frameworks/nextjs-compatibility.md): As versões e os recursos do Next.js que rodam na Azion.
- [Use APIs do Node.js com polyfills](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/functions-e-runtime/use-polyfills.md): Como um projeto acessa APIs do Node.js por meio dos polyfills que o Azion Bundler resolve.
