.eslintrc.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. module.exports = {
  2. "extends": [
  3. "next/core-web-vitals",
  4. "plugin:import/recommended",
  5. "prettier"
  6. ],
  7. "rules": {
  8. "jsx-a11y/alt-text": "off",
  9. "react/display-name": "off",
  10. "react/no-children-prop": "off",
  11. "@next/next/no-img-element": "off",
  12. "@next/next/no-page-custom-font": "off",
  13. "lines-around-comment": [
  14. "error",
  15. {
  16. "beforeBlockComment": true,
  17. "beforeLineComment": true,
  18. "allowBlockStart": true,
  19. "allowObjectStart": true,
  20. "allowArrayStart": true
  21. }
  22. ],
  23. "padding-line-between-statements": [
  24. "error",
  25. {
  26. "blankLine": "any",
  27. "prev": "export",
  28. "next": "export"
  29. },
  30. {
  31. "blankLine": "always",
  32. "prev": [
  33. "const",
  34. "let",
  35. "var"
  36. ],
  37. "next": "*"
  38. },
  39. {
  40. "blankLine": "any",
  41. "prev": [
  42. "const",
  43. "let",
  44. "var"
  45. ],
  46. "next": [
  47. "const",
  48. "let",
  49. "var"
  50. ]
  51. },
  52. {
  53. "blankLine": "always",
  54. "prev": "*",
  55. "next": [
  56. "function",
  57. "multiline-const",
  58. "multiline-block-like"
  59. ]
  60. },
  61. {
  62. "blankLine": "always",
  63. "prev": [
  64. "function",
  65. "multiline-const",
  66. "multiline-block-like"
  67. ],
  68. "next": "*"
  69. }
  70. ],
  71. "newline-before-return": "error",
  72. "import/newline-after-import": [
  73. "error",
  74. {
  75. "count": 1
  76. }
  77. ],
  78. "import/order": [
  79. "error",
  80. {
  81. "groups": [
  82. "builtin",
  83. "external",
  84. [
  85. "internal",
  86. "parent",
  87. "sibling",
  88. "index"
  89. ],
  90. [
  91. "object",
  92. "unknown"
  93. ]
  94. ],
  95. "pathGroups": [
  96. {
  97. "pattern": "react",
  98. "group": "external",
  99. "position": "before"
  100. },
  101. {
  102. "pattern": "next/**",
  103. "group": "external",
  104. "position": "before"
  105. },
  106. {
  107. "pattern": "~/**",
  108. "group": "external",
  109. "position": "before"
  110. },
  111. {
  112. "pattern": "@/**",
  113. "group": "internal"
  114. }
  115. ],
  116. "pathGroupsExcludedImportTypes": [
  117. "react",
  118. "type"
  119. ],
  120. "newlines-between": "always-and-inside-groups"
  121. }
  122. ]
  123. },
  124. "settings": {
  125. "react": {
  126. "version": "detect"
  127. },
  128. "import/parsers": {},
  129. "import/resolver": {
  130. "typescript": {
  131. "project": "./jsconfig.json"
  132. }
  133. }
  134. },
  135. "overrides": []
  136. };