/cdk-lambda-deno

AWS CDK custom AWS Lambda runtime with Deno

Primary LanguageTypeScriptMIT LicenseMIT

PRs Welcome GitHub npm (scoped) PyPI Nuget Sonatype Nexus (Releases) GitHub Workflow Status (branch) GitHub release (latest SemVer) Gitpod ready-to-code

CDK Lambda Deno

AWS CDK custom AWS Lambda runtime with Deno

Based on hayd/deno-lambda with bundled layer

Install

TypeScript

npm install @pepperize/cdk-lambda-deno

or

yarn add @pepperize/cdk-lambda-deno

Python

pip install pepperize.cdk-lambda-deno

C# / .Net

dotnet add package Pepperize.CDK.LambdaDeno

Java

<dependency>
  <groupId>com.pepperize</groupId>
  <artifactId>cdk-lambda-deno</artifactId>
  <version>${cdkLambdaDeno.version}</version>
</dependency>

Contributing

Contributions of all kinds are welcome 🚀 Check out our contributor's guide.

For a quick start, fork or check out a development environment:

git clone git@github.com:pepperize/cdk-lambda-deno
cd cdk-lambda-deno
# install dependencies
yarn
# build with projen
yarn build

Usage

  • Using the deno function construct
const stack = new Stack();

new DenoFunction(stack, "Function", {
  code: lambda.Code.fromAsset(path.join(__dirname, "../example/function")),
});
  • Using the deno layer construct
const stack = new Stack();

const layer = new DenoLayer(stack, "Layer", { version: DenoVersion.of("1.23.3") });
new lambda.Function(stack, "Function", {
  runtime: lambda.Runtime.PROVIDED_AL2,
  code: lambda.Code.fromAsset(path.join(__dirname, "../example/function")),
  handler: "index.handler",
  layers: [layer],
});

References

https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html https://aws.amazon.com/de/blogs/compute/build-a-custom-java-runtime-for-aws-lambda/ https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html https://github.com/hayd/deno-lambda