mirror of
https://github.com/harish2704/tconfig.git
synced 2026-09-10 07:01:07 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
106a9d7cbb | ||
|
|
ea1f06b940 |
@@ -0,0 +1 @@
|
|||||||
|
example
|
||||||
@@ -1,15 +1,39 @@
|
|||||||
|
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var configDIR = process.env.CONFIG_DIR || path.resolve( path.join( require.main.paths[0], '..', 'config' ) );
|
var fs = require('fs');
|
||||||
|
var configDir;
|
||||||
var env = ( process.env.NODE_ENV || 'development' ).toLowerCase();
|
var env = ( process.env.NODE_ENV || 'development' ).toLowerCase();
|
||||||
var envPrefix = process.env.TC_PREFIX || 'TC_';
|
var envPrefix = process.env.TC_PREFIX || 'TC_';
|
||||||
var envRegex = new RegExp( '^' + envPrefix + '(.*)' );
|
var envRegex = new RegExp( '^' + envPrefix + '(.*)' );
|
||||||
var finalConfig = {};
|
var finalConfig = {};
|
||||||
|
var configDirLookupPath = [
|
||||||
|
path.resolve( path.join( require.main.paths[0], '..', 'config' ) ),
|
||||||
|
path.join( process.env.PWD, 'config' )
|
||||||
|
];
|
||||||
|
if( process.env.CONFIG_DIR ){
|
||||||
|
configDirLookupPath.unshift( process.env.CONFIG_DIR );
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0, l = configDirLookupPath.length; i < l; i ++) {
|
||||||
|
var v = configDirLookupPath[i];
|
||||||
|
if( fs.existsSync(v) ){
|
||||||
|
configDir = v;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( !configDir ){
|
||||||
|
throw Error(
|
||||||
|
'Config directory not found.\n Look up at following locations failed.\n---\n** ' +
|
||||||
|
configDirLookupPath.join('\n** ') + '\n---\n' +
|
||||||
|
'\n Please set CONFIG_DIR env variable');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function loadConfig( name ){
|
function loadConfig( name ){
|
||||||
var out = {};
|
var out = {};
|
||||||
try{
|
try{
|
||||||
out = require( configDIR + '/' + name );
|
out = require( configDir + '/' + name );
|
||||||
} catch(e){
|
} catch(e){
|
||||||
out = {};
|
out = {};
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tconfig",
|
"name": "tconfig",
|
||||||
"version": "0.0.1",
|
"version": "0.1.1",
|
||||||
"description": "A simple transparent config file loader for Nodejs applications. any config field can be overriden using environmen variables",
|
"description": "A simple transparent config file loader for Nodejs applications. any config field can be overriden using environmen variables",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user