Removed GopherJS, basic frontend completed, need backend changes for

torrent storage
This commit is contained in:
2017-11-30 18:12:11 -05:00
parent 67fdef16b1
commit e98ad2cc88
69321 changed files with 5498914 additions and 337 deletions

View File

@@ -0,0 +1,4 @@
**/__mocks__/**
**/__tests__/**
src
yarn.lock

View File

@@ -0,0 +1,143 @@
# 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
```js
import {validate} from 'jest-validate';
validate(
config: Object,
options: ValidationOptions,
); // => {hasDeprecationWarnings: boolean, isValid: boolean}
```
Where `ValidationOptions` are:
```js
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 bellow 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:
```js
validate(config, {exampleConfig});
```
Example with slight modifications:
```js
validate(config, {
comment: ' Documentation: http://custom-docs.com',
exampleConfig,
deprecatedConfig,
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
```

View File

@@ -0,0 +1,21 @@
"use strict"; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
var toString = Object.prototype.toString;
var validationCondition = function validationCondition(option, validOption) {
return (
option === null ||
option === undefined ||
toString.call(option) === toString.call(validOption));
};
module.exports = validationCondition;

View File

@@ -0,0 +1,32 @@
'use strict';var _require =
require('./deprecated'),deprecationWarning = _require.deprecationWarning; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _require2 = require('./warnings'),unknownOptionWarning = _require2.unknownOptionWarning;var _require3 = require('./errors'),errorMessage = _require3.errorMessage;var exampleConfig = require('./exampleConfig');var validationCondition = require('./condition');var _require4 = require('./utils'),ERROR = _require4.ERROR,DEPRECATION = _require4.DEPRECATION,WARNING = _require4.WARNING;module.exports = { comment: '',
condition: validationCondition,
deprecate: deprecationWarning,
deprecatedConfig: {},
error: errorMessage,
exampleConfig: exampleConfig,
title: {
deprecation: DEPRECATION,
error: ERROR,
warning: WARNING },
unknown: unknownOptionWarning };

View File

@@ -0,0 +1,38 @@
'use strict';var _require =
require('./utils'),logValidationWarning = _require.logValidationWarning,DEPRECATION = _require.DEPRECATION; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var deprecationMessage = function deprecationMessage(message, options) {var comment = options.comment;var name = options.title && options.title.deprecation || DEPRECATION;logValidationWarning(name, message, comment);};
var deprecationWarning = function deprecationWarning(
config,
option,
deprecatedOptions,
options)
{
if (option in deprecatedOptions) {
deprecationMessage(deprecatedOptions[option](config), options);
return true;
}
return false;
};
module.exports = {
deprecationWarning: deprecationWarning };

View File

@@ -0,0 +1,41 @@
'use strict';
var chalk = require('chalk'); /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _require = require('jest-matcher-utils'),getType = _require.getType;var _require2 = require('./utils'),format = _require2.format,ValidationError = _require2.ValidationError,ERROR = _require2.ERROR;var errorMessage = function errorMessage(option, received, defaultValue, options)
{
var message = ' Option ' + chalk.bold('"' + option + '"') + ' must be of type:\n ' +
chalk.bold.green(getType(defaultValue)) + '\n but instead received:\n ' +
chalk.bold.red(getType(received)) + '\n\n Example:\n {\n ' +
chalk.bold('"' + option + '"') + ': ' + chalk.bold(format(defaultValue)) + '\n }';
var comment = options.comment;
var name = options.title && options.title.error || ERROR;
throw new ValidationError(name, message, comment);
};
module.exports = {
ValidationError: ValidationError,
errorMessage: errorMessage };

View File

@@ -0,0 +1,35 @@
'use strict';
var config = {
comment: ' A comment',
condition: function condition(option, validOption) {return true;},
deprecate: function deprecate(config, option, deprecatedOptions, options) {return false;},
deprecatedConfig: {
key: function key(config) {} },
error: function error(option, received, defaultValue, options) {},
exampleConfig: { key: 'value', test: 'case' },
title: {
deprecation: 'Deprecation Warning',
error: 'Validation Error',
warning: 'Validation Warning' },
unknown: function unknown(config, option, options) {} }; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/module.exports = config;

View File

@@ -0,0 +1,16 @@
'use strict'; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
module.exports = {
ValidationError: require('./errors').ValidationError,
createDidYouMeanMessage: require('./utils').createDidYouMeanMessage,
format: require('./utils').format,
logValidationWarning: require('./utils').logValidationWarning,
validate: require('./validate') };

View File

@@ -0,0 +1 @@
"use strict";

View File

@@ -0,0 +1,65 @@
'use strict';var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
var chalk = require('chalk');
var BULLET = chalk.bold('\u25CF');
var DEPRECATION = BULLET + ' Deprecation Warning';
var ERROR = BULLET + ' Validation Error';
var WARNING = BULLET + ' Validation Warning';
var format = function format(value) {return (
typeof value === 'function' ?
value.toString() :
require('pretty-format')(value, { min: true }));};var
ValidationError = function (_Error) {(0, _inherits3.default)(ValidationError, _Error);
function ValidationError(name, message, comment) {(0, _classCallCheck3.default)(this, ValidationError);var _this = (0, _possibleConstructorReturn3.default)(this, (ValidationError.__proto__ || (0, _getPrototypeOf2.default)(ValidationError)).call(this));
comment = comment ? '\n\n' + comment : '\n';
_this.name = '';
_this.stack = '';
_this.message = chalk.red(chalk.bold(name) + ':\n\n' + message + comment);
Error.captureStackTrace(_this, function () {});return _this;
}return ValidationError;}(Error);
var logValidationWarning = function logValidationWarning(
name,
message,
comment)
{
comment = comment ? '\n\n' + comment : '\n';
console.warn(chalk.yellow(chalk.bold(name) + ':\n\n' + message + comment));
};
var createDidYouMeanMessage = function createDidYouMeanMessage(
unrecognized,
allowedOptions)
{
var leven = require('leven');
var suggestion = allowedOptions.find(function (option) {
var steps = leven(option, unrecognized);
return steps < 3;
});
return suggestion ? 'Did you mean ' + chalk.bold(format(suggestion)) + '?' : '';
};
module.exports = {
DEPRECATION: DEPRECATION,
ERROR: ERROR,
ValidationError: ValidationError,
WARNING: WARNING,
createDidYouMeanMessage: createDidYouMeanMessage,
format: format,
logValidationWarning: logValidationWarning };

View File

@@ -0,0 +1,67 @@
'use strict';var _assign = require('babel-runtime/core-js/object/assign');var _assign2 = _interopRequireDefault(_assign);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
var defaultConfig = require('./defaultConfig'); /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _validate = function _validate(config, options) {var hasDeprecationWarnings = false;for (var key in config) {if (options.deprecatedConfig && key in options.deprecatedConfig &&
typeof options.deprecate === 'function')
{
var isDeprecatedKey = options.deprecate(
config,
key,
options.deprecatedConfig,
options);
hasDeprecationWarnings = hasDeprecationWarnings || isDeprecatedKey;
} else if (hasOwnProperty.call(options.exampleConfig, key)) {
if (
typeof options.condition === 'function' &&
typeof options.error === 'function' &&
!options.condition(config[key], options.exampleConfig[key]))
{
options.error(key, config[key], options.exampleConfig[key], options);
}
} else {
options.unknown &&
options.unknown(config, options.exampleConfig, key, options);
}
}
return { hasDeprecationWarnings: hasDeprecationWarnings };
};
var validate = function validate(config, options) {
_validate(options, defaultConfig); // validate against jest-validate config
var defaultedOptions = (0, _assign2.default)(
{},
defaultConfig,
options,
{ title: (0, _assign2.default)({}, defaultConfig.title, options.title) });var _validate2 =
_validate(config, defaultedOptions),hasDeprecationWarnings = _validate2.hasDeprecationWarnings;
return {
hasDeprecationWarnings: hasDeprecationWarnings,
isValid: true };
};
module.exports = validate;

View File

@@ -0,0 +1,43 @@
'use strict';var _keys = require('babel-runtime/core-js/object/keys');var _keys2 = _interopRequireDefault(_keys);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
var chalk = require('chalk'); /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _require = require('./utils'),format = _require.format,logValidationWarning = _require.logValidationWarning,createDidYouMeanMessage = _require.createDidYouMeanMessage,WARNING = _require.WARNING;var unknownOptionWarning = function unknownOptionWarning(
config,
exampleConfig,
option,
options)
{
var didYouMean = createDidYouMeanMessage(
option,
(0, _keys2.default)(exampleConfig));
var message =
' Unknown option ' + chalk.bold('"' + option + '"') + ' with value ' + chalk.bold(format(config[option])) + ' was found.' + (
didYouMean && ' ' + didYouMean) + '\n This is probably a typing mistake. Fixing it will remove this message.';
var comment = options.comment;
var name = options.title && options.title.warning || WARNING;
logValidationWarning(name, message, comment);
};
module.exports = {
unknownOptionWarning: unknownOptionWarning };

View File

@@ -0,0 +1,21 @@
"use strict"; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
const toString = Object.prototype.toString;
const validationCondition = (option, validOption) => {
return (
option === null ||
option === undefined ||
toString.call(option) === toString.call(validOption));
};
module.exports = validationCondition;

View File

@@ -0,0 +1,32 @@
'use strict';var _require =
require('./deprecated');const deprecationWarning = _require.deprecationWarning; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _require2 = require('./warnings');const unknownOptionWarning = _require2.unknownOptionWarning;var _require3 = require('./errors');const errorMessage = _require3.errorMessage;const exampleConfig = require('./exampleConfig');const validationCondition = require('./condition');var _require4 = require('./utils');const ERROR = _require4.ERROR,DEPRECATION = _require4.DEPRECATION,WARNING = _require4.WARNING;module.exports = { comment: '',
condition: validationCondition,
deprecate: deprecationWarning,
deprecatedConfig: {},
error: errorMessage,
exampleConfig,
title: {
deprecation: DEPRECATION,
error: ERROR,
warning: WARNING },
unknown: unknownOptionWarning };

View File

@@ -0,0 +1,38 @@
'use strict';var _require =
require('./utils');const logValidationWarning = _require.logValidationWarning,DEPRECATION = _require.DEPRECATION; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/const deprecationMessage = (message, options) => {const comment = options.comment;const name = options.title && options.title.deprecation || DEPRECATION;logValidationWarning(name, message, comment);};
const deprecationWarning = (
config,
option,
deprecatedOptions,
options) =>
{
if (option in deprecatedOptions) {
deprecationMessage(deprecatedOptions[option](config), options);
return true;
}
return false;
};
module.exports = {
deprecationWarning };

View File

@@ -0,0 +1,41 @@
'use strict';
const chalk = require('chalk'); /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _require = require('jest-matcher-utils');const getType = _require.getType;var _require2 = require('./utils');const format = _require2.format,ValidationError = _require2.ValidationError,ERROR = _require2.ERROR;const errorMessage = (option, received, defaultValue, options) =>
{
const message = ` Option ${chalk.bold(`"${option}"`)} must be of type:
${chalk.bold.green(getType(defaultValue))}
but instead received:
${chalk.bold.red(getType(received))}
Example:
{
${chalk.bold(`"${option}"`)}: ${chalk.bold(format(defaultValue))}
}`;
const comment = options.comment;
const name = options.title && options.title.error || ERROR;
throw new ValidationError(name, message, comment);
};
module.exports = {
ValidationError,
errorMessage };

View File

@@ -0,0 +1,35 @@
'use strict';
const config = {
comment: ' A comment',
condition: (option, validOption) => true,
deprecate: (config, option, deprecatedOptions, options) => false,
deprecatedConfig: {
key: config => {} },
error: (option, received, defaultValue, options) => {},
exampleConfig: { key: 'value', test: 'case' },
title: {
deprecation: 'Deprecation Warning',
error: 'Validation Error',
warning: 'Validation Warning' },
unknown: (config, option, options) => {} }; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/module.exports = config;

View File

@@ -0,0 +1,16 @@
'use strict'; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
module.exports = {
ValidationError: require('./errors').ValidationError,
createDidYouMeanMessage: require('./utils').createDidYouMeanMessage,
format: require('./utils').format,
logValidationWarning: require('./utils').logValidationWarning,
validate: require('./validate') };

View File

@@ -0,0 +1 @@
"use strict";

View File

@@ -0,0 +1,65 @@
'use strict'; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
const chalk = require('chalk');
const BULLET = chalk.bold('\u25cf');
const DEPRECATION = `${BULLET} Deprecation Warning`;
const ERROR = `${BULLET} Validation Error`;
const WARNING = `${BULLET} Validation Warning`;
const format = value =>
typeof value === 'function' ?
value.toString() :
require('pretty-format')(value, { min: true });
class ValidationError extends Error {
constructor(name, message, comment) {
super();
comment = comment ? '\n\n' + comment : '\n';
this.name = '';
this.stack = '';
this.message = chalk.red(chalk.bold(name) + ':\n\n' + message + comment);
Error.captureStackTrace(this, () => {});
}}
const logValidationWarning = (
name,
message,
comment) =>
{
comment = comment ? '\n\n' + comment : '\n';
console.warn(chalk.yellow(chalk.bold(name) + ':\n\n' + message + comment));
};
const createDidYouMeanMessage = (
unrecognized,
allowedOptions) =>
{
const leven = require('leven');
const suggestion = allowedOptions.find(option => {
const steps = leven(option, unrecognized);
return steps < 3;
});
return suggestion ? `Did you mean ${chalk.bold(format(suggestion))}?` : '';
};
module.exports = {
DEPRECATION,
ERROR,
ValidationError,
WARNING,
createDidYouMeanMessage,
format,
logValidationWarning };

View File

@@ -0,0 +1,67 @@
'use strict';
const defaultConfig = require('./defaultConfig'); /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/const _validate = (config, options) => {let hasDeprecationWarnings = false;for (const key in config) {if (options.deprecatedConfig && key in options.deprecatedConfig &&
typeof options.deprecate === 'function')
{
const isDeprecatedKey = options.deprecate(
config,
key,
options.deprecatedConfig,
options);
hasDeprecationWarnings = hasDeprecationWarnings || isDeprecatedKey;
} else if (hasOwnProperty.call(options.exampleConfig, key)) {
if (
typeof options.condition === 'function' &&
typeof options.error === 'function' &&
!options.condition(config[key], options.exampleConfig[key]))
{
options.error(key, config[key], options.exampleConfig[key], options);
}
} else {
options.unknown &&
options.unknown(config, options.exampleConfig, key, options);
}
}
return { hasDeprecationWarnings };
};
const validate = (config, options) => {
_validate(options, defaultConfig); // validate against jest-validate config
const defaultedOptions = Object.assign(
{},
defaultConfig,
options,
{ title: Object.assign({}, defaultConfig.title, options.title) });var _validate2 =
_validate(config, defaultedOptions);const hasDeprecationWarnings = _validate2.hasDeprecationWarnings;
return {
hasDeprecationWarnings,
isValid: true };
};
module.exports = validate;

View File

@@ -0,0 +1,43 @@
'use strict';
const chalk = require('chalk'); /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/var _require = require('./utils');const format = _require.format,logValidationWarning = _require.logValidationWarning,createDidYouMeanMessage = _require.createDidYouMeanMessage,WARNING = _require.WARNING;const unknownOptionWarning = (
config,
exampleConfig,
option,
options) =>
{
const didYouMean = createDidYouMeanMessage(
option,
Object.keys(exampleConfig));
const message =
` Unknown option ${chalk.bold(`"${option}"`)} with value ${chalk.bold(format(config[option]))} was found.` + (
didYouMean && ` ${didYouMean}`) +
`\n This is probably a typing mistake. Fixing it will remove this message.`;
const comment = options.comment;
const name = options.title && options.title.warning || WARNING;
logValidationWarning(name, message, comment);
};
module.exports = {
unknownOptionWarning };

View File

@@ -0,0 +1,51 @@
{
"_args": [
[
"jest-validate@20.0.3",
"C:\\Users\\deranjer\\GoglandProjects\\torrent-project\\torrent-project"
]
],
"_from": "jest-validate@20.0.3",
"_id": "jest-validate@20.0.3",
"_inBundle": false,
"_integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=",
"_location": "/react-scripts/jest-validate",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "jest-validate@20.0.3",
"name": "jest-validate",
"escapedName": "jest-validate",
"rawSpec": "20.0.3",
"saveSpec": null,
"fetchSpec": "20.0.3"
},
"_requiredBy": [
"/react-scripts/jest-config",
"/react-scripts/jest-util"
],
"_resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz",
"_spec": "20.0.3",
"_where": "C:\\Users\\deranjer\\GoglandProjects\\torrent-project\\torrent-project",
"browser": "build-es5/index.js",
"bugs": {
"url": "https://github.com/facebook/jest/issues"
},
"dependencies": {
"chalk": "^1.1.3",
"jest-matcher-utils": "^20.0.3",
"leven": "^2.1.0",
"pretty-format": "^20.0.3"
},
"description": "Generic configuration validation tool that helps you with warnings, errors and deprecation messages as well as showing users examples of correct configuration.",
"homepage": "https://github.com/facebook/jest#readme",
"license": "BSD-3-Clause",
"main": "build/index.js",
"name": "jest-validate",
"repository": {
"type": "git",
"url": "git+https://github.com/facebook/jest.git"
},
"version": "20.0.3"
}