This template is an example of a project generated with Swarmion.
yarn create swarmion-app
Then head to the Swarmion documentation on swarmion.dev
- Nx
- Eslint configuration
- Prettier configuration
- Vitest configuration
- Typescript
- Common packages built with babel, with a watch mode
- Selective tests, package and deploy to remove the need to run all the tests and deploy at every commit.
This repository follows the code principles:
- Your codebase should adapt to your team organizations
- DRY (Don't Repeat Yourself)
- Don't deploy all at once
- Safe deployments
In order to respect these guidelines, a good solution is the Monorepo approach.
Tips:
- Always explicitly declare dependencies between end services in
package.json
- These dependencies can be of two kinds:
- code dependencies: service B declares service A as a dependency because it needs some code exported by service A;
- deploy dependencies: service B declares service A as a dependency because it needs service A to be deployed before it.
These commands have to be run at the root of the project.
nvm use
: set the version of node set in.nvmrc
yarn
: install node dependencies in all packages;yarn package
: compile the common packages;yarn test
: launch the tests in all packages;yarn deploy
: deploy all the end services in order;
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!