'use strict';

var argv = require('minimist')(process.argv.slice(2));
var merge = require('lodash.merge');
var path = require('path');
var env = argv.env || process.env.NODE_ENV;

// figure out where the config files are at
var cfgDir = process.env.NODE_CONFIG_DIR;
if (!cfgDir) {
  cfgDir = path.resolve(process.cwd, 'config/') + '/';
} else {
  cfgDir = path.resolve(cfgDir) + '/';
}

var defaultConfigPath = path.join(cfgDir, 'default');
var envConfigPath = path.join(cfgDir, env);

var defaultConfig, envConfig;

try {
  defaultConfig = require(defaultConfigPath);
} catch (err) {
  defaultConfig = {}; // no default specified
}

try {
  envConfig = require(envConfigPath);
} catch (err) {
  envConfig = {}; // no env specified
}

module.exports = merge(defaultConfig, envConfig);

@@ -173,16 +173,91 @@
 E_ENV;%0A%0A
+var envConfigPath, defaultConfigPath, cfgDir,%0A  defaultConfig, envConfig;%0A%0A
 // figur
@@ -292,20 +292,16 @@
  are at%0A
-var 
 cfgDir =
@@ -451,16 +451,17 @@
 '/';%0A%7D%0A%0A
+%0A
 var defa
@@ -502,27 +502,37 @@
 'default');%0A
-var
+%0Aif (env) %7B%0A 
  envConfigPa
@@ -564,38 +564,9 @@
 v);%0A
-%0Avar defaultConfig, envConfig;
+%7D
 %0A%0Atr
@@ -686,16 +686,41 @@
 %0A%0Atry %7B%0A
+  if (envConfigPath) %7B%0A  
   envCon
@@ -741,32 +741,67 @@
 envConfigPath);%0A
+  %7D else %7B%0A    envConfig = %7B%7D;%0A  %7D%0A
 %7D catch (err) %7B%0A

fix null env bug