# Frameworks compatibility

Azion builds a framework project through a preset, a set of default build settings for one framework or language. [Azion Bundler](https://github.com/aziontech/bundler) is the framework adapter that runs the build: `azion build` calls it with the project's preset and prepares the output to run on Azion Runtime. Azion Bundler is an open-source project, and it accepts community contributions to support more JavaScript frameworks.

You start a framework project from a template in [Azion Marketplace](/en/documentation/platform/marketplace/), from a GitHub repository, or with the [Azion CLI](/en/documentation/devtools/cli/). The guide of each framework documents the routes that work for it.

---

## Frameworks and presets

Each row names the preset the Azion CLI builds the framework with, as `azion list presets` prints it. For a static application, the deploy uploads the built files to a storage bucket, and an [application](/en/documentation/platform/applications/) serves them. A [function](/en/documentation/platform/functions/) runs the server code of the project on every request it receives. A dash marks a framework with no build guide, whose rows link its template guides instead.

| Framework                  | Preset       | Runs on Azion as                                 | Guide                                                                                                                                                                                                                                                                                                          |
| -------------------------- | ------------ | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Angular                    | `angular`    | Static application                               | [Build with Angular](/en/documentation/guides/application-development/frameworks/angular/)                                                                                                                                                                                                                     |
| Astro                      | `astro`      | Static application                               | [Build with Astro](/en/documentation/guides/application-development/frameworks/astro/)                                                                                                                                                                                                                         |
| Docusaurus                 | `docusaurus` | Static application                               | [Build with Docusaurus](/en/documentation/guides/application-development/frameworks/docusaurus/)                                                                                                                                                                                                               |
| Eleventy                   | `eleventy`   | Static application                               | [Build with Eleventy](/en/documentation/guides/application-development/frameworks/eleventy/)                                                                                                                                                                                                                   |
| Gatsby                     | `gatsby`     | Static application                               | [Build with Gatsby](/en/documentation/guides/application-development/frameworks/gatsby/)                                                                                                                                                                                                                       |
| Hexo                       | `hexo`       | Static application                               | [Build with Hexo](/en/documentation/guides/application-development/frameworks/hexo/)                                                                                                                                                                                                                           |
| Hono                       | `typescript` | Function, with no storage bucket                 | [Build with Hono](/en/documentation/guides/application-development/frameworks/hono/)                                                                                                                                                                                                                           |
| Hugo                       | `hugo`       | Static application                               | [Build with Hugo](/en/documentation/guides/application-development/frameworks/hugo/)                                                                                                                                                                                                                           |
| Jekyll                     | `jekyll`     | Static application                               | [Build with Jekyll](/en/documentation/guides/application-development/frameworks/jekyll/)                                                                                                                                                                                                                       |
| Next.js                    | `next`       | Static assets in a storage bucket and a function | [Build with Next.js](/en/documentation/guides/application-development/frameworks/next/), and [Next.js versions](/en/documentation/devtools/runtime/frameworks/nextjs-compatibility/) for the supported versions and features                                                                                   |
| Nextal, a Next.js template | `opennextjs` | Static assets in a storage bucket and a function | [Build with Nextal](/en/documentation/guides/application-development/frameworks/nextal/)                                                                                                                                                                                                                       |
| Nuxt                       | `nuxt`       | —                                                | Templates: [Nuxt 3 Static Boilerplate](/en/documentation/guides/application-development/frameworks/nuxt-static-boilerplate/), [Nuxt Notes](/en/documentation/guides/application-development/frameworks/nuxt-notes/), [Nuxt Content](/en/documentation/guides/application-development/frameworks/nuxt-content/) |
| Preact                     | `preact`     | —                                                | Templates: [Preact TypeScript Boilerplate](/en/documentation/guides/application-development/frameworks/preact-typescript-boilerplate/), [Preact JavaScript Boilerplate](/en/documentation/guides/application-development/frameworks/preact-javascript-boilerplate/)                                            |
| Qwik                       | `qwik`       | —                                                | Templates: [Qwik Minimal](/en/documentation/guides/application-development/frameworks/qwik-minimal/), [Qwik Boilerplate](/en/documentation/guides/application-development/frameworks/qwik-boilerplate/)                                                                                                        |
| React                      | `react`      | Static application                               | [Build with React](/en/documentation/guides/application-development/frameworks/react/)                                                                                                                                                                                                                         |
| Svelte                     | `svelte`     | Static files in a storage bucket and a function  | [Build with Svelte](/en/documentation/guides/application-development/frameworks/svelte/)                                                                                                                                                                                                                       |
| VitePress                  | `vitepress`  | Static application                               | [Build with VitePress](/en/documentation/guides/application-development/frameworks/vite/)                                                                                                                                                                                                                      |
| Vue                        | `vue`        | Static application                               | [Build with Vue](/en/documentation/guides/application-development/frameworks/vue/)                                                                                                                                                                                                                             |
| VuePress                   | `vuepress`   | —                                                | Template: [VuePress Boilerplate](/en/documentation/guides/application-development/frameworks/vuepress-boilerplate/)                                                                                                                                                                                            |

Where a framework has Console templates, its guide lists them and links the ones that have a guide of their own. Nuxt, Preact, Qwik, and VuePress have no build guide, so their rows link the template guides directly.

Every CLI route needs Node.js 18 or later and npm. Three rows differ from the rest:

- **Hono** is an entry of the `azion init` preset picker, and `azion list presets` does not print it. A Hono project builds with the `typescript` preset.
- **Jekyll** also needs Ruby and Bundler on your machine. The `jekyll` preset runs `bundle install && bundle exec jekyll build`, so the Bundler version that `Gemfile.lock` names must be installed.
- **Hugo** needs no separate install when you start from Hugo Boilerplate, which installs Hugo as an npm dependency.

The **Preset** list of the GitHub import in Azion Console carries Next.js, Angular, Astro, Hexo, React, and Vue. For every field of that route, refer to [Import a project from GitHub](/en/documentation/guides/application-development/automation/import-an-existing-project-from-github/).

---

## Other presets

The Azion CLI also builds projects that use no framework:

| Preset       | Project                                     |
| ------------ | ------------------------------------------- |
| `javascript` | A function written in JavaScript            |
| `typescript` | A function written in TypeScript            |
| `emscripten` | C++ compiled with Emscripten                |
| `rustwasm`   | Rust                                        |
| `html`       | An HTML site that serves the `./www` folder |

The `html` preset is not an entry of the `azion init` picker. To set up an HTML site, run `azion link --preset html`. The list also carries `nitro` and `stencil`. Vue3/Vite is a template of the `vue` preset, not a preset. For the full list and the command that prints it, refer to [Azion CLI presets](/en/documentation/devtools/cli/resources/presets/).

---

## Related resources

- [Azion CLI presets](/en/documentation/devtools/cli/resources/presets.md): The command that lists every preset name that `azion link` and `azion build` take.
- [Azion CLI init](/en/documentation/devtools/cli/init.md): The command that starts a project from its preset and template pickers.
- [Next.js versions](/en/documentation/devtools/runtime/frameworks/nextjs-compatibility.md): The Next.js versions and features that run on Azion.
- [Use Node.js APIs through polyfills](/en/documentation/guides/application-development/functions-and-runtime/use-polyfills.md): How a project reaches Node.js APIs through the polyfills that Azion Bundler resolves.
