A optionated group of templates to help you build nice micro-services (and aws lamdas)
Currently has two templates:
- node-ms
- node-serverless-(express | lambda)
Are planned these templates:
- template-go-ms
- template-go-queue-consumer
- template-go-queue-producer
- template-node-cron
npx create-node-ms <template-name> -pn test-service
cd test-service
yarn dev
-pn, --projectName
(required): Project name-p, --path
: Absolute or relative path to create the project--useNpm
: Use npm instead of yarn to install depedencies--noCommit
: Don't do a first commit. If you has git, but not configured a name/email, git will fail to commit.--verbose
: Output verbose info-d, --addDeps
: Add extra depedencies that are not installed by default-D, --addDevDeps
: Add dev extra depedencies that are not installed by default
npx create-node-ms node-ms -pn test-service -e test
- Rest server: express | fastify
- IoC|DI: InversifyJS
- Database: postgres
- Testing: mocha + chai
- Build: TypeScript + Webpack + https://github.com/astefanutti/scratch-node
To build the final version of your service, run
yarn build
,yarn build:webpack
andyarn build:docker
-e, --entityName
(required): Name of first entity (name used to create interfaces and etc.)-ep, --entityPluralName
: Pluralized name of the entity
Comes with two serverless flavors: express (node-serverless-express
or nse
) and lambda (node-serverless-lambda
or nsl
)
npx create-node-ms nse -pn serverless-express
- Serverless Framework +
serverless-offline
usingaws-serverless-express
or raw lambda file - IoC|DI: InversifyJS
- Testing: mocha + chai
- Build: Typescript
Has configuration for debugging within vscode (see .vscode/launch.json)
- Better README
- Options for REST ms, queue ms, job ms, etc...
- Fork and clone this repo
- Make changes
- Run
yarn dev
,yarn dev:nse
oryarn dev:nsl
to create a new template with your code changes- This will remove
../create-node-ms-junk
folder - Create a
../create-node-ms-junk/
folder - And generate a new project with the name declared on your dev command on
../create-node-ms-junk/
folder
- This will remove
- Commit your changes (this project has
commitlint
configured) - Send a PR 🚀