* Start of work on astroConfig.mode === 'server' * Add tests and more * adapter -> deploy in some places * Add fallback for `adapter` config * Update more tests * Update image tests * Fix clientAddress test * Updates based on PR review * Add a changeset * Update integrations tests + readme * Oops * Remove old option * Rename `mode` to `output` * Update Node adapter test * Update test * fred pass * fred pass * fred pass * fix test Co-authored-by: Fred K. Schott <fkschott@gmail.com>
1.5 KiB
astro | @astrojs/cloudflare | @astrojs/deno | @astrojs/image | @astrojs/netlify | @astrojs/node | @astrojs/sitemap | @astrojs/vercel |
---|---|---|---|---|---|---|---|
minor | minor | minor | minor | minor | minor | minor | minor |
New output
configuration option
This change introduces a new "output target" configuration option (output
). Setting the output target lets you decide the format of your final build, either:
"static"
(default): A static site. Your final build will be a collection of static assets (HTML, CSS, JS) that you can deploy to any static site host."server"
: A dynamic server application. Your final build will be an application that will run in a hosted server environment, generating HTML dynamically for different requests.
If output
is omitted from your config, the default value "static"
will be used.
When using the "server"
output target, you must also include a runtime adapter via the adapter
configuration. An adapter will adapt your final build to run on the deployed platform of your choice (Netlify, Vercel, Node.js, Deno, etc).
To migrate: No action is required for most users. If you currently define an adapter
, you will need to also add output: 'server'
to your config file to make it explicit that you are building a server. Here is an example of what that change would look like for someone deploying to Netlify:
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify/functions';
export default defineConfig({
adapter: netlify(),
+ output: 'server',
});