{"id":39434743,"url":"https://github.com/lambda-lambda-lambda/router","last_synced_at":"2026-01-20T17:28:05.546Z","repository":{"id":149313345,"uuid":"617557862","full_name":"lambda-lambda-lambda/router","owner":"lambda-lambda-lambda","description":":zap: AWS CloudFront Lambda@Edge serverless application router.","archived":false,"fork":false,"pushed_at":"2025-10-05T04:30:19.000Z","size":1072,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T04:41:43.350Z","etag":null,"topics":["aws","functions","lambda-edge","nodejs","router","serverless"],"latest_commit_sha":null,"homepage":"https://lambda-lambda-lambda.github.io/doc","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambda-lambda-lambda.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-22T16:27:00.000Z","updated_at":"2025-10-05T04:27:54.000Z","dependencies_parsed_at":"2024-02-28T19:49:00.714Z","dependency_job_id":"81a9969b-9fc6-4b0e-941c-bdd8beddc6c9","html_url":"https://github.com/lambda-lambda-lambda/router","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/lambda-lambda-lambda/router","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-lambda-lambda%2Frouter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-lambda-lambda%2Frouter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-lambda-lambda%2Frouter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-lambda-lambda%2Frouter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambda-lambda-lambda","download_url":"https://codeload.github.com/lambda-lambda-lambda/router/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-lambda-lambda%2Frouter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28529456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","functions","lambda-edge","nodejs","router","serverless"],"created_at":"2026-01-18T04:11:09.415Z","updated_at":"2026-01-18T04:11:09.477Z","avatar_url":"https://github.com/lambda-lambda-lambda.png","language":"JavaScript","readme":"# L³ router\n\n[![npm version](https://badge.fury.io/js/@lambda-lambda-lambda%2Frouter.svg)](https://badge.fury.io/js/@lambda-lambda-lambda%2Frouter) [![](https://img.shields.io/npm/dm/@lambda-lambda-lambda/router.svg)](https://www.npmjs.com/package/@lambda-lambda-lambda/router) [![Build Status](https://img.shields.io/github/actions/workflow/status/lambda-lambda-lambda/router/.github%2Fworkflows%2Fci.yml)](https://github.com/lambda-lambda-lambda/router/actions) [![Coverage](https://coveralls.io/repos/lambda-lambda-lambda/router/badge.svg?branch=master)](https://coveralls.io/r/lambda-lambda-lambda/router?branch=master) [![Install size](https://packagephobia.com/badge?p=@lambda-lambda-lambda/router)](https://packagephobia.com/result?p=@lambda-lambda-lambda/router) [![NO AI](https://raw.githubusercontent.com/nuxy/no-ai-badge/master/badge.svg)](https://github.com/nuxy/no-ai-badge)\n\nAWS [CloudFront Lambda@Edge](https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html) serverless application router.\n\n![lambda-lambda-lambda](https://raw.githubusercontent.com/lambda-lambda-lambda/router/master/package.png)\n\n## Features\n\n- Request/Response handling [API](https://github.com/lambda-lambda-lambda/manual/blob/master/CommonMethods.md).\n- [Routes](https://github.com/lambda-lambda-lambda/manual/blob/master/ComplexRouting.md#route-handler) and URI [Resource](https://github.com/lambda-lambda-lambda/manual/blob/master/ComplexRouting.md#resource-handler) support.\n- Local/Globally scoped [Middleware](https://github.com/lambda-lambda-lambda/manual/blob/master/Middleware.md#scope).\n- [Visual Studio Code](https://code.visualstudio.com) integration.\n- Open Source, [MIT licensed](https://github.com/lambda-lambda-lambda/router/blob/master/LICENSE), FREE.\n- Lightweight (**no dependencies**).\n\n## How does it work?\n\nIn its most basic form the library provides helper methods that translate the [CloudFront Lambda@Edge](https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html) `origin-request` allowing you to handle response processing **without the need to construct complex Lambda dependent responses**.\n\nTo better visualize how L³ fits in the current AWS ecosystem the following high-level graph describes the _HTTP Request/Response lifecycle_ and role of each AWS provided service.\n\n![HTTP Request/Response lifecycle](https://raw.githubusercontent.com/lambda-lambda-lambda/manual/master/images/Request-Response-Lifecycle.png)\n\n## Getting started\n\nThe easiest way to created an application, without the need to [manually install](#manual-installation) this package, is to use the [L³ Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=Nuxy.vscode-lambda-lambda-lambda). Doing so allows you to..\n\n- Scaffold app sources and dependencies.\n- Run it locally (in [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers))\n- Test code changes in realtime.\n- Deploy app sources to AWS.\n- Generate [JSDoc](https://jsdoc.app)/[Swagger](https://swagger.io) documentation.\n\n## Build dependencies\n\nIf you're not using the [L³ VS Code extension](https://marketplace.visualstudio.com/items?itemName=Nuxy.vscode-lambda-lambda-lambda) and want to _run this package locally_ you must install the following dependencies:\n\n- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)\n- [Node.js](https://nodejs.org)\n\n## Manual installation\n\nIf you just looking to leverage the Request/Response handling [API](CommonMethods.md) in your Lambda functions, install this package using [NPM](https://npmjs.com).\n\n    $ npm install @lambda-lambda-lambda/router\n\n## Documentation\n\n- [Introduction](https://github.com/lambda-lambda-lambda/manual/blob/master/Introduction.md)\n- [Getting Started](https://github.com/lambda-lambda-lambda/manual/blob/master/GettingStarted.md)\n- [AWS requirements](https://github.com/lambda-lambda-lambda/manual/blob/master/AWSRequirements.md)\n- [Running your App](https://github.com/lambda-lambda-lambda/manual/blob/master/RunningYourApp.md)\n- [Usage](https://github.com/lambda-lambda-lambda/manual/blob/master/Usage.md)\n- [Common methods](https://github.com/lambda-lambda-lambda/manual/blob/master/CommonMethods.md)\n- [Complex routing](https://github.com/lambda-lambda-lambda/manual/blob/master/ComplexRouting.md)\n- [Middleware](https://github.com/lambda-lambda-lambda/manual/blob/master/Middleware.md)\n- [Developers](https://github.com/lambda-lambda-lambda/manual/blob/master/Developers.md)\n- [Testing](https://github.com/lambda-lambda-lambda/manual/blob/master/Testing.md)\n\n## AWS changes starting in Node.js 24 (CloudWatch warning)\n\nGoing forward, it is recommended that you build your L³ application using `async` handlers in anticipation of the AWS changes below.\n\n\u003e AWS Lambda plans to remove support for callback-based function handlers starting with Node.js 24. You will need to update this function to use an async handler to use Node.js 24 or later. For more information and to provide feedback on this change, see aws/aws-lambda-nodejs-runtime-interface-client#137\n\nWhile backwards compatibity will be supported for older Node.js releases this support **will eventually be phased out** with the deprecation of `nodejs22.x` (Apr 30, 2027).\n\nSee [AWS Node.js Supported Runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported) for support information.\n\n## Versioning\n\nThis package is maintained under the [Semantic Versioning](https://semver.org) guidelines.\n\n## License and Warranty\n\nThis package is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.\n\n_lambda-lambda-lambda/router_ is provided under the terms of the [MIT license](http://www.opensource.org/licenses/mit-license.php)\n\n[AWS](https://aws.amazon.com) is a registered trademark of Amazon Web Services, Inc.\n\n## Author\n\n[Marc S. Brooks](https://github.com/nuxy)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambda-lambda-lambda%2Frouter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambda-lambda-lambda%2Frouter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambda-lambda-lambda%2Frouter/lists"}