@skyscanner/eslint-plugin-rules v1.3.0
@skyscanner/eslint-plugin-rules
Eslint plugin containing custom rules used at Skyscanner.
You'll first need to install ESLint:
$ npm i eslint --save-devNext, install @skyscanner/eslint-plugin-rules:
$ npm install @skyscanner/eslint-plugin-rules --save-devNote: If you installed ESLint globally (using the -g flag) then you must also install @skyscanner/eslint-plugin-rules globally.
Usage
Add @skyscanner/eslint-plugin-rules to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- part:
{
"plugins": ["@skyscanner/rules"]
}Then configure the rules you want to use under the rules section.
{
"rules": {
"@skyscanner/rules/no-axios": "error",
"@skyscanner/rules/forbid-component-props": "error"
}
}Supported Rules
no-axios
Detects code importing axios.
Axios it prone to sensitive information leaks due to inclusion of headers in errors it throws.
{
"rules": {
"@skyscanner/rules/no-axios": "<severity>"
}
}Where <severity> can be one of: error, warn off.
forbid-component-props
A fork of forbid-component-props. For details on why this is used in Skyscanner repositories, see: why.
For alternatives to using className, see guidance.
Rule options
This rule extends the functionality of the upstream rule with a new property within the forbid config object, allowedForRegex.
Full api docs for upsteam see: forbid-component-props.
forbid.allowedForRegex
A string specifying a pattern of component names. Components that match this pattern are included in an allow list.
{
"propName": "someProp",
"allowedForRegex": "^Special",
"message": "Avoid using someProp except on prefixed 'Special' components"
}