JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 199
  • Score
    100M100P100Q78648F
  • License MIT

Library for running and testing AWS Lambda functions locally with custom events

Package Exports

  • lambda-running
  • lambda-running/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 (lambda-running) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

πŸš€ Lambda Running

Version License

Run & test AWS Lambda functions locally with ease!

✨ What is Lambda Running?

Lambda Running is a powerful library that lets you test AWS Lambda functions locally without any complicated setup. Perfect for developers who want to iterate quickly and test their Lambda functions in a realistic environment.

Lambda Running UI

Modern web interface for testing Lambda functions

Lambda Running AWS Template

Test with AWS Lambda event templates

🎯 Key Features

  • βœ… UI Mode - Beautiful web interface with real-time logs
  • βœ… Interactive Mode - Simple CLI for quick testing
  • βœ… Custom Events - Test with your own JSON payloads
  • βœ… Zero Configuration - Works out of the box
  • βœ… TypeScript Support - Including path aliases (@/*)
  • βœ… Environment Variables - Automatic loading from .env files

Start the UI mode with a simple command:

# Install globally
npm install -g lambda-running

# Start UI mode
lambda-run ui

UI Mode gives you:

  • 🎨 Modern web interface for testing Lambda functions
  • πŸ“Š Real-time logs and execution results
  • πŸ” Enhanced error visualization and stack traces
  • πŸ’Ύ Save and reuse test events for quick iterations

πŸ’» Interactive Mode

If you prefer the command line:

# Start interactive mode
lambda-run i

# Or run directly
lambda-run run path/to/handler.js handler --event '{"key": "value"}'

πŸ› οΈ Quick Usage Guide

  1. Install:

    npm install -g lambda-running
  2. Start UI Mode:

    lambda-run ui
  3. Or Use Interactive Mode:

    lambda-run i
  4. Direct Command:

    lambda-run run ./src/handler.js handler --event '{"userId": "123"}'

πŸ”§ Configuration

Lambda Running works with zero configuration, but you can customize:

  • .env files - Automatically loaded
  • .lambdarunignore - Skip directories during scanning
  • Custom timeouts, ports, etc. via environment variables

πŸ“¦ Lambda Layers

Enable AWS Lambda layers support by creating a lambda-running.json file in your project root:

{
  "layers": [
    "my-common-layer",
    "my-utils-layer"
  ],
  "layerMappings": {
    "/opt/nodejs/aws-sdk": "./node_modules/aws-sdk",
    "/opt/nodejs/axios": "./node_modules/axios"
  },
  "envFiles": [
    ".env",
    ".env.local"
  ],
  "ignorePatterns": [
    "**/*.test.js",
    "**/__tests__/**"
  ],
  "debug": false
}

For a simple layers setup, just specify layer names:

{
  "layers": ["general"]
}

This will automatically map /opt/nodejs/general to ./layers/general in your project.

Your local project structure should match AWS Lambda's layer structure:

my-project/
β”œβ”€β”€ lambdarunning.config.json
β”œβ”€β”€ handler.js (imports from /opt/nodejs/...)
└── layers/
    └── general/
        └── nodejs/
            └── utils/
                └── index.js

⚠️ Important: Lambda Layers support currently only works for local development. You must download the layer code and place it in your project directory as shown above. This feature does not fetch layers from AWS cloud.

Configuration Options

Option Type Default Description
layers Array [] Simple array of layer names that will be mapped to the ./layers/{name} directory
layerMappings Object {} Detailed mappings from Lambda layer paths to local directories
envFiles Array ['.env'] List of environment files to load (in order of precedence)
ignorePatterns Array [] Additional glob patterns to ignore when scanning for handlers
ignoreLayerFilesOnScan Boolean true Whether to ignore files in the layers directory when scanning for handlers
debug Boolean false Enable debug mode for detailed logging

πŸ“š Learn More

For detailed information, check out:

πŸ“ License

MIT Β© NicolΓ‘s Montoya