0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
astro/packages/integrations/vercel
github-actions[bot] 8d8433ee50
[ci] release (#3182)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-04-26 16:49:09 -04:00
..
src fix(vercel): trailingSlash fix for non-html pages (#3185) 2022-04-26 16:00:26 -04:00
CHANGELOG.md [ci] release (#3182) 2022-04-26 16:49:09 -04:00
package.json [ci] release (#3182) 2022-04-26 16:49:09 -04:00
README.md Update Vercel adapter readme 2022-04-21 14:31:45 -07:00
tsconfig.json

@astrojs/vercel

Deploy your server-side rendered (SSR) Astro app to Vercel.

Use this integration in your Astro configuration file:

import { defineConfig } from 'astro/config';
import vercel from '@astrojs/vercel';

export default defineConfig({
	adapter: vercel()
});

When you build your project, Astro will know to use the .output folder format that Vercel expects.

astro build

That's it! You can deploy by CLI (vercel deploy) or by connecting your new repo in the Vercel Dashboard.

Requirements

Vercel's File System API must be enabled. You must enable it yourself by setting the environment variable: ENABLE_FILE_SYSTEM_API=1.

// vercel.json
{
  "build": {
    "env": {
      "ENABLE_FILE_SYSTEM_API": "1"
    }
  }
}

Learn more about setting enviroment variables in Vercel.

Limitations

A few known complex packages (example: puppeteer) do not support bundling and therefore will not work properly with this adapter. By default, Vercel doesn't include npm installed files & packages from your project's ./node_modules folder. To address this, the @astrojs/vercel adapter automatically bundles your final build output using esbuild.