Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/crisboarna/aws-cdk-lib-util

Library providing utility functions and best practices stacks for AWS CDK v2
https://github.com/crisboarna/aws-cdk-lib-util

aws cdk cloudformation utility utility-library

Last synced: 2 days ago
JSON representation

Library providing utility functions and best practices stacks for AWS CDK v2

Awesome Lists containing this project

README

        


aws-cdk-lib-util







































*Disclaimer: This is a community project not affiliated with AWS.

# Documentation
Documentation can be found [here](https://crisboarna.github.io/aws-cdk-lib-util)

# Example usage
[Example stack](https://github.com/crisboarna/react-cv/tree/main/apps/infra/src/lib/web/WebStack.ts)

# Table of Contents

* [Installation](#installation)
* [Description](#description)
* [Parameter naming](#parameter-naming)
* [Setup](#setup)
* [Development](#development)
* [Linting](#linting)
* [Testing](#testing)
* [How To Contribute](#how-to-contribute)
* [Bots used](#bots-used)
* [License](#license)

# Description
Utility library for writing `AWS CDK` code in `Typescript` or `NodeJS` that provides several benefits:
1. Built-in guidelines/best practices to maintaining clear structure to your `AWS Cloudformation` resources in usage and naming convention.
2. Cleanup your `CDK` stack by reducing lines of code needed to add or import select resource types.

Most utility functions force adherence to naming convetion of type:
`projectName`-`component identifier`-`stack environment`
such as `MyProject-Lambda-API-DEV`

This enforcement starts from requiring `projectName` prefix and `stackEnv` suffix for most components, but it also extends for some to more advanced requirements.

I found these naming conventions to greatly improve the navigation and comprehension of the resource available, as we all know, a consistent naming convention
reduces the mental load and speeds up our comprehension and processing of what resources are deployed and how they interconnect.

# Installation
With `yarn`
```shell
yarn add aws-cdk-lib-util
```

or with `npm`
```shell
npm install aws-cdk-lib-util
```

# Setup
Import
```typescript
import { CDKCustomResourceUtil, SSMUtil, etc... } from 'aws-cdk-lib-util';
```

# Development
## Linting
```shell
yarn lint
```

## Testing
```shell
yarn test
```
`jest` is used for as the testing framework.

Testing coverage is enforced via the `jest.config.js` to 100% across the board.

# How to Contribute

1. Clone repo and create a new branch:
```shell
git checkout https://github.com/crisboarna/aws-cdk-lib-util -b name_for_new_branch`.
````
2. Make changes and test
3. Submit Pull Request with comprehensive description of changes

## Bots used
To facilitate development the following bots are integrated into the repository:
1. [Request Info](https://github.com/behaviorbot/request-info)
2. [Semantic Pull Requests](https://github.com/apps/semantic-pull-requests)
2. [Welcome](https://github.com/apps/welcome)
3. [Snyk](https://github.com/marketplace/snyk)
4. [Todo](https://github.com/apps/todo)

## License
[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)

Full license details can be found in [LICENSE.md](./LICENSE.md)