Skip to main content

NodeJS

Installation

1

Get auth token

Login to your account, and get your auth token.


info

If you want to try ServerlessDebugger you can get a free 7 days auth token from here

2

Install VS Code plugin

Install our plugin from VS Code Marketplace: Debugger for AWS Lambda.

3

Edit Configuration

Write "Serverless Debugger" to Command Palette on VSCode and click "Edit Configuration" and paste your authentication key to authToken.


Command Palette

4

Install VS Code plugin

Set SLSDEBUGGER_AUTH_TOKEN also by your auth token to your lambda environment.

5

Edit your AWS Lambda

Follow one of the following two steps. Using Lambda Layer or Manually Wrapping

Using Serverless Debugger Lambda Layer

  • Add Serverless Debugger lambda layer!
arn:aws:lambda:${region}:545538059309:layer:slsdebugger-nodejs:${latest-version} 
  • Latest version of the Serverless Debugger Nodejs Layer Serverless Debugger Nodejs Layer

  • Supported regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-east-1, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2

  • Set SLSDEBUGGER_AUTH_TOKEN in environment variable.

Integrate with Bootstrap File

  • Set NODE_OPTIONS to -r @thundra/slsdebugger/dist/bootstrap/lambda in environment variable.

Integrate with Handler Switch

  • Set SLSDEBUGGER_LAMBDA_HANDLER to your lambda handler in environment variable.

  • Set lambda handler to slsdebugger_handler.wrapper

  • Open your handler file in VSCODE, put breakpoint and start Serverless Debugger extension downloaded from Debugger for AWS Lambda.

  • Trigger your lambda function.

Manually Wrapping

  • Run this command from your project directory:
npm i @thundra/slsdebugger
  • Wrap your lambda function.
import slsDebugger from '@thundra/slsdebugger';

export const handler = slsDebugger()((event: any, context: any, callback: any) => {
...
});
  • Set SLSDEBUGGER_AUTH_TOKEN in environment variable.

  • Open your handler file in VSCODE, put breakpoint and start Serverless Debugger extension downloaded from Debugger for AWS Lambda.

  • Trigger your lambda function.

Configuration

You can configure Serverless Debugger using environment variables.

1. Environment variables

  • Only required environment variable is SLSDEBUGGER_AUTH_TOKEN. If it is empty, Serverless Debugger only calls your function without debugging.
NameTypeDefault Value
SLSDEBUGGER_ENABLEDbooltrue
SLSDEBUGGER_AUTH_TOKENstring-
SLSDEBUGGER_PORTint1111
SLSDEBUGGER_LOG_LEVELstringinfo
SLSDEBUGGER_LOGS_ENABLEboolfalse
SLSDEBUGGER_WAIT_MAXint60000(ms)
SLSDEBUGGER_IO_WAITint2000(ms)
SLSDEBUGGER_BROKER_PORTint444
SLSDEBUGGER_BROKER_HOSTstringbroker.service.serverlessdebugger.com
SLSDEBUGGER_SESSION_NAMEstringdefault
SLSDEBUGGER_LAMBDA_HANDLERstring-
SLSDEBUGGER_LAMBDA_TIMEOUT_MARGINint-

Getting Help

If you have any issue around using the library or the product, please don't hesitate to:

Opening Issues

For any problem you encounter while using Serverless Debugger Node.js, Please feel free to contact us via our Discord channel.