.eslintrc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. {
  2. "extends": ["airbnb", "airbnb/hooks", "prettier"],
  3. "parser": "@babel/eslint-parser",
  4. "parserOptions": {
  5. "babelOptions": {
  6. "presets": [
  7. "@babel/preset-env",
  8. "@babel/preset-react",
  9. "@babel/preset-typescript"
  10. ],
  11. "plugins": ["@babel/plugin-transform-runtime"]
  12. }
  13. },
  14. "plugins": ["html", "react"],
  15. "rules": {
  16. "no-param-reassign": 1,
  17. "react/prop-types": 0,
  18. "react/jsx-props-no-spreading": 0,
  19. "import/extensions": [
  20. "error",
  21. "ignorePackages",
  22. {
  23. "js": "never",
  24. "jsx": "never",
  25. "ts": "never",
  26. "tsx": "never"
  27. }
  28. ],
  29. "import/no-extraneous-dependencies": [
  30. "error",
  31. {
  32. "devDependencies": true,
  33. "optionalDependencies": false,
  34. "peerDependencies": false
  35. }
  36. ],
  37. "react/function-component-definition": [
  38. 0,
  39. {
  40. "namedComponents": "function-declaration"
  41. }
  42. ]
  43. },
  44. "settings": {
  45. "import/resolver": {
  46. "node": {
  47. "extensions": [".js", ".jsx", ".ts", ".tsx"]
  48. }
  49. }
  50. },
  51. // eslint that apply only to typescript files
  52. "overrides": [
  53. {
  54. "files": ["*.ts", "*.tsx"],
  55. "extends": ["airbnb-typescript", "prettier"],
  56. "parser": "@typescript-eslint/parser",
  57. "plugins": ["@typescript-eslint"],
  58. "parserOptions": {
  59. "project": "./tsconfig.json"
  60. },
  61. "rules": {
  62. "react/require-default-props": 0,
  63. "@typescript-eslint/no-explicit-any": 1
  64. }
  65. }
  66. ]
  67. }