@silvermine/lambda-express
v0.4.0
Published
[](https://www.npmjs.com/package/@silvermine/lambda-express) [](./LICENSE) [.
If you're writing APIs, you've probably already written Express apps, so keeping things familiar will accelerate your development, allowing you to focus on your business logic.
Usage
Here's a simple example to get you up and running quickly:
npm i @silvermine/lambda-express
npm i -D aws-lambda
import { Application, Response, Request } from '@silvermine/lambda-express';
import { RequestEvent } from '@silvermine/lambda-express/dist/types/request-response-types';
import { NextCallback } from '@silvermine/lambda-express/dist/types/interfaces';
import { Context, Callback } from 'aws-lambda';
const app = new Application();
app.all('/*', (_request: Request, response: Response, next: NextCallback) => {
response.set('Access-Control-Allow-Origin', '*');
next();
});
app.options('/*', (_request: Request, response: Response) => {
response.set('Access-Control-Allow-Methods', 'OPTIONS,GET')
.set('Access-Control-Allow-Credentials', 'false');
response.send('');
});
app.get('/my-endpoint', async (request: Request, response: Response) => {
response.send('Hello world!');
});
// Use the helper function to create an async handler (Recommended for Node.js 18+)
export const handler = createAsyncHandler(app);
// Or use runAsync directly:
//
// export const handler = async (event: RequestEvent, context: Context): Promise<ResponseResult> => {
// return app.runAsync(event, context);
// };
// Or for Node.js <24.x, use the callback style:
//
// export const handler = (event: RequestEvent, context: Context, callback: Callback): void => {
// app.run(event, context, callback);
// };At this point you should be able to compile, bundle, and deploy this Lambda. Assuming you have configured APIGW or ALB to forward traffic to your Lambda, you will now have a very basic working API!
Note: Both handler styles (async/await and callback) are supported for Node.js <24.x. However, the async/await style is recommended for Node.js 18+ and is required for Node.js 24+.
License
This software is released under the MIT license. See the license file for more details.
