Following a tutorial on youtube, I have integrated eslint and prettier to my reactjs project. I have then defined a lint
command in my package.json
file.
{
"env": {
"browser": true,
"es2021": true,
"jest": true
},
"extends": [
"react-app",
"react-app/jest",
"airbnb",
"plugin:prettier/recommended"
],
"overrides": [],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["react", "prettier"],
"rules": {
"react/react-in-jsx-scope": "off"
}
}
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"jsxSingleQuote": true,
"trailingComma": "all",
"printWidth": 80
}
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@apollo/client": "^3.6.9",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
"ag-grid-community": "^28.1.1",
"ag-grid-react": "^28.1.1",
"antd": "^4.22.7",
"graphql": "^16.6.0",
"lodash": "^4.17.21",
"mobx": "^6.6.1",
"mobx-react-lite": "^3.4.0",
"moment": "^2.29.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.4.1",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"lint": "eslint .",
"lint:fix": "eslint --fix ."
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"eslint": "^8.36.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^8.7.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"prettier": "^2.8.4"
}
}
function Test1() {
return (
<div
style={{
padding: "20px",
}}
>
Test 1
</div>
);
}
export default Test1;
npm run lint
, no errors are being reported even though the file has double quotes.tabWidth
to 4
in prettierrc
and run this command again.tabWidth
is not being reported as an error for the Test1.jsx
file.Need help in identifying why? Thanks
The problem is that eslint is not affecting .jsx
files by default.
You can fix that by using the ext
flag:
eslint . --ext .js,.jsx