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);
//...
};
- [AWS] API Gateway HTTP input validation based on typescript interfaces
- [AWS] API Gateway routing from annotation
- [AWS] Cognito custom attributes checking on request
$ npm install serverless-typescript --save-dev
Add the plugin to your serverless.yml
file:
plugins:
- serverless-typescript