{"_id":"read-config","_rev":"43-d6bddb2c76d523a6657285b90dcc9e68","name":"read-config","description":"Multi format configuration loader","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.1":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"0.0.1","description":"JSON configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp jshint test","ci":"gulp ci"},"keywords":["coditorium","configuration"],"dependencies":{"lodash":"2.4.1","async":"~0.9.0","json5":"~0.4.0"},"devDependencies":{"chai":"^1.10.0","gulp":"~3.8.10","gulp-clean":"~0.3.1","gulp-istanbul":"~0.5.0","gulp-jshint":"~1.8.5","gulp-mocha":"~1.1.1","gulp-sync":"~0.1.4","gulp-util":"~3.0.1","jshint-stylish":"~1.0.0","mkdirp":"~0.5.0","mocha":"1.21.5","mocha-jenkins-reporter":"~0.1.3"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@0.0.1","dist":{"shasum":"1348ea395de7493699663164bfa030e8faed6298","tarball":"https://registry.npmjs.org/read-config/-/read-config-0.0.1.tgz","integrity":"sha512-wQiEZnVOaeVIboXtba7Oqi2mgYh4J/VE6Sz1fkH5tBHwBn9u679K6Km5DE/lLDfh6fzn4sgNcaU16nV4OEogeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGnfZ/xSrzUxI3Y9jDUhR7q7ONVa0ees5jjx6CJ4848jAiEAu8O2iGqEoPxYDfTllsEDPTPXDuRKsgOcLloi9k41LGg="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"0.1.0":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"0.1.0","description":"JSON configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp jshint test","ci":"gulp ci"},"keywords":["coditorium","configuration"],"dependencies":{"lodash":"2.4.1","async":"~0.9.0","json5":"~0.4.0"},"devDependencies":{"chai":"^1.10.0","gulp":"~3.8.10","gulp-clean":"~0.3.1","gulp-istanbul":"~0.5.0","gulp-jshint":"~1.8.5","gulp-mocha":"~1.1.1","gulp-sync":"~0.1.4","gulp-util":"~3.0.1","jshint-stylish":"~1.0.0","mkdirp":"~0.5.0","mocha":"1.21.5","mocha-jenkins-reporter":"~0.1.3"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@0.1.0","dist":{"shasum":"c2716c24a3621527c8f57b27f5749b30d1820a64","tarball":"https://registry.npmjs.org/read-config/-/read-config-0.1.0.tgz","integrity":"sha512-ye38Kmf+Hc6uKCHWikpjoX3E971og+LpZtLeTb+UU0O0eOT9xmwtrkul0JLleeAAAJqukXKpyaZpICBVMSY/lQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKM77p4FOHtv6FS6kjKqLvsjc8P5kKt+PHRTwOE3FgfAiB81NDUY3aWsZpuNktlXjJZWdC5QeDEaVhai/BHROqFdA=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.0.0":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.0.0","description":"JSON configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp jshint test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml"],"dependencies":{"lodash":"2.4.1","async":"~0.9.0","json5":"~0.4.0"},"devDependencies":{"chai":"^1.10.0","gulp":"~3.8.10","gulp-clean":"~0.3.1","gulp-istanbul":"~0.5.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.8.5","gulp-mocha":"~1.1.1","gulp-sync":"~0.1.4","gulp-util":"~3.0.1","jshint-stylish":"~1.0.0","mkdirp":"~0.5.0","mocha":"1.21.5","mocha-jenkins-reporter":"~0.1.3","js-yaml":"~3.2.6","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.0.0","dist":{"shasum":"7203ce82fe9c06c11b081d350d08430e60908626","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.0.0.tgz","integrity":"sha512-XmKCB97xxSK8PL9ETGkNkUGhwuNfbepvxeB6i0O90be/Bz3haagAk8W9vvzhmSxXbvtKNa5HOtfgiruNu+7heQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJsj54pwI63bOqNnAnk4YhaCNL66dJ5bIT7geAhbFLwQIhAJWTyKl8X6vUvvke+rZjRbs9xXzKaQx6o3LzCCv1PN8R"}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.0.1":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.0.1","description":"JSON configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml"],"dependencies":{"lodash":"2.4.1","async":"~0.9.0","json5":"~0.4.0"},"devDependencies":{"chai":"^1.10.0","gulp":"~3.8.10","gulp-clean":"~0.3.1","gulp-istanbul":"~0.5.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.8.5","gulp-mocha":"~1.1.1","gulp-sync":"~0.1.4","gulp-util":"~3.0.1","jshint-stylish":"~1.0.0","mkdirp":"~0.5.0","mocha":"1.21.5","mocha-jenkins-reporter":"~0.1.3","js-yaml":"~3.2.6","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.0.1","dist":{"shasum":"66ba8e9526f934631f7dcdf8be45d0d7c1595f14","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.0.1.tgz","integrity":"sha512-ZjV5CSGIVUwvmBdEAGEwRPK8kp2w/8kHgIb01wvokTL95Y9gvSQ60ycbvOH4BdCIIyyh/J6yabyGHW2IP76feA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgj9dxfxe8LTk0v5dIf1YZtxBwJNJ+chl4EKXQ26Xm3AiBQb/l3AKnpUP7nqZd6cnn1i900L/trHoLo+06UyMgs5Q=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.1.1":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.1.1","description":"JSON configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml"],"dependencies":{"lodash":"2.4.1","async":"~0.9.0","json5":"~0.4.0"},"devDependencies":{"chai":"^1.10.0","gulp":"~3.8.10","gulp-clean":"~0.3.1","gulp-istanbul":"~0.5.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.8.5","gulp-mocha":"~1.1.1","gulp-sync":"~0.1.4","gulp-util":"~3.0.1","jshint-stylish":"~1.0.0","mkdirp":"~0.5.0","mocha":"1.21.5","mocha-jenkins-reporter":"~0.1.3","js-yaml":"~3.2.6","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","gitHead":"86f0a6e581a9077220f0db3eae47ab4db303478e","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.1.1","_shasum":"c938fdb52798ac17bd1f76b2ac7eee16b9d1b603","_from":"./","_npmVersion":"1.4.28","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}],"dist":{"shasum":"c938fdb52798ac17bd1f76b2ac7eee16b9d1b603","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.1.1.tgz","integrity":"sha512-6YMlN/Bz0CPT/7I7qtbBgdr3h3n9M9URz5ViJES2g/0Mvc+OkBY632YRK12d2kdQpGiYeZDxDrA74SP+vHosAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQzVnM+liFIU0KBVK+msoiMn9q4O19jTrZa/UK6e+wYwIhAILKOI28Vgwa6PoM+a1xlG3lRcRc3Gbj1+ndcJVnpZDN"}]}},"1.2.1":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.2.1","description":"JSON configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml"],"dependencies":{"lodash":"^3.3.1","async":"~0.9.0","json5":"~0.4.0","js-yaml":"~3.2.7"},"devDependencies":{"chai":"^2.1.1","gulp":"~3.8.11","gulp-clean":"~0.3.1","gulp-istanbul":"~0.6.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.9.2","gulp-mocha":"~2.0.0","gulp-sync":"~0.1.4","gulp-util":"~3.0.4","jshint-stylish":"~1.0.1","mkdirp":"~0.5.0","mocha":"2.1.0","mocha-jenkins-reporter":"~0.1.4","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.2.1","dist":{"shasum":"679dd253a7b6e047748714cf75006b4dda4bf712","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.2.1.tgz","integrity":"sha512-nq/PEZfdc35OAKf1VUdDXOsKkOCISNWbDVRKPzkcNeovpezUAJQajBZCLZvefw68L9/Y7tQUFfB25QGFLDqT3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBl+kru8wrVJhyYDbgHFtB9YTETcbUwTAeG30rZYrNBXAiBtjoI82nmbynq+c+SnWc3iMGQcK4IieUxOFm8x5ieEuw=="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.3.1":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.3.1","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^3.3.1","async":"~0.9.0","json5":"~0.4.0","js-yaml":"~3.2.7","properties":"~1.2.1"},"devDependencies":{"chai":"^2.1.1","gulp":"~3.8.11","gulp-clean":"~0.3.1","gulp-istanbul":"~0.6.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.9.2","gulp-mocha":"~2.0.0","gulp-sync":"~0.1.4","gulp-util":"~3.0.4","jshint-stylish":"~1.0.1","mkdirp":"~0.5.0","mocha":"2.1.0","mocha-jenkins-reporter":"~0.1.4","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.3.1","dist":{"shasum":"8fd2da292767c45fd42bb7c258be3117ca436e9a","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.3.1.tgz","integrity":"sha512-8Cqkv2orrLqFut+WZ8oT2HIM9ZeyBlGVRQJXBtyeosQYcJv03JcMwWRwTNB/qKnXLVgGTiM7D6fJdatEhKcloA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaMte6MAWRjurqjIOq6eifma5Znw8FZ2bfDVC1tr72XQIgTC4jW1veRfgdH9B4xiHDVoq2UyZnDxy0cZjDFWaO5jU="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.4.1":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.4.1","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^3.3.1","async":"~0.9.0","json5":"~0.4.0","js-yaml":"~3.2.7","properties":"~1.2.1"},"devDependencies":{"chai":"^2.1.1","gulp":"~3.8.11","gulp-clean":"~0.3.1","gulp-istanbul":"~0.6.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.9.2","gulp-mocha":"~2.0.0","gulp-sync":"~0.1.4","gulp-util":"~3.0.4","jshint-stylish":"~1.0.1","mkdirp":"~0.5.0","mocha":"2.1.0","mocha-jenkins-reporter":"~0.1.4","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.4.1","dist":{"shasum":"13081307523ffb355907d52ce63ff8834d0fdc23","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.4.1.tgz","integrity":"sha512-r7ZV0jZwxYqxA/yDIyKzvxzM3XlvF/3dxfjMB51ZFsHiWvjnYIyLPq0kK0zREKUn+JzIvh7noyQbfXf0lh8xSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5N81gyEKHlFRKuxmBfbyEcCW3kBDlQXLhWwZI1AqZvAIgI2LWPq263v2GiV8SByTlpZg641TnsrsjohABkrfdywE="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.4.2":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.4.2","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^3.3.1","async":"~0.9.0","json5":"~0.4.0","js-yaml":"~3.2.7","properties":"~1.2.1"},"devDependencies":{"chai":"^2.1.1","gulp":"~3.8.11","gulp-clean":"~0.3.1","gulp-istanbul":"~0.6.0","gulp-jscs":"^1.4.0","gulp-jshint":"~1.9.2","gulp-mocha":"~2.0.0","gulp-sync":"~0.1.4","gulp-util":"~3.0.4","jshint-stylish":"~1.0.1","mkdirp":"~0.5.0","mocha":"2.1.0","mocha-jenkins-reporter":"~0.1.4","coveralls":"~2.11.2"},"engines":{"node":"0.10.x"},"analyze":"true","homepage":"https://github.com/coditorium/nodejs-read-config","_id":"read-config@1.4.2","dist":{"shasum":"a017e44e60a4455234579f41145e47c8de345ff3","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.4.2.tgz","integrity":"sha512-smcNxWJgbLLa5ckZYhfeNtbnhYbnuabo9ic44EQ6gHRY/v2gsWMvmbhuwOqnJrqvWZvPgxLI5cLffzL2t2R4hA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClWjav2wsEDn8Qfv3ZGknIPs3dujXCOrb7+dCnSJwMUwIgMoXDqjx7U2g/2MkQbLaLv25QNzbFpEb7BfSw9SaNuJQ="}]},"_from":"./","_npmVersion":"1.3.17","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.5.0":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.5.0","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"git+https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^3.9.3","async":"~1.2.1","json5":"~0.4.0","js-yaml":"~3.3.1","properties":"~1.2.1"},"devDependencies":{"chai":"^3.0.0","coveralls":"~2.11.2","del":"^1.2.0","gulp":"~3.9.0","gulp-clean":"~0.3.1","gulp-istanbul":"~0.10.0","gulp-jscs":"^1.6.0","gulp-jshint":"~1.11.0","gulp-mocha":"~2.1.2","gulp-sync":"~0.1.4","gulp-util":"~3.0.5","jshint-stylish":"~2.0.1","mkdirp":"~0.5.1","mocha":"2.2.5","mocha-jenkins-reporter":"~0.1.9"},"engines":{"node":">=0.10"},"analyze":"true","gitHead":"2615c86c369c7a882e584be6d82957002d80b94a","homepage":"https://github.com/coditorium/nodejs-read-config#readme","_id":"read-config@1.5.0","_shasum":"67710f740f621ead78125feac18e32911e365a1a","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"dist":{"shasum":"67710f740f621ead78125feac18e32911e365a1a","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.5.0.tgz","integrity":"sha512-gqnz3BvEwXeaXYGn8qXNPOkyOJk+T4W0XGBjHUZGfwPrG+upeFZ24gsqJNepN+MMv/uUy6cLm8QYENxt/LPyrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+en/9fslMv+D2RgGpvJ8quAejQt6sbEmB6dWj+GgK7QIhALvhdCPkeBzNsadkUasGVFuM9L/j3zD/kMs/J+O5Z2Hv"}]},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.5.3":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.5.3","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"git+https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^3.10.1","async":"~1.4.2","json5":"~0.4.0","js-yaml":"~3.4.0","properties":"~1.2.1"},"devDependencies":{"chai":"^3.2.0","coveralls":"~2.11.4","del":"^1.2.1","gulp":"~3.9.0","gulp-istanbul":"~0.10.0","gulp-jscs":"^2.0.0","gulp-jshint":"~1.11.2","gulp-mocha":"~2.1.3","gulp-sync":"~0.1.4","gulp-util":"~3.0.6","jshint-stylish":"~2.0.1","mkdirp":"~0.5.1","mocha":"2.2.5","mocha-jenkins-reporter":"~0.1.9"},"engines":{"node":">=0.10"},"analyze":"true","gitHead":"3c8af429bf48ec3bb16c2cf182ef0fad7342725c","homepage":"https://github.com/coditorium/nodejs-read-config#readme","_id":"read-config@1.5.3","_shasum":"861e89ae79e69e18586c2302804c8e4ba3dc3537","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"dist":{"shasum":"861e89ae79e69e18586c2302804c8e4ba3dc3537","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.5.3.tgz","integrity":"sha512-mA64RCn/SZTWyq7ZKrBpTkxlhNQ2/JEOXWKztXZhEwDjHUV/0ZCdutjZcWUB+TdLDhX6o4e3o0gPZObaJG7X8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHP4rB0S2yY+29Ijjor9V97kS4DA8wlk5bM1zmjOzyfrAiASkozlNXGB6zs3nCS7ObQWsACCpFwR/QkU7dhWp/w3Wg=="}]},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"1.6.0":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"1.6.0","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"git+https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp checkstyle test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^3.10.1","async":"~1.4.2","json5":"~0.4.0","js-yaml":"~3.4.0","properties":"~1.2.1"},"devDependencies":{"chai":"^3.2.0","coveralls":"~2.11.4","del":"^2.0.0","gulp":"~3.9.0","gulp-istanbul":"~0.10.0","gulp-jscs":"^2.0.0","gulp-jshint":"~1.11.2","gulp-mocha":"~2.1.3","gulp-sync":"~0.1.4","gulp-util":"~3.0.6","jshint-stylish":"~2.0.1","mkdirp":"~0.5.1","mocha":"2.3.0","mocha-jenkins-reporter":"~0.1.9"},"engines":{"node":">=0.10"},"analyze":"true","gitHead":"28e2058d40325e366d2701b42965376422c84f54","homepage":"https://github.com/coditorium/nodejs-read-config#readme","_id":"read-config@1.6.0","_shasum":"c75d234ff9aafdb271819ae6da247df91e22382d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"dist":{"shasum":"c75d234ff9aafdb271819ae6da247df91e22382d","tarball":"https://registry.npmjs.org/read-config/-/read-config-1.6.0.tgz","integrity":"sha512-qKDy+1Oo3m33kuJ1cKI+lJgum/k628qs2IPVovsWF+MPiVxVNSy8WksJrD+PjHWasbQl0jBKIGnbivEk1+OYng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyEKN8/eBwFA1AUk6EnJeYlhkrTpHQkPAQ9y7N7ncmWwIhAKtw4Vdm902djyjGeuxgpVHyunC7CMq4g5aD2nrCf8eX"}]},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}]},"2.0.0":{"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"name":"read-config","version":"2.0.0","description":"Multi format configuration loader","main":"index.js","license":"MIT","repository":{"type":"git","url":"git+https://github.com/coditorium/nodejs-read-config.git"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"scripts":{"test":"gulp lint test","ci":"gulp ci","coveralls":"cat build/test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"keywords":["coditorium","configuration","json","yaml","properties"],"dependencies":{"lodash":"^4.2.1","async":"~1.5.2","json5":"~0.4.0","js-yaml":"~3.5.2","properties":"~1.2.1"},"devDependencies":{"chai":"^3.5.0","coveralls":"~2.11.6","del":"^2.2.0","gulp":"~3.9.0","gulp-eslint":"^1.1.1","gulp-if":"^2.0.0","gulp-istanbul":"~0.10.3","gulp-mocha":"~2.2.0","gulp-sync":"~0.1.4","gulp-util":"~3.0.7","minimist":"^1.2.0","mkdirp":"~0.5.1","mocha":"2.4.5","mocha-jenkins-reporter":"~0.1.9"},"engines":{"node":">=5"},"analyze":"true","gitHead":"9915ea514fdb5900eb60a07a11958ccf039a5b2a","homepage":"https://github.com/coditorium/nodejs-read-config#readme","_id":"read-config@2.0.0","_shasum":"55a8042a9fc039f25b743c6d56cce33ac9445c0d","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.1","_npmUser":{"name":"mendlik","email":"mendelski.pawel@gmail.com"},"dist":{"shasum":"55a8042a9fc039f25b743c6d56cce33ac9445c0d","tarball":"https://registry.npmjs.org/read-config/-/read-config-2.0.0.tgz","integrity":"sha512-8UJEj8wWWdlRZTTMwCn2qWa4myfe6ouTVW2XChXrdRRw282b9D1p1OBEBTiJoO4p9thlPHjk37lqekRQ1U8jbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1v4yTM+4VmZ+ExYwwlKiCaYfZlVJjwXEiTOFekkJijQIgCfmZ+FvYyaWmXa0/JxQLhZfOFtF8jFbRj+eQr1fvwII="}]},"maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/read-config-2.0.0.tgz_1454922703802_0.13720714580267668"}}},"readme":"# nodejs-read-config\n\n[![Travis build status](https://travis-ci.org/coditorium/nodejs-read-config.png?branch=master)](https://travis-ci.org/coditorium/nodejs-read-config)\n[![dependencies](https://david-dm.org/coditorium/nodejs-read-config.png)](https://david-dm.org/coditorium/nodejs-read-config)\n[![Coverage Status](https://coveralls.io/repos/coditorium/nodejs-read-config/badge.svg)](https://coveralls.io/r/coditorium/nodejs-read-config)\n\n[![NPM info](https://nodei.co/npm/read-config.png?downloads=true)](https://www.npmjs.com/package/read-config)\n\nMulti format configuration loader for Node.js.\nFeatures:\n\n- Environmental variables replacement\n- Configuration variables replacement\n- Overriding configuration properties via environmental variables\n- Variable default values\n- Hierarchical configurations\n- Supported format:\n  - [JSON5](http://json5.org/)\n  - [YAML](http://en.wikipedia.org/wiki/YAML)\n  - [Properties](http://en.wikipedia.org/wiki/.properties)\n\n## How to use\n\n### Environment variable replacement\n\n/tmp/config.json:\n``` javascript\n{ env1: \"%{ENV_VAR1}\", env2: \"%{ENV_VAR2|def}\" }\n```\nindex.js:\n``` javascript\nvar readConfig = require('read-config'),\n    config = readConfig('/tmp/config.json');\n\nconsole.log(config);\n\n//  $ ENV_VAR1=abc node index.js\n//  { env1: 'abc', env2: 'def' }\n```\n\n- It is possible to change `%` to any other character. Just use `replaceEnv` configuration option.\n- It is possible to use default values when environmental variable is not set.\n\n### Configuration overriding with system variables\n\n/tmp/config.json:\n``` javascript\n{\n    rootProp: \"rootProp\",\n    objProp: {\n\t\tx: 'X'\n\t}\n}\n```\nindex.js:\n``` javascript\nvar readConfig = require('read-config'),\n    config = readConfig('/tmp/config.json', { override: true });\n\nconsole.log(config);\n\n//  $ ENV_VAR1=abc node index.js\n//  { rootProp: 'rootProp', objProp: { x: 'X'} }\n\n//  $ CONFIG_objProp_x=abc node index.js\n//  { rootProp: 'rootProp', objProp: { x: 'abc'} }\n```\n\n- It is possible to change `CONFIG` to any other character. Just use `override` configuration option.\n- It is possible to override existing value or create new one.\n\n### Configuration variable replacement\n\n/tmp/config.json:\n``` javascript\n{\n    text1: \"def\",\n    text2: \"abc-@{text1}-ghi\"\n    number1: 1,\n    number2: \"@{number1}\",\n    boolean1: true,\n    boolean2: \"@{boolean1}\",\n    null1: null,\n    null2: \"@{null1}\",\n\tobj1: {\n\t\tx: 'X',\n\t\ty: '@{./x}', // same as @{obj1.x}\n\t\tz: '@{../text1}' // same as @{text1}\n\t},\n\tobj2: \"@{obj1}\"\n}\n```\nindex.js:\n``` javascript\nvar readConfig = require('read-config'),\n    config = readConfig('/tmp/config.json');\n\nconsole.log(config);\n\n//  $ node index.js\n//  {\n//    text1: \"def\",\n//    text2: \"abc-def-ghi\"\n//    number1: 1,\n//    number2: 1,\n//    boolean1: true,\n//    boolean2: true,\n//    null1: null,\n//    null2: null,\n//    obj1: {\n//      x: 'X',\n//      y: 'X',\n//      z: 'def'\n//    },\n//    obj2: {\n//      x: 'X',\n//      y: 'X',\n//      z: 'def'\n//    }\n//  }\n```\n\n- It is possible to use nested paths like `@{x.y.z}`\n- It is possible to use relative paths like `@{./x}` and `@{../y}`\n- It is possible to concatenate variables like `@{x}abc@{y}def@{ghi}`\n\n### Configuration hierarchy\n\n/tmp/config-1.json:\n``` javascript\n{\n    a: \"a\",\n    b: \"b\",\n    arr: [1, 2, 3]\n}\n```\n/tmp/config-2.json:\n``` javascript\n{\n    __parent: \"/tmp/config-1.json\",\n    // same as: __parent: \"./config-1.json\",\n    b: \"bb\",\n    c: \"aa\",\n    arr: []\n}\n```\nindex.js:\n``` javascript\nvar readConfig = require('read-config'),\n    config = readConfig('/tmp/config-2.json');\n\nconsole.log(config);\n\n//  $ node index.js\n//  {\n//    a: \"a\"\n//    b: \"bb\",\n//    c: \"aa\",\n//    arr: []\n//  }\n\n```\n\n### Hierarchy and basedir\n\n/tmp/config-1.json:\n``` javascript\n{\n    a: \"a\",\n    b: \"b\",\n    arr: [1, 2, 3]\n}\n```\n/home/xxx/config-2.json:\n``` javascript\n{\n    __parent: \"config-1\", // no directory & extension specified\n    b: \"bb\",\n    c: \"aa\",\n    arr: []\n}\n```\nindex.js:\n``` javascript\nvar readConfig = require('read-config'),\n    config = readConfig('/tmp/config-2.json');\n\nconsole.log(config);\n\n//  $ node index.js\n//  {\n//    a: \"a\"\n//    b: \"bb\",\n//    c: \"aa\",\n//    arr: []\n//  }\n```\n\n### YAML config format\n\nUsing YAML representation lookout for special characters like: '%' and '@'.\n\n/tmp/config.yml:\n``` javascript\na: \"@{LOCAL_VAR}\"\nb: \"%{ENV_VAR}\"\nc: No quotes needed!\n```\n\n## API\n\n### Functions\n\n- **readConfig(paths, [opts])** - Alias for `readConfig.sync(paths, [opts])`.\n- **readConfig.sync(paths, [opts])** - Loads configuration file synchronously.\n- **readConfig.async(paths, [opts], callback)** - Loads configuration file asynchronously.\n\nAll json files are loaded using [JSON5](https://www.npmjs.com/package/json5) library. It means you can add comments, and skip quotes in your config files - thank you json5;).\n\n### Parameters\n\n- **paths** (String/Array) - path (or array of paths) to configuration file. If passed an array of paths than every configuration is resolved separately than merged hierarchically (like: [grand-parent-config, parent-config, child-config]).\n- **opts** (Object, optional) - configuration loading options\n    - **parentField** - (Boolean/String, default: true) if specified enables configuration hierarchy. It's value is used to resolve parent configuration file. This field will be removed from the result. A string value overrides `__parentField` property name.\n    - **optional** - (String/Array, default: []) list of configuration paths that are optional. If any configuration path is not resolved and is not optional it's treated as empty file and no exception is raised.\n    - **basedir** - (String/Array, default: []) base directory (or directories) used for searching configuration files. Mind that `basedir` has lower priority than a configuration directory, process basedir, and absolute paths.\n    - **replaceEnv** - (Boolean/String, default: false, constraint: A string value must be different than `replaceLocal`) if specified enables environment variable replacement. Expected string value e.g. `%` that will be used to replace all occurrences of `%{...}` with environment variables. You can use default values like: %{a.b.c|some-default-value}.\n    - **replaceLocal** - (Boolean/String, default: '@', constraint: A string value must be different than `replaceEnv`) if specified enables configuration variable replacement. Expected string value e.g. `@` that will be used to replace all occurrences of `@{...}` with configuration variables. You can use default values like: @{a.b.c|some-default-value}.\n    - **override** - (Boolean/String, default: false) If specified enables configuration overriding with environmental variables like `CONFIG_<propertyName>`.\n    - **skipUnresolved** - (Boolean, default: false) `true` blocks error throwing on unresolved variables.\n\nDefault **opts** values:\n``` javascript\n{\n    parentField: \"__parent\",\n    optional: [],\n    basedir: null,\n    replaceEnv: \"%\",\n    replaceLocal: \"@\",\n    skipUnresolved: false\n}\n```\n\n## Flow\n\nFlow of the configuration loader:\n\n1. Merge all configs passed in **path** parameter with all of their parents (merging all hierarchy)\n2. Merge all results to one json object\n3. Override configuration with environment variables\n4. Resolve environment variables\n5. Resolve local variables\n\n### Gulp commands:\n\n- `gulp checkstyle` - runs jshint and jscsrc analysis\n- `gulp test` - runs tests\n- `gulp test --file test/loader.js` - runs single test file `./test/loader.js`\n- `gulp` - alias for `gulp jshint test`\n- `gulp test-cov` - runs instrumented tests, generates reports to `./build/test`\n- `gulp test-cov --file test/loader.js` - runs single instrumented test file `./test/loader.js`\n- `gulp clean` - removes `./build` folder\n- `gulp ci` - alias for `gulp clean checkstyle test-cov`\n\n### NPM commands:\n\n- `npm test` - alias for `gulp test`\n- `npm run ci` - alias for `gulp ci`\n","maintainers":[{"name":"mendlik","email":"mendelski.pawel@gmail.com"}],"time":{"modified":"2022-06-26T09:13:01.482Z","created":"2014-12-10T10:49:35.027Z","0.0.1":"2014-12-10T10:49:36.561Z","0.1.0":"2014-12-10T13:11:32.616Z","1.0.0":"2015-02-19T10:18:19.679Z","1.0.1":"2015-02-20T10:05:06.460Z","1.1.1":"2015-02-21T16:19:33.278Z","1.2.1":"2015-03-06T13:05:50.005Z","1.3.1":"2015-03-10T14:22:58.600Z","1.4.1":"2015-03-10T15:46:23.297Z","1.4.2":"2015-03-11T08:47:48.004Z","1.5.0":"2015-06-23T19:06:49.340Z","1.5.3":"2015-08-23T19:13:36.800Z","1.6.0":"2015-08-31T09:35:27.220Z","2.0.0":"2016-02-08T09:11:46.367Z"},"readmeFilename":"README.md","homepage":"https://github.com/coditorium/nodejs-read-config#readme","keywords":["coditorium","configuration","json","yaml","properties"],"repository":{"type":"git","url":"git+https://github.com/coditorium/nodejs-read-config.git"},"author":{"name":"Paweł Mendelski","email":"pawel.mendelski@coditorium.com"},"bugs":{"url":"https://github.com/coditorium/nodejs-read-config/issues"},"license":"MIT","users":{"mendlik":true}}