@hack4impact-uiuc/eslint-plugin
v2.0.11
Published
An ESLint plugin intended for use with Hack4Impact UIUC projects.
Downloads
77
Readme
eslint-plugin
An ESLint plugin intended for use with Hack4Impact UIUC projects.
Installation
You'll first need to install ESLint:
npm install eslint --save-dev
Next, install @hack4impact-uiuc/eslint-plugin
:
npm install @hack4impact-uiuc/eslint-plugin --save-dev
Usage
To enable @hack4impact-uiuc/eslint-plugin
, you'll need to create a .eslintrc.json
file for ESLint configuration.
This plugin abstracts away configuration from the user, with three different configs drawing from eslint-plugin-import
, @typescript-eslint/eslint-plugin
, eslint-plugin-jsx-a11y
, eslint-plugin-react
, and eslint-plugin-react-hooks
:
base
: for use with any JavaScript projectreact
: for use with React projectstypescript
for use with projects using TypeScript
For a JavaScript-only React app all you'll need to have in your .eslintrc.json
file is the following:
{
"plugins": ["@hack4impact-uiuc"],
"extends": ["plugin:@hack4impact-uiuc/base", "plugin:@hack4impact-uiuc/react"]
}
If your app uses TypeScript at all, you'll want to use @typescript-eslint/eslint-plugin
by extending the typescript
config as follows (this example is for a React app):
{
"plugins": ["@hack4impact-uiuc"],
"extends": [
"plugin:@hack4impact-uiuc/base",
"plugin:@hack4impact-uiuc/react",
"plugin:@hack4impact-uiuc/typescript"
]
}
If you need to modify or disable specific rules, you can do so in the rules
section of your .eslintrc.json
file. For example, if you wish to disable no-redundant-functions
, add the following to your .eslintrc.json
file:
{
"rules": {
"@hack4impact-uiuc/no-redundant-functions": "off"
}
}
Note that disabling rules from plugins requires prefixing them with their corresponding scope and/or plugin name.
Supported Rules
Rules
| Rule | Default | Fixable | | ------------------------------------------------------------------------- | ------------------------- | ------- | | no-access-state-after-set | :triangular_flag_on_post: | :x: | | no-null-ternary | :triangular_flag_on_post: | :x: | | no-redundant-functions | :triangular_flag_on_post: | :x: |
Key
| Symbol | Meaning | | ------------------------- | --------------------------- | | :triangular_flag_on_post: | Error | | :warning: | Warning | | :heavy_multiplication_x: | Off | | :heavy_check_mark: | Fixable and autofix-enabled | | :x: | Not fixable |