0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
astro/packages/integrations/cloudflare
Ben Holmes b012ee55b1
[astro add] Support adapters and third party packages (#3854)
* feat: support adapters and third part integrations by keywords

* refactor: add keywords to all official integrations

* docs: add adapter ex to astro add help

* nit: clarify astro add usage

* nit: highlight link

* fix: use process.exit(1) on error

* chore: changeset

* nit: bold integration name

* fix: log install instructions for adapters instead

* nit: change to logAdapterConfigInstructions

* Revert "fix: log install instructions for adapters instead"

This reverts commit 1a459f152b.

* feat: add hardcoded adapter export map

* refactor: inline adapter config log
2022-07-08 16:55:33 -04:00
..
src Adding an option to disable HTTP streaming (#3777) 2022-07-01 02:29:59 +00:00
CHANGELOG.md [ci] release (#3783) 2022-07-01 03:09:17 +00:00
package.json [astro add] Support adapters and third party packages (#3854) 2022-07-08 16:55:33 -04:00
README.md Fixed broken Markdown link (#3868) 2022-07-08 14:47:16 -05:00
tsconfig.json feat: add SSR adaptor for cloudflare pages functions (#3600) 2022-06-16 10:12:25 -04:00

@astrojs/cloudflare

An SSR adapter for use with Cloudflare Pages Functions targets. Write your code in Astro/Node and deploy to Cloudflare Pages.

In your astro.config.mjs use:

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

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

Enabling Preview

In order for preview to work you must install wrangler

$ pnpm install wrangler --save-dev

It's then possible to update the preview script in your package.json to "preview": "wrangler pages dev ./dist"

Streams

Some integrations such as React rely on web streams. Currently Cloudflare Pages functions are in beta and don't support the streams_enable_constructors feature flag.

In order to work around this:

  • install the "web-streams-polyfill" package
  • add import "web-streams-polyfill/es2018"; to the top of the front matter of every page which requires streams, such as server rendering a React component.