Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 1.15 KB

README.md

File metadata and controls

49 lines (36 loc) · 1.15 KB

Serverless

A Serverless plugin improving typescript developer experience. Lambda related configuration should be as close as possible from actually executed source code. Target typical lambda structure :

import { Event, parseBody } from 'serverless-typescript/lib/api/input-validation';

interface MyHTTPBody {
  param1: string;
  param2: number;
}

/*
 * @Security({'custom:role': Role.Superadmin})
 * @Path('GET', '/api/{myParam}/list')
 */
export const main = async (event: Event<MyHTTPBody>): Promise<APIGatewayProxyResult> => {
  const input = parseBody(event);
  console.log(input.param1);
  //...
};

Highlights

Install

$ npm install serverless-typescript --save-dev

Add the plugin to your serverless.yml file:

plugins:
  - serverless-typescript