Steplix Config
Steplix Config is a Node.js configuration helper.
Index
Download & Install
NPM
npm install steplix-config
Source code
$ git clone https://gitlab.com/steplix/SteplixConfig.git$ cd SteplixConfig$ npm install
How is it used?
- Static.
- Extensible.
- Configurable by environment.
- Try a function to automatically require all files and folders recursively, keeping the naming structure.
Configure
Environment options
Environment variable | Value | Default value | Description |
---|---|---|---|
CONFIG_SEPARATOR | string | "." | Indicate config key separator. |
CONFIG_PRIVATE | true | false | false |
Folder structure
<My config folder name>
|
| -> index.js
| // Content: `module.exports = require('steplix-config').require(module, __dirname);`
|
| -> server.js
| // Example server file: `module.exports = { port: 8080 };`
| -> my-config-file.js
| // Other example config file: `module.exports = { key: value, a: 'b', c: 1 };`
| -> ...
|
| -> my-config-folder
| | -> types.js
| // Other example config file anidate: `module.exports = { 1: 'immediate', 2: 'periodic', 3: 'scheduled' };`
| | -> ...
|
| -> production
| | -> types.js
| // Override types for production environment.
| | -> ...
const config = ; // Simple usage; // return: port value; // return: undefined; // return: 'my-default-value' // Extend with objectconfig;; // return: 'world!'; // return: { hello: 'world!' }; // return: { object: { hello: 'world!' } } // Require all files on current folderconfig;// Require all files on other folderconfig;// See more options on https://www.npmjs.com/package/require-directory#optionsconfig;
Tests
In order to see more concrete examples, I INVITE YOU TO LOOK AT THE TESTS :)
Run the unit tests
npm test