Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aws-samples/smithy-server-generator-typescript-sample


https://github.com/aws-samples/smithy-server-generator-typescript-sample

Last synced: 26 days ago
JSON representation

Awesome Lists containing this project

README

        

## Smithy Server Generator for TypeScript Example Service

### Overview

This repository is divided into three projects:

- `model` contains the Smithy model for the service.
- `typescript-client` contains the generated TypeScript client generated from `model`.
- `server` contains the service, written in TypeScript, for `model`.

### Building

#### Prerequisites

Before beginning:
- Install
- [JDK](https://aws.amazon.com/corretto/) >= 8
- [NodeJS](https://nodejs.org/en/download/) >= 14
- [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/cli.html)
- Enable [corepack](https://nodejs.org/api/corepack.html#enabling-the-feature) by running `corepack enable`
- Set up an [AWS account](https://portal.aws.amazon.com/billing/signup) if you do not have one
- [Configure your workstation](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html#getting_started_prerequisites)
so the CDK can use your account

### Getting started

1. After the first checkout, you will need to kick off the initial code generation and build by running:
```bash
./gradlew build && yarn install && yarn build
```
After this initial build, `yarn build` in the root of the project will regenerate the client and server and recompile
all of the code.
2. To deploy the service, switch to the `server` directory and run `cdk deploy`. When complete, the CDK will print out the endpoint URL
for your newly deployed service.
> Note: this step will create resources in your AWS account that may incur charges.
3. To test your service, switch to the `typescript-client` directory and use `yarn str-length` to call the `Length`
operation. For example, given an output from the CDK of
`https://somerandomstring.execute-api.us-west-2.amazonaws.com/prod/`,
```bash
yarn str-length https://somerandomstring.execute-api.us-west-2.amazonaws.com/prod/ foobar
```
should print out `6`.

## Security

See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.

## License

This library is licensed under the MIT-0 License. See the LICENSE file.