@@ -9,8 +9,6 @@ var Liftoff = require('liftoff');
9
9
var tildify = require ( 'tildify' ) ;
10
10
var interpret = require ( 'interpret' ) ;
11
11
var v8flags = require ( 'v8flags' ) ;
12
- var merge = require ( 'lodash.merge' ) ;
13
- var isString = require ( 'lodash.isstring' ) ;
14
12
var findRange = require ( 'semver-greatest-satisfied-range' ) ;
15
13
var exit = require ( './lib/shared/exit' ) ;
16
14
var cliOptions = require ( './lib/shared/cliOptions' ) ;
@@ -20,6 +18,10 @@ var cliVersion = require('./package.json').version;
20
18
var getBlacklist = require ( './lib/shared/getBlacklist' ) ;
21
19
var toConsole = require ( './lib/shared/log/toConsole' ) ;
22
20
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
+
23
25
// Logging functions
24
26
var logVerify = require ( './lib/shared/log/verify' ) ;
25
27
var logBlacklistError = require ( './lib/shared/log/blacklistError' ) ;
@@ -65,7 +67,7 @@ if (opts.continue) {
65
67
process . env . UNDERTAKER_SETTLE = 'true' ;
66
68
}
67
69
68
- // Set up event listeners for logging.
70
+ // Set up event listeners for logging temporarily .
69
71
toConsole ( log , opts ) ;
70
72
71
73
cli . on ( 'require' , function ( name ) {
@@ -96,14 +98,13 @@ module.exports = run;
96
98
97
99
// The actual logic
98
100
function 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 ) ;
99
105
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 ) ;
107
108
108
109
if ( opts . help ) {
109
110
console . log ( parser . help ( ) ) ;
@@ -169,5 +170,5 @@ function handleArguments(env) {
169
170
}
170
171
171
172
// 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 ) ;
173
174
}
0 commit comments