kentcdodds / webpack-validator-DEPRECATED

Use this to save yourself some time when working on a webpack configuration.
MIT License
93 stars 8 forks source link

Webpack Validator

DEPRECATED

This repo has been deprecated in favor of this one


Use this to save yourself some time when working on a webpack configuration.

Build Status Code Coverage version downloads MIT License PRs Welcome Commitizen friendly

BETA: This is currently in beta and is a work in progress

Simply do:

var validateWebpackConfig = require('webpack-validator')
var config = { /* ... */ }
module.exports = validateWebpackConfig(config)

And you'll get helpful error and warning messages telling you when you've got something wrong.

Installation

npm install --save-dev webpack-validator

Support

This module supports validating all documented properties from webpack. Currently, many of these don't do any actual validation, but it will warn you when you are including a property that is not documented (which likely means you have a typo, one of the leading causes of webpack fatigue).

Custom Validators

If you're using a plugin that adds properties to the config, you'll need to add a custom validator that covers that property. Preferably this would do actual validation, but you can have it be a no-op validator as well.

For example, there are currently no validators written for the eslint-loader (pull requests welcome!), So you'll have to stub some out to avoid warnings if you're configuring it as part of your webpack config. Like so:

module.exports = validateWebpack({
  // ... your other config
  eslint: { emitError: true },
}, [
  {key: 'eslint', validate: function noop() {}}
])

Eventually, the hope is that you'll be able to require in these extra validators and they would actually validate values for you.

Roadmap

Plugins

This was built with the configuration-validator (also in beta) and is fully pluggable. To specify your own validators, simply pass them as additional arguments.

LICENSE

MIT