I’m working on a React application and I would like to have a linter set up so that I can see all the warning/errors in the console.
The docs doesn’t say much: https://create-react-app.dev/docs/setting-up-your-editor/
I have added EXTEND_ESLINT=true
in my .env.dev
file and I have created a .eslintrc.json
file as well, with the following content (taken from the docs):
{ "eslintConfig": { "extends": ["react-app", "shared-config"], "rules": { "additional-rule": "warn" }, "overrides": [ { "files": ["**/*.ts?(x)"], "rules": { "additional-typescript-only-rule": "warn" } } ] } }
Every rule I try to add won’t do anything, I still see no warnings in the console and on top of that if I try to run the linter from the command line:
npx eslint ./src
I get the following error:
ESLint configuration in .eslintrc.json is invalid: - Unexpected top-level property "eslintConfig".
What am I missing?
Advertisement
Answer
You can either create a .eslintrc.js
file inside your src
folder, with this syntax:
module.exports = { extends: ["react-app", "shared-config"], rules: { "additional-rule": "warn" }, overrides: [ { "files": ["**/*.ts?(x)"], "rules": { "additional-typescript-only-rule": "warn" } } ] }
Or add this to your package.json
(not a .eslintrc.json file):
"eslintConfig": { "extends": ["react-app", "shared-config"], "rules": { "additional-rule": "warn" }, "overrides": [ { "files": ["**/*.ts?(x)"], "rules": { "additional-typescript-only-rule": "warn" } } ] }