is-lambda is a lightweight utility package designed to detect whether the current JavaScript execution environment is an AWS Lambda server. It achieves this by inspecting well-known AWS Lambda-specific environment variables such as `AWS_LAMBDA_FUNCTION_NAME`, `AWS_REGION`, and `LAMBDA_TASK_ROOT`. The current stable version is 1.0.1. Due to its focused and simple nature, its release cadence is typically very slow, with updates primarily occurring if AWS Lambda's environment signature changes or critical bug fixes are required. Its key differentiator is its minimalism, providing a single boolean value without additional overhead or complex configuration, making it suitable for quick environmental checks in serverless applications or conditional logic based on the deployment environment.
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
The package exports a boolean directly as module.exports. CommonJS `require` is the primary usage pattern.
const isLambda = require('is-lambda');
For ESM, it typically imports the CJS default export. Named imports (`{ isLambda }`) will not work as it's a direct boolean export, not an object.
import isLambda from 'is-lambda';
This quickstart demonstrates how to use `is-lambda` to check the execution environment and shows conditional logic for both Lambda and non-Lambda contexts, including accessing common AWS environment variables.
const isLambda = require('is-lambda');
function main() {
if (isLambda) {
console.log('The code is running on an AWS Lambda function.');
// Example: Accessing Lambda-specific environment variables
console.log('Function Name:', process.env.AWS_LAMBDA_FUNCTION_NAME ?? 'N/A');
console.log('AWS Region:', process.env.AWS_REGION ?? 'N/A');
} else {
console.log('The code is NOT running on an AWS Lambda function.');
console.log('Simulating local environment...');
// Example of local behavior
const message = 'Hello from local environment!';
console.log(message);
}
}
// To demonstrate local behavior when running outside Lambda:
// Temporarily clear AWS Lambda specific environment variables
const originalLambdaEnv = process.env.AWS_LAMBDA_FUNCTION_NAME;
delete process.env.AWS_LAMBDA_FUNCTION_NAME;
main();
process.env.AWS_LAMBDA_FUNCTION_NAME = originalLambdaEnv; // Restore if needed
// To demonstrate Lambda behavior (if run on Lambda, or mock locally):
// process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-test-function';
// process.env.AWS_REGION = 'us-east-1';
// main();
Upgrade
Version history
Breaking-change detection hasn't run for this library yet.
Audit
Security & dependencies
CVE tracking and dependency tree are planned for a later release.