lukzon-eslint-react v1.0.1
Eslint / Prettier Setup of @viclafouch 📦
These are my ESLint and Prettier settings for a React.js project ⚡️
Table of Contents
What it does
- Lints JavaScript based on the latest standards
- Fixes issues and formatting errors with Prettier
- Check for accessibility rules on JSX elements.
Local / Per Project Install
If you don't already have a
package.jsonfile, create one withnpm init.Then we need to install everything needed by the config:
npx install-peerdeps --dev @viclafouch/eslint-config-viclafouchYou can see in your package.json there are now a big list of devDependencies.
Create a
.eslintrcfile in the root of your project's directory (it should live where package.json does). Your.eslintrcfile should look like this:
If you use JavaScript
{
"extends": [
"@viclafouch/eslint-config-viclafouch"
]
}Then, you can remove these unnecessary packages (you don't need the TypeScript support)
"devDependencies": {
- "@typescript-eslint/eslint-plugin": "5.4.0",
- "@typescript-eslint/parser": "5.4.0",
- "typescript": "4.5.2"
},Scripts
You can add two scripts to your package.json to lint and/or fix your code:
"scripts": {
"lint": "eslint .",
"lint:fix": "npm run lint -- --fix",
},If you use TypeScript
{
"extends": [
"@viclafouch/eslint-config-viclafouch/typescript"
],
"parserOptions": {
"project": ["./tsconfig.json"]
}
}Then, you can remove these unnecessary packages (you don't the Babel parser, we use @typescript-eslint/parser).
"devDependencies": {
- "@babel/core": "7.16.0",
- "@babel/eslint-parser": "7.16.3"
...
},Scripts
You can add two scripts to your package.json to lint and/or fix your code:
"scripts": {
"lint": "tsc --noEmit && eslint . --ext .js,.jsx,.ts,.tsx",
"lint:fix": "npm run lint -- --fix",
},With VS Code
Once you have done. You probably want your editor to lint and fix for you.
- Install the ESLint package
- Now we need to setup some VS Code settings. Create a
.vscodefolder at your root project, and create asettings.jsonfile in this folder. Then, add this little config:
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}With Create React App
- You gotta eject first
npm run ejectoryarn eject - Run
npx install-peerdeps --dev @viclafouch/eslint-config-viclafouch - Crack open your
package.jsonand replace"extends": "react-app"with"extends": ["@viclafouch/eslint-config-viclafouch"]