jest-validate
Generic configuration validation tool that helps you with warnings, errors and deprecation messages as well as showing users examples of correct configuration.
Last updated 7 years ago by mjesun .
MIT · Repository · Original npm · Tarball · package.json
$ npm install jest-validate 
SYNC missed versions from official npm registry.

jest-validate

Generic configuration validation tool that helps you with warnings, errors and deprecation messages as well as showing users examples of correct configuration.

npm install --save jest-validate

Usage

import {validate} from 'jest-validate';

validate((config: Object), (options: ValidationOptions)); // => {hasDeprecationWarnings: boolean, isValid: boolean}

Where ValidationOptions are:

type ValidationOptions = {
  comment?: string,
  condition?: (option: any, validOption: any) => boolean,
  deprecate?: (
    config: Object,
    option: string,
    deprecatedOptions: Object,
    options: ValidationOptions,
  ) => true,
  deprecatedConfig?: {[key: string]: Function},
  error?: (
    option: string,
    received: any,
    defaultValue: any,
    options: ValidationOptions,
  ) => void,
  exampleConfig: Object,
  title?: Title,
  unknown?: (
    config: Object,
    exampleConfig: Object,
    option: string,
    options: ValidationOptions,
  ) => void,
};

type Title = {|
  deprecation?: string,
  error?: string,
  warning?: string,
|};

exampleConfig is the only option required.

API

By default jest-validate will print generic warning and error messages. You can however customize this behavior by providing options: ValidationOptions object as a second argument:

Almost anything can be overwritten to suite your needs.

Options

  • comment – optional string to be rendered below error/warning message.
  • condition – an optional function with validation condition.
  • deprecate, error, unknown – optional functions responsible for displaying warning and error messages.
  • deprecatedConfig – optional object with deprecated config keys.
  • exampleConfig – the only required option with configuration against which you'd like to test.
  • title – optional object of titles for errors and messages.

You will find examples of condition, deprecate, error, unknown, and deprecatedConfig inside source of this repository, named respectively.

Examples

Minimal example:

validate(config, {exampleConfig});

Example with slight modifications:

validate(config, {
  comment: '  Documentation: http://custom-docs.com',
  deprecatedConfig,
  exampleConfig,
  title: {
    deprecation: 'Custom Deprecation',
    // leaving 'error' and 'warning' as default
  },
});

This will output:

Warning:

● Validation Warning:

  Unknown option transformx with value "<rootDir>/node_modules/babel-jest" was found.
  This is either a typing error or a user mistake. Fixing it will remove this message.

  Documentation: http://custom-docs.com

Error:

● Validation Error:

  Option transform must be of type:
    object
  but instead received:
    string

  Example:
  {
    "transform": {"^.+\\.js$": "<rootDir>/preprocessor.js"}
  }

  Documentation: http://custom-docs.com

Deprecation

Based on deprecatedConfig object with proper deprecation messages. Note custom title:

Custom Deprecation:

  Option scriptPreprocessor was replaced by transform, which support multiple preprocessors.

  Jest now treats your current configuration as:
  {
    "transform": {".*": "xxx"}
  }

  Please update your configuration.

  Documentation: http://custom-docs.com

Current Tags

  • 29.7.0                                ...           latest (a year ago)
  • 30.0.0-alpha.6                                ...           next (3 months ago)

219 Versions

  • 30.0.0-alpha.6                                ...           3 months ago
  • 30.0.0-alpha.5                                ...           6 months ago
  • 30.0.0-alpha.4                                ...           6 months ago
  • 30.0.0-alpha.3                                ...           9 months ago
  • 30.0.0-alpha.2                                ...           a year ago
  • 30.0.0-alpha.1                                ...           a year ago
  • 29.7.0                                ...           a year ago
  • 29.6.3                                ...           a year ago
  • 29.6.2                                ...           a year ago
  • 29.6.1                                ...           a year ago
  • 29.6.0                                ...           a year ago
  • 29.5.0                                ...           2 years ago
  • 29.4.3                                ...           2 years ago
  • 29.4.2                                ...           2 years ago
  • 29.4.1                                ...           2 years ago
  • 29.4.0                                ...           2 years ago
  • 29.3.1                                ...           2 years ago
  • 29.2.2                                ...           2 years ago
  • 29.2.1                                ...           2 years ago
  • 29.2.0                                ...           2 years ago
  • 29.1.2                                ...           2 years ago
  • 29.1.0                                ...           2 years ago
  • 29.0.3                                ...           2 years ago
  • 29.0.2                                ...           2 years ago
  • 29.0.1                                ...           2 years ago
  • 29.0.0                                ...           2 years ago
  • 29.0.0-alpha.6                                ...           2 years ago
  • 29.0.0-alpha.4                                ...           2 years ago
  • 29.0.0-alpha.3                                ...           2 years ago
  • 29.0.0-alpha.1                                ...           2 years ago
  • 29.0.0-alpha.0                                ...           2 years ago
  • 28.1.3                                ...           2 years ago
  • 28.1.1                                ...           2 years ago
  • 28.1.0                                ...           3 years ago
  • 28.0.2                                ...           3 years ago
  • 28.0.1                                ...           3 years ago
  • 28.0.0                                ...           3 years ago
  • 28.0.0-alpha.9                                ...           3 years ago
  • 28.0.0-alpha.8                                ...           3 years ago
  • 28.0.0-alpha.7                                ...           3 years ago
  • 28.0.0-alpha.6                                ...           3 years ago
  • 28.0.0-alpha.5                                ...           3 years ago
  • 28.0.0-alpha.4                                ...           3 years ago
  • 28.0.0-alpha.3                                ...           3 years ago
  • 28.0.0-alpha.2                                ...           3 years ago
  • 28.0.0-alpha.1                                ...           3 years ago
  • 28.0.0-alpha.0                                ...           3 years ago
  • 27.5.1                                ...           3 years ago
  • 27.5.0                                ...           3 years ago
  • 27.4.6                                ...           3 years ago
  • 27.4.2                                ...           3 years ago
  • 27.4.1                                ...           3 years ago
  • 27.4.0                                ...           3 years ago
  • 27.3.1                                ...           3 years ago
  • 27.3.0                                ...           3 years ago
  • 27.2.5                                ...           3 years ago
  • 27.2.4                                ...           3 years ago
  • 27.2.3                                ...           3 years ago
  • 27.2.2                                ...           3 years ago
  • 27.2.0                                ...           3 years ago
  • 27.1.1                                ...           3 years ago
  • 27.1.0                                ...           3 years ago
  • 27.0.6                                ...           3 years ago
  • 27.0.2                                ...           3 years ago
  • 27.0.1                                ...           3 years ago
  • 27.0.0                                ...           3 years ago
  • 27.0.0-next.11                                ...           3 years ago
  • 27.0.0-next.10                                ...           3 years ago
  • 27.0.0-next.9                                ...           4 years ago
  • 27.0.0-next.8                                ...           4 years ago
  • 27.0.0-next.7                                ...           4 years ago
  • 27.0.0-next.6                                ...           4 years ago
  • 27.0.0-next.5                                ...           4 years ago
  • 27.0.0-next.3                                ...           4 years ago
  • 27.0.0-next.1                                ...           4 years ago
  • 27.0.0-next.0                                ...           4 years ago
  • 26.6.2                                ...           4 years ago
  • 26.6.1                                ...           4 years ago
  • 26.6.0                                ...           4 years ago
  • 26.5.3                                ...           4 years ago
  • 26.5.2                                ...           4 years ago
  • 26.5.0                                ...           4 years ago
  • 26.4.2                                ...           4 years ago
  • 26.4.0                                ...           4 years ago
  • 26.3.0                                ...           4 years ago
  • 26.2.0                                ...           4 years ago
  • 26.1.0                                ...           4 years ago
  • 26.0.1                                ...           5 years ago
  • 26.0.1-alpha.0                                ...           5 years ago
  • 26.0.0                                ...           5 years ago
  • 26.0.0-alpha.2                                ...           5 years ago
  • 26.0.0-alpha.1                                ...           5 years ago
  • 26.0.0-alpha.0                                ...           5 years ago
  • 25.5.0                                ...           5 years ago
  • 25.4.0                                ...           5 years ago
  • 25.3.0                                ...           5 years ago
  • 25.2.6                                ...           5 years ago
  • 25.2.3                                ...           5 years ago
  • 25.2.1                                ...           5 years ago
  • 25.2.1-alpha.2                                ...           5 years ago
  • 25.2.1-alpha.1                                ...           5 years ago
  • 25.2.0                                ...           5 years ago
  • 25.2.0-alpha.86                                ...           5 years ago
  • 25.1.0                                ...           5 years ago
  • 25.0.0                                ...           5 years ago
  • 24.9.0                                ...           5 years ago
  • 24.8.0                                ...           6 years ago
  • 24.7.0                                ...           6 years ago
  • 24.6.0                                ...           6 years ago
  • 24.5.0                                ...           6 years ago
  • 24.4.0                                ...           6 years ago
  • 24.3.1                                ...           6 years ago
  • 24.3.0                                ...           6 years ago
  • 24.2.0-alpha.0                                ...           6 years ago
  • 24.0.0                                ...           6 years ago
  • 24.0.0-alpha.16                                ...           6 years ago
  • 24.0.0-alpha.15                                ...           6 years ago
  • 24.0.0-alpha.13                                ...           6 years ago
  • 24.0.0-alpha.12                                ...           6 years ago
  • 24.0.0-alpha.11                                ...           6 years ago
  • 24.0.0-alpha.10                                ...           6 years ago
  • 24.0.0-alpha.9                                ...           6 years ago
  • 24.0.0-alpha.8                                ...           6 years ago
  • 24.0.0-alpha.7                                ...           6 years ago
  • 24.0.0-alpha.6                                ...           6 years ago
  • 24.0.0-alpha.5                                ...           6 years ago
  • 24.0.0-alpha.4                                ...           6 years ago
  • 24.0.0-alpha.2                                ...           6 years ago
  • 24.0.0-alpha.1                                ...           6 years ago
  • 24.0.0-alpha.0                                ...           6 years ago
  • 23.6.0                                ...           6 years ago
  • 23.5.0                                ...           6 years ago
  • 23.4.0                                ...           6 years ago
  • 23.3.0                                ...           6 years ago
  • 23.2.0                                ...           6 years ago
  • 23.0.1                                ...           6 years ago
  • 23.0.0                                ...           6 years ago
  • 23.0.0-charlie.4                                ...           6 years ago
  • 23.0.0-charlie.3                                ...           6 years ago
  • 22.4.4                                ...           6 years ago
  • 23.0.0-charlie.2                                ...           7 years ago
  • 23.0.0-charlie.1                                ...           7 years ago
  • 23.0.0-charlie.0                                ...           7 years ago
  • 23.0.0-beta.3r                                ...           7 years ago
  • 23.0.0-alpha.3r                                ...           7 years ago
  • 23.0.0-beta.2                                ...           7 years ago
  • 23.0.0-beta.1                                ...           7 years ago
  • 23.0.0-beta.0                                ...           7 years ago
  • 23.0.0-alpha.7                                ...           7 years ago
  • 23.0.0-alpha.6r                                ...           7 years ago
  • 23.0.0-alpha.5r                                ...           7 years ago
  • 23.0.0-alpha.5                                ...           7 years ago
  • 23.0.0-alpha.4                                ...           7 years ago
  • 23.0.0-alpha.2                                ...           7 years ago
  • 22.4.3                                ...           7 years ago
  • 23.0.0-alpha.1                                ...           7 years ago
  • 23.0.0-alpha.0                                ...           7 years ago
  • 22.4.2                                ...           7 years ago
  • 22.4.1                                ...           7 years ago
  • 22.4.0                                ...           7 years ago
  • 22.2.2                                ...           7 years ago
  • 22.2.0                                ...           7 years ago
  • 22.1.2                                ...           7 years ago
  • 22.1.0                                ...           7 years ago
  • 22.0.6                                ...           7 years ago
  • 22.0.5                                ...           7 years ago
  • 22.0.3                                ...           7 years ago
  • 22.0.2                                ...           7 years ago
  • 22.0.1                                ...           7 years ago
  • 22.0.0                                ...           7 years ago
  • 21.3.0-beta.15                                ...           7 years ago
  • 21.3.0-beta.14                                ...           7 years ago
  • 21.3.0-beta.13                                ...           7 years ago
  • 21.3.0-beta.12                                ...           7 years ago
  • 21.3.0-beta.11                                ...           7 years ago
  • 21.3.0-beta.10                                ...           7 years ago
  • 21.3.0-beta.9                                ...           7 years ago
  • 21.3.0-beta.8                                ...           7 years ago
  • 21.3.0-beta.7                                ...           7 years ago
  • 21.3.0-beta.6                                ...           7 years ago
  • 21.3.0-beta.5                                ...           7 years ago
  • 21.3.0-beta.4                                ...           7 years ago
  • 21.3.0-beta.3                                ...           7 years ago
  • 21.3.0-beta.2                                ...           7 years ago
  • 21.3.0-beta.1                                ...           7 years ago
  • 21.3.0-alpha.eff7a1cf                                ...           7 years ago
  • 21.3.0-alpha.1e3ee68e                                ...           7 years ago
  • 21.2.1                                ...           7 years ago
  • 21.2.0                                ...           7 years ago
  • 21.1.0                                ...           7 years ago
  • 21.0.2                                ...           7 years ago
  • 21.0.0                                ...           7 years ago
  • 21.0.0-beta.1                                ...           7 years ago
  • 21.0.0-alpha.2                                ...           7 years ago
  • 21.0.0-alpha.1                                ...           7 years ago
  • 20.1.0-echo.1                                ...           7 years ago
  • 20.1.0-delta.5                                ...           7 years ago
  • 20.1.0-delta.4                                ...           7 years ago
  • 20.1.0-delta.3                                ...           7 years ago
  • 20.1.0-delta.2                                ...           7 years ago
  • 20.1.0-delta.1                                ...           7 years ago
  • 20.1.0-chi.1                                ...           7 years ago
  • 20.1.0-beta.1                                ...           7 years ago
  • 20.1.0-alpha.3                                ...           7 years ago
  • 20.1.0-alpha.2                                ...           7 years ago
  • 20.1.0-alpha.1                                ...           7 years ago
  • 20.0.3                                ...           7 years ago
  • 20.0.2                                ...           7 years ago
  • 20.0.1                                ...           8 years ago
  • 20.0.0                                ...           8 years ago
  • 19.3.0-alpha.85402254                                ...           8 years ago
  • 19.2.0-alpha.993e64af                                ...           8 years ago
  • 19.1.0-alpha.eed82034                                ...           8 years ago
  • 19.0.2                                ...           8 years ago
  • 19.0.0                                ...           8 years ago
  • 18.5.0-alpha.7da3df39                                ...           8 years ago
  • 18.2.0                                ...           8 years ago
  • 18.1.0                                ...           8 years ago
  • 0.0.0                                ...           8 years ago
Downloads
Total 2
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (5)
Dev Dependencies (0)
None

© 2010 - cnpmjs.org x YWFE | Home | YWFE