1.1.4 • Published 9 years ago

fleng-config v1.1.4

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

fleng-config

Hierarchical fleng configuration with YAML files and atomic object merging.

Installation

npm install --save fleng-config

Usage

var fconf = require('fleng-config');

// Initialize config provider
var config = new fconf.Provider(__dirname);

// Add default.yaml file as `default` store
config.add('default', 'config/default.yaml');

// Add development.yaml file as `environment` store
config.add('environment', 'config/development.yaml');

// Add an object literal as `overrides` store
config.add('overrides', {
  group: {
    property: 'value'
  }
});

// Add defaults store
config.defaults('global', { group: { property: 'value' } });

// Add overrides store
config.overrides('important', { group: { property: 'value' } });

// Explicitly set value at path `group.property`. It cannot be overrided
config.set('group.property', 'updated value');

// Get full config as an object
config.get();

// Get `group` branch of config
config.get('group');

// Get value at path `group.property`
config.get('group.property');

API

new fconf.Provider([String root])

Create a new config provider. Optional parameter root sets the directory against which file paths will be resolved. If omitted process.cwd() will be used.

.add(String name, String filePath|Object store)

Add a store to the config provider. If filePath is passed provider will try to load a file from that path. The path is resolved against root passed to the constructor or process.cwd(). If an object literal was passed as second argument, it will be added to the config provider as is.

.get([String path])

Get a value by the path passed. If value was not found, method will return undefined.

.set(String path, * value)

Set a value at the passed path. Values set with this method could not be overrided later.

.defaults(String path, * value)

Add a default store. Values from this store will be used if they were not found in generic and overrides stores.

.overrides(String path, * value)

Add an override store. Values from this store will not be overrided by generic or defaults stores.

Build

Module source is in ES6 module syntax. It's built using Babel.js.

Install development dependencies:

npm install -d

and run:

make

Tests

Tests are written using mocha and should.js library. To run testing install development dependencies:

npm install -d

and run:

npm test

License

MIT.

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago