Skip to content

pepperize/cdk-lambda-deno

Repository files navigation

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 [email protected]: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