Metadata-Version: 2.1
Name: aws_prototyping_sdk.cloudscape_react_ts_website
Version: 0.7.6
Summary: @aws-prototyping-sdk/cloudscape-react-ts-website
Home-page: https://github.com/aws/aws-prototyping-sdk
Author: AWS APJ COPE<apj-cope@amazon.com>
License: Apache-2.0
Project-URL: Source, https://github.com/aws/aws-prototyping-sdk
Platform: UNKNOWN
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: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved
Requires-Python: ~=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

## Getting started

To create a new [Cloudscape](https://cloudscape.design/) React Typescript Project, there are a couple of options:

### Via Projen CLI

```
npx projen new --from @aws-prototyping-sdk/cloudscape-react-ts-website cloudscape-react-ts-website [--application-name <your-app>]
```

### Programmatically

```python
new CloudscapeReactTsWebsiteProject({
    defaultReleaseBranch: "mainline",
    name: "<name-of-package>",
    applicationName: "<name-of-app>",
});
```

### Running your synthesized Application

To run your synthesized application locally, run `npx projen dev`.

## Developer Notes

To enable Cognito auth, ensure you have a runtime-config.json file in the root of your deployed project which at least contains the following:

```json
{
    "region": "<aws-region>",
    "identityPoolId":"<identity-pool-id>",
    "userPoolId":"<user-pool-id>",
    "userPoolWebClientId":"<user-pool-web-client-id>"
}
```

The easiest way to get this set up is to use the static-website + identity packages to deploy your website.

An example of how to do this is as follows:

```python
const userIdentity = new UserIdentity(this, 'UserIdentity');
new StaticWebsite(this, 'StaticWebsite', {
    websiteContentPath: '<relative>/<path>/<to>/<built>/<website>',
    runtimeOptions: {
        jsonPayload: {
            region: Stack.of(this).region,
            identityPoolId: userIdentity.identityPool.identityPoolId,
            userPoolId: userIdentity.userPool?.userPoolId,
            userPoolWebClientId: userIdentity.userPoolClient?.userPoolClientId,
        }
    },
});
```

For local development, you will need to copy the generated runtime-config.json file into your /public directory. An example on how to do this is as follows:

```
curl https://dxxxxxxxxxx.cloudfront.net/runtime-config.json > public/runtime-config.json
```


