etcjs

Simple stupid node.js configuration module

Usage no npm install needed!

<script type="module">
  import etcjs from 'https://cdn.skypack.dev/etcjs';
</script>

README

etcjs

Build Status Coverage Status Dependency Status

Simple node.js configuration module

Installation via npm

$ npm install etcjs --save

Example

Even this is useless on its own, here is how to set up configuration for 'development' environment:

$ NODE_ENV=%ENV% npm start ../etc ../etc/default/default
# where %ENV% is the target environment.

Using etcjs as a module in your node app

Once started up, the module will look for the default configuration file by requiring the 'defaultFile'.

After loading the default configuration, it will load the environment specific file from the 'dir' directory.

For example, if NODE_ENV=development then it will require 'root/dir/of/config/files/development.js'.

Finally, the callback function is called once all done.

var etcjs = require('etcjs');
etcjs.load({dir: 'root/dir/of/config/files/', defaultFile: 'path/to/default/config/file'}, function () {
    console.info('configuration has been initialized');
});

if no configuration object is provided, etcjs will look for the default files inside the default location: * default global configuration file: ./etc/all.js * environment specific configuration file: ./etc/%env%.js, where env is the target environment. The callback can also be omitted in this case the module will do it job and returns.

var etcjs = require('etcjs');
etcjs.load(function () {
    console.info('configuration has been initialized');
});

methods

load

load the default and the local configuration and store it in the node environment.

get([key])

returns the environment variable by key. returns the node environment if no key is provided

set(key, value)

sets the environment variable of given key to value.

Running tests

$ npm test

People

Author: Mohamed Boughaba

Looking for more?

Check out argument parser minimist

or even nconf

License

MIT