@astrojs/vercel
๐ฟ Minor Changes
- #5638
a467139e1Thanks @andreademasi! - Ignore warnings when traced file fails to parse
- #5638
๐ฟ Minor Changes
-
#5056
e55af8a23Thanks @matthewp! - # New build configurationThe ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for
server(the server code for SSR),client(your client-side JavaScript and assets), andserverEntry(the name of the entrypoint server module). Here are the defaults:import { defineConfig } from 'astro/config';export default defineConfig({output: 'server',build: {server: './dist/server/',client: './dist/client/',serverEntry: 'entry.mjs',},});These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
The integration hook
astro:build:startincludes a parambuildConfigwhich includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the newbuild.configoptions. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:export default function myIntegration() {return {name: 'my-integration',hooks: {'astro:config:setup': ({ updateConfig }) => {updateConfig({build: {server: '...',},});},},};}
-
๐ฟ Minor Changes
-
#4876
d3091f89eThanks @matthewp! - Adds the Astro.cookies APIAstro.cookiesis a new API for manipulating cookies in Astro components and API routes.In Astro components, the new
Astro.cookiesobject is a map-like object that allows you to get, set, delete, and check for a cookieโs existence (has):---type Prefs = {darkMode: boolean;};Astro.cookies.set<Prefs>('prefs',{ darkMode: true },{expires: '1 month',});const prefs = Astro.cookies.get<Prefs>('prefs').json();---<body data-theme={prefs.darkMode ? 'dark' : 'light'}></body>Once youโve set a cookie with Astro.cookies it will automatically be included in the outgoing response.
This API is also available with the same functionality in API routes:
export function post({ cookies }) {cookies.set('loggedIn', false);return new Response(null, {status: 302,headers: {Location: '/login',},});}See the RFC to learn more.
-
๐ Patch Changes
- #4558
742966456Thanks @tony-sull! - Adding thewithastrokeyword to include the adapters on the Integrations Catalog
- #4558
๐ Patch Changes
- #4421
7820096e1Thanks @bholmesdev! - Fix react-dom on Vercel edge
- #4421
โจ Major Changes
-
04ad44563- > Astro v1.0 is out! Read the official announcement post.No breaking changes. This package is now officially stable and compatible with
astro@1.0.0!
๐ Patch Changes
- Updated dependencies [
04ad44563]:- @astrojs/webapi@1.0.0
-
๐ฟ Minor Changes
-
#4015
6fd161d76Thanks @matthewp! - Newoutputconfiguration optionThis 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
outputis 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 theadapterconfiguration. 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 addoutput: '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',}); -
#4018
0cc6ede36Thanks @okikio! - Support for 404 and 500 pages in SSR -
#3973
5a23483efThanks @matthewp! - Adds support for Astro.clientAddressThe new
Astro.clientAddressproperty allows you to get the IP address of the requested user.<div>Your address { Astro.clientAddress }</div>This property is only available when building for SSR, and only if the adapter you are using supports providing the IP address. If you attempt to access the property in a SSG app it will throw an error.
-
#4020
1666fdb4cThanks @JuanM04! - Removed requirement forENABLE_VC_BUILD=1, since Build Output v3 is now stable. Learn more.
-