rabbit-deps v1.0.6
Rabbit-DEPS
rabbit-deps is a mono repo working with Lerna to provide all rabbit-api dependencies/services which do not belongs to rabbit.
Summary
Installation and configuration
Requirements
This repository use NVM (Node Version Manager)
Install nvm and use .nvmrc
At the root of the repository:
nvm installnvm use
Important:
Commit: All commits must be in convential commit format to create CHANGELOG.md automatically for each package.
To easily create commits in the right format you can use git cz, you'll be prompted to fill out any required commit fields at commit time :)
Install commitizen (git cz):
$> npm i -g commitizen
$> git czCode format: This repo use ESlint and Prettier as code formatter.
(Eslint run Prettier as an ESlint rule)
I advise to use ESLint plugin in your favorite editor, the .eslintrc.json file is at the root of the repository.
If you dont want to use plugin:
$> make eslint #Check code style issues in files
$> make eslint-fix #To format all filesUsage:
$ make # Run npm install, bootstrap and test
$ make install # Run npm install
$ make boostrap # Run lerna bootstrap
$ make test # Run jest test
$ make publish # Publish packages
$ make publish-canary # Publish canary version
$ make create-package name=<package-name> # Create new package skeleton with @ouicar scopeTest:
$ make test # Run all tests
$ make test package=<package-name> # Run <package-name> test onlyRepository structure:
packages/
├── @services/
│ ├── mail
│ └── ... (service packages)
├── @constant/
│ └── ... (constant packages)
├── @common
│ └── ... (common packages)
└── ... (dev packages)@services:
Service packages are the highest level packages. \ They use others lower level packages to provide the service.
@constant
The constant packages often contains config files for the different environments.
@common
The common packages used by @service packages.