https://github.com/mozilla/node-convict
Featureful configuration management library for Node.js
https://github.com/mozilla/node-convict
config configuration configuration-management env environment-variables javascript json json-files node nodejs schema validation
Last synced: about 1 hour ago
JSON representation
Featureful configuration management library for Node.js
- Host: GitHub
- URL: https://github.com/mozilla/node-convict
- Owner: mozilla
- License: other
- Created: 2012-01-22T03:44:39.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2024-04-11T12:57:40.000Z (about 1 year ago)
- Last Synced: 2025-05-12T13:46:24.741Z (1 day ago)
- Topics: config, configuration, configuration-management, env, environment-variables, javascript, json, json-files, node, nodejs, schema, validation
- Language: JavaScript
- Homepage:
- Size: 1.39 MB
- Stars: 2,362
- Watchers: 47
- Forks: 140
- Open Issues: 69
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-repositories - mozilla/node-convict - Featureful configuration management library for Node.js (JavaScript)
README
# Node-convict
[](https://travis-ci.org/mozilla/node-convict)
[](https://coveralls.io/github/mozilla/node-convict?branch=master)Convict expands on the standard pattern of configuring node.js applications in a
way that is more robust and accessible to collaborators, who may have less
interest in digging through code in order to inspect or modify settings. By
introducing a configuration schema, convict gives project collaborators more
**context** on each setting and enables **validation and early failures** for
when configuration goes wrong.This repository is a monorepo for the following packages managed through
[Lerna-Lite](https://github.com/ghiscoding/lerna-lite).## Packages
* [convict](/packages/convict/) :
the main package* [convict-format-with-validator](/packages/convict-format-with-validator/)
the optional package providing the `email`, `ipaddress` and `url` formats* [convict-format-with-moment](/packages/convict-format-with-moment/) :
the optional package providing the `duration` and `timestamp` formats## Migrating
* [Migrating from Convict 5 to 6](/packages/convict/MIGRATING_FROM_CONVICT_5_TO_6.md)
## Contributing, maintenance
For contributors and maintainers, read the [Contributing](./CONTRIBUTING.md) doc.