@@ -9,8 +9,6 @@ var Liftoff = require('liftoff');
99var tildify = require ( 'tildify' ) ;
1010var interpret = require ( 'interpret' ) ;
1111var v8flags = require ( 'v8flags' ) ;
12- var merge = require ( 'lodash.merge' ) ;
13- var isString = require ( 'lodash.isstring' ) ;
1412var findRange = require ( 'semver-greatest-satisfied-range' ) ;
1513var exit = require ( './lib/shared/exit' ) ;
1614var cliOptions = require ( './lib/shared/cliOptions' ) ;
@@ -20,6 +18,10 @@ var cliVersion = require('./package.json').version;
2018var getBlacklist = require ( './lib/shared/getBlacklist' ) ;
2119var toConsole = require ( './lib/shared/log/toConsole' ) ;
2220
21+ var loadConfigFiles = require ( './lib/shared/config/load-files' ) ;
22+ var mergeConfigToCliFlags = require ( './lib/shared/config/cli-flags' ) ;
23+ var mergeConfigToEnvFlags = require ( './lib/shared/config/env-flags' ) ;
24+
2325// Logging functions
2426var logVerify = require ( './lib/shared/log/verify' ) ;
2527var logBlacklistError = require ( './lib/shared/log/blacklistError' ) ;
@@ -65,7 +67,7 @@ if (opts.continue) {
6567 process . env . UNDERTAKER_SETTLE = 'true' ;
6668}
6769
68- // Set up event listeners for logging.
70+ // Set up event listeners for logging temporarily .
6971toConsole ( log , opts ) ;
7072
7173cli . on ( 'require' , function ( name ) {
@@ -96,14 +98,13 @@ module.exports = run;
9698
9799// The actual logic
98100function handleArguments ( env ) {
101+ var cfgLoadOrder = [ 'home' , 'cwd' ] ;
102+ var cfg = loadConfigFiles ( env . configFiles [ '.gulp' ] , cfgLoadOrder ) ;
103+ opts = mergeConfigToCliFlags ( opts , cfg ) ;
104+ env = mergeConfigToEnvFlags ( env , cfg ) ;
99105
100- // Map an array of keys to preserve order
101- var configFilePaths = [ 'home' , 'cwd' ] . map ( function ( key ) {
102- return env . configFiles [ '.gulp' ] [ key ] ;
103- } ) ;
104- configFilePaths . filter ( isString ) . forEach ( function ( filePath ) {
105- merge ( opts , require ( filePath ) ) ;
106- } ) ;
106+ // Set up event listeners for logging again after configuring.
107+ toConsole ( log , opts ) ;
107108
108109 if ( opts . help ) {
109110 console . log ( parser . help ( ) ) ;
@@ -169,5 +170,5 @@ function handleArguments(env) {
169170 }
170171
171172 // Load and execute the CLI version
172- require ( path . join ( __dirname , '/lib/versioned/' , range , '/' ) ) ( opts , env ) ;
173+ require ( path . join ( __dirname , '/lib/versioned/' , range , '/' ) ) ( opts , env , cfg ) ;
173174}
0 commit comments