mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2025-05-20 21:14:45 +00:00
.
This commit is contained in:
parent
a004f0ae58
commit
fc725ba36b
7280 changed files with 19 additions and 1796407 deletions
193
node_modules/jest-validate/README.md
generated
vendored
193
node_modules/jest-validate/README.md
generated
vendored
|
@ -1,193 +0,0 @@
|
|||
# jest-validate
|
||||
|
||||
Generic configuration validation tool that helps you with warnings, errors and deprecation messages as well as showing users examples of correct configuration.
|
||||
|
||||
```bash
|
||||
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 = {
|
||||
blacklist?: Array<string>,
|
||||
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,
|
||||
recursive?: boolean,
|
||||
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
|
||||
|
||||
- `recursiveBlacklist` – optional array of string keyPaths that should be excluded from deep (recursive) validation.
|
||||
- `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.
|
||||
- `recursive` - optional boolean determining whether recursively compare `exampleConfig` to `config` (default: `true`).
|
||||
- `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.
|
||||
|
||||
## exampleConfig syntax
|
||||
|
||||
`exampleConfig` should be an object with key/value pairs that contain an example of a valid value for each key. A configuration value is considered valid when:
|
||||
|
||||
- it matches the JavaScript type of the example value, e.g. `string`, `number`, `array`, `boolean`, `function`, or `object`
|
||||
- it is `null` or `undefined`
|
||||
- it matches the Javascript type of any of arguments passed to `MultipleValidOptions(...)`
|
||||
|
||||
The last condition is a special syntax that allows validating where more than one type is permissible; see example below. It's acceptable to have multiple values of the same type in the example, so you can also use this syntax to provide more than one example. When a validation failure occurs, the error message will show all other values in the array as examples.
|
||||
|
||||
## Examples
|
||||
|
||||
Minimal example:
|
||||
|
||||
```js
|
||||
validate(config, {exampleConfig});
|
||||
```
|
||||
|
||||
Example with slight modifications:
|
||||
|
||||
```js
|
||||
validate(config, {
|
||||
comment: ' Documentation: http://custom-docs.com',
|
||||
deprecatedConfig,
|
||||
exampleConfig,
|
||||
title: {
|
||||
deprecation: 'Custom Deprecation',
|
||||
// leaving 'error' and 'warning' as default
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
This will output:
|
||||
|
||||
#### Warning:
|
||||
|
||||
```bash
|
||||
● 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:
|
||||
|
||||
```bash
|
||||
● Validation Error:
|
||||
|
||||
Option transform must be of type:
|
||||
object
|
||||
but instead received:
|
||||
string
|
||||
|
||||
Example:
|
||||
{
|
||||
"transform": {
|
||||
"^.+\\.js$": "<rootDir>/preprocessor.js"
|
||||
}
|
||||
}
|
||||
|
||||
Documentation: http://custom-docs.com
|
||||
```
|
||||
|
||||
## Example validating multiple types
|
||||
|
||||
```js
|
||||
import {multipleValidOptions} from 'jest-validate';
|
||||
|
||||
validate(config, {
|
||||
// `bar` will accept either a string or a number
|
||||
bar: multipleValidOptions('string is ok', 2),
|
||||
});
|
||||
```
|
||||
|
||||
#### Error:
|
||||
|
||||
```bash
|
||||
● Validation Error:
|
||||
|
||||
Option foo must be of type:
|
||||
string or number
|
||||
but instead received:
|
||||
array
|
||||
|
||||
Example:
|
||||
{
|
||||
"bar": "string is ok"
|
||||
}
|
||||
|
||||
or
|
||||
|
||||
{
|
||||
"bar": 2
|
||||
}
|
||||
|
||||
Documentation: http://custom-docs.com
|
||||
```
|
||||
|
||||
#### Deprecation
|
||||
|
||||
Based on `deprecatedConfig` object with proper deprecation messages. Note custom title:
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue