@@ -128,28 +128,32 @@ module.exports = function(...args) {
128128 }
129129
130130 if ( ! configFileLoaded ) {
131- return processConfiguredOptions ( { } ) ;
131+ return processConfiguredOptions ( null ) ;
132132 } else if ( options . length === 1 ) {
133133 return processConfiguredOptions ( options [ 0 ] ) ;
134134 } else {
135135 return processConfiguredOptions ( options ) ;
136136 }
137137
138138 function processConfiguredOptions ( options ) {
139- const webpackConfigurationValidationErrors = validateSchema ( webpackConfigurationSchema , options ) ;
140- if ( webpackConfigurationValidationErrors . length ) {
141- const error = new WebpackOptionsValidationError ( webpackConfigurationValidationErrors ) ;
142- console . error ( error . message , `\nReceived: ${ typeof options } : ${ JSON . stringify ( options , null , 2 ) } ` ) ;
143- process . exit ( - 1 ) ; // eslint-disable-line
139+ if ( options ) {
140+ const webpackConfigurationValidationErrors = validateSchema ( webpackConfigurationSchema , options ) ;
141+ if ( webpackConfigurationValidationErrors . length ) {
142+ const error = new WebpackOptionsValidationError ( webpackConfigurationValidationErrors ) ;
143+ console . error ( error . message , `\nReceived: ${ typeof options } : ${ JSON . stringify ( options , null , 2 ) } ` ) ;
144+ process . exit ( - 1 ) ; // eslint-disable-line
145+ }
146+ } else {
147+ options = { } ;
144148 }
145149
146150 // process Promise
147- if ( typeof options . then === "function" ) {
151+ if ( options && typeof options . then === "function" ) {
148152 return options . then ( processConfiguredOptions ) ;
149153 }
150154
151155 // process ES6 default
152- if ( typeof options === "object" && typeof options . default === "object" ) {
156+ if ( options && typeof options === "object" && typeof options . default === "object" ) {
153157 return processConfiguredOptions ( options . default ) ;
154158 }
155159
0 commit comments