Skip to content

Commit d28f9f5

Browse files
committedAug 26, 2019
fix: support both webpack versions
1 parent 9487ee5 commit d28f9f5

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed
 

‎bin/utils/convert-argv.js

+14-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ const interpret = require("interpret");
55
const prepareOptions = require("./prepareOptions");
66
const webpackConfigurationSchema = require("../config/webpackConfigurationSchema.json");
77
const validateSchema = require("webpack").validateSchema;
8-
const WebpackOptionsValidationError = require("webpack").WebpackOptionsValidationError;
98
const findup = require("findup-sync");
109

1110
module.exports = function(...args) {
@@ -137,11 +136,20 @@ module.exports = function(...args) {
137136

138137
function processConfiguredOptions(options) {
139138
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
139+
let error;
140+
try {
141+
const errors = validateSchema(webpackConfigurationSchema, options);
142+
if (errors && errors.length > 0) {
143+
const { WebpackOptionsValidationError } = require("webpack");
144+
error = new WebpackOptionsValidationError(errors);
145+
}
146+
} catch (err) {
147+
error = err;
148+
}
149+
150+
if (error) {
151+
console.error(error.message);
152+
process.exit(-1);
145153
}
146154
} else {
147155
options = {};

0 commit comments

Comments
 (0)
Please sign in to comment.