Microlambda is an opinionated framework that allows you to manage large serverless projects on AWS Lambda, written in TypeScript.
MIT License
Is an opinionated framework that simplifies development of AWS serverless microservices project using typescript.
A complete user guide is available on our official website
The project is maintained as a monorepo (using yarn workspaces) and contains the following packages:
@microlambda/core
Core package that contains all low-level logic to run microlambda projects.@microlambda/cli
A command line interface that provides tooling to generate, run, test and deploy projects.@microlambda/generator
A command line interface that provides tooling to generate, run, test and deploy projects.@microlambda/client
The web UI to monitor and interact with the microservices during local runs.@microlambda/server
The WebSocket server that send data to client and handle its requests for local run UI.@microlambda/handling
Helpers that automates repetitive tasks such as CORS configuration, build responses.@microlambda/testing
Tests helpers for easy unit and functional tests setup.@microlambda/plugin
Serverless framework plugin that enable custom domain creation and multi-regions deployments.@microlambda/docs
Project documentation website. Powered by docusaurus.# Clone this repository
git clone [email protected]:microlambda/microlambda.git
# Install dependencies
yarn
# Mila is designed to build itself, to do so, build mila-runner
yarn build:runner
# Once the runner is built, use it to build the entire project
yarn build --watch
To perform tests, fork the mila-starter or use one of your microlambda project.
Update your package.json
to use yarn link:
special protocol and use your local version of mila and run yarn install
.
{
"dependencies": {
"@microlambda/cli": "link:/path/to/your/clone/microlambda/cli",
"serverless-microlambda": "link:/path/to/your/clone/microlambda/plugin"
}
}
With this setup, you are using a local version of microlambda which is rebuilt with build --watch
on another shell.
When you edit microlambda, changes are immediately available on your test project.
You have a proper DX to fix a bug or develop a new feature 📐