Package Exports
- @beesolve/lambda-bun-runtime
- @beesolve/lambda-bun-runtime/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@beesolve/lambda-bun-runtime) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Lambda bun runtime
This repository contains custom built bun runtime for AWS Lambda. It also contains CDK constructs for BunFunction which uses BunLambdaLayer.
Bun is a fast JavaScript runtime.
Current bun version: 1.3.3
Installation
You can install current version of our Lambda bun runtime from npm like this:
npm i @beesolve/lambda-bun-runtimeUsage
There are two constructs which you can use right ahead - BunFunction which depends on BunLambdaLayer:
import { BunLambdaLayer, BunFunction } from '@beesolve/lambda-bun-runtime';
import { Duration } from "aws-cdk-lib";
const bunLayer = new BunLambdaLayer(this, "BunLayer");
const apiHandler = new BunFunction(this, "ApiHandler", {
entrypoint: `${__dirname}/dist/api.js`,
memorySize: 1024,
timeout: Duration.seconds(10),
environment: {
STAGE: 'prod',
},
bunLayer,
});You can pass additional properties to both BunLambdaLayer and BunFunction.
The code for BunFunction needs to be built beforehand.
We recommend to use following build script as quick start:
// build.ts
import * as Bun from "bun";
import { rmSync } from "node:fs";
console.time("Built.");
rmSync("dist", { force: true, recursive: true });
await Bun.build({
entrypoints: ["api.ts"],
outdir: "dist",
target: "bun", // this is important as the built code runs in Bun environment
minify: true,
splitting: true,
sourcemap: "inline",
});
console.timeEnd("Built.");When you persist above build script in build.ts you can then run it with bun run build.ts.