https://github.com/sst/astro-sst
https://github.com/sst/astro-sst
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sst/astro-sst
- Owner: sst
- Created: 2024-12-13T23:31:34.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-05-13T00:15:29.000Z (5 months ago)
- Last Synced: 2025-06-08T01:10:30.203Z (4 months ago)
- Language: TypeScript
- Size: 130 KB
- Stars: 10
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# astro-sst
This adapter allows Astro to deploy your SSR or static site to [AWS](https://aws.amazon.com/).
## Installation
Add the AWS adapter to enable SST in your Astro project with the following `astro add` command. This will install the adapter and make the appropriate changes to your `astro.config.mjs` file in one step.
```sh
# Using NPM
npx astro add astro-sst
# Using Yarn
yarn astro add astro-sst
# Using PNPM
pnpm astro add astro-sst
```If you prefer to install the adapter manually instead, complete the following two steps:
1. Install the AWS adapter to your project's dependencies using your preferred package manager. If you're using npm or aren't sure, run this in the terminal:
```bash
npm install astro-sst
```1. Add two new lines to your `astro.config.mjs` project configuration file.
```js title="astro.config.mjs" ins={2, 5-6}
import { defineConfig } from "astro/config";
import aws from "astro-sst";export default defineConfig({
output: "server",
adapter: aws(),
});
```### Response Mode
When utilizing `server` output, you can choose how responses are handled:
- `buffer`: Responses are buffered and sent as a single response. (_default_)
- `stream`: Responses are streamed as they are generated.```js title="astro.config.mjs" ins={2, 5-6}
import { defineConfig } from "astro/config";
import aws from "astro-sst";export default defineConfig({
output: "server",
adapter: aws({
responseMode: "stream",
}),
});
```## Upgrading from v2
If you're upgrading from v2 of this adapter, here are the key changes to be aware of:
1. Remove the `deploymentStrategy` option from `astro.config.mjs`. Instead, the `output` setting in your Astro config is now used to determine the deployment type:
- If you previously used `deploymentStrategy: "regional"`, now set `output: "server"` in `astro.config.mjs`.
- If you previously used `deploymentStrategy: "edge"`, now set `output: "server"` in `astro.config.mjs`. Update SST to v3.9.25 or later. And configure [`regions`](https://sst.dev/docs/component/aws/astro#regions) on your Astro component.
- If you previously used `deploymentStrategy: "static"`, now set `output: "static"` in `astro.config.mjs`.2. Remove the `serverRoutes` option from `astro.config.mjs`