@@ -128,28 +128,32 @@ module.exports = function(...args) {
128
128
}
129
129
130
130
if ( ! configFileLoaded ) {
131
- return processConfiguredOptions ( { } ) ;
131
+ return processConfiguredOptions ( null ) ;
132
132
} else if ( options . length === 1 ) {
133
133
return processConfiguredOptions ( options [ 0 ] ) ;
134
134
} else {
135
135
return processConfiguredOptions ( options ) ;
136
136
}
137
137
138
138
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 = { } ;
144
148
}
145
149
146
150
// process Promise
147
- if ( typeof options . then === "function" ) {
151
+ if ( options && typeof options . then === "function" ) {
148
152
return options . then ( processConfiguredOptions ) ;
149
153
}
150
154
151
155
// process ES6 default
152
- if ( typeof options === "object" && typeof options . default === "object" ) {
156
+ if ( options && typeof options === "object" && typeof options . default === "object" ) {
153
157
return processConfiguredOptions ( options . default ) ;
154
158
}
155
159
0 commit comments