Metadata-Version: 2.1
Name: astrojs-aws.construct
Version: 0.0.9
Summary: The CDK Construct Library of Astro
Home-page: https://astro-aws.org/
Author: helbing
License: MIT
Project-URL: Source, https://github.com/helbing/astrojs-aws.git
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved
Requires-Python: ~=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aws-cdk-lib (<3.0.0,>=2.73.0)
Requires-Dist: aws-cdk.aws-apigatewayv2-alpha (<3.0.0,>=2.73.0.a0)
Requires-Dist: aws-cdk.aws-apigatewayv2-integrations-alpha (<3.0.0,>=2.73.0.a0)
Requires-Dist: constructs (<11.0.0,>=10.1.307)
Requires-Dist: jsii (<2.0.0,>=1.80.0)
Requires-Dist: publication (>=0.0.3)
Requires-Dist: typeguard (~=2.13.3)

# Astro Construct Library

<!--BEGIN STABILITY BANNER-->---


![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)

> The APIs of higher level constructs in this module are experimental and under active development.
> They are subject to non-backward compatible changes or removal in any future version. These are
> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be
> announced in the release notes. This means that while you may use them, you may need to update
> your source code when upgrading to a newer version of this package.

---
<!--END STABILITY BANNER-->

## Introduction

[Astro](https://astro.build/) is the all-in-one web framework designed for speed. This library is supported modes, `static`, `lambda` and `edge`, to deploy astro website to AWS.

## Architecture

### Static

![static](https://raw.githubusercontent.com/helbing/astrojs-aws/main/docs/static/architecture/static.png)

### Lambda

![lambda](https://raw.githubusercontent.com/helbing/astrojs-aws/main/docs/static/architecture/lambda.png)

### Edge

![edge](https://raw.githubusercontent.com/helbing/astrojs-aws/main/docs/static/architecture/edge.png)

## Static Mode

```python
const site = new astrojsaws.StaticAstroSite(this, "AstroSite", {
  staticDir: "/path/to/dist",
})
```

## Lambda Mode

```python
const site = new astrojsaws.LambdaAstroSite(this, "AstroSite", {
  serverEntry: "/path/to/dist/server/entry.mjs",
  staticDir: "/path/to/dist/client",
})
```

## Edge Mode

```python
const site = new astrojsaws.EdgeAstroSite(this, "AstroSite", {
  serverEntry: "/path/to/dist/server/entry.mjs",
  staticDir: "/path/to/dist/client",
})
```
