|
@ -9,6 +9,8 @@ var finalConfig = {}; |
|
|
var configDirLookupPath = [ |
|
|
var configDirLookupPath = [ |
|
|
path.join( process.env.PWD, 'config' ) |
|
|
path.join( process.env.PWD, 'config' ) |
|
|
]; |
|
|
]; |
|
|
|
|
|
var beVerbose = process.env.DEBUG && 'tconfig'.match( process.env.DEBUG.replace( /\*/g, '.*' ) ); |
|
|
|
|
|
var log = beVerbose ? console.log.bind( console, 'tconfig:: ' ) : function(){}; |
|
|
|
|
|
|
|
|
if( require.main ){ |
|
|
if( require.main ){ |
|
|
configDirLookupPath.unshift( path.resolve( path.join( require.main.paths[0], '..', 'config' ) ) ); |
|
|
configDirLookupPath.unshift( path.resolve( path.join( require.main.paths[0], '..', 'config' ) ) ); |
|
@ -21,6 +23,7 @@ for (var i = 0, l = configDirLookupPath.length; i < l; i ++) { |
|
|
var v = configDirLookupPath[i]; |
|
|
var v = configDirLookupPath[i]; |
|
|
if( fs.existsSync(v) ){ |
|
|
if( fs.existsSync(v) ){ |
|
|
configDir = v; |
|
|
configDir = v; |
|
|
|
|
|
log( 'Found config dir: ' + configDir ); |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -42,10 +45,12 @@ function processSpecial( str ){ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function loadConfig( name ){ |
|
|
function loadConfig( name ){ |
|
|
|
|
|
log('Loading config ' + name ); |
|
|
var out = {}; |
|
|
var out = {}; |
|
|
try{ |
|
|
try{ |
|
|
out = require( configDir + '/' + name ); |
|
|
out = require( configDir + '/' + name ); |
|
|
} catch(e){ |
|
|
} catch(e){ |
|
|
|
|
|
log( 'Error loading config ' + name, e ); |
|
|
out = {}; |
|
|
out = {}; |
|
|
} |
|
|
} |
|
|
return out; |
|
|
return out; |
|
@ -92,5 +97,6 @@ Object.keys( process.env ).filter( function(v){ |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
log('Final config ', JSON.stringify(finalConfig, null, 2 ) ); |
|
|
|
|
|
|
|
|
module.exports = finalConfig; |
|
|
module.exports = finalConfig; |
|
|