Skip to content

san4d/astro-sst

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

astro-sst

This adapter allows Astro to deploy your SSR or static site to AWS.

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.

# 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:

      npm install astro-sst
  2. Add two new lines to your astro.config.mjs project configuration file.

    import { defineConfig } from "astro/config";
    import aws from "astro-sst";
    
    export default defineConfig({
      output: "server",
      adapter: aws(),
    });

Deployment Strategies

You can utilize different deployment depending on your needs:

You can change where to target by changing the import:

import { defineConfig } from "astro/config";
import aws from "astro-sst";

export default defineConfig({
  output: "server",
  adapter: aws({
    deploymentStrategy: "edge",
  }),
});

Response Mode

When utilizing regional deployment strategy, 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.
import { defineConfig } from "astro/config";
import aws from "astro-sst";

export default defineConfig({
  output: "server",
  adapter: aws({
    deploymentStrategy: "regional",
    responseMode: "stream",
  }),
});

Server Routes

When utilizing regional deployment strategy, server routes should be defined for any routes utilizing non-GET methods:

import { defineConfig } from "astro/config";
import aws from "astro-sst";

export default defineConfig({
  output: "server",
  adapter: aws({
    deploymentStrategy: "regional",
    serverRoutes: [
      "feedback", // Feedback page which requires POST method
      "login",    // Login page which requires POST method
      "user/*",   // Directory of user routes which are all SSR
      "api/*",    // Directory of API endpoints which require all methods
    ],
  }),
});

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.5%
  • JavaScript 0.5%