From 065e87ed77c231d8c51a532d898239bb12b280ff Mon Sep 17 00:00:00 2001 From: evenstensberg Date: Wed, 28 Aug 2019 13:21:37 +0200 Subject: [PATCH] chore: abstract validation --- bin/utils/convert-argv.js | 19 ++----------------- bin/utils/validate-options.js | 20 ++++++++++++++++++++ package-lock.json | 11 +++++++++++ package.json | 1 + 4 files changed, 34 insertions(+), 17 deletions(-) create mode 100644 bin/utils/validate-options.js diff --git a/bin/utils/convert-argv.js b/bin/utils/convert-argv.js index 5d26546aabc..a3b90911c3b 100644 --- a/bin/utils/convert-argv.js +++ b/bin/utils/convert-argv.js @@ -3,9 +3,8 @@ const fs = require("fs"); fs.existsSync = fs.existsSync || path.existsSync; const interpret = require("interpret"); const prepareOptions = require("./prepareOptions"); -const webpackConfigurationSchema = require("../config/webpackConfigurationSchema.json"); -const validateSchema = require("webpack").validateSchema; const findup = require("findup-sync"); +const validateOptions = require("./validate-options"); module.exports = function(...args) { const argv = args[1] || args[0]; @@ -136,21 +135,7 @@ module.exports = function(...args) { function processConfiguredOptions(options) { if (options) { - let error; - try { - const errors = validateSchema(webpackConfigurationSchema, options); - if (errors && errors.length > 0) { - const { WebpackOptionsValidationError } = require("webpack"); - error = new WebpackOptionsValidationError(errors); - } - } catch (err) { - error = err; - } - - if (error) { - console.error(error.message); - process.exit(-1); - } + validateOptions(options); } else { options = {}; } diff --git a/bin/utils/validate-options.js b/bin/utils/validate-options.js new file mode 100644 index 00000000000..0016adf226f --- /dev/null +++ b/bin/utils/validate-options.js @@ -0,0 +1,20 @@ +const webpackConfigurationSchema = require("../config/webpackConfigurationSchema.json"); +const validateSchema = require("webpack").validateSchema; + +module.exports = function validateOptions(options) { + let error; + try { + const errors = validateSchema(webpackConfigurationSchema, options); + if (errors && errors.length > 0) { + const { WebpackOptionsValidationError } = require("webpack"); + error = new WebpackOptionsValidationError(errors); + } + } catch (err) { + error = err; + } + + if (error) { + console.error(error.message); + process.exit(-1); + } +}; diff --git a/package-lock.json b/package-lock.json index 6db4d73cde5..0be9314ac27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5178,6 +5178,17 @@ } } }, + "commitlint": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-8.1.0.tgz", + "integrity": "sha512-eUUnHfx9XKQ7/DesUD4mBO3gSVYRQ4l/NAWR+BMf6XOt/cs2JELkRY9U2ZTbaa41wuCOyKRkKT0s4g16Jnc9Tg==", + "dev": true, + "requires": { + "@commitlint/cli": "^8.1.0", + "read-pkg": "3.0.0", + "resolve-pkg": "2.0.0" + } + }, "commitlint-config-cz": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/commitlint-config-cz/-/commitlint-config-cz-0.12.0.tgz", diff --git a/package.json b/package.json index c7b567fb6fc..e3e6fbb42a6 100644 --- a/package.json +++ b/package.json @@ -143,6 +143,7 @@ "babel-preset-jest": "24.6.0", "codecov": "3.5.0", "commitizen": "4.0.3", + "commitlint": "^8.1.0", "commitlint-config-cz": "0.12.0", "conventional-changelog-cli": "2.0.21", "cz-customizable": "6.2.0",