astro/packages/integrations/vercel/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

45 lines
1.4 KiB
Markdown
Raw Normal View History

2022-03-30 02:11:27 +00:00
# @astrojs/vercel
2022-03-28 13:05:55 +00:00
2022-03-30 02:11:27 +00:00
Deploy your server-side rendered (SSR) Astro app to [Vercel](https://www.vercel.com/).
2022-03-28 13:05:55 +00:00
2022-03-30 02:11:27 +00:00
Use this integration in your Astro configuration file:
2022-03-28 13:05:55 +00:00
```js
import { defineConfig } from 'astro/config';
2022-03-30 02:11:27 +00:00
import vercel from '@astrojs/vercel';
2022-03-28 13:05:55 +00:00
export default defineConfig({
2022-03-31 18:12:43 +00:00
adapter: vercel()
2022-03-28 13:05:55 +00:00
});
```
2022-04-21 21:31:45 +00:00
When you build your project, Astro will know to use the `.output` folder format that Vercel expects.
2022-03-28 13:05:55 +00:00
2022-04-21 21:31:45 +00:00
```
astro build
```
That's it! You can deploy by CLI (`vercel deploy`) or by connecting your new repo in the [Vercel Dashboard](https://vercel.com/).
## Requirements
2022-03-28 13:05:55 +00:00
2022-04-21 21:31:45 +00:00
**Vercel's [File System API](https://vercel.com/docs/file-system-api/v2) must be enabled.** You must enable it yourself by setting the environment variable: `ENABLE_FILE_SYSTEM_API=1`.
```js
// vercel.json
{
"build": {
"env": {
"ENABLE_FILE_SYSTEM_API": "1"
}
}
}
2022-03-28 13:05:55 +00:00
```
2022-04-21 21:24:09 +00:00
2022-04-21 21:31:45 +00:00
[Learn more about setting enviroment variables in Vercel](https://vercel.com/docs/concepts/projects/environment-variables).
2022-04-21 21:24:09 +00:00
## Limitations
2022-04-21 21:31:45 +00:00
**A few known complex packages (example: [puppeteer](https://github.com/puppeteer/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`.