config-reader

A dynamic JSON config file reader for nodejs

config-reader

NodeJS dynamic config file reader

npm install config-reader
(new confreader()).parseSync(<file_path>);
(new confreader()).parse(<file_path>, callback(<error>, <result>));
var confreader = require("config-reader");
try {
   var config = (new confreader()).parseSync("config.json");
} catch (e) {
}
console.log(config);
var confreader = require("config-reader");
(new confreader()).parse("config.json", function(error, config){
   if (error) {
   } else {
      console.log(config);
   }
});
# Hey, this config reader allow comment
define(HOME_PATH, function( ){ return process.env.HOME });
define(PROGRAM_PATH, function( ){ return require('path').dirname(require.main.filename) });
define(CUSTOM_PATH, "/home/username/");
define(NUMBER, 5);
define(MULTIPLY, function( a, b ) { return a * b });
{
  "config": "value",
  "useobject": {
     "child1": 0,
     "child2": 1
  },
  "use_array": [0, 1, 2, {}],
  "use_variable": "::CUSTOM_PATH/docs/",
  "use_number": ::NUMBER,
  "use_function": "::HOME_PATH()",
  "use_function2": ::MULTIPLY(2, 3)
}
  1. Suport more complex config
  2. Allow multiline comment
  3. Allow nested definition, and function call
  4. Ignore trailing comma
  5. ignore quote in key definiton

You are welcome to contribute by writing issues or pull requests.

You are also welcome to correct any spelling mistakes or any language issues, because my english is not perfect...

Copyright (c) 2014 Decky Fx

MIT (http://www.opensource.org/licenses/mit-license.php)