featherlight configuration handler for node.js
fconfig is a minimal configuration library for node.js, inspired by the config class of the ZEND PHP framework.
It allows multi-environment configurations to be read from either static
.JSON-files or dynamic
By organising your configuration in environment-specific blocks and configuring fconfig accordingly, you only have to write minimal configuration as non-default configurations automatically base themselves upon the default environment.
Ie. anything that is declared in
development is automatically extended to other
environments such as
development is set as your default environment.
(See example below)
module.exports = # /configs/config.coffee development: sendEmails: false database: host: "127.0.0.1" # Just do "config.get "advancedStuff" and your closure is invoked # automatically! getAdvancedStuff: -> returnMath.random() + 10 # This block will extend the above "development" block so only # specify what needs to differ here production: database: host: "192.168.1.30" # app.coffee fconfig = require "fconfig" config = new fconfig config: "config.coffee" env_default: "development" # Set the development-block as default
example/app.coffee file for more details.
npm install fconfig
Copyright (c) 2012 Joakim B