We strive for simplicity, stability and security.
Pull Requests and all contributions in general are welcome as long as they don't compromise those goals.
This repository is a monorepo for multiple packages.
This repository is managed through workspaces (workspace packages) and Lerna-Lite.
cd node-convict
npm ci
npm test
Coding style is described through the EditorConfig .editorconfig file and enforced by ESLint through the .eslintrc file.
Running the following command line will help you to conform your newly written code:
cd node-convict
npm ci
npm run lint:fix
-
If you need, modify the versions of the
dependencies
by editing thepackages/*/package.json
files. -
If you need, modify the versions the
devDependencies
in the root-levelpackage.json
file. -
Generate an updated
package-lock.json
file.cd node-convict npm install
-
Commit the file changes and create a new Pull Request.
This section is intended for the maintainers of the project.
Those actions can only be performed by a Mozilla employee or a trusted contributor with enough accesses.
Everything, updating the CHANGELOG.md
files, tagging and publishing should
be done through Lerna-Lite.
Lerna-Lite provides the lerna
command.
Tagging should not be done manually, nor through the npm version
command.
Tagging should be done through the lerna
command, which will automatically
update all the CHANGELOG.md
files as needed, like this:
cd node-convict
npm ci
npx lerna version
Publishing should not be done through the npm publish
command.
Publishing should be done through the lerna
command like this:
cd node-convict
npm ci
npm login
npx lerna publish from-package
npm logout