ESLint rules for emotion
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install @emotion/eslint-plugin
:
$ npm install @emotion/eslint-plugin --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install @emotion/eslint-plugin
globally.
Add @emotion
to the plugins section of your .eslintrc
configuration file. You can omit /eslint-plugin
:
{
"plugins": ["@emotion"]
}
Then configure the rules you want to use under the rules section.
{
"rules": {
"@emotion/jsx-import": "error"
}
}
The Emotion 11 codemods are contained in this package. To use them, enable the rule shown below.
{
"rules": {
"@emotion/pkg-renaming": "error"
}
}
The Emotion 10 codemods are contained in this package. To use them, enable the rules shown below. Keeping these rules after migrating is also useful to have jsx
from @emotion/react
automatically imported when the css prop is used and other such things. You may also want to not enable certain rules while you are migrating or forever, such the no-vanilla
rule.
{
"rules": {
"@emotion/jsx-import": "error",
"@emotion/no-vanilla": "error",
"@emotion/import-from-emotion": "error",
"@emotion/styled-import": "error"
}
}
Note:
These rules assume you are using React, if you are not using React, you should keep using the
emotion
package.