Frameworks compatibility
The frameworks Azion builds and deploys, the Azion CLI preset each one uses, how it runs on Azion Runtime, and the guide that deploys it.
Azion builds a framework project through a preset, a set of default build settings for one framework or language. Azion 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, from a GitHub repository, or with the Azion 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 serves them. A function 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 |
| Astro | astro | Static application | Build with Astro |
| Docusaurus | docusaurus | Static application | Build with Docusaurus |
| Eleventy | eleventy | Static application | Build with Eleventy |
| Gatsby | gatsby | Static application | Build with Gatsby |
| Hexo | hexo | Static application | Build with Hexo |
| Hono | typescript | Function, with no storage bucket | Build with Hono |
| Hugo | hugo | Static application | Build with Hugo |
| Jekyll | jekyll | Static application | Build with Jekyll |
| Next.js | next | Static assets in a storage bucket and a function | Build with Next.js, and Next.js versions for the supported versions and features |
| Nextal, a Next.js template | opennextjs | Static assets in a storage bucket and a function | Build with Nextal |
| Nuxt | nuxt | — | Templates: Nuxt 3 Static Boilerplate, Nuxt Notes, Nuxt Content |
| Preact | preact | — | Templates: Preact TypeScript Boilerplate, Preact JavaScript Boilerplate |
| Qwik | qwik | — | Templates: Qwik Minimal, Qwik Boilerplate |
| React | react | Static application | Build with React |
| Svelte | svelte | Static files in a storage bucket and a function | Build with Svelte |
| VitePress | vitepress | Static application | Build with VitePress |
| Vue | vue | Static application | Build with Vue |
| VuePress | vuepress | — | Template: 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 initpreset picker, andazion list presetsdoes not print it. A Hono project builds with thetypescriptpreset. - Jekyll also needs Ruby and Bundler on your machine. The
jekyllpreset runsbundle install && bundle exec jekyll build, so the Bundler version thatGemfile.locknames 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.
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.