astro-lambda-adapter

0.1.2 • Public • Published

astro-lambda-adapter

The primary objective here is to map a APIGatewayProxyEventV2 received in a Lambda to an Astro/Node.js Request and then Astro's Response to APIGatewayProxyResult.

See ./src/server.ts.

Astro SSR AWS Lambda Adapter

⚠️ Still really early days on this one. Request body still unsupported. No deploys with complex Astro apps. Generally untested. Feedback and PRs welcome.

npm i astro-lambda-adapter
// ./astro.config.js
import { defineConfig } from 'astro/config';
import awsAdapter from 'astro-lambda-adapter';

export default defineConfig({
	adapter: awsAdapter(),
	outDir: './myLambda/dist',
});
// ./myLambda/index.mjs
import { handler as ssrHandler } from './dist/server/entry.mjs';

export async function handler(event) {
	console.log(`🚀 ${event.requestContext.http.method}: ${event.rawPath}`);
	return await ssrHandler(event);
}
---
// ./src/pages/index.astro
const RANDOM = Math.floor(Math.random() * 100) + 1;
---
<html lang="en">
	<head>
		<title>Astro on Lambda</title>
	</head>
	<body>
		<h1>Astro on Lambda</h1>
		<p>Random: <code>{RANDOM}</code></p>
	</body>
</html>

📜 This integration doesn't modify how Astro uses Vite to build and bundle your app. You may find it beneficial to configure Vite via Astro to optimize the build for Lambda.

Readme

Keywords

Package Sidebar

Install

npm i astro-lambda-adapter

Weekly Downloads

1

Version

0.1.2

License

MIT

Unpacked Size

4.12 kB

Total Files

4

Last publish

Collaborators

  • tbeseda