This contains toolchains to help build and manage serverless applications using Nx, a powerful tool for monorepo management.
This monorepo includes the following packages:
@aligent/create-nx-serverless: A CLI tool to create a new Nx Serverless workspace. @aligent/nx-serverless: A collection of Nx generators, executors, and plugins for serverless development. @aligent/serverless-pipeline: A library for defining and executing serverless deployment pipelines.
For more information, please check the ReadMe file within each package.
- Install packages dependencies by
npm ci. - Start Local Registry for development:
npx nx start-local-registry. - Publish packages (to local registry):
npx nx release vX.X.X. - Test run
@aligent/create-nx-serverlessand@aligent/nx-serverless:
- Open a new terminal and run
npx @aligent/create-nx-serverless --name=test. - Once the new workspace is generated, open it with VSCode by running
code ./test. - Generate a new service in your newly created workspace:
npx nx generate service test1.
- [-] Deployment pipeline -> nodeJS container + pnpm
- Typescript compilation to check types (
tsc --noEmit) - Root client configuration (e.g. service name prefix)
- [-] Base vite configuration -> this works for service generator
- MICRO:46: Importing code from internal libraries
- Bespoke library generator? -> use same base vite configuration if we do this
- MICRO-309: Develop workspace preset
- Pre-commit hooks
- MICRO-53: Add error notification service
- Add step function metric/notification configuration
- Add X-Ray configuration
- MICRO-65: Handle service removal (serverless remove)