LOKE application configuration management


003.0.04 years ago4 years agoMinified + gzip package size for @loke/config in KB


LOKE Config

Convention based configuration module using YAML for Node apps.


The configuration exposed will be created from the following paths (settings in paths higher on the list will override those lower on the list):

  • {app_path}/config.yml
  • {app_path}/config/config.yml
  • /private/etc/{app_name}/config.yml
  • /etc/{app_name}/config.yml
  • {app_path}/config/defaults.yml

However, if the process has a --config [filename] argument, then that file will be used instead.

The defaults.yml file is required, and all configuration keys must have a value listed in the defaults.yml.


Config files are defined using YAML. See http://yaml.org/

How to Use

Example defaults.yml:

  hostname: www.myapp.com
  port: 80
var config = require('loke-config').create('myapp');

var hostname = config.get('server.hostname');
var port = config.get('server.port');

console.log(hostname); // www.myapp.com
console.log(port); // 80

Environment Variables

You can also override variables using environment variables. Specify them in upper case, and replace . with __ (double underscore).


SERVER__HOSTNAME=www.mynewapp.com npm start

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.