eslint-config-typed 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +6 -0
  3. package/dist/configs/cypress.d.mts +3 -0
  4. package/dist/configs/cypress.d.mts.map +1 -0
  5. package/dist/configs/cypress.mjs +28 -0
  6. package/dist/configs/cypress.mjs.map +1 -0
  7. package/dist/configs/index.d.mts +12 -0
  8. package/dist/configs/index.d.mts.map +1 -0
  9. package/dist/configs/index.mjs +12 -0
  10. package/dist/configs/index.mjs.map +1 -0
  11. package/dist/configs/jest.d.mts +3 -0
  12. package/dist/configs/jest.d.mts.map +1 -0
  13. package/dist/configs/jest.mjs +24 -0
  14. package/dist/configs/jest.mjs.map +1 -0
  15. package/dist/configs/playwright.d.mts +3 -0
  16. package/dist/configs/playwright.d.mts.map +1 -0
  17. package/dist/configs/playwright.mjs +29 -0
  18. package/dist/configs/playwright.mjs.map +1 -0
  19. package/dist/configs/plugins.d.mts +3 -0
  20. package/dist/configs/plugins.d.mts.map +1 -0
  21. package/dist/configs/plugins.mjs +81 -0
  22. package/dist/configs/plugins.mjs.map +1 -0
  23. package/dist/configs/preact.d.mts +3 -0
  24. package/dist/configs/preact.d.mts.map +1 -0
  25. package/dist/configs/preact.mjs +17 -0
  26. package/dist/configs/preact.mjs.map +1 -0
  27. package/dist/configs/react-base.d.mts +3 -0
  28. package/dist/configs/react-base.d.mts.map +1 -0
  29. package/dist/configs/react-base.mjs +38 -0
  30. package/dist/configs/react-base.mjs.map +1 -0
  31. package/dist/configs/react.d.mts +3 -0
  32. package/dist/configs/react.d.mts.map +1 -0
  33. package/dist/configs/react.mjs +16 -0
  34. package/dist/configs/react.mjs.map +1 -0
  35. package/dist/configs/testing-library.d.mts +3 -0
  36. package/dist/configs/testing-library.d.mts.map +1 -0
  37. package/dist/configs/testing-library.mjs +22 -0
  38. package/dist/configs/testing-library.mjs.map +1 -0
  39. package/dist/configs/typescript-without-rules.d.mts +6 -0
  40. package/dist/configs/typescript-without-rules.d.mts.map +1 -0
  41. package/dist/configs/typescript-without-rules.mjs +89 -0
  42. package/dist/configs/typescript-without-rules.mjs.map +1 -0
  43. package/dist/configs/typescript.d.mts +8 -0
  44. package/dist/configs/typescript.d.mts.map +1 -0
  45. package/dist/configs/typescript.mjs +80 -0
  46. package/dist/configs/typescript.mjs.map +1 -0
  47. package/dist/configs/vitest.d.mts +3 -0
  48. package/dist/configs/vitest.d.mts.map +1 -0
  49. package/dist/configs/vitest.mjs +20 -0
  50. package/dist/configs/vitest.mjs.map +1 -0
  51. package/dist/custom-rules/custom.d.mts +3 -0
  52. package/dist/custom-rules/custom.d.mts.map +1 -0
  53. package/dist/custom-rules/custom.mjs +10 -0
  54. package/dist/custom-rules/custom.mjs.map +1 -0
  55. package/dist/custom-rules/index.d.mts +3 -0
  56. package/dist/custom-rules/index.d.mts.map +1 -0
  57. package/dist/custom-rules/index.mjs +3 -0
  58. package/dist/custom-rules/index.mjs.map +1 -0
  59. package/dist/custom-rules/no-restricted-syntax2.d.mts +3 -0
  60. package/dist/custom-rules/no-restricted-syntax2.d.mts.map +1 -0
  61. package/dist/custom-rules/no-restricted-syntax2.mjs +61 -0
  62. package/dist/custom-rules/no-restricted-syntax2.mjs.map +1 -0
  63. package/dist/globals.d.mts +3 -0
  64. package/dist/index.d.mts +6 -0
  65. package/dist/index.d.mts.map +1 -0
  66. package/dist/index.mjs +58 -0
  67. package/dist/index.mjs.map +1 -0
  68. package/dist/plugins/index.d.mts +3 -0
  69. package/dist/plugins/index.d.mts.map +1 -0
  70. package/dist/plugins/index.mjs +23 -0
  71. package/dist/plugins/index.mjs.map +1 -0
  72. package/dist/plugins/total-functions/index.d.mts +3 -0
  73. package/dist/plugins/total-functions/index.d.mts.map +1 -0
  74. package/dist/plugins/total-functions/index.mjs +20 -0
  75. package/dist/plugins/total-functions/index.mjs.map +1 -0
  76. package/dist/plugins/total-functions/plugin.d.mts +3 -0
  77. package/dist/plugins/total-functions/plugin.d.mts.map +1 -0
  78. package/dist/plugins/total-functions/plugin.mjs +26 -0
  79. package/dist/plugins/total-functions/plugin.mjs.map +1 -0
  80. package/dist/plugins/total-functions/rules/common.d.mts +16 -0
  81. package/dist/plugins/total-functions/rules/common.d.mts.map +1 -0
  82. package/dist/plugins/total-functions/rules/common.mjs +49 -0
  83. package/dist/plugins/total-functions/rules/common.mjs.map +1 -0
  84. package/dist/plugins/total-functions/rules/fp-ts.d.mts +9 -0
  85. package/dist/plugins/total-functions/rules/fp-ts.d.mts.map +1 -0
  86. package/dist/plugins/total-functions/rules/fp-ts.mjs +42 -0
  87. package/dist/plugins/total-functions/rules/fp-ts.mjs.map +1 -0
  88. package/dist/plugins/total-functions/rules/index.d.mts +19 -0
  89. package/dist/plugins/total-functions/rules/index.d.mts.map +1 -0
  90. package/dist/plugins/total-functions/rules/index.mjs +19 -0
  91. package/dist/plugins/total-functions/rules/index.mjs.map +1 -0
  92. package/dist/plugins/total-functions/rules/no-enums.d.mts +3 -0
  93. package/dist/plugins/total-functions/rules/no-enums.d.mts.map +1 -0
  94. package/dist/plugins/total-functions/rules/no-enums.mjs +28 -0
  95. package/dist/plugins/total-functions/rules/no-enums.mjs.map +1 -0
  96. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.d.mts +4 -0
  97. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.d.mts.map +1 -0
  98. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs +133 -0
  99. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs.map +1 -0
  100. package/dist/plugins/total-functions/rules/no-nested-fp-ts-effects.d.mts +4 -0
  101. package/dist/plugins/total-functions/rules/no-nested-fp-ts-effects.d.mts.map +1 -0
  102. package/dist/plugins/total-functions/rules/no-nested-fp-ts-effects.mjs +53 -0
  103. package/dist/plugins/total-functions/rules/no-nested-fp-ts-effects.mjs.map +1 -0
  104. package/dist/plugins/total-functions/rules/no-partial-array-reduce.d.mts +4 -0
  105. package/dist/plugins/total-functions/rules/no-partial-array-reduce.d.mts.map +1 -0
  106. package/dist/plugins/total-functions/rules/no-partial-array-reduce.mjs +91 -0
  107. package/dist/plugins/total-functions/rules/no-partial-array-reduce.mjs.map +1 -0
  108. package/dist/plugins/total-functions/rules/no-partial-division.d.mts +4 -0
  109. package/dist/plugins/total-functions/rules/no-partial-division.d.mts.map +1 -0
  110. package/dist/plugins/total-functions/rules/no-partial-division.mjs +78 -0
  111. package/dist/plugins/total-functions/rules/no-partial-division.mjs.map +1 -0
  112. package/dist/plugins/total-functions/rules/no-partial-string-normalize.d.mts +4 -0
  113. package/dist/plugins/total-functions/rules/no-partial-string-normalize.d.mts.map +1 -0
  114. package/dist/plugins/total-functions/rules/no-partial-string-normalize.mjs +94 -0
  115. package/dist/plugins/total-functions/rules/no-partial-string-normalize.mjs.map +1 -0
  116. package/dist/plugins/total-functions/rules/no-partial-url-constructor.d.mts +4 -0
  117. package/dist/plugins/total-functions/rules/no-partial-url-constructor.d.mts.map +1 -0
  118. package/dist/plugins/total-functions/rules/no-partial-url-constructor.mjs +84 -0
  119. package/dist/plugins/total-functions/rules/no-partial-url-constructor.mjs.map +1 -0
  120. package/dist/plugins/total-functions/rules/no-premature-fp-ts-effects.d.mts +4 -0
  121. package/dist/plugins/total-functions/rules/no-premature-fp-ts-effects.d.mts.map +1 -0
  122. package/dist/plugins/total-functions/rules/no-premature-fp-ts-effects.mjs +44 -0
  123. package/dist/plugins/total-functions/rules/no-premature-fp-ts-effects.mjs.map +1 -0
  124. package/dist/plugins/total-functions/rules/no-unsafe-enum-assignment.d.mts +3 -0
  125. package/dist/plugins/total-functions/rules/no-unsafe-enum-assignment.d.mts.map +1 -0
  126. package/dist/plugins/total-functions/rules/no-unsafe-enum-assignment.mjs +20 -0
  127. package/dist/plugins/total-functions/rules/no-unsafe-enum-assignment.mjs.map +1 -0
  128. package/dist/plugins/total-functions/rules/no-unsafe-mutable-readonly-assignment.d.mts +3 -0
  129. package/dist/plugins/total-functions/rules/no-unsafe-mutable-readonly-assignment.d.mts.map +1 -0
  130. package/dist/plugins/total-functions/rules/no-unsafe-mutable-readonly-assignment.mjs +59 -0
  131. package/dist/plugins/total-functions/rules/no-unsafe-mutable-readonly-assignment.mjs.map +1 -0
  132. package/dist/plugins/total-functions/rules/no-unsafe-optional-property-assignment.d.mts +3 -0
  133. package/dist/plugins/total-functions/rules/no-unsafe-optional-property-assignment.d.mts.map +1 -0
  134. package/dist/plugins/total-functions/rules/no-unsafe-optional-property-assignment.mjs +20 -0
  135. package/dist/plugins/total-functions/rules/no-unsafe-optional-property-assignment.mjs.map +1 -0
  136. package/dist/plugins/total-functions/rules/no-unsafe-readonly-mutable-assignment.d.mts +3 -0
  137. package/dist/plugins/total-functions/rules/no-unsafe-readonly-mutable-assignment.d.mts.map +1 -0
  138. package/dist/plugins/total-functions/rules/no-unsafe-readonly-mutable-assignment.mjs +59 -0
  139. package/dist/plugins/total-functions/rules/no-unsafe-readonly-mutable-assignment.mjs.map +1 -0
  140. package/dist/plugins/total-functions/rules/no-unsafe-type-assertion.d.mts +4 -0
  141. package/dist/plugins/total-functions/rules/no-unsafe-type-assertion.d.mts.map +1 -0
  142. package/dist/plugins/total-functions/rules/no-unsafe-type-assertion.mjs +53 -0
  143. package/dist/plugins/total-functions/rules/no-unsafe-type-assertion.mjs.map +1 -0
  144. package/dist/plugins/total-functions/rules/require-strict-mode.d.mts +4 -0
  145. package/dist/plugins/total-functions/rules/require-strict-mode.d.mts.map +1 -0
  146. package/dist/plugins/total-functions/rules/require-strict-mode.mjs +59 -0
  147. package/dist/plugins/total-functions/rules/require-strict-mode.mjs.map +1 -0
  148. package/dist/plugins/total-functions/rules/rules.d.mts +15 -0
  149. package/dist/plugins/total-functions/rules/rules.d.mts.map +1 -0
  150. package/dist/plugins/total-functions/rules/rules.mjs +30 -0
  151. package/dist/plugins/total-functions/rules/rules.mjs.map +1 -0
  152. package/dist/plugins/total-functions/rules/unsafe-assignment-rule.d.mts +5 -0
  153. package/dist/plugins/total-functions/rules/unsafe-assignment-rule.d.mts.map +1 -0
  154. package/dist/plugins/total-functions/rules/unsafe-assignment-rule.mjs +234 -0
  155. package/dist/plugins/total-functions/rules/unsafe-assignment-rule.mjs.map +1 -0
  156. package/dist/plugins/tree-shakable/index.d.mts +3 -0
  157. package/dist/plugins/tree-shakable/index.d.mts.map +1 -0
  158. package/dist/plugins/tree-shakable/index.mjs +4 -0
  159. package/dist/plugins/tree-shakable/index.mjs.map +1 -0
  160. package/dist/plugins/tree-shakable/plugin.d.mts +3 -0
  161. package/dist/plugins/tree-shakable/plugin.d.mts.map +1 -0
  162. package/dist/plugins/tree-shakable/plugin.mjs +10 -0
  163. package/dist/plugins/tree-shakable/plugin.mjs.map +1 -0
  164. package/dist/plugins/tree-shakable/rules/import-star.d.mts +5 -0
  165. package/dist/plugins/tree-shakable/rules/import-star.d.mts.map +1 -0
  166. package/dist/plugins/tree-shakable/rules/import-star.mjs +249 -0
  167. package/dist/plugins/tree-shakable/rules/import-star.mjs.map +1 -0
  168. package/dist/plugins/tree-shakable/rules/index.d.mts +3 -0
  169. package/dist/plugins/tree-shakable/rules/index.d.mts.map +1 -0
  170. package/dist/plugins/tree-shakable/rules/index.mjs +3 -0
  171. package/dist/plugins/tree-shakable/rules/index.mjs.map +1 -0
  172. package/dist/plugins/tree-shakable/rules/rules.d.mts +4 -0
  173. package/dist/plugins/tree-shakable/rules/rules.d.mts.map +1 -0
  174. package/dist/plugins/tree-shakable/rules/rules.mjs +8 -0
  175. package/dist/plugins/tree-shakable/rules/rules.mjs.map +1 -0
  176. package/dist/rules/eslint-array-func-rules.d.mts +3 -0
  177. package/dist/rules/eslint-array-func-rules.d.mts.map +1 -0
  178. package/dist/rules/eslint-array-func-rules.mjs +11 -0
  179. package/dist/rules/eslint-array-func-rules.mjs.map +1 -0
  180. package/dist/rules/eslint-cypress-rules.d.mts +3 -0
  181. package/dist/rules/eslint-cypress-rules.d.mts.map +1 -0
  182. package/dist/rules/eslint-cypress-rules.mjs +15 -0
  183. package/dist/rules/eslint-cypress-rules.mjs.map +1 -0
  184. package/dist/rules/eslint-functional-rules.d.mts +7 -0
  185. package/dist/rules/eslint-functional-rules.d.mts.map +1 -0
  186. package/dist/rules/eslint-functional-rules.mjs +133 -0
  187. package/dist/rules/eslint-functional-rules.mjs.map +1 -0
  188. package/dist/rules/eslint-import-rules.d.mts +3 -0
  189. package/dist/rules/eslint-import-rules.d.mts.map +1 -0
  190. package/dist/rules/eslint-import-rules.mjs +112 -0
  191. package/dist/rules/eslint-import-rules.mjs.map +1 -0
  192. package/dist/rules/eslint-jest-rules.d.mts +3 -0
  193. package/dist/rules/eslint-jest-rules.d.mts.map +1 -0
  194. package/dist/rules/eslint-jest-rules.mjs +82 -0
  195. package/dist/rules/eslint-jest-rules.mjs.map +1 -0
  196. package/dist/rules/eslint-jsx-a11y-rules.d.mts +4 -0
  197. package/dist/rules/eslint-jsx-a11y-rules.d.mts.map +1 -0
  198. package/dist/rules/eslint-jsx-a11y-rules.mjs +167 -0
  199. package/dist/rules/eslint-jsx-a11y-rules.mjs.map +1 -0
  200. package/dist/rules/eslint-playwright-rules.d.mts +3 -0
  201. package/dist/rules/eslint-playwright-rules.d.mts.map +1 -0
  202. package/dist/rules/eslint-playwright-rules.mjs +62 -0
  203. package/dist/rules/eslint-playwright-rules.mjs.map +1 -0
  204. package/dist/rules/eslint-plugin-rules.d.mts +3 -0
  205. package/dist/rules/eslint-plugin-rules.d.mts.map +1 -0
  206. package/dist/rules/eslint-plugin-rules.mjs +36 -0
  207. package/dist/rules/eslint-plugin-rules.mjs.map +1 -0
  208. package/dist/rules/eslint-prefer-arrow-functions-rules.d.mts +3 -0
  209. package/dist/rules/eslint-prefer-arrow-functions-rules.d.mts.map +1 -0
  210. package/dist/rules/eslint-prefer-arrow-functions-rules.mjs +17 -0
  211. package/dist/rules/eslint-prefer-arrow-functions-rules.mjs.map +1 -0
  212. package/dist/rules/eslint-promise-rules.d.mts +3 -0
  213. package/dist/rules/eslint-promise-rules.d.mts.map +1 -0
  214. package/dist/rules/eslint-promise-rules.mjs +25 -0
  215. package/dist/rules/eslint-promise-rules.mjs.map +1 -0
  216. package/dist/rules/eslint-react-hooks-rules.d.mts +3 -0
  217. package/dist/rules/eslint-react-hooks-rules.d.mts.map +1 -0
  218. package/dist/rules/eslint-react-hooks-rules.mjs +7 -0
  219. package/dist/rules/eslint-react-hooks-rules.mjs.map +1 -0
  220. package/dist/rules/eslint-react-perf-rules.d.mts +3 -0
  221. package/dist/rules/eslint-react-perf-rules.d.mts.map +1 -0
  222. package/dist/rules/eslint-react-perf-rules.mjs +9 -0
  223. package/dist/rules/eslint-react-perf-rules.mjs.map +1 -0
  224. package/dist/rules/eslint-react-refresh-rules.d.mts +3 -0
  225. package/dist/rules/eslint-react-refresh-rules.d.mts.map +1 -0
  226. package/dist/rules/eslint-react-refresh-rules.mjs +6 -0
  227. package/dist/rules/eslint-react-refresh-rules.mjs.map +1 -0
  228. package/dist/rules/eslint-react-rules.d.mts +3 -0
  229. package/dist/rules/eslint-react-rules.d.mts.map +1 -0
  230. package/dist/rules/eslint-react-rules.mjs +141 -0
  231. package/dist/rules/eslint-react-rules.mjs.map +1 -0
  232. package/dist/rules/eslint-rules.d.mts +55 -0
  233. package/dist/rules/eslint-rules.d.mts.map +1 -0
  234. package/dist/rules/eslint-rules.mjs +441 -0
  235. package/dist/rules/eslint-rules.mjs.map +1 -0
  236. package/dist/rules/eslint-security-rules.d.mts +3 -0
  237. package/dist/rules/eslint-security-rules.d.mts.map +1 -0
  238. package/dist/rules/eslint-security-rules.mjs +19 -0
  239. package/dist/rules/eslint-security-rules.mjs.map +1 -0
  240. package/dist/rules/eslint-testing-library-rules.d.mts +3 -0
  241. package/dist/rules/eslint-testing-library-rules.d.mts.map +1 -0
  242. package/dist/rules/eslint-testing-library-rules.mjs +35 -0
  243. package/dist/rules/eslint-testing-library-rules.mjs.map +1 -0
  244. package/dist/rules/eslint-total-functions-rules.d.mts +3 -0
  245. package/dist/rules/eslint-total-functions-rules.d.mts.map +1 -0
  246. package/dist/rules/eslint-total-functions-rules.mjs +19 -0
  247. package/dist/rules/eslint-total-functions-rules.mjs.map +1 -0
  248. package/dist/rules/eslint-tree-shakable-rules.d.mts +3 -0
  249. package/dist/rules/eslint-tree-shakable-rules.d.mts.map +1 -0
  250. package/dist/rules/eslint-tree-shakable-rules.mjs +6 -0
  251. package/dist/rules/eslint-tree-shakable-rules.mjs.map +1 -0
  252. package/dist/rules/eslint-unicorn-rules.d.mts +3 -0
  253. package/dist/rules/eslint-unicorn-rules.d.mts.map +1 -0
  254. package/dist/rules/eslint-unicorn-rules.mjs +202 -0
  255. package/dist/rules/eslint-unicorn-rules.mjs.map +1 -0
  256. package/dist/rules/eslint-vitest-rules.d.mts +3 -0
  257. package/dist/rules/eslint-vitest-rules.d.mts.map +1 -0
  258. package/dist/rules/eslint-vitest-rules.mjs +75 -0
  259. package/dist/rules/eslint-vitest-rules.mjs.map +1 -0
  260. package/dist/rules/index.d.mts +23 -0
  261. package/dist/rules/index.d.mts.map +1 -0
  262. package/dist/rules/index.mjs +23 -0
  263. package/dist/rules/index.mjs.map +1 -0
  264. package/dist/rules/typescript-eslint-rules.d.mts +5 -0
  265. package/dist/rules/typescript-eslint-rules.d.mts.map +1 -0
  266. package/dist/rules/typescript-eslint-rules.mjs +379 -0
  267. package/dist/rules/typescript-eslint-rules.mjs.map +1 -0
  268. package/dist/tsconfig.json +1 -0
  269. package/dist/types/flat-config.d.mts +7 -0
  270. package/dist/types/flat-config.d.mts.map +1 -0
  271. package/dist/types/flat-config.mjs +2 -0
  272. package/dist/types/flat-config.mjs.map +1 -0
  273. package/dist/types/index.d.mts +4 -0
  274. package/dist/types/index.d.mts.map +1 -0
  275. package/dist/types/index.mjs +2 -0
  276. package/dist/types/index.mjs.map +1 -0
  277. package/dist/types/rules/eslint-array-func-rules.d.mts +103 -0
  278. package/dist/types/rules/eslint-array-func-rules.d.mts.map +1 -0
  279. package/dist/types/rules/eslint-array-func-rules.mjs +2 -0
  280. package/dist/types/rules/eslint-array-func-rules.mjs.map +1 -0
  281. package/dist/types/rules/eslint-cypress-rules.d.mts +205 -0
  282. package/dist/types/rules/eslint-cypress-rules.d.mts.map +1 -0
  283. package/dist/types/rules/eslint-cypress-rules.mjs +2 -0
  284. package/dist/types/rules/eslint-cypress-rules.mjs.map +1 -0
  285. package/dist/types/rules/eslint-deprecation-rules.d.mts +21 -0
  286. package/dist/types/rules/eslint-deprecation-rules.d.mts.map +1 -0
  287. package/dist/types/rules/eslint-deprecation-rules.mjs +2 -0
  288. package/dist/types/rules/eslint-deprecation-rules.mjs.map +1 -0
  289. package/dist/types/rules/eslint-functional-rules.d.mts +3767 -0
  290. package/dist/types/rules/eslint-functional-rules.d.mts.map +1 -0
  291. package/dist/types/rules/eslint-functional-rules.mjs +2 -0
  292. package/dist/types/rules/eslint-functional-rules.mjs.map +1 -0
  293. package/dist/types/rules/eslint-import-rules.d.mts +2082 -0
  294. package/dist/types/rules/eslint-import-rules.d.mts.map +1 -0
  295. package/dist/types/rules/eslint-import-rules.mjs +2 -0
  296. package/dist/types/rules/eslint-import-rules.mjs.map +1 -0
  297. package/dist/types/rules/eslint-jest-rules.d.mts +1576 -0
  298. package/dist/types/rules/eslint-jest-rules.d.mts.map +1 -0
  299. package/dist/types/rules/eslint-jest-rules.mjs +2 -0
  300. package/dist/types/rules/eslint-jest-rules.mjs.map +1 -0
  301. package/dist/types/rules/eslint-jsx-a11y-rules.d.mts +1679 -0
  302. package/dist/types/rules/eslint-jsx-a11y-rules.d.mts.map +1 -0
  303. package/dist/types/rules/eslint-jsx-a11y-rules.mjs +2 -0
  304. package/dist/types/rules/eslint-jsx-a11y-rules.mjs.map +1 -0
  305. package/dist/types/rules/eslint-playwright-rules.d.mts +1302 -0
  306. package/dist/types/rules/eslint-playwright-rules.d.mts.map +1 -0
  307. package/dist/types/rules/eslint-playwright-rules.mjs +2 -0
  308. package/dist/types/rules/eslint-playwright-rules.mjs.map +1 -0
  309. package/dist/types/rules/eslint-plugin-rules.d.mts +814 -0
  310. package/dist/types/rules/eslint-plugin-rules.d.mts.map +1 -0
  311. package/dist/types/rules/eslint-plugin-rules.mjs +2 -0
  312. package/dist/types/rules/eslint-plugin-rules.mjs.map +1 -0
  313. package/dist/types/rules/eslint-prefer-arrow-functions-rules.d.mts +82 -0
  314. package/dist/types/rules/eslint-prefer-arrow-functions-rules.d.mts.map +1 -0
  315. package/dist/types/rules/eslint-prefer-arrow-functions-rules.mjs +2 -0
  316. package/dist/types/rules/eslint-prefer-arrow-functions-rules.mjs.map +1 -0
  317. package/dist/types/rules/eslint-promise-rules.d.mts +503 -0
  318. package/dist/types/rules/eslint-promise-rules.d.mts.map +1 -0
  319. package/dist/types/rules/eslint-promise-rules.mjs +2 -0
  320. package/dist/types/rules/eslint-promise-rules.mjs.map +1 -0
  321. package/dist/types/rules/eslint-react-hooks-rules.d.mts +70 -0
  322. package/dist/types/rules/eslint-react-hooks-rules.d.mts.map +1 -0
  323. package/dist/types/rules/eslint-react-hooks-rules.mjs +2 -0
  324. package/dist/types/rules/eslint-react-hooks-rules.mjs.map +1 -0
  325. package/dist/types/rules/eslint-react-perf-rules.d.mts +196 -0
  326. package/dist/types/rules/eslint-react-perf-rules.d.mts.map +1 -0
  327. package/dist/types/rules/eslint-react-perf-rules.mjs +2 -0
  328. package/dist/types/rules/eslint-react-perf-rules.mjs.map +1 -0
  329. package/dist/types/rules/eslint-react-refresh-rules.d.mts +51 -0
  330. package/dist/types/rules/eslint-react-refresh-rules.d.mts.map +1 -0
  331. package/dist/types/rules/eslint-react-refresh-rules.mjs +2 -0
  332. package/dist/types/rules/eslint-react-refresh-rules.mjs.map +1 -0
  333. package/dist/types/rules/eslint-react-rules.d.mts +4592 -0
  334. package/dist/types/rules/eslint-react-rules.d.mts.map +1 -0
  335. package/dist/types/rules/eslint-react-rules.mjs +2 -0
  336. package/dist/types/rules/eslint-react-rules.mjs.map +1 -0
  337. package/dist/types/rules/eslint-rules.d.mts +12863 -0
  338. package/dist/types/rules/eslint-rules.d.mts.map +1 -0
  339. package/dist/types/rules/eslint-rules.mjs +2 -0
  340. package/dist/types/rules/eslint-rules.mjs.map +1 -0
  341. package/dist/types/rules/eslint-security-rules.d.mts +253 -0
  342. package/dist/types/rules/eslint-security-rules.d.mts.map +1 -0
  343. package/dist/types/rules/eslint-security-rules.mjs +2 -0
  344. package/dist/types/rules/eslint-security-rules.mjs.map +1 -0
  345. package/dist/types/rules/eslint-strict-dependencies-rules.d.mts +75 -0
  346. package/dist/types/rules/eslint-strict-dependencies-rules.d.mts.map +1 -0
  347. package/dist/types/rules/eslint-strict-dependencies-rules.mjs +2 -0
  348. package/dist/types/rules/eslint-strict-dependencies-rules.mjs.map +1 -0
  349. package/dist/types/rules/eslint-testing-library-rules.d.mts +814 -0
  350. package/dist/types/rules/eslint-testing-library-rules.d.mts.map +1 -0
  351. package/dist/types/rules/eslint-testing-library-rules.mjs +2 -0
  352. package/dist/types/rules/eslint-testing-library-rules.mjs.map +1 -0
  353. package/dist/types/rules/eslint-total-functions-rules.d.mts +197 -0
  354. package/dist/types/rules/eslint-total-functions-rules.d.mts.map +1 -0
  355. package/dist/types/rules/eslint-total-functions-rules.mjs +2 -0
  356. package/dist/types/rules/eslint-total-functions-rules.mjs.map +1 -0
  357. package/dist/types/rules/eslint-tree-shakable-rules.d.mts +19 -0
  358. package/dist/types/rules/eslint-tree-shakable-rules.d.mts.map +1 -0
  359. package/dist/types/rules/eslint-tree-shakable-rules.mjs +2 -0
  360. package/dist/types/rules/eslint-tree-shakable-rules.mjs.map +1 -0
  361. package/dist/types/rules/eslint-unicorn-rules.d.mts +3544 -0
  362. package/dist/types/rules/eslint-unicorn-rules.d.mts.map +1 -0
  363. package/dist/types/rules/eslint-unicorn-rules.mjs +2 -0
  364. package/dist/types/rules/eslint-unicorn-rules.mjs.map +1 -0
  365. package/dist/types/rules/eslint-vitest-rules.d.mts +1461 -0
  366. package/dist/types/rules/eslint-vitest-rules.d.mts.map +1 -0
  367. package/dist/types/rules/eslint-vitest-rules.mjs +2 -0
  368. package/dist/types/rules/eslint-vitest-rules.mjs.map +1 -0
  369. package/dist/types/rules/index.d.mts +25 -0
  370. package/dist/types/rules/index.d.mts.map +1 -0
  371. package/dist/types/rules/index.mjs +2 -0
  372. package/dist/types/rules/index.mjs.map +1 -0
  373. package/dist/types/rules/typescript-eslint-rules.d.mts +9150 -0
  374. package/dist/types/rules/typescript-eslint-rules.d.mts.map +1 -0
  375. package/dist/types/rules/typescript-eslint-rules.mjs +2 -0
  376. package/dist/types/rules/typescript-eslint-rules.mjs.map +1 -0
  377. package/dist/types/types.d.mts +8 -0
  378. package/dist/types/types.d.mts.map +1 -0
  379. package/dist/types/types.mjs +2 -0
  380. package/dist/types/types.mjs.map +1 -0
  381. package/dist/types.d.mts +2 -0
  382. package/package.json +129 -0
  383. package/src/configs/cypress.mts +27 -0
  384. package/src/configs/index.mts +11 -0
  385. package/src/configs/jest.mts +23 -0
  386. package/src/configs/playwright.mts +28 -0
  387. package/src/configs/plugins.mts +123 -0
  388. package/src/configs/preact.mts +17 -0
  389. package/src/configs/react-base.mts +41 -0
  390. package/src/configs/react.mts +17 -0
  391. package/src/configs/testing-library.mts +21 -0
  392. package/src/configs/typescript-without-rules.mts +94 -0
  393. package/src/configs/typescript.mts +91 -0
  394. package/src/configs/vitest.mts +19 -0
  395. package/src/custom-rules/custom.mts +8 -0
  396. package/src/custom-rules/index.mts +2 -0
  397. package/src/custom-rules/no-restricted-syntax2.mts +79 -0
  398. package/src/globals.d.mts +3 -0
  399. package/src/index.mts +5 -0
  400. package/src/plugins/index.mts +2 -0
  401. package/src/plugins/total-functions/index.mts +2 -0
  402. package/src/plugins/total-functions/plugin.mts +8 -0
  403. package/src/plugins/total-functions/rules/common.mts +81 -0
  404. package/src/plugins/total-functions/rules/fp-ts.mts +57 -0
  405. package/src/plugins/total-functions/rules/index.mts +18 -0
  406. package/src/plugins/total-functions/rules/no-enums.mts +26 -0
  407. package/src/plugins/total-functions/rules/no-enums.test.mts +65 -0
  408. package/src/plugins/total-functions/rules/no-hidden-type-assertions.mts +207 -0
  409. package/src/plugins/total-functions/rules/no-hidden-type-assertions.test.mts +287 -0
  410. package/src/plugins/total-functions/rules/no-nested-fp-ts-effects.mts +67 -0
  411. package/src/plugins/total-functions/rules/no-nested-fp-ts-effects.test.mts +150 -0
  412. package/src/plugins/total-functions/rules/no-partial-array-reduce.mts +126 -0
  413. package/src/plugins/total-functions/rules/no-partial-array-reduce.test.mts +270 -0
  414. package/src/plugins/total-functions/rules/no-partial-division.mts +107 -0
  415. package/src/plugins/total-functions/rules/no-partial-division.test.mts +233 -0
  416. package/src/plugins/total-functions/rules/no-partial-string-normalize.mts +133 -0
  417. package/src/plugins/total-functions/rules/no-partial-string-normalize.test.mts +146 -0
  418. package/src/plugins/total-functions/rules/no-partial-url-constructor.mts +100 -0
  419. package/src/plugins/total-functions/rules/no-partial-url-constructor.test.mts +152 -0
  420. package/src/plugins/total-functions/rules/no-premature-fp-ts-effects.mts +51 -0
  421. package/src/plugins/total-functions/rules/no-premature-fp-ts-effects.test.mts +108 -0
  422. package/src/plugins/total-functions/rules/no-unsafe-enum-assignment.mts +19 -0
  423. package/src/plugins/total-functions/rules/no-unsafe-mutable-readonly-assignment.mts +99 -0
  424. package/src/plugins/total-functions/rules/no-unsafe-mutable-readonly-assignment.test.mts +830 -0
  425. package/src/plugins/total-functions/rules/no-unsafe-optional-property-assignment.mts +19 -0
  426. package/src/plugins/total-functions/rules/no-unsafe-readonly-mutable-assignment.mts +99 -0
  427. package/src/plugins/total-functions/rules/no-unsafe-readonly-mutable-assignment.test.mts +626 -0
  428. package/src/plugins/total-functions/rules/no-unsafe-type-assertion.mts +65 -0
  429. package/src/plugins/total-functions/rules/no-unsafe-type-assertion.test.mts +269 -0
  430. package/src/plugins/total-functions/rules/require-strict-mode.mts +65 -0
  431. package/src/plugins/total-functions/rules/require-strict-mode.test.mts +92 -0
  432. package/src/plugins/total-functions/rules/rules.mts +28 -0
  433. package/src/plugins/total-functions/rules/unsafe-assignment-rule.mts +401 -0
  434. package/src/plugins/tree-shakable/index.mts +2 -0
  435. package/src/plugins/tree-shakable/plugin.mts +8 -0
  436. package/src/plugins/tree-shakable/rules/import-star.mts +266 -0
  437. package/src/plugins/tree-shakable/rules/import-star.test.mts +174 -0
  438. package/src/plugins/tree-shakable/rules/index.mts +2 -0
  439. package/src/plugins/tree-shakable/rules/rules.mts +6 -0
  440. package/src/rules/eslint-array-func-rules.mts +10 -0
  441. package/src/rules/eslint-cypress-rules.mts +14 -0
  442. package/src/rules/eslint-functional-rules.mts +148 -0
  443. package/src/rules/eslint-import-rules.mts +124 -0
  444. package/src/rules/eslint-jest-rules.mts +84 -0
  445. package/src/rules/eslint-jsx-a11y-rules.mts +178 -0
  446. package/src/rules/eslint-playwright-rules.mts +63 -0
  447. package/src/rules/eslint-plugin-rules.mts +35 -0
  448. package/src/rules/eslint-prefer-arrow-functions-rules.mts +16 -0
  449. package/src/rules/eslint-promise-rules.mts +26 -0
  450. package/src/rules/eslint-react-hooks-rules.mts +6 -0
  451. package/src/rules/eslint-react-perf-rules.mts +8 -0
  452. package/src/rules/eslint-react-refresh-rules.mts +5 -0
  453. package/src/rules/eslint-react-rules.mts +159 -0
  454. package/src/rules/eslint-rules.mts +462 -0
  455. package/src/rules/eslint-security-rules.mts +18 -0
  456. package/src/rules/eslint-testing-library-rules.mts +35 -0
  457. package/src/rules/eslint-total-functions-rules.mts +22 -0
  458. package/src/rules/eslint-tree-shakable-rules.mts +5 -0
  459. package/src/rules/eslint-unicorn-rules.mts +209 -0
  460. package/src/rules/eslint-vitest-rules.mts +82 -0
  461. package/src/rules/index.mts +22 -0
  462. package/src/rules/typescript-eslint-rules.mts +413 -0
  463. package/src/types/flat-config.mts +13 -0
  464. package/src/types/index.mts +3 -0
  465. package/src/types/rules/eslint-array-func-rules.mts +109 -0
  466. package/src/types/rules/eslint-cypress-rules.mts +221 -0
  467. package/src/types/rules/eslint-deprecation-rules.mts +22 -0
  468. package/src/types/rules/eslint-functional-rules.mts +4071 -0
  469. package/src/types/rules/eslint-import-rules.mts +2251 -0
  470. package/src/types/rules/eslint-jest-rules.mts +1705 -0
  471. package/src/types/rules/eslint-jsx-a11y-rules.mts +1866 -0
  472. package/src/types/rules/eslint-playwright-rules.mts +1402 -0
  473. package/src/types/rules/eslint-plugin-rules.mts +885 -0
  474. package/src/types/rules/eslint-prefer-arrow-functions-rules.mts +89 -0
  475. package/src/types/rules/eslint-promise-rules.mts +547 -0
  476. package/src/types/rules/eslint-react-hooks-rules.mts +78 -0
  477. package/src/types/rules/eslint-react-perf-rules.mts +215 -0
  478. package/src/types/rules/eslint-react-refresh-rules.mts +58 -0
  479. package/src/types/rules/eslint-react-rules.mts +5075 -0
  480. package/src/types/rules/eslint-rules.mts +13614 -0
  481. package/src/types/rules/eslint-security-rules.mts +267 -0
  482. package/src/types/rules/eslint-strict-dependencies-rules.mts +84 -0
  483. package/src/types/rules/eslint-testing-library-rules.mts +887 -0
  484. package/src/types/rules/eslint-total-functions-rules.mts +209 -0
  485. package/src/types/rules/eslint-tree-shakable-rules.mts +20 -0
  486. package/src/types/rules/eslint-unicorn-rules.mts +3796 -0
  487. package/src/types/rules/eslint-vitest-rules.mts +1575 -0
  488. package/src/types/rules/index.mts +24 -0
  489. package/src/types/rules/typescript-eslint-rules.mts +9992 -0
  490. package/src/types/types.mts +7 -0
@@ -0,0 +1,178 @@
1
+ import { type EslintJsxA11yRules } from '../types/index.mjs';
2
+
3
+ /** @link https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/src/index.js */
4
+ export const eslintJsxA11yRules: EslintJsxA11yRules = {
5
+ 'jsx-a11y/alt-text': 'error',
6
+ 'jsx-a11y/anchor-ambiguous-text': 'error',
7
+ 'jsx-a11y/anchor-has-content': 'error',
8
+ 'jsx-a11y/anchor-is-valid': 'error',
9
+ 'jsx-a11y/aria-activedescendant-has-tabindex': 'error',
10
+ 'jsx-a11y/aria-props': 'error',
11
+ 'jsx-a11y/aria-proptypes': 'error',
12
+ 'jsx-a11y/aria-role': 'error',
13
+ 'jsx-a11y/aria-unsupported-elements': 'error',
14
+ 'jsx-a11y/autocomplete-valid': 'error',
15
+ 'jsx-a11y/click-events-have-key-events': 'error',
16
+
17
+ 'jsx-a11y/control-has-associated-label': 'off',
18
+
19
+ 'jsx-a11y/heading-has-content': 'error',
20
+ 'jsx-a11y/html-has-lang': 'error',
21
+ 'jsx-a11y/iframe-has-title': 'error',
22
+ 'jsx-a11y/img-redundant-alt': 'error',
23
+
24
+ 'jsx-a11y/interactive-supports-focus': [
25
+ 'error',
26
+ /* recommended */
27
+ // {
28
+ // tabbable: [
29
+ // 'button',
30
+ // 'checkbox',
31
+ // 'link',
32
+ // 'searchbox',
33
+ // 'spinbutton',
34
+ // 'switch',
35
+ // 'textbox',
36
+ // ],
37
+ // },
38
+ /* strict */
39
+ {
40
+ tabbable: [
41
+ 'button',
42
+ 'checkbox',
43
+ 'link',
44
+ 'progressbar',
45
+ 'searchbox',
46
+ 'slider',
47
+ 'spinbutton',
48
+ 'switch',
49
+ 'textbox',
50
+ ],
51
+ },
52
+ ],
53
+
54
+ 'jsx-a11y/label-has-associated-control': 'error',
55
+ 'jsx-a11y/lang': 'error',
56
+ 'jsx-a11y/media-has-caption': 'error',
57
+ 'jsx-a11y/mouse-events-have-key-events': 'error',
58
+ 'jsx-a11y/no-access-key': 'error',
59
+ 'jsx-a11y/no-aria-hidden-on-focusable': 'error',
60
+ 'jsx-a11y/no-autofocus': 'error',
61
+ 'jsx-a11y/no-distracting-elements': 'error',
62
+
63
+ /* recommended */
64
+ // 'jsx-a11y/no-interactive-element-to-noninteractive-role': [
65
+ // 'error',
66
+ // {
67
+ // tr: ['none', 'presentation'],
68
+ // canvas: ['img'],
69
+ // },
70
+ // ],
71
+ /* strict */
72
+ 'jsx-a11y/no-interactive-element-to-noninteractive-role': 'error',
73
+
74
+ /* recommended */
75
+ // 'jsx-a11y/no-noninteractive-element-interactions': [
76
+ // 'error',
77
+ // {
78
+ // handlers: [
79
+ // 'onClick',
80
+ // 'onError',
81
+ // 'onLoad',
82
+ // 'onMouseDown',
83
+ // 'onMouseUp',
84
+ // 'onKeyPress',
85
+ // 'onKeyDown',
86
+ // 'onKeyUp',
87
+ // ],
88
+ // alert: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
89
+ // body: ['onError', 'onLoad'],
90
+ // dialog: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
91
+ // iframe: ['onError', 'onLoad'],
92
+ // img: ['onError', 'onLoad'],
93
+ // },
94
+ // ],
95
+ /* strict */
96
+ 'jsx-a11y/no-noninteractive-element-interactions': [
97
+ 'error',
98
+ {
99
+ body: ['onError', 'onLoad'],
100
+ iframe: ['onError', 'onLoad'],
101
+ img: ['onError', 'onLoad'],
102
+ },
103
+ ],
104
+
105
+ /* recommended */
106
+ // 'jsx-a11y/no-noninteractive-element-to-interactive-role': [
107
+ // 'error',
108
+ // {
109
+ // ul: [
110
+ // 'listbox',
111
+ // 'menu',
112
+ // 'menubar',
113
+ // 'radiogroup',
114
+ // 'tablist',
115
+ // 'tree',
116
+ // 'treegrid',
117
+ // ],
118
+ // ol: [
119
+ // 'listbox',
120
+ // 'menu',
121
+ // 'menubar',
122
+ // 'radiogroup',
123
+ // 'tablist',
124
+ // 'tree',
125
+ // 'treegrid',
126
+ // ],
127
+ // li: ['menuitem', 'option', 'row', 'tab', 'treeitem'],
128
+ // table: ['grid'],
129
+ // td: ['gridcell'],
130
+ // fieldset: ['radiogroup', 'presentation'],
131
+ // },
132
+ // ],
133
+ /* strict */
134
+ 'jsx-a11y/no-noninteractive-element-to-interactive-role': 'error',
135
+
136
+ /* recommended */
137
+ // 'jsx-a11y/no-noninteractive-tabindex': [
138
+ // 'error',
139
+ // {
140
+ // tags: [],
141
+ // roles: ['tabpanel'],
142
+ // allowExpressionValues: true,
143
+ // },
144
+ // ],
145
+ /* strict */
146
+ 'jsx-a11y/no-noninteractive-tabindex': 'error',
147
+
148
+ 'jsx-a11y/no-redundant-roles': 'error',
149
+
150
+ /* recommended */
151
+ // 'jsx-a11y/no-static-element-interactions': [
152
+ // 'error',
153
+ // {
154
+ // allowExpressionValues: true,
155
+ // handlers: [
156
+ // 'onClick',
157
+ // 'onMouseDown',
158
+ // 'onMouseUp',
159
+ // 'onKeyPress',
160
+ // 'onKeyDown',
161
+ // 'onKeyUp',
162
+ // ],
163
+ // },
164
+ // ],
165
+ /* strict */
166
+ 'jsx-a11y/no-static-element-interactions': 'error',
167
+
168
+ 'jsx-a11y/prefer-tag-over-role': 'error',
169
+ 'jsx-a11y/role-has-required-aria-props': 'error',
170
+ 'jsx-a11y/role-supports-aria-props': 'error',
171
+ 'jsx-a11y/scope': 'error',
172
+ 'jsx-a11y/tabindex-no-positive': 'error',
173
+
174
+ // deprecated
175
+ 'jsx-a11y/accessible-emoji': 0,
176
+ 'jsx-a11y/label-has-for': 0,
177
+ 'jsx-a11y/no-onchange': 0,
178
+ } as const;
@@ -0,0 +1,63 @@
1
+ import { type EslintPlaywrightRules } from '../types/index.mjs';
2
+
3
+ export const eslintPlaywrightRules: EslintPlaywrightRules = {
4
+ /* vitest と共通のルール(設定値をなるべく合わせる) */
5
+ 'playwright/expect-expect': 'error',
6
+ 'playwright/max-expects': 'off',
7
+ 'playwright/max-nested-describe': 'error',
8
+ 'playwright/no-commented-out-tests': 'off',
9
+ 'playwright/no-conditional-expect': 'error',
10
+ 'playwright/no-conditional-in-test': 'off',
11
+ 'playwright/no-duplicate-hooks': 'error',
12
+ 'playwright/no-hooks': 'error',
13
+ 'playwright/no-restricted-matchers': [
14
+ 'error',
15
+ {
16
+ toBeTruthy: 'Use `.toBe(true)` instead.',
17
+ toBeFalsy: 'Use `.toBe(false)` instead.',
18
+ },
19
+ ],
20
+ 'playwright/no-standalone-expect': 'error',
21
+ 'playwright/prefer-comparison-matcher': 'error',
22
+ 'playwright/prefer-equality-matcher': 'error',
23
+ 'playwright/prefer-hooks-in-order': 'error',
24
+ 'playwright/prefer-hooks-on-top': 'error',
25
+ 'playwright/prefer-strict-equal': 'error',
26
+ 'playwright/prefer-to-be': 'error',
27
+ 'playwright/prefer-to-contain': 'error',
28
+ 'playwright/prefer-to-have-length': 'error',
29
+ 'playwright/require-hook': 'off',
30
+ 'playwright/require-to-throw-message': 'error',
31
+ 'playwright/require-top-level-describe': 'off',
32
+ 'playwright/valid-describe-callback': 'error',
33
+ 'playwright/valid-expect': 'error',
34
+ 'playwright/valid-title': 'off',
35
+
36
+ /* eslint-plugin-playwright 独自ルール */
37
+
38
+ 'playwright/missing-playwright-await': 'error',
39
+ 'playwright/no-element-handle': 'error',
40
+ 'playwright/no-eval': 'error',
41
+ 'playwright/no-focused-test': 'error',
42
+ 'playwright/no-force-option': 'error',
43
+ 'playwright/no-get-by-title': 'error',
44
+ 'playwright/no-nested-step': 'error',
45
+ 'playwright/no-networkidle': 'error',
46
+ 'playwright/no-nth-methods': 'off',
47
+ 'playwright/no-page-pause': 'error',
48
+ 'playwright/no-raw-locators': 'error',
49
+ 'playwright/no-skipped-test': 'error',
50
+ 'playwright/no-slowed-test': 'error',
51
+ 'playwright/no-unsafe-references': 'error',
52
+ 'playwright/no-useless-await': 'error',
53
+ 'playwright/no-useless-not': 'error',
54
+ 'playwright/no-wait-for-selector': 'error',
55
+ 'playwright/no-wait-for-timeout': 'error',
56
+ 'playwright/prefer-locator': 'error',
57
+ 'playwright/prefer-lowercase-title': 'error',
58
+ 'playwright/prefer-native-locators': 'error',
59
+ 'playwright/prefer-to-have-count': 'error',
60
+ 'playwright/prefer-web-first-assertions': 'error',
61
+ 'playwright/require-soft-assertions': 'error',
62
+ 'playwright/valid-expect-in-promise': 'error',
63
+ } as const;
@@ -0,0 +1,35 @@
1
+ import { type EslintPluginRules } from '../types/index.mjs';
2
+
3
+ export const eslintPluginRules: EslintPluginRules = {
4
+ 'eslint-plugin/consistent-output': 'error',
5
+ 'eslint-plugin/fixer-return': 'error',
6
+ 'eslint-plugin/meta-property-ordering': 'error',
7
+ 'eslint-plugin/no-deprecated-context-methods': 'error',
8
+ 'eslint-plugin/no-deprecated-report-api': 'error',
9
+ 'eslint-plugin/no-identical-tests': 'error',
10
+ 'eslint-plugin/no-missing-message-ids': 'error',
11
+ 'eslint-plugin/no-missing-placeholders': 'error',
12
+ 'eslint-plugin/no-only-tests': 'error',
13
+ 'eslint-plugin/no-property-in-node': 'error',
14
+ 'eslint-plugin/no-unused-message-ids': 'error',
15
+ 'eslint-plugin/no-unused-placeholders': 'error',
16
+ 'eslint-plugin/no-useless-token-range': 'error',
17
+ 'eslint-plugin/prefer-message-ids': 'error',
18
+ 'eslint-plugin/prefer-object-rule': 'error',
19
+ 'eslint-plugin/prefer-output-null': 'error',
20
+ 'eslint-plugin/prefer-placeholders': 'error',
21
+ 'eslint-plugin/prefer-replace-text': 'error',
22
+ 'eslint-plugin/report-message-format': 'error',
23
+ 'eslint-plugin/require-meta-docs-description': 'error',
24
+ 'eslint-plugin/require-meta-docs-recommended': 'error',
25
+ 'eslint-plugin/require-meta-docs-url': 'error',
26
+ 'eslint-plugin/require-meta-fixable': 'error',
27
+ 'eslint-plugin/require-meta-has-suggestions': 'error',
28
+ 'eslint-plugin/require-meta-schema-description': 'error',
29
+ 'eslint-plugin/require-meta-schema': 'error',
30
+ 'eslint-plugin/require-meta-type': 'error',
31
+ 'eslint-plugin/test-case-property-ordering': 'error',
32
+ 'eslint-plugin/test-case-shorthand-strings': 'error',
33
+ 'eslint-plugin/no-meta-schema-default': 'error',
34
+ 'eslint-plugin/require-meta-default-options': 'error',
35
+ } as const;
@@ -0,0 +1,16 @@
1
+ import { type EslintPreferArrowFunctionRules } from '../types/index.mjs';
2
+
3
+ export const eslintPreferArrowFunctionRules: EslintPreferArrowFunctionRules = {
4
+ 'prefer-arrow-functions/prefer-arrow-functions': [
5
+ 'error',
6
+ {
7
+ allowedNames: [],
8
+ allowObjectProperties: false,
9
+ allowNamedFunctions: false,
10
+ classPropertiesAllowed: false,
11
+ disallowPrototype: true,
12
+ returnStyle: 'implicit',
13
+ singleReturnOnly: false,
14
+ },
15
+ ],
16
+ } as const;
@@ -0,0 +1,26 @@
1
+ import { type EslintPromiseRules } from '../types/index.mjs';
2
+
3
+ export const eslintPromiseRules: EslintPromiseRules = {
4
+ 'promise/catch-or-return': ['error', { allowFinally: true }],
5
+ 'promise/no-return-wrap': 'error',
6
+ 'promise/param-names': 'error',
7
+ 'promise/always-return': 'off',
8
+ 'promise/no-native': 'off',
9
+ 'promise/no-nesting': 'error',
10
+ 'promise/no-promise-in-callback': 'error',
11
+
12
+ // promise.then(...).catch(...) と書かれているときに、
13
+ // then の中で呼び出した callback でエラーを throw していた場合に catch でそれも拾ってしまうという問題を指摘しているが、
14
+ // then の中に callback を書かないべきであるとする根拠としては妥当でないと思われるため使用しない。
15
+ 'promise/no-callback-in-promise': 'off',
16
+
17
+ 'promise/avoid-new': 'off',
18
+ 'promise/no-new-statics': 'error',
19
+ 'promise/no-return-in-finally': 'error',
20
+ 'promise/valid-params': 'error',
21
+ 'promise/prefer-await-to-then': 'off',
22
+ 'promise/prefer-await-to-callbacks': 'off',
23
+ 'promise/no-multiple-resolved': 'error',
24
+ 'promise/spec-only': 'error',
25
+ 'promise/prefer-catch': 'error',
26
+ } as const;
@@ -0,0 +1,6 @@
1
+ import { type EslintReactHooksRules } from '../types/index.mjs';
2
+
3
+ export const eslintReactHooksRules: EslintReactHooksRules = {
4
+ 'react-hooks/rules-of-hooks': 'error',
5
+ 'react-hooks/exhaustive-deps': 'error',
6
+ } as const;
@@ -0,0 +1,8 @@
1
+ import { type EslintReactPerfRules } from '../types/index.mjs';
2
+
3
+ export const eslintReactPerfRules: EslintReactPerfRules = {
4
+ 'react-perf/jsx-no-jsx-as-prop': 'error',
5
+ 'react-perf/jsx-no-new-array-as-prop': 'error',
6
+ 'react-perf/jsx-no-new-function-as-prop': 'error',
7
+ 'react-perf/jsx-no-new-object-as-prop': 'error',
8
+ } as const;
@@ -0,0 +1,5 @@
1
+ import { type EslintReactRefreshRules } from '../types/index.mjs';
2
+
3
+ export const eslintReactRefreshRules: EslintReactRefreshRules = {
4
+ 'react-refresh/only-export-components': 'error',
5
+ } as const;
@@ -0,0 +1,159 @@
1
+ import { type EslintReactRules } from '../types/index.mjs';
2
+
3
+ export const eslintReactRules: EslintReactRules = {
4
+ /**
5
+ * Disable in favor of prettier
6
+ *
7
+ * @link https://github.com/prettier/eslint-config-prettier/blob/main/index.js
8
+ */
9
+ 'react/jsx-child-element-spacing': 'off',
10
+ 'react/jsx-closing-bracket-location': 'off',
11
+ 'react/jsx-closing-tag-location': 'off',
12
+ 'react/jsx-curly-newline': 'off',
13
+ 'react/jsx-curly-spacing': 'off',
14
+ 'react/jsx-equals-spacing': 'off',
15
+ 'react/jsx-first-prop-new-line': 'off',
16
+ 'react/jsx-indent': 'off',
17
+ 'react/jsx-indent-props': 'off',
18
+ 'react/jsx-max-props-per-line': 'off',
19
+ 'react/jsx-newline': 'off',
20
+ 'react/jsx-one-expression-per-line': 'off',
21
+ 'react/jsx-props-no-multi-spaces': 'off',
22
+ 'react/jsx-tag-spacing': 'off',
23
+ 'react/jsx-wrap-multilines': 'off',
24
+
25
+ 'react/boolean-prop-naming': 'error',
26
+ 'react/button-has-type': 'error',
27
+ 'react/default-props-match-prop-types': 'error',
28
+
29
+ /** Props を展開して使うかどうかを統一する。 */
30
+ 'react/destructuring-assignment': 'error',
31
+
32
+ 'react/display-name': 'error',
33
+ 'react/forbid-component-props': ['error', { forbid: ['className'] }],
34
+ 'react/forbid-dom-props': 'error',
35
+ 'react/forbid-elements': 'error',
36
+ 'react/forbid-foreign-prop-types': 'error',
37
+ 'react/forbid-prop-types': 'error',
38
+ 'react/function-component-definition': [
39
+ 'error',
40
+ { unnamedComponents: 'arrow-function', namedComponents: 'arrow-function' },
41
+ ],
42
+ 'react/hook-use-state': 'off',
43
+ 'react/iframe-missing-sandbox': 'error',
44
+ 'react/jsx-boolean-value': ['error', 'never'],
45
+ 'react/jsx-curly-brace-presence': ['error', 'always'],
46
+
47
+ /** ファイル名の統一 */
48
+ 'react/jsx-filename-extension': ['error', { extensions: ['.tsx'] }],
49
+
50
+ 'react/jsx-fragments': 'error',
51
+ 'react/jsx-handler-names': 'off', // disabled
52
+ 'react/jsx-key': 'error',
53
+ 'react/jsx-max-depth': 'off', // disabled
54
+
55
+ /** JSXに直接コールバック関数を書くのを禁止する。 修正方法: React.useCallback を使うようにする。 */
56
+ 'react/jsx-no-bind': 'error',
57
+
58
+ 'react/jsx-no-comment-textnodes': 'error',
59
+ 'react/jsx-no-constructed-context-values': 'error',
60
+ 'react/jsx-no-duplicate-props': 'error',
61
+
62
+ /**
63
+ * JSXに文字列を直接書くのを避け `<div>{"aaa"}</div>` のように書くことを強制する。 変数に `{}`
64
+ * を付け忘れるミスに気づきやすくなったり syntax highlighting で読みやすくなるなどのメリットがある。
65
+ */
66
+ 'react/jsx-no-literals': 'error',
67
+
68
+ 'react/jsx-no-script-url': 'error',
69
+ 'react/jsx-no-target-blank': 'error',
70
+ 'react/jsx-no-undef': 'error',
71
+ 'react/jsx-no-useless-fragment': ['error', { allowExpressions: true }],
72
+ 'react/jsx-pascal-case': 'error',
73
+
74
+ /** `{...props}` 形式でpropsを渡すと props の過不足のチェックが甘くなるため */
75
+ 'react/jsx-props-no-spreading': 'error',
76
+
77
+ 'react/jsx-sort-props': [
78
+ 'error',
79
+ { callbacksLast: true, reservedFirst: true },
80
+ ],
81
+
82
+ 'react/jsx-uses-react': 'off', // disabled
83
+
84
+ /** ファイル名の統一 */
85
+ 'react/jsx-uses-vars': 'error',
86
+
87
+ 'react/no-access-state-in-setstate': 'error',
88
+ 'react/no-adjacent-inline-elements': 'error',
89
+ 'react/no-array-index-key': 'error',
90
+ 'react/no-arrow-function-lifecycle': 'error',
91
+ 'react/no-children-prop': 'error',
92
+ 'react/no-danger-with-children': 'error',
93
+ 'react/no-danger': 'error',
94
+ 'react/no-deprecated': 'error',
95
+ 'react/no-did-mount-set-state': 'error',
96
+ 'react/no-did-update-set-state': 'error',
97
+ 'react/no-direct-mutation-state': 'error',
98
+ 'react/no-find-dom-node': 'error',
99
+ 'react/no-invalid-html-attribute': 'error',
100
+ 'react/no-is-mounted': 'error',
101
+ 'react/no-multi-comp': [
102
+ 'error',
103
+ {
104
+ ignoreStateless: true,
105
+ },
106
+ ],
107
+ 'react/no-namespace': 'error',
108
+ 'react/no-redundant-should-component-update': 'error',
109
+ 'react/no-render-return-value': 'error',
110
+ 'react/no-set-state': 'error',
111
+ 'react/no-string-refs': 'error',
112
+ 'react/no-this-in-sfc': 'error',
113
+ 'react/no-typos': 'error',
114
+ 'react/no-unescaped-entities': 'error',
115
+
116
+ // @emotion/react の css prop を使用するため
117
+ 'react/no-unknown-property': ['error', { ignore: ['css'] }],
118
+
119
+ 'react/no-unsafe': 'error',
120
+ 'react/no-object-type-as-default-prop': 'error',
121
+ 'react/no-unstable-nested-components': 'error',
122
+ 'react/no-unused-class-component-methods': 'error',
123
+ 'react/no-unused-prop-types': 'error',
124
+ 'react/no-unused-state': 'error',
125
+ 'react/no-will-update-set-state': 'error',
126
+ 'react/prefer-es6-class': 'error',
127
+ 'react/prefer-exact-props': 'error',
128
+ 'react/prefer-read-only-props': 'error',
129
+ 'react/prefer-stateless-function': 'error',
130
+
131
+ /** TypeScript では不要 */
132
+ 'react/prop-types': 'off',
133
+
134
+ 'react/react-in-jsx-scope': 'off', // disabled
135
+ 'react/require-default-props': 'error',
136
+ 'react/require-optimization': 'error',
137
+ 'react/require-render-return': 'error',
138
+ 'react/self-closing-comp': 'error',
139
+ 'react/sort-comp': 'error',
140
+ 'react/sort-default-props': 'error',
141
+ 'react/sort-prop-types': 'error',
142
+ 'react/state-in-constructor': 'error',
143
+ 'react/static-property-placement': 'error',
144
+ 'react/style-prop-object': 'error',
145
+ 'react/void-dom-elements-no-children': 'error',
146
+ 'react/jsx-no-leaked-render': [
147
+ 'error',
148
+ {
149
+ validStrategies: ['ternary'],
150
+ },
151
+ ],
152
+ 'react/checked-requires-onchange-or-readonly': 'error',
153
+ 'react/jsx-props-no-spread-multi': 'error',
154
+ 'react/forward-ref-uses-ref': 'error',
155
+
156
+ // deprecated
157
+ 'react/jsx-sort-default-props': 0,
158
+ 'react/jsx-space-before-closing': 0,
159
+ } as const;