.eslintrc.json 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {
  2. "env": {
  3. "browser": true,
  4. "es6": true
  5. },
  6. "extends": [
  7. "plugin:react/recommended",
  8. "airbnb",
  9. "plugin:prettier/recommended",
  10. "plugin:@typescript-eslint/eslint-recommended",
  11. "plugin:@typescript-eslint/recommended"
  12. ],
  13. "globals": {
  14. "Atomics": "readonly",
  15. "SharedArrayBuffer": "readonly"
  16. },
  17. "parser": "@typescript-eslint/parser",
  18. "parserOptions": {
  19. "ecmaFeatures": {
  20. "jsx": true
  21. },
  22. "ecmaVersion": 2018,
  23. "sourceType": "module"
  24. },
  25. "plugins": [
  26. "react",
  27. "@typescript-eslint",
  28. "prettier"
  29. ],
  30. "rules": {
  31. "import/extensions": [
  32. "error",
  33. "ignorePackages",
  34. {
  35. "js": "never",
  36. "jsx": "never",
  37. "ts": "never",
  38. "tsx": "never"
  39. }
  40. ],
  41. "prettier/prettier": "error",
  42. "@typescript-eslint/explicit-function-return-type": "off",
  43. "@typescript-eslint/no-unused-vars": "off",
  44. "camelcase": "off",
  45. "@typescript-eslint/camelcase": [
  46. 0,
  47. {
  48. "properties": "never"
  49. }
  50. ],
  51. "react/jsx-props-no-spreading": "off",
  52. "react/jsx-filename-extension": [
  53. 1,
  54. {
  55. "extensions": [
  56. ".js",
  57. ".jsx",
  58. ".ts",
  59. ".tsx"
  60. ]
  61. }
  62. ]
  63. },
  64. "settings": {
  65. "import/resolver": {
  66. "node": {
  67. "extensions": [
  68. ".js",
  69. ".jsx",
  70. ".ts",
  71. ".tsx"
  72. ]
  73. }
  74. }
  75. }
  76. }