Is an opinionated framework that simplifies development of AWS serverless microservices project using typescript.
Neoxia - The 360 Cloud Company
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/coreCore package that contains all low-level logic to run microlambda projects.@microlambda/cliA command line interface that provides tooling to generate, run, test and deploy projects.@microlambda/generatorA command line interface that provides tooling to generate, run, test and deploy projects.@microlambda/clientThe web UI to monitor and interact with the microservices during local runs.@microlambda/serverThe WebSocket server that send data to client and handle its requests for local run UI.@microlambda/handlingHelpers that automates repetitive tasks such as CORS configuration, build responses.@microlambda/testingTests helpers for easy unit and functional tests setup.@microlambda/pluginServerless framework plugin that enable custom domain creation and multi-regions deployments.@microlambda/docsProject documentation website. Powered by docusaurus.
# Clone this repository
git clone git@github.com: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 --watchTo 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 📐