Skip to content

reapit/ts-cdk-constructs

Repository files navigation

@reapit-cdk/ts-constructs

coverage: 90.82%25 CDK Constructs Monorepo

Constructs

Packages

npm version npm downloads coverage: 99.02%25 Integ Tests: ✔

This construct returns the currently active SES receipt RuleSet, or creates one. This enables you to add rules to it.

npm version npm downloads coverage: 99.02%25 Integ Tests: ✔

CloudFront invalidations are very error prone, making it hard to invalidate distributions reliably. This construct aims to solve this problem by using a step function which is triggered on stack update, and uses exponential backoff to retry the invalidation. Inspired by aws/aws-cdk#15891 (comment).

npm version npm downloads coverage: 71.85%25 Integ Tests: X

Allows you to share values between stack across regions and accounts.

npm version npm downloads coverage: 95.09%25 Integ Tests: ✔

This construct creates a truly globally available API where code executes at the edge. Because changes take a long time to propagate to all edge locations, there is a devMode flag which will instead deploy your API to a HTTP API. This is compatible with hotswapping, so cdk watch works very well. In order to make it easy to develop APIs which handle both event formats and work around the environment variable limitation, I recommend you use the lightweight request wrapper @reapit-cdk/edge-api-sdk which normalises the event format and offers some extra helpers.

npm version npm downloads coverage: 0%25 Integ Tests: X

Add a swagger endpoint to your EdgeAPI

npm version npm downloads coverage: 99.02%25 Integ Tests: ✔

This construct sets up everything necessary to receive email. The emails get stored in a dynamodb table, queryable by recipient. This is designed to be used in end-to-end tests, with the @reapit-cdk/email-receiver-client helper library.

npm version npm downloads coverage: 0%25 Integ Tests: X

This construct creates and manages a Microsoft Entra ID Application

npm version npm downloads coverage: 0%25 Integ Tests: X

Creates a product in the organisations service

npm version npm downloads coverage: 99.02%25 Integ Tests: ✔

Creates a KMS key and replicates it to the desired regions. Useful when replicating secrets across regions.

npm version npm downloads coverage: 97.06%25 Integ Tests: ✔

Creates a Secret and replicates it across the given regions. Requires a ReplicatedKey be passed in.

npm version npm downloads coverage: 0%25 Integ Tests: X

This construct allows you to IaC your service quotas

npm version npm downloads coverage: 99.02%25 Integ Tests: ✔

This construct returns the given Cognito UserPool's UserPoolDomain, or creates one. This resolves an issue with AWS::Cognito::UserPoolDomain, since that will fail if one already exists.

npm version npm downloads coverage: 96.75%25 Integ Tests: ✔

This construct returns a wildcard certificate valid for subdomains of the given domain names, creating and validating on if it doesn't exist. It supports cross-account DNS validation, you can pass in arns of roles from other accounts and it'll assume them whilst doing the Route53 updates.

Modules

Packages

npm version npm downloads coverage: 99.02%25

This module helps write custom resource handlers. It's designed to work with the Custom Resource Provider Framework. It accepts an object which contains event handlers for onCreate, and optionally, onUpdate, and onDelete. Anything returned from onCreate and onUpdate is returned as data attributes on the resulting custom resource.

npm version npm downloads coverage: 93.53%25

Provides convenience wrappers for accepting and responding to @reapit-cdk/edge-api lambda requests.

npm version npm downloads coverage: 99.02%25

This module helps you write tests which rely on receiving emails. Once you have set up @reapit-cdk/email-receiver, this module helps you interact with the dynamodb table it creates. You'll have to export the table arn and domain name from your stack and import them to be used here, using something like this.

npm version npm downloads coverage: 0%25

Types for @reapit-cdk/email-receiver and client.

npm version npm downloads coverage: 92.69%25

Minimal Sentry SDK

Tools

Packages

npm version npm downloads coverage: 0%25

@reapit-cdk eslint config.

npm version npm downloads coverage: 0%25

Generates package readmes.

npm version npm downloads coverage: 0%25

Easily run integration tests for CDK constructs using Jest. On successful test suite run, snapshots the stack which gets stored in your repo alongside the test. Subsequent test runs will diff the stack against the snapshot, and only run the tests if something changes.

npm version npm downloads coverage: 0%25

tsconfig for @reapit-cdk.

npm version npm downloads coverage: 0%25

Easily build @reapit-cdk constructs and custom resource lambdas.