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 install
nvm 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 cz
Code 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 files
Usage:
$ 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 scope
Test:
$ make test # Run all tests
$ make test package=<package-name> # Run <package-name> test only
Repository 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.