@lego/eslint-config-react-native
Installation
Install this config package:
$ npm i -D @lego/eslint-config-react-native
Usage
Extend your .eslintrc.js
, and make sure @lego/eslint-config-react-native
has been added
{
"extends": ["@lego/eslint-config", "@lego/eslint-config-react-native"]
}
with TypeScript:
{
"extends": ["@lego/eslint-config-typescript", "@lego/eslint-config-react-native"]
}
with TypeScript & React:
{
"extends": [
"@lego/eslint-config-typescript",
"@lego/eslint-config-react-native",
"@lego/eslint-config-prettier"
]
}
Overriding Rules
With the above configuration example, you can still use or override already defined rules as such:
{
"extends": [
"@lego/eslint-config-typescript",
"@lego/eslint-config-react-native",
"@lego/eslint-config-prettier"
],
"rules": {
// eslint-config rules
"camelcase": "warn",
// @typescript-eslint/eslint-plugin rules
"@typescript-eslint/no-useless-constructor": "error",
// eslint-plugin-react rules
"react/jsx-child-element-spacing": "error",
// eslint-plugin-react-hooks rules
"react-hooks/exhaustive-deps": "warn",
// slint-plugin-react-native rules
"react-native/no-unused-styles": "off",
// eslint-plugin-prettier rules
"prettier/prettier": [
"error",
{
"singleQuote": false
}
]
}
}
It's recommended to inspect the defined rule's configurations where the reasoning for the configuration lives. If a configuration could benefit more than just the project you're working on, feel free to create a pull request.