eslint-plugin-makestyles
Version:
This plugin ensures that a name is used inside makeStyles.
89 lines (64 loc) • 1.9 kB
Markdown
# eslint-plugin-makestyles
There is a feature of [Material-UI makeStyles][makestyles] function that adds a name to the generated className. If you use it then you get nice classNames like this `MyComponent-root-123` instead of `makeStyles-root-123`
This rule helps to ensure the developer does not forget to add a `name` option to [Material-UI makeStyles][makestyles] function.
## Rule Details
Examples of **incorrect** code for this rule:
```js
var useStyles = makeStyles({
root: {
color: "red"
}
});
```
Examples of **correct** code for this rule:
```js
var useStyles = makeStyles(
{
root: {
color: "red"
}
},
{
name: "MyComponent"
}
);
```
## Installation
You'll first need to install [ESLint](http://eslint.org):
```
$ npm i eslint --save-dev
```
Next, install `eslint-plugin-makestyles`:
```
$ npm install eslint-plugin-makestyles --save-dev
```
**Note:** If you installed ESLint globally (using the `-g` flag) then you must also install `eslint-plugin-makestyles` globally.
## Usage
Add this to your your `.eslintrc` configuration file to get our recommended rule setup (only warnings).
```
"extends": [
"plugin:makestyles/recommended",
]
```
If you do not want to use the preset you will need to specify individual rules and add extra configuration.
Add `makestyles` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix:
```json
{
"plugins": ["makestyles"]
}
```
Then configure the rules you want to use under the rules section.
```json
{
"rules": {
"makestyles/makestyles-with-name": "error"
}
}
```
## Links
- [Material-UI]
- [makeStyles hook][makestyles]
- [github project][github]
[material-ui]: https://material-ui.com/
[makestyles]: https://material-ui.com/styles/api/#makestyles-styles-options-hook
[github]: https://github.com/madflanderz/eslint-plugin-makestyles