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,2251 @@
1
+ /* cSpell:disable */
2
+ import { type Linter } from 'eslint';
3
+
4
+ type SpreadOptionsIfIsArray<T extends readonly [Linter.RuleSeverity, unknown]> =
5
+ T[1] extends readonly unknown[] ? readonly [Linter.RuleSeverity, ...T[1]] : T;
6
+
7
+ /**
8
+ * Ensure imports point to a file/module that can be resolved.
9
+ *
10
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-unresolved.md
11
+ *
12
+ * ```md
13
+ * | key | value |
14
+ * | :--------- | :------ |
15
+ * | type | problem |
16
+ * | deprecated | false |
17
+ * ```
18
+ */
19
+ namespace NoUnresolved {
20
+ /**
21
+ * ### schema
22
+ *
23
+ * ```json
24
+ * [
25
+ * {
26
+ * "type": "object",
27
+ * "properties": {
28
+ * "commonjs": {
29
+ * "type": "boolean"
30
+ * },
31
+ * "amd": {
32
+ * "type": "boolean"
33
+ * },
34
+ * "esmodule": {
35
+ * "type": "boolean"
36
+ * },
37
+ * "ignore": {
38
+ * "type": "array",
39
+ * "minItems": 1,
40
+ * "items": {
41
+ * "type": "string"
42
+ * },
43
+ * "uniqueItems": true
44
+ * },
45
+ * "caseSensitive": {
46
+ * "type": "boolean",
47
+ * "default": true
48
+ * },
49
+ * "caseSensitiveStrict": {
50
+ * "type": "boolean",
51
+ * "default": false
52
+ * }
53
+ * },
54
+ * "additionalProperties": false
55
+ * }
56
+ * ]
57
+ * ```
58
+ */
59
+ export type Options = {
60
+ readonly commonjs?: boolean;
61
+ readonly amd?: boolean;
62
+ readonly esmodule?: boolean;
63
+ /** @minItems 1 */
64
+ readonly ignore?: readonly [string, ...(readonly string[])];
65
+ readonly caseSensitive?: boolean;
66
+ readonly caseSensitiveStrict?: boolean;
67
+ };
68
+
69
+ export type RuleEntry =
70
+ | Linter.StringSeverity
71
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
72
+ }
73
+
74
+ /**
75
+ * Ensure named imports correspond to a named export in the remote file.
76
+ *
77
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/named.md
78
+ *
79
+ * ```md
80
+ * | key | value |
81
+ * | :--------- | :------ |
82
+ * | type | problem |
83
+ * | deprecated | false |
84
+ * ```
85
+ */
86
+ namespace Named {
87
+ /**
88
+ * ### schema
89
+ *
90
+ * ```json
91
+ * [
92
+ * {
93
+ * "type": "object",
94
+ * "properties": {
95
+ * "commonjs": {
96
+ * "type": "boolean"
97
+ * }
98
+ * },
99
+ * "additionalProperties": false
100
+ * }
101
+ * ]
102
+ * ```
103
+ */
104
+ export type Options = {
105
+ readonly commonjs?: boolean;
106
+ };
107
+
108
+ export type RuleEntry =
109
+ | Linter.StringSeverity
110
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
111
+ }
112
+
113
+ /**
114
+ * Ensure a default export is present, given a default import.
115
+ *
116
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/default.md
117
+ *
118
+ * ```md
119
+ * | key | value |
120
+ * | :--------- | :------ |
121
+ * | type | problem |
122
+ * | deprecated | false |
123
+ * ```
124
+ */
125
+ namespace Default {
126
+ export type RuleEntry = Linter.RuleSeverity;
127
+ }
128
+
129
+ /**
130
+ * Ensure imported namespaces contain dereferenced properties as they are
131
+ * dereferenced.
132
+ *
133
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/namespace.md
134
+ *
135
+ * ```md
136
+ * | key | value |
137
+ * | :--------- | :------ |
138
+ * | type | problem |
139
+ * | deprecated | false |
140
+ * ```
141
+ */
142
+ namespace Namespace {
143
+ /**
144
+ * ### schema
145
+ *
146
+ * ```json
147
+ * [
148
+ * {
149
+ * "type": "object",
150
+ * "properties": {
151
+ * "allowComputed": {
152
+ * "description": "If `false`, will report computed (and thus, un-lintable) references to namespace members.",
153
+ * "type": "boolean",
154
+ * "default": false
155
+ * }
156
+ * },
157
+ * "additionalProperties": false
158
+ * }
159
+ * ]
160
+ * ```
161
+ */
162
+ export type Options = {
163
+ /**
164
+ * If `false`, will report computed (and thus, un-lintable) references to
165
+ * namespace members.
166
+ */
167
+ readonly allowComputed?: boolean;
168
+ };
169
+
170
+ export type RuleEntry =
171
+ | Linter.StringSeverity
172
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
173
+ }
174
+
175
+ /**
176
+ * Forbid namespace (a.k.a. "wildcard" `*`) imports.
177
+ *
178
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-namespace.md
179
+ *
180
+ * ```md
181
+ * | key | value |
182
+ * | :--------- | :--------- |
183
+ * | type | suggestion |
184
+ * | deprecated | false |
185
+ * | fixable | code |
186
+ * ```
187
+ */
188
+ namespace NoNamespace {
189
+ /**
190
+ * ### schema
191
+ *
192
+ * ```json
193
+ * [
194
+ * {
195
+ * "type": "object",
196
+ * "properties": {
197
+ * "ignore": {
198
+ * "type": "array",
199
+ * "items": {
200
+ * "type": "string"
201
+ * },
202
+ * "uniqueItems": true
203
+ * }
204
+ * }
205
+ * }
206
+ * ]
207
+ * ```
208
+ */
209
+ export type Options = {
210
+ readonly ignore?: readonly string[];
211
+ readonly [k: string]: unknown;
212
+ };
213
+
214
+ export type RuleEntry =
215
+ | Linter.StringSeverity
216
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
217
+ }
218
+
219
+ /**
220
+ * Forbid any invalid exports, i.e. re-export of the same name.
221
+ *
222
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/export.md
223
+ *
224
+ * ```md
225
+ * | key | value |
226
+ * | :--------- | :------ |
227
+ * | type | problem |
228
+ * | deprecated | false |
229
+ * ```
230
+ */
231
+ namespace Export {
232
+ export type RuleEntry = Linter.RuleSeverity;
233
+ }
234
+
235
+ /**
236
+ * Forbid the use of mutable exports with `var` or `let`.
237
+ *
238
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-mutable-exports.md
239
+ *
240
+ * ```md
241
+ * | key | value |
242
+ * | :--------- | :--------- |
243
+ * | type | suggestion |
244
+ * | deprecated | false |
245
+ * ```
246
+ */
247
+ namespace NoMutableExports {
248
+ export type RuleEntry = Linter.RuleSeverity;
249
+ }
250
+
251
+ /**
252
+ * Ensure consistent use of file extension within the import path.
253
+ *
254
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/extensions.md
255
+ *
256
+ * ```md
257
+ * | key | value |
258
+ * | :--------- | :--------- |
259
+ * | type | suggestion |
260
+ * | deprecated | false |
261
+ * ```
262
+ */
263
+ namespace Extensions {
264
+ /**
265
+ * ### schema
266
+ *
267
+ * ```json
268
+ * {
269
+ * "anyOf": [
270
+ * {
271
+ * "type": "array",
272
+ * "items": [
273
+ * {
274
+ * "enum": ["always", "ignorePackages", "never"]
275
+ * }
276
+ * ],
277
+ * "additionalItems": false
278
+ * },
279
+ * {
280
+ * "type": "array",
281
+ * "items": [
282
+ * {
283
+ * "enum": ["always", "ignorePackages", "never"]
284
+ * },
285
+ * {
286
+ * "type": "object",
287
+ * "properties": {
288
+ * "pattern": {
289
+ * "type": "object",
290
+ * "patternProperties": {
291
+ * ".*": {
292
+ * "enum": ["always", "ignorePackages", "never"]
293
+ * }
294
+ * }
295
+ * },
296
+ * "checkTypeImports": {
297
+ * "type": "boolean"
298
+ * },
299
+ * "ignorePackages": {
300
+ * "type": "boolean"
301
+ * }
302
+ * }
303
+ * }
304
+ * ],
305
+ * "additionalItems": false
306
+ * },
307
+ * {
308
+ * "type": "array",
309
+ * "items": [
310
+ * {
311
+ * "type": "object",
312
+ * "properties": {
313
+ * "pattern": {
314
+ * "type": "object",
315
+ * "patternProperties": {
316
+ * ".*": {
317
+ * "enum": ["always", "ignorePackages", "never"]
318
+ * }
319
+ * }
320
+ * },
321
+ * "checkTypeImports": {
322
+ * "type": "boolean"
323
+ * },
324
+ * "ignorePackages": {
325
+ * "type": "boolean"
326
+ * }
327
+ * }
328
+ * }
329
+ * ],
330
+ * "additionalItems": false
331
+ * },
332
+ * {
333
+ * "type": "array",
334
+ * "items": [
335
+ * {
336
+ * "type": "object",
337
+ * "patternProperties": {
338
+ * ".*": {
339
+ * "enum": ["always", "ignorePackages", "never"]
340
+ * }
341
+ * }
342
+ * }
343
+ * ],
344
+ * "additionalItems": false
345
+ * },
346
+ * {
347
+ * "type": "array",
348
+ * "items": [
349
+ * {
350
+ * "enum": ["always", "ignorePackages", "never"]
351
+ * },
352
+ * {
353
+ * "type": "object",
354
+ * "patternProperties": {
355
+ * ".*": {
356
+ * "enum": ["always", "ignorePackages", "never"]
357
+ * }
358
+ * }
359
+ * }
360
+ * ],
361
+ * "additionalItems": false
362
+ * }
363
+ * ]
364
+ * }
365
+ * ```
366
+ */
367
+ export type Options =
368
+ | readonly [
369
+ 'always' | 'ignorePackages' | 'never',
370
+ {
371
+ readonly pattern?: Record<
372
+ string,
373
+ 'always' | 'ignorePackages' | 'never'
374
+ >;
375
+ readonly checkTypeImports?: boolean;
376
+ readonly ignorePackages?: boolean;
377
+ readonly [k: string]: unknown;
378
+ },
379
+ ]
380
+ | readonly [
381
+ 'always' | 'ignorePackages' | 'never',
382
+ Record<string, 'always' | 'ignorePackages' | 'never'>,
383
+ ]
384
+ | readonly [
385
+ {
386
+ readonly pattern?: Record<
387
+ string,
388
+ 'always' | 'ignorePackages' | 'never'
389
+ >;
390
+ readonly checkTypeImports?: boolean;
391
+ readonly ignorePackages?: boolean;
392
+ readonly [k: string]: unknown;
393
+ },
394
+ ]
395
+ | readonly ['always' | 'ignorePackages' | 'never']
396
+ | readonly []
397
+ | readonly [Record<string, 'always' | 'ignorePackages' | 'never'>];
398
+
399
+ export type RuleEntry =
400
+ | Linter.StringSeverity
401
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
402
+ }
403
+
404
+ /**
405
+ * Enforce which files can be imported in a given folder.
406
+ *
407
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-restricted-paths.md
408
+ *
409
+ * ```md
410
+ * | key | value |
411
+ * | :--------- | :------ |
412
+ * | type | problem |
413
+ * | deprecated | false |
414
+ * ```
415
+ */
416
+ namespace NoRestrictedPaths {
417
+ /**
418
+ * ### schema
419
+ *
420
+ * ```json
421
+ * [
422
+ * {
423
+ * "type": "object",
424
+ * "properties": {
425
+ * "zones": {
426
+ * "type": "array",
427
+ * "minItems": 1,
428
+ * "items": {
429
+ * "type": "object",
430
+ * "properties": {
431
+ * "target": {
432
+ * "anyOf": [
433
+ * {
434
+ * "type": "string"
435
+ * },
436
+ * {
437
+ * "type": "array",
438
+ * "items": {
439
+ * "type": "string"
440
+ * },
441
+ * "uniqueItems": true,
442
+ * "minLength": 1
443
+ * }
444
+ * ]
445
+ * },
446
+ * "from": {
447
+ * "anyOf": [
448
+ * {
449
+ * "type": "string"
450
+ * },
451
+ * {
452
+ * "type": "array",
453
+ * "items": {
454
+ * "type": "string"
455
+ * },
456
+ * "uniqueItems": true,
457
+ * "minLength": 1
458
+ * }
459
+ * ]
460
+ * },
461
+ * "except": {
462
+ * "type": "array",
463
+ * "items": {
464
+ * "type": "string"
465
+ * },
466
+ * "uniqueItems": true
467
+ * },
468
+ * "message": {
469
+ * "type": "string"
470
+ * }
471
+ * },
472
+ * "additionalProperties": false
473
+ * }
474
+ * },
475
+ * "basePath": {
476
+ * "type": "string"
477
+ * }
478
+ * },
479
+ * "additionalProperties": false
480
+ * }
481
+ * ]
482
+ * ```
483
+ */
484
+ export type Options = {
485
+ /** @minItems 1 */
486
+ readonly zones?: readonly [
487
+ {
488
+ readonly target?: string | readonly string[];
489
+ readonly from?: string | readonly string[];
490
+ readonly except?: readonly string[];
491
+ readonly message?: string;
492
+ },
493
+ ...(readonly {
494
+ readonly target?: string | readonly string[];
495
+ readonly from?: string | readonly string[];
496
+ readonly except?: readonly string[];
497
+ readonly message?: string;
498
+ }[]),
499
+ ];
500
+ readonly basePath?: string;
501
+ };
502
+
503
+ export type RuleEntry =
504
+ | Linter.StringSeverity
505
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
506
+ }
507
+
508
+ /**
509
+ * Forbid importing the submodules of other modules.
510
+ *
511
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-internal-modules.md
512
+ *
513
+ * ```md
514
+ * | key | value |
515
+ * | :--------- | :--------- |
516
+ * | type | suggestion |
517
+ * | deprecated | false |
518
+ * ```
519
+ */
520
+ namespace NoInternalModules {
521
+ /**
522
+ * ### schema
523
+ *
524
+ * ```json
525
+ * [
526
+ * {
527
+ * "anyOf": [
528
+ * {
529
+ * "type": "object",
530
+ * "properties": {
531
+ * "allow": {
532
+ * "type": "array",
533
+ * "items": {
534
+ * "type": "string"
535
+ * }
536
+ * }
537
+ * },
538
+ * "additionalProperties": false
539
+ * },
540
+ * {
541
+ * "type": "object",
542
+ * "properties": {
543
+ * "forbid": {
544
+ * "type": "array",
545
+ * "items": {
546
+ * "type": "string"
547
+ * }
548
+ * }
549
+ * },
550
+ * "additionalProperties": false
551
+ * }
552
+ * ]
553
+ * }
554
+ * ]
555
+ * ```
556
+ */
557
+ export type Options =
558
+ | {
559
+ readonly allow?: readonly string[];
560
+ }
561
+ | {
562
+ readonly forbid?: readonly string[];
563
+ };
564
+
565
+ export type RuleEntry =
566
+ | Linter.StringSeverity
567
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
568
+ }
569
+
570
+ /**
571
+ * Prefer named exports to be grouped together in a single export declaration
572
+ *
573
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/group-exports.md
574
+ *
575
+ * ```md
576
+ * | key | value |
577
+ * | :--------- | :--------- |
578
+ * | type | suggestion |
579
+ * | deprecated | false |
580
+ * ```
581
+ */
582
+ namespace GroupExports {
583
+ export type RuleEntry = Linter.RuleSeverity;
584
+ }
585
+
586
+ /**
587
+ * Forbid importing packages through relative paths.
588
+ *
589
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-relative-packages.md
590
+ *
591
+ * ```md
592
+ * | key | value |
593
+ * | :--------- | :--------- |
594
+ * | type | suggestion |
595
+ * | deprecated | false |
596
+ * | fixable | code |
597
+ * ```
598
+ */
599
+ namespace NoRelativePackages {
600
+ /**
601
+ * ### schema
602
+ *
603
+ * ```json
604
+ * [
605
+ * {
606
+ * "type": "object",
607
+ * "properties": {
608
+ * "commonjs": {
609
+ * "type": "boolean"
610
+ * },
611
+ * "amd": {
612
+ * "type": "boolean"
613
+ * },
614
+ * "esmodule": {
615
+ * "type": "boolean"
616
+ * },
617
+ * "ignore": {
618
+ * "type": "array",
619
+ * "minItems": 1,
620
+ * "items": {
621
+ * "type": "string"
622
+ * },
623
+ * "uniqueItems": true
624
+ * }
625
+ * },
626
+ * "additionalProperties": false
627
+ * }
628
+ * ]
629
+ * ```
630
+ */
631
+ export type Options = {
632
+ readonly commonjs?: boolean;
633
+ readonly amd?: boolean;
634
+ readonly esmodule?: boolean;
635
+ /** @minItems 1 */
636
+ readonly ignore?: readonly [string, ...(readonly string[])];
637
+ };
638
+
639
+ export type RuleEntry =
640
+ | Linter.StringSeverity
641
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
642
+ }
643
+
644
+ /**
645
+ * Forbid importing modules from parent directories.
646
+ *
647
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-relative-parent-imports.md
648
+ *
649
+ * ```md
650
+ * | key | value |
651
+ * | :--------- | :--------- |
652
+ * | type | suggestion |
653
+ * | deprecated | false |
654
+ * ```
655
+ */
656
+ namespace NoRelativeParentImports {
657
+ /**
658
+ * ### schema
659
+ *
660
+ * ```json
661
+ * [
662
+ * {
663
+ * "type": "object",
664
+ * "properties": {
665
+ * "commonjs": {
666
+ * "type": "boolean"
667
+ * },
668
+ * "amd": {
669
+ * "type": "boolean"
670
+ * },
671
+ * "esmodule": {
672
+ * "type": "boolean"
673
+ * },
674
+ * "ignore": {
675
+ * "type": "array",
676
+ * "minItems": 1,
677
+ * "items": {
678
+ * "type": "string"
679
+ * },
680
+ * "uniqueItems": true
681
+ * }
682
+ * },
683
+ * "additionalProperties": false
684
+ * }
685
+ * ]
686
+ * ```
687
+ */
688
+ export type Options = {
689
+ readonly commonjs?: boolean;
690
+ readonly amd?: boolean;
691
+ readonly esmodule?: boolean;
692
+ /** @minItems 1 */
693
+ readonly ignore?: readonly [string, ...(readonly string[])];
694
+ };
695
+
696
+ export type RuleEntry =
697
+ | Linter.StringSeverity
698
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
699
+ }
700
+
701
+ /**
702
+ * Enforce or ban the use of inline type-only markers for named imports.
703
+ *
704
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/consistent-type-specifier-style.md
705
+ *
706
+ * ```md
707
+ * | key | value |
708
+ * | :--------- | :--------- |
709
+ * | type | suggestion |
710
+ * | deprecated | false |
711
+ * | fixable | code |
712
+ * ```
713
+ */
714
+ namespace ConsistentTypeSpecifierStyle {
715
+ /**
716
+ * ### schema
717
+ *
718
+ * ```json
719
+ * [
720
+ * {
721
+ * "type": "string",
722
+ * "enum": [
723
+ * "prefer-inline",
724
+ * "prefer-top-level"
725
+ * ],
726
+ * "default": "prefer-inline"
727
+ * }
728
+ * ]
729
+ * ```
730
+ */
731
+ export type Options = 'prefer-inline' | 'prefer-top-level';
732
+
733
+ export type RuleEntry =
734
+ | Linter.StringSeverity
735
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
736
+ }
737
+
738
+ /**
739
+ * Forbid a module from importing itself.
740
+ *
741
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-self-import.md
742
+ *
743
+ * ```md
744
+ * | key | value |
745
+ * | :---------- | :------ |
746
+ * | type | problem |
747
+ * | deprecated | false |
748
+ * | recommended | true |
749
+ * ```
750
+ */
751
+ namespace NoSelfImport {
752
+ export type RuleEntry = Linter.RuleSeverity;
753
+ }
754
+
755
+ /**
756
+ * Forbid a module from importing a module with a dependency path back to
757
+ * itself.
758
+ *
759
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-cycle.md
760
+ *
761
+ * ```md
762
+ * | key | value |
763
+ * | :--------- | :--------- |
764
+ * | type | suggestion |
765
+ * | deprecated | false |
766
+ * ```
767
+ */
768
+ namespace NoCycle {
769
+ /**
770
+ * ### schema
771
+ *
772
+ * ```json
773
+ * [
774
+ * {
775
+ * "type": "object",
776
+ * "properties": {
777
+ * "commonjs": {
778
+ * "type": "boolean"
779
+ * },
780
+ * "amd": {
781
+ * "type": "boolean"
782
+ * },
783
+ * "esmodule": {
784
+ * "type": "boolean"
785
+ * },
786
+ * "ignore": {
787
+ * "type": "array",
788
+ * "minItems": 1,
789
+ * "items": {
790
+ * "type": "string"
791
+ * },
792
+ * "uniqueItems": true
793
+ * },
794
+ * "maxDepth": {
795
+ * "anyOf": [
796
+ * {
797
+ * "description": "maximum dependency depth to traverse",
798
+ * "type": "integer",
799
+ * "minimum": 1
800
+ * },
801
+ * {
802
+ * "enum": [
803
+ * "∞"
804
+ * ],
805
+ * "type": "string"
806
+ * }
807
+ * ]
808
+ * },
809
+ * "ignoreExternal": {
810
+ * "description": "ignore external modules",
811
+ * "type": "boolean",
812
+ * "default": false
813
+ * },
814
+ * "allowUnsafeDynamicCyclicDependency": {
815
+ * "description": "Allow cyclic dependency if there is at least one dynamic import in the chain",
816
+ * "type": "boolean",
817
+ * "default": false
818
+ * },
819
+ * "disableScc": {
820
+ * "description": "When true, don't calculate a strongly-connected-components graph. SCC is used to reduce the time-complexity of cycle detection, but adds overhead.",
821
+ * "type": "boolean",
822
+ * "default": false
823
+ * }
824
+ * },
825
+ * "additionalProperties": false
826
+ * }
827
+ * ]
828
+ * ```
829
+ */
830
+ export type Options = {
831
+ readonly commonjs?: boolean;
832
+ readonly amd?: boolean;
833
+ readonly esmodule?: boolean;
834
+ /** @minItems 1 */
835
+ readonly ignore?: readonly [string, ...(readonly string[])];
836
+ readonly maxDepth?: number | '∞';
837
+ /** Ignore external modules */
838
+ readonly ignoreExternal?: boolean;
839
+ /**
840
+ * Allow cyclic dependency if there is at least one dynamic import in the
841
+ * chain
842
+ */
843
+ readonly allowUnsafeDynamicCyclicDependency?: boolean;
844
+ /**
845
+ * When true, don't calculate a strongly-connected-components graph. SCC is
846
+ * used to reduce the time-complexity of cycle detection, but adds
847
+ * overhead.
848
+ */
849
+ readonly disableScc?: boolean;
850
+ };
851
+
852
+ export type RuleEntry =
853
+ | Linter.StringSeverity
854
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
855
+ }
856
+
857
+ /**
858
+ * Forbid named default exports.
859
+ *
860
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-default.md
861
+ *
862
+ * ```md
863
+ * | key | value |
864
+ * | :--------- | :--------- |
865
+ * | type | suggestion |
866
+ * | deprecated | false |
867
+ * ```
868
+ */
869
+ namespace NoNamedDefault {
870
+ export type RuleEntry = Linter.RuleSeverity;
871
+ }
872
+
873
+ /**
874
+ * Forbid use of exported name as identifier of default export.
875
+ *
876
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-as-default.md
877
+ *
878
+ * ```md
879
+ * | key | value |
880
+ * | :--------- | :------ |
881
+ * | type | problem |
882
+ * | deprecated | false |
883
+ * ```
884
+ */
885
+ namespace NoNamedAsDefault {
886
+ export type RuleEntry = Linter.RuleSeverity;
887
+ }
888
+
889
+ /**
890
+ * Forbid use of exported name as property of default export.
891
+ *
892
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-as-default-member.md
893
+ *
894
+ * ```md
895
+ * | key | value |
896
+ * | :--------- | :--------- |
897
+ * | type | suggestion |
898
+ * | deprecated | false |
899
+ * ```
900
+ */
901
+ namespace NoNamedAsDefaultMember {
902
+ export type RuleEntry = Linter.RuleSeverity;
903
+ }
904
+
905
+ /**
906
+ * Forbid anonymous values as default exports.
907
+ *
908
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-anonymous-default-export.md
909
+ *
910
+ * ```md
911
+ * | key | value |
912
+ * | :--------- | :--------- |
913
+ * | type | suggestion |
914
+ * | deprecated | false |
915
+ * ```
916
+ */
917
+ namespace NoAnonymousDefaultExport {
918
+ /**
919
+ * ### schema
920
+ *
921
+ * ```json
922
+ * [
923
+ * {
924
+ * "type": "object",
925
+ * "properties": {
926
+ * "allowArray": {
927
+ * "description": "If `false`, will report default export of an array",
928
+ * "type": "boolean"
929
+ * },
930
+ * "allowArrowFunction": {
931
+ * "description": "If `false`, will report default export of an arrow function",
932
+ * "type": "boolean"
933
+ * },
934
+ * "allowCallExpression": {
935
+ * "description": "If `false`, will report default export of a function call",
936
+ * "type": "boolean"
937
+ * },
938
+ * "allowAnonymousClass": {
939
+ * "description": "If `false`, will report default export of an anonymous class",
940
+ * "type": "boolean"
941
+ * },
942
+ * "allowAnonymousFunction": {
943
+ * "description": "If `false`, will report default export of an anonymous function",
944
+ * "type": "boolean"
945
+ * },
946
+ * "allowLiteral": {
947
+ * "description": "If `false`, will report default export of a literal",
948
+ * "type": "boolean"
949
+ * },
950
+ * "allowObject": {
951
+ * "description": "If `false`, will report default export of an object expression",
952
+ * "type": "boolean"
953
+ * },
954
+ * "allowNew": {
955
+ * "description": "If `false`, will report default export of a class instantiation",
956
+ * "type": "boolean"
957
+ * }
958
+ * },
959
+ * "additionalProperties": false
960
+ * }
961
+ * ]
962
+ * ```
963
+ */
964
+ export type Options = {
965
+ /** If `false`, will report default export of an array */
966
+ readonly allowArray?: boolean;
967
+ /** If `false`, will report default export of an arrow function */
968
+ readonly allowArrowFunction?: boolean;
969
+ /** If `false`, will report default export of a function call */
970
+ readonly allowCallExpression?: boolean;
971
+ /** If `false`, will report default export of an anonymous class */
972
+ readonly allowAnonymousClass?: boolean;
973
+ /** If `false`, will report default export of an anonymous function */
974
+ readonly allowAnonymousFunction?: boolean;
975
+ /** If `false`, will report default export of a literal */
976
+ readonly allowLiteral?: boolean;
977
+ /** If `false`, will report default export of an object expression */
978
+ readonly allowObject?: boolean;
979
+ /** If `false`, will report default export of a class instantiation */
980
+ readonly allowNew?: boolean;
981
+ };
982
+
983
+ export type RuleEntry =
984
+ | Linter.StringSeverity
985
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
986
+ }
987
+
988
+ /**
989
+ * Forbid modules without exports, or exports without matching import in another
990
+ * module.
991
+ *
992
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-unused-modules.md
993
+ *
994
+ * ```md
995
+ * | key | value |
996
+ * | :--------- | :--------- |
997
+ * | type | suggestion |
998
+ * | deprecated | false |
999
+ * ```
1000
+ */
1001
+ namespace NoUnusedModules {
1002
+ /**
1003
+ * ### schema
1004
+ *
1005
+ * ```json
1006
+ * [
1007
+ * {
1008
+ * "properties": {
1009
+ * "src": {
1010
+ * "description": "files/paths to be analyzed (only for unused exports)",
1011
+ * "type": "array",
1012
+ * "uniqueItems": true,
1013
+ * "items": {
1014
+ * "type": "string",
1015
+ * "minLength": 1
1016
+ * }
1017
+ * },
1018
+ * "ignoreExports": {
1019
+ * "description": "files/paths for which unused exports will not be reported (e.g module entry points)",
1020
+ * "type": "array",
1021
+ * "uniqueItems": true,
1022
+ * "items": {
1023
+ * "type": "string",
1024
+ * "minLength": 1
1025
+ * }
1026
+ * },
1027
+ * "missingExports": {
1028
+ * "description": "report modules without any exports",
1029
+ * "type": "boolean"
1030
+ * },
1031
+ * "unusedExports": {
1032
+ * "description": "report exports without any usage",
1033
+ * "type": "boolean"
1034
+ * },
1035
+ * "ignoreUnusedTypeExports": {
1036
+ * "description": "ignore type exports without any usage",
1037
+ * "type": "boolean"
1038
+ * }
1039
+ * },
1040
+ * "anyOf": [
1041
+ * {
1042
+ * "properties": {
1043
+ * "unusedExports": {
1044
+ * "enum": [
1045
+ * true
1046
+ * ]
1047
+ * },
1048
+ * "src": {
1049
+ * "minItems": 1
1050
+ * }
1051
+ * },
1052
+ * "required": [
1053
+ * "unusedExports"
1054
+ * ]
1055
+ * },
1056
+ * {
1057
+ * "properties": {
1058
+ * "missingExports": {
1059
+ * "enum": [
1060
+ * true
1061
+ * ]
1062
+ * }
1063
+ * },
1064
+ * "required": [
1065
+ * "missingExports"
1066
+ * ]
1067
+ * }
1068
+ * ]
1069
+ * }
1070
+ * ]
1071
+ * ```
1072
+ */
1073
+ export type Options = {
1074
+ /** Files/paths to be analyzed (only for unused exports) */
1075
+ readonly src?: readonly string[];
1076
+ /**
1077
+ * Files/paths for which unused exports will not be reported (e.g module
1078
+ * entry points)
1079
+ */
1080
+ readonly ignoreExports?: readonly string[];
1081
+ /** Report modules without any exports */
1082
+ readonly missingExports?: boolean;
1083
+ /** Report exports without any usage */
1084
+ readonly unusedExports?: boolean;
1085
+ /** Ignore type exports without any usage */
1086
+ readonly ignoreUnusedTypeExports?: boolean;
1087
+ readonly [k: string]: unknown;
1088
+ } & (
1089
+ | {
1090
+ readonly missingExports: true;
1091
+ readonly [k: string]: unknown;
1092
+ }
1093
+ | {
1094
+ readonly unusedExports: true;
1095
+ readonly src?: UnknownRecord;
1096
+ readonly [k: string]: unknown;
1097
+ }
1098
+ );
1099
+
1100
+ export type RuleEntry =
1101
+ | Linter.StringSeverity
1102
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1103
+ }
1104
+
1105
+ /**
1106
+ * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1107
+ *
1108
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-commonjs.md
1109
+ *
1110
+ * ```md
1111
+ * | key | value |
1112
+ * | :--------- | :--------- |
1113
+ * | type | suggestion |
1114
+ * | deprecated | false |
1115
+ * ```
1116
+ */
1117
+ namespace NoCommonjs {
1118
+ /**
1119
+ * ### schema
1120
+ *
1121
+ * ```json
1122
+ * {
1123
+ * "anyOf": [
1124
+ * {
1125
+ * "type": "array",
1126
+ * "items": [
1127
+ * {
1128
+ * "enum": ["allow-primitive-modules"]
1129
+ * }
1130
+ * ],
1131
+ * "additionalItems": false
1132
+ * },
1133
+ * {
1134
+ * "type": "array",
1135
+ * "items": [
1136
+ * {
1137
+ * "type": "object",
1138
+ * "properties": {
1139
+ * "allowPrimitiveModules": {
1140
+ * "type": "boolean"
1141
+ * },
1142
+ * "allowRequire": {
1143
+ * "type": "boolean"
1144
+ * },
1145
+ * "allowConditionalRequire": {
1146
+ * "type": "boolean"
1147
+ * }
1148
+ * },
1149
+ * "additionalProperties": false
1150
+ * }
1151
+ * ],
1152
+ * "additionalItems": false
1153
+ * }
1154
+ * ]
1155
+ * }
1156
+ * ```
1157
+ */
1158
+ export type Options =
1159
+ | readonly [
1160
+ {
1161
+ readonly allowPrimitiveModules?: boolean;
1162
+ readonly allowRequire?: boolean;
1163
+ readonly allowConditionalRequire?: boolean;
1164
+ },
1165
+ ]
1166
+ | readonly ['allow-primitive-modules']
1167
+ | readonly [];
1168
+
1169
+ export type RuleEntry =
1170
+ | Linter.StringSeverity
1171
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1172
+ }
1173
+
1174
+ /**
1175
+ * Forbid AMD `require` and `define` calls.
1176
+ *
1177
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-amd.md
1178
+ *
1179
+ * ```md
1180
+ * | key | value |
1181
+ * | :--------- | :--------- |
1182
+ * | type | suggestion |
1183
+ * | deprecated | false |
1184
+ * ```
1185
+ */
1186
+ namespace NoAmd {
1187
+ export type RuleEntry = Linter.RuleSeverity;
1188
+ }
1189
+
1190
+ /**
1191
+ * Forbid repeated import of the same module in multiple places.
1192
+ *
1193
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-duplicates.md
1194
+ *
1195
+ * ```md
1196
+ * | key | value |
1197
+ * | :--------- | :------ |
1198
+ * | type | problem |
1199
+ * | deprecated | false |
1200
+ * | fixable | code |
1201
+ * ```
1202
+ */
1203
+ namespace NoDuplicates {
1204
+ /**
1205
+ * ### schema
1206
+ *
1207
+ * ```json
1208
+ * [
1209
+ * {
1210
+ * "type": "object",
1211
+ * "properties": {
1212
+ * "considerQueryString": {
1213
+ * "type": "boolean"
1214
+ * },
1215
+ * "prefer-inline": {
1216
+ * "type": "boolean"
1217
+ * }
1218
+ * },
1219
+ * "additionalProperties": false
1220
+ * }
1221
+ * ]
1222
+ * ```
1223
+ */
1224
+ export type Options = {
1225
+ readonly considerQueryString?: boolean;
1226
+ readonly 'prefer-inline'?: boolean;
1227
+ };
1228
+
1229
+ export type RuleEntry =
1230
+ | Linter.StringSeverity
1231
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1232
+ }
1233
+
1234
+ /**
1235
+ * Ensure all imports appear before other statements.
1236
+ *
1237
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/first.md
1238
+ *
1239
+ * ```md
1240
+ * | key | value |
1241
+ * | :--------- | :--------- |
1242
+ * | type | suggestion |
1243
+ * | deprecated | false |
1244
+ * | fixable | code |
1245
+ * ```
1246
+ */
1247
+ namespace First {
1248
+ /**
1249
+ * ### schema
1250
+ *
1251
+ * ```json
1252
+ * [
1253
+ * {
1254
+ * "type": "string",
1255
+ * "enum": [
1256
+ * "absolute-first",
1257
+ * "disable-absolute-first"
1258
+ * ]
1259
+ * }
1260
+ * ]
1261
+ * ```
1262
+ */
1263
+ export type Options = 'absolute-first' | 'disable-absolute-first';
1264
+
1265
+ export type RuleEntry =
1266
+ | Linter.StringSeverity
1267
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1268
+ }
1269
+
1270
+ /**
1271
+ * Enforce the maximum number of dependencies a module can have.
1272
+ *
1273
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/max-dependencies.md
1274
+ *
1275
+ * ```md
1276
+ * | key | value |
1277
+ * | :--------- | :--------- |
1278
+ * | type | suggestion |
1279
+ * | deprecated | false |
1280
+ * ```
1281
+ */
1282
+ namespace MaxDependencies {
1283
+ /**
1284
+ * ### schema
1285
+ *
1286
+ * ```json
1287
+ * [
1288
+ * {
1289
+ * "type": "object",
1290
+ * "properties": {
1291
+ * "max": {
1292
+ * "type": "number"
1293
+ * },
1294
+ * "ignoreTypeImports": {
1295
+ * "type": "boolean"
1296
+ * }
1297
+ * },
1298
+ * "additionalProperties": false
1299
+ * }
1300
+ * ]
1301
+ * ```
1302
+ */
1303
+ export type Options = {
1304
+ readonly max?: number;
1305
+ readonly ignoreTypeImports?: boolean;
1306
+ };
1307
+
1308
+ export type RuleEntry =
1309
+ | Linter.StringSeverity
1310
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1311
+ }
1312
+
1313
+ /**
1314
+ * Forbid the use of extraneous packages.
1315
+ *
1316
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-extraneous-dependencies.md
1317
+ *
1318
+ * ```md
1319
+ * | key | value |
1320
+ * | :--------- | :------ |
1321
+ * | type | problem |
1322
+ * | deprecated | false |
1323
+ * ```
1324
+ */
1325
+ namespace NoExtraneousDependencies {
1326
+ /**
1327
+ * ### schema
1328
+ *
1329
+ * ```json
1330
+ * [
1331
+ * {
1332
+ * "type": "object",
1333
+ * "properties": {
1334
+ * "devDependencies": {
1335
+ * "type": [
1336
+ * "boolean",
1337
+ * "array"
1338
+ * ]
1339
+ * },
1340
+ * "optionalDependencies": {
1341
+ * "type": [
1342
+ * "boolean",
1343
+ * "array"
1344
+ * ]
1345
+ * },
1346
+ * "peerDependencies": {
1347
+ * "type": [
1348
+ * "boolean",
1349
+ * "array"
1350
+ * ]
1351
+ * },
1352
+ * "bundledDependencies": {
1353
+ * "type": [
1354
+ * "boolean",
1355
+ * "array"
1356
+ * ]
1357
+ * },
1358
+ * "packageDir": {
1359
+ * "type": [
1360
+ * "string",
1361
+ * "array"
1362
+ * ]
1363
+ * },
1364
+ * "includeInternal": {
1365
+ * "type": [
1366
+ * "boolean"
1367
+ * ]
1368
+ * },
1369
+ * "includeTypes": {
1370
+ * "type": [
1371
+ * "boolean"
1372
+ * ]
1373
+ * }
1374
+ * },
1375
+ * "additionalProperties": false
1376
+ * }
1377
+ * ]
1378
+ * ```
1379
+ */
1380
+ export type Options = {
1381
+ readonly devDependencies?: boolean | readonly unknown[];
1382
+ readonly optionalDependencies?: boolean | readonly unknown[];
1383
+ readonly peerDependencies?: boolean | readonly unknown[];
1384
+ readonly bundledDependencies?: boolean | readonly unknown[];
1385
+ readonly packageDir?: string | readonly unknown[];
1386
+ readonly includeInternal?: boolean;
1387
+ readonly includeTypes?: boolean;
1388
+ };
1389
+
1390
+ export type RuleEntry =
1391
+ | Linter.StringSeverity
1392
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1393
+ }
1394
+
1395
+ /**
1396
+ * Forbid import of modules using absolute paths.
1397
+ *
1398
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-absolute-path.md
1399
+ *
1400
+ * ```md
1401
+ * | key | value |
1402
+ * | :--------- | :--------- |
1403
+ * | type | suggestion |
1404
+ * | deprecated | false |
1405
+ * | fixable | code |
1406
+ * ```
1407
+ */
1408
+ namespace NoAbsolutePath {
1409
+ /**
1410
+ * ### schema
1411
+ *
1412
+ * ```json
1413
+ * [
1414
+ * {
1415
+ * "type": "object",
1416
+ * "properties": {
1417
+ * "commonjs": {
1418
+ * "type": "boolean"
1419
+ * },
1420
+ * "amd": {
1421
+ * "type": "boolean"
1422
+ * },
1423
+ * "esmodule": {
1424
+ * "type": "boolean"
1425
+ * },
1426
+ * "ignore": {
1427
+ * "type": "array",
1428
+ * "minItems": 1,
1429
+ * "items": {
1430
+ * "type": "string"
1431
+ * },
1432
+ * "uniqueItems": true
1433
+ * }
1434
+ * },
1435
+ * "additionalProperties": false
1436
+ * }
1437
+ * ]
1438
+ * ```
1439
+ */
1440
+ export type Options = {
1441
+ readonly commonjs?: boolean;
1442
+ readonly amd?: boolean;
1443
+ readonly esmodule?: boolean;
1444
+ /** @minItems 1 */
1445
+ readonly ignore?: readonly [string, ...(readonly string[])];
1446
+ };
1447
+
1448
+ export type RuleEntry =
1449
+ | Linter.StringSeverity
1450
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1451
+ }
1452
+
1453
+ /**
1454
+ * Forbid Node.js builtin modules.
1455
+ *
1456
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-nodejs-modules.md
1457
+ *
1458
+ * ```md
1459
+ * | key | value |
1460
+ * | :--------- | :--------- |
1461
+ * | type | suggestion |
1462
+ * | deprecated | false |
1463
+ * ```
1464
+ */
1465
+ namespace NoNodejsModules {
1466
+ /**
1467
+ * ### schema
1468
+ *
1469
+ * ```json
1470
+ * [
1471
+ * {
1472
+ * "type": "object",
1473
+ * "properties": {
1474
+ * "allow": {
1475
+ * "type": "array",
1476
+ * "uniqueItems": true,
1477
+ * "items": {
1478
+ * "type": "string"
1479
+ * }
1480
+ * }
1481
+ * },
1482
+ * "additionalProperties": false
1483
+ * }
1484
+ * ]
1485
+ * ```
1486
+ */
1487
+ export type Options = {
1488
+ readonly allow?: readonly string[];
1489
+ };
1490
+
1491
+ export type RuleEntry =
1492
+ | Linter.StringSeverity
1493
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1494
+ }
1495
+
1496
+ /**
1497
+ * Forbid webpack loader syntax in imports.
1498
+ *
1499
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-webpack-loader-syntax.md
1500
+ *
1501
+ * ```md
1502
+ * | key | value |
1503
+ * | :--------- | :------ |
1504
+ * | type | problem |
1505
+ * | deprecated | false |
1506
+ * ```
1507
+ */
1508
+ namespace NoWebpackLoaderSyntax {
1509
+ export type RuleEntry = Linter.RuleSeverity;
1510
+ }
1511
+
1512
+ /**
1513
+ * Enforce a convention in module import order.
1514
+ *
1515
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/order.md
1516
+ *
1517
+ * ```md
1518
+ * | key | value |
1519
+ * | :--------- | :--------- |
1520
+ * | type | suggestion |
1521
+ * | deprecated | false |
1522
+ * | fixable | code |
1523
+ * ```
1524
+ */
1525
+ namespace Order {
1526
+ /**
1527
+ * ### schema
1528
+ *
1529
+ * ```json
1530
+ * [
1531
+ * {
1532
+ * "type": "object",
1533
+ * "properties": {
1534
+ * "groups": {
1535
+ * "type": "array"
1536
+ * },
1537
+ * "pathGroupsExcludedImportTypes": {
1538
+ * "type": "array"
1539
+ * },
1540
+ * "distinctGroup": {
1541
+ * "type": "boolean",
1542
+ * "default": true
1543
+ * },
1544
+ * "pathGroups": {
1545
+ * "type": "array",
1546
+ * "items": {
1547
+ * "type": "object",
1548
+ * "properties": {
1549
+ * "pattern": {
1550
+ * "type": "string"
1551
+ * },
1552
+ * "patternOptions": {
1553
+ * "type": "object"
1554
+ * },
1555
+ * "group": {
1556
+ * "type": "string",
1557
+ * "enum": [
1558
+ * "builtin",
1559
+ * "external",
1560
+ * "internal",
1561
+ * "unknown",
1562
+ * "parent",
1563
+ * "sibling",
1564
+ * "index",
1565
+ * "object",
1566
+ * "type"
1567
+ * ]
1568
+ * },
1569
+ * "position": {
1570
+ * "type": "string",
1571
+ * "enum": [
1572
+ * "after",
1573
+ * "before"
1574
+ * ]
1575
+ * }
1576
+ * },
1577
+ * "additionalProperties": false,
1578
+ * "required": [
1579
+ * "pattern",
1580
+ * "group"
1581
+ * ]
1582
+ * }
1583
+ * },
1584
+ * "newlines-between": {
1585
+ * "enum": [
1586
+ * "ignore",
1587
+ * "always",
1588
+ * "always-and-inside-groups",
1589
+ * "never"
1590
+ * ]
1591
+ * },
1592
+ * "named": {
1593
+ * "default": false,
1594
+ * "oneOf": [
1595
+ * {
1596
+ * "type": "boolean"
1597
+ * },
1598
+ * {
1599
+ * "type": "object",
1600
+ * "properties": {
1601
+ * "enabled": {
1602
+ * "type": "boolean"
1603
+ * },
1604
+ * "import": {
1605
+ * "type": "boolean"
1606
+ * },
1607
+ * "export": {
1608
+ * "type": "boolean"
1609
+ * },
1610
+ * "require": {
1611
+ * "type": "boolean"
1612
+ * },
1613
+ * "cjsExports": {
1614
+ * "type": "boolean"
1615
+ * },
1616
+ * "types": {
1617
+ * "type": "string",
1618
+ * "enum": [
1619
+ * "mixed",
1620
+ * "types-first",
1621
+ * "types-last"
1622
+ * ]
1623
+ * }
1624
+ * },
1625
+ * "additionalProperties": false
1626
+ * }
1627
+ * ]
1628
+ * },
1629
+ * "alphabetize": {
1630
+ * "type": "object",
1631
+ * "properties": {
1632
+ * "caseInsensitive": {
1633
+ * "type": "boolean",
1634
+ * "default": false
1635
+ * },
1636
+ * "order": {
1637
+ * "enum": [
1638
+ * "ignore",
1639
+ * "asc",
1640
+ * "desc"
1641
+ * ],
1642
+ * "default": "ignore"
1643
+ * },
1644
+ * "orderImportKind": {
1645
+ * "enum": [
1646
+ * "ignore",
1647
+ * "asc",
1648
+ * "desc"
1649
+ * ],
1650
+ * "default": "ignore"
1651
+ * }
1652
+ * },
1653
+ * "additionalProperties": false
1654
+ * },
1655
+ * "warnOnUnassignedImports": {
1656
+ * "type": "boolean",
1657
+ * "default": false
1658
+ * }
1659
+ * },
1660
+ * "additionalProperties": false
1661
+ * }
1662
+ * ]
1663
+ * ```
1664
+ */
1665
+ export type Options = {
1666
+ readonly groups?: readonly unknown[];
1667
+ readonly pathGroupsExcludedImportTypes?: readonly unknown[];
1668
+ readonly distinctGroup?: boolean;
1669
+ readonly pathGroups?: readonly {
1670
+ readonly pattern: string;
1671
+ readonly patternOptions?: UnknownRecord;
1672
+ readonly group:
1673
+ | 'builtin'
1674
+ | 'external'
1675
+ | 'index'
1676
+ | 'internal'
1677
+ | 'object'
1678
+ | 'parent'
1679
+ | 'sibling'
1680
+ | 'type'
1681
+ | 'unknown';
1682
+ readonly position?: 'after' | 'before';
1683
+ }[];
1684
+ readonly 'newlines-between'?:
1685
+ | 'always-and-inside-groups'
1686
+ | 'always'
1687
+ | 'ignore'
1688
+ | 'never';
1689
+ readonly named?:
1690
+ | boolean
1691
+ | {
1692
+ readonly enabled?: boolean;
1693
+ readonly import?: boolean;
1694
+ readonly export?: boolean;
1695
+ readonly require?: boolean;
1696
+ readonly cjsExports?: boolean;
1697
+ readonly types?: 'mixed' | 'types-first' | 'types-last';
1698
+ };
1699
+ readonly alphabetize?: {
1700
+ readonly caseInsensitive?: boolean;
1701
+ readonly order?: 'asc' | 'desc' | 'ignore';
1702
+ readonly orderImportKind?: 'asc' | 'desc' | 'ignore';
1703
+ };
1704
+ readonly warnOnUnassignedImports?: boolean;
1705
+ };
1706
+
1707
+ export type RuleEntry =
1708
+ | Linter.StringSeverity
1709
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1710
+ }
1711
+
1712
+ /**
1713
+ * Enforce a newline after import statements.
1714
+ *
1715
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/newline-after-import.md
1716
+ *
1717
+ * ```md
1718
+ * | key | value |
1719
+ * | :--------- | :--------- |
1720
+ * | type | layout |
1721
+ * | deprecated | false |
1722
+ * | fixable | whitespace |
1723
+ * ```
1724
+ */
1725
+ namespace NewlineAfterImport {
1726
+ /**
1727
+ * ### schema
1728
+ *
1729
+ * ```json
1730
+ * [
1731
+ * {
1732
+ * "type": "object",
1733
+ * "properties": {
1734
+ * "count": {
1735
+ * "type": "integer",
1736
+ * "minimum": 1
1737
+ * },
1738
+ * "exactCount": {
1739
+ * "type": "boolean"
1740
+ * },
1741
+ * "considerComments": {
1742
+ * "type": "boolean"
1743
+ * }
1744
+ * },
1745
+ * "additionalProperties": false
1746
+ * }
1747
+ * ]
1748
+ * ```
1749
+ */
1750
+ export type Options = {
1751
+ readonly count?: number;
1752
+ readonly exactCount?: boolean;
1753
+ readonly considerComments?: boolean;
1754
+ };
1755
+
1756
+ export type RuleEntry =
1757
+ | Linter.StringSeverity
1758
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1759
+ }
1760
+
1761
+ /**
1762
+ * Prefer a default export if module exports a single name or multiple names.
1763
+ *
1764
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/prefer-default-export.md
1765
+ *
1766
+ * ```md
1767
+ * | key | value |
1768
+ * | :--------- | :--------- |
1769
+ * | type | suggestion |
1770
+ * | deprecated | false |
1771
+ * ```
1772
+ */
1773
+ namespace PreferDefaultExport {
1774
+ /**
1775
+ * ### schema
1776
+ *
1777
+ * ```json
1778
+ * [
1779
+ * {
1780
+ * "type": "object",
1781
+ * "properties": {
1782
+ * "target": {
1783
+ * "type": "string",
1784
+ * "enum": [
1785
+ * "single",
1786
+ * "any"
1787
+ * ],
1788
+ * "default": "single"
1789
+ * }
1790
+ * },
1791
+ * "additionalProperties": false
1792
+ * }
1793
+ * ]
1794
+ * ```
1795
+ */
1796
+ export type Options = {
1797
+ readonly target?: 'any' | 'single';
1798
+ };
1799
+
1800
+ export type RuleEntry =
1801
+ | Linter.StringSeverity
1802
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1803
+ }
1804
+
1805
+ /**
1806
+ * Forbid default exports.
1807
+ *
1808
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-default-export.md
1809
+ *
1810
+ * ```md
1811
+ * | key | value |
1812
+ * | :--------- | :--------- |
1813
+ * | type | suggestion |
1814
+ * | deprecated | false |
1815
+ * ```
1816
+ */
1817
+ namespace NoDefaultExport {
1818
+ export type RuleEntry = Linter.RuleSeverity;
1819
+ }
1820
+
1821
+ /**
1822
+ * Forbid named exports.
1823
+ *
1824
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-named-export.md
1825
+ *
1826
+ * ```md
1827
+ * | key | value |
1828
+ * | :--------- | :--------- |
1829
+ * | type | suggestion |
1830
+ * | deprecated | false |
1831
+ * ```
1832
+ */
1833
+ namespace NoNamedExport {
1834
+ export type RuleEntry = Linter.RuleSeverity;
1835
+ }
1836
+
1837
+ /**
1838
+ * Forbid `require()` calls with expressions.
1839
+ *
1840
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-dynamic-require.md
1841
+ *
1842
+ * ```md
1843
+ * | key | value |
1844
+ * | :--------- | :--------- |
1845
+ * | type | suggestion |
1846
+ * | deprecated | false |
1847
+ * ```
1848
+ */
1849
+ namespace NoDynamicRequire {
1850
+ /**
1851
+ * ### schema
1852
+ *
1853
+ * ```json
1854
+ * [
1855
+ * {
1856
+ * "type": "object",
1857
+ * "properties": {
1858
+ * "esmodule": {
1859
+ * "type": "boolean"
1860
+ * }
1861
+ * },
1862
+ * "additionalProperties": false
1863
+ * }
1864
+ * ]
1865
+ * ```
1866
+ */
1867
+ export type Options = {
1868
+ readonly esmodule?: boolean;
1869
+ };
1870
+
1871
+ export type RuleEntry =
1872
+ | Linter.StringSeverity
1873
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1874
+ }
1875
+
1876
+ /**
1877
+ * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1878
+ *
1879
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/unambiguous.md
1880
+ *
1881
+ * ```md
1882
+ * | key | value |
1883
+ * | :--------- | :--------- |
1884
+ * | type | suggestion |
1885
+ * | deprecated | false |
1886
+ * ```
1887
+ */
1888
+ namespace Unambiguous {
1889
+ export type RuleEntry = Linter.RuleSeverity;
1890
+ }
1891
+
1892
+ /**
1893
+ * Forbid unassigned imports
1894
+ *
1895
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-unassigned-import.md
1896
+ *
1897
+ * ```md
1898
+ * | key | value |
1899
+ * | :--------- | :--------- |
1900
+ * | type | suggestion |
1901
+ * | deprecated | false |
1902
+ * ```
1903
+ */
1904
+ namespace NoUnassignedImport {
1905
+ /**
1906
+ * ### schema
1907
+ *
1908
+ * ```json
1909
+ * [
1910
+ * {
1911
+ * "type": "object",
1912
+ * "properties": {
1913
+ * "devDependencies": {
1914
+ * "type": [
1915
+ * "boolean",
1916
+ * "array"
1917
+ * ]
1918
+ * },
1919
+ * "optionalDependencies": {
1920
+ * "type": [
1921
+ * "boolean",
1922
+ * "array"
1923
+ * ]
1924
+ * },
1925
+ * "peerDependencies": {
1926
+ * "type": [
1927
+ * "boolean",
1928
+ * "array"
1929
+ * ]
1930
+ * },
1931
+ * "allow": {
1932
+ * "type": "array",
1933
+ * "items": {
1934
+ * "type": "string"
1935
+ * }
1936
+ * }
1937
+ * },
1938
+ * "additionalProperties": false
1939
+ * }
1940
+ * ]
1941
+ * ```
1942
+ */
1943
+ export type Options = {
1944
+ readonly devDependencies?: boolean | readonly unknown[];
1945
+ readonly optionalDependencies?: boolean | readonly unknown[];
1946
+ readonly peerDependencies?: boolean | readonly unknown[];
1947
+ readonly allow?: readonly string[];
1948
+ };
1949
+
1950
+ export type RuleEntry =
1951
+ | Linter.StringSeverity
1952
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1953
+ }
1954
+
1955
+ /**
1956
+ * Forbid unnecessary path segments in import and require statements.
1957
+ *
1958
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-useless-path-segments.md
1959
+ *
1960
+ * ```md
1961
+ * | key | value |
1962
+ * | :--------- | :--------- |
1963
+ * | type | suggestion |
1964
+ * | deprecated | false |
1965
+ * | fixable | code |
1966
+ * ```
1967
+ */
1968
+ namespace NoUselessPathSegments {
1969
+ /**
1970
+ * ### schema
1971
+ *
1972
+ * ```json
1973
+ * [
1974
+ * {
1975
+ * "type": "object",
1976
+ * "properties": {
1977
+ * "commonjs": {
1978
+ * "type": "boolean"
1979
+ * },
1980
+ * "noUselessIndex": {
1981
+ * "type": "boolean"
1982
+ * }
1983
+ * },
1984
+ * "additionalProperties": false
1985
+ * }
1986
+ * ]
1987
+ * ```
1988
+ */
1989
+ export type Options = {
1990
+ readonly commonjs?: boolean;
1991
+ readonly noUselessIndex?: boolean;
1992
+ };
1993
+
1994
+ export type RuleEntry =
1995
+ | Linter.StringSeverity
1996
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
1997
+ }
1998
+
1999
+ /**
2000
+ * Enforce a leading comment with the webpackChunkName for dynamic imports.
2001
+ *
2002
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/dynamic-import-chunkname.md
2003
+ *
2004
+ * ```md
2005
+ * | key | value |
2006
+ * | :------------- | :--------- |
2007
+ * | type | suggestion |
2008
+ * | deprecated | false |
2009
+ * | hasSuggestions | true |
2010
+ * ```
2011
+ */
2012
+ namespace DynamicImportChunkname {
2013
+ /**
2014
+ * ### schema
2015
+ *
2016
+ * ```json
2017
+ * [
2018
+ * {
2019
+ * "type": "object",
2020
+ * "properties": {
2021
+ * "importFunctions": {
2022
+ * "type": "array",
2023
+ * "uniqueItems": true,
2024
+ * "items": {
2025
+ * "type": "string"
2026
+ * }
2027
+ * },
2028
+ * "allowEmpty": {
2029
+ * "type": "boolean"
2030
+ * },
2031
+ * "webpackChunknameFormat": {
2032
+ * "type": "string"
2033
+ * }
2034
+ * }
2035
+ * }
2036
+ * ]
2037
+ * ```
2038
+ */
2039
+ export type Options = {
2040
+ readonly importFunctions?: readonly string[];
2041
+ readonly allowEmpty?: boolean;
2042
+ readonly webpackChunknameFormat?: string;
2043
+ readonly [k: string]: unknown;
2044
+ };
2045
+
2046
+ export type RuleEntry =
2047
+ | Linter.StringSeverity
2048
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
2049
+ }
2050
+
2051
+ /**
2052
+ * Forbid import statements with CommonJS module.exports.
2053
+ *
2054
+ * ```md
2055
+ * | key | value |
2056
+ * | :---------- | :------ |
2057
+ * | type | problem |
2058
+ * | deprecated | false |
2059
+ * | fixable | code |
2060
+ * | recommended | true |
2061
+ * ```
2062
+ */
2063
+ namespace NoImportModuleExports {
2064
+ /**
2065
+ * ### schema
2066
+ *
2067
+ * ```json
2068
+ * [
2069
+ * {
2070
+ * "type": "object",
2071
+ * "properties": {
2072
+ * "exceptions": {
2073
+ * "type": "array"
2074
+ * }
2075
+ * },
2076
+ * "additionalProperties": false
2077
+ * }
2078
+ * ]
2079
+ * ```
2080
+ */
2081
+ export type Options = {
2082
+ readonly exceptions?: readonly unknown[];
2083
+ };
2084
+
2085
+ export type RuleEntry =
2086
+ | Linter.StringSeverity
2087
+ | SpreadOptionsIfIsArray<readonly [Linter.RuleSeverity, Options]>;
2088
+ }
2089
+
2090
+ /**
2091
+ * Forbid empty named import blocks.
2092
+ *
2093
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-empty-named-blocks.md
2094
+ *
2095
+ * ```md
2096
+ * | key | value |
2097
+ * | :------------- | :--------- |
2098
+ * | type | suggestion |
2099
+ * | deprecated | false |
2100
+ * | fixable | code |
2101
+ * | hasSuggestions | true |
2102
+ * ```
2103
+ */
2104
+ namespace NoEmptyNamedBlocks {
2105
+ export type RuleEntry = Linter.RuleSeverity;
2106
+ }
2107
+
2108
+ /**
2109
+ * Ensure all exports appear after other statements.
2110
+ *
2111
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/exports-last.md
2112
+ *
2113
+ * ```md
2114
+ * | key | value |
2115
+ * | :--------- | :--------- |
2116
+ * | type | suggestion |
2117
+ * | deprecated | false |
2118
+ * ```
2119
+ */
2120
+ namespace ExportsLast {
2121
+ export type RuleEntry = Linter.RuleSeverity;
2122
+ }
2123
+
2124
+ /**
2125
+ * Forbid imported names marked with `@deprecated` documentation tag.
2126
+ *
2127
+ * @link https://github.com/import-js/eslint-plugin-import/blob/v2.31.0/docs/rules/no-deprecated.md
2128
+ *
2129
+ * ```md
2130
+ * | key | value |
2131
+ * | :--------- | :--------- |
2132
+ * | type | suggestion |
2133
+ * | deprecated | false |
2134
+ * ```
2135
+ */
2136
+ namespace NoDeprecated {
2137
+ export type RuleEntry = Linter.RuleSeverity;
2138
+ }
2139
+
2140
+ /**
2141
+ * Replaced by `import/first`.
2142
+ *
2143
+ * @link https://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md
2144
+ *
2145
+ * ```md
2146
+ * | key | value |
2147
+ * | :--------- | :--------- |
2148
+ * | type | suggestion |
2149
+ * | deprecated | true |
2150
+ * | fixable | code |
2151
+ * ```
2152
+ */
2153
+ namespace ImportsFirst {
2154
+ /**
2155
+ * ### schema
2156
+ *
2157
+ * ```json
2158
+ * [
2159
+ * {
2160
+ * "type": "string",
2161
+ * "enum": [
2162
+ * "absolute-first",
2163
+ * "disable-absolute-first"
2164
+ * ]
2165
+ * }
2166
+ * ]
2167
+ * ```
2168
+ */
2169
+ export type RuleEntry = 0;
2170
+ }
2171
+
2172
+ export type EslintImportsRules = {
2173
+ readonly 'import/no-unresolved': NoUnresolved.RuleEntry;
2174
+ readonly 'import/named': Named.RuleEntry;
2175
+ readonly 'import/default': Default.RuleEntry;
2176
+ readonly 'import/namespace': Namespace.RuleEntry;
2177
+ readonly 'import/no-namespace': NoNamespace.RuleEntry;
2178
+ readonly 'import/export': Export.RuleEntry;
2179
+ readonly 'import/no-mutable-exports': NoMutableExports.RuleEntry;
2180
+ readonly 'import/extensions': Extensions.RuleEntry;
2181
+ readonly 'import/no-restricted-paths': NoRestrictedPaths.RuleEntry;
2182
+ readonly 'import/no-internal-modules': NoInternalModules.RuleEntry;
2183
+ readonly 'import/group-exports': GroupExports.RuleEntry;
2184
+ readonly 'import/no-relative-packages': NoRelativePackages.RuleEntry;
2185
+ readonly 'import/no-relative-parent-imports': NoRelativeParentImports.RuleEntry;
2186
+ readonly 'import/consistent-type-specifier-style': ConsistentTypeSpecifierStyle.RuleEntry;
2187
+ readonly 'import/no-self-import': NoSelfImport.RuleEntry;
2188
+ readonly 'import/no-cycle': NoCycle.RuleEntry;
2189
+ readonly 'import/no-named-default': NoNamedDefault.RuleEntry;
2190
+ readonly 'import/no-named-as-default': NoNamedAsDefault.RuleEntry;
2191
+ readonly 'import/no-named-as-default-member': NoNamedAsDefaultMember.RuleEntry;
2192
+ readonly 'import/no-anonymous-default-export': NoAnonymousDefaultExport.RuleEntry;
2193
+ readonly 'import/no-unused-modules': NoUnusedModules.RuleEntry;
2194
+ readonly 'import/no-commonjs': NoCommonjs.RuleEntry;
2195
+ readonly 'import/no-amd': NoAmd.RuleEntry;
2196
+ readonly 'import/no-duplicates': NoDuplicates.RuleEntry;
2197
+ readonly 'import/first': First.RuleEntry;
2198
+ readonly 'import/max-dependencies': MaxDependencies.RuleEntry;
2199
+ readonly 'import/no-extraneous-dependencies': NoExtraneousDependencies.RuleEntry;
2200
+ readonly 'import/no-absolute-path': NoAbsolutePath.RuleEntry;
2201
+ readonly 'import/no-nodejs-modules': NoNodejsModules.RuleEntry;
2202
+ readonly 'import/no-webpack-loader-syntax': NoWebpackLoaderSyntax.RuleEntry;
2203
+ readonly 'import/order': Order.RuleEntry;
2204
+ readonly 'import/newline-after-import': NewlineAfterImport.RuleEntry;
2205
+ readonly 'import/prefer-default-export': PreferDefaultExport.RuleEntry;
2206
+ readonly 'import/no-default-export': NoDefaultExport.RuleEntry;
2207
+ readonly 'import/no-named-export': NoNamedExport.RuleEntry;
2208
+ readonly 'import/no-dynamic-require': NoDynamicRequire.RuleEntry;
2209
+ readonly 'import/unambiguous': Unambiguous.RuleEntry;
2210
+ readonly 'import/no-unassigned-import': NoUnassignedImport.RuleEntry;
2211
+ readonly 'import/no-useless-path-segments': NoUselessPathSegments.RuleEntry;
2212
+ readonly 'import/dynamic-import-chunkname': DynamicImportChunkname.RuleEntry;
2213
+ readonly 'import/no-import-module-exports': NoImportModuleExports.RuleEntry;
2214
+ readonly 'import/no-empty-named-blocks': NoEmptyNamedBlocks.RuleEntry;
2215
+ readonly 'import/exports-last': ExportsLast.RuleEntry;
2216
+ readonly 'import/no-deprecated': NoDeprecated.RuleEntry;
2217
+
2218
+ // deprecated
2219
+ readonly 'import/imports-first': ImportsFirst.RuleEntry;
2220
+ };
2221
+
2222
+ export type EslintImportsRulesOption = {
2223
+ readonly 'import/no-unresolved': NoUnresolved.Options;
2224
+ readonly 'import/named': Named.Options;
2225
+ readonly 'import/namespace': Namespace.Options;
2226
+ readonly 'import/no-namespace': NoNamespace.Options;
2227
+ readonly 'import/extensions': Extensions.Options;
2228
+ readonly 'import/no-restricted-paths': NoRestrictedPaths.Options;
2229
+ readonly 'import/no-internal-modules': NoInternalModules.Options;
2230
+ readonly 'import/no-relative-packages': NoRelativePackages.Options;
2231
+ readonly 'import/no-relative-parent-imports': NoRelativeParentImports.Options;
2232
+ readonly 'import/consistent-type-specifier-style': ConsistentTypeSpecifierStyle.Options;
2233
+ readonly 'import/no-cycle': NoCycle.Options;
2234
+ readonly 'import/no-anonymous-default-export': NoAnonymousDefaultExport.Options;
2235
+ readonly 'import/no-unused-modules': NoUnusedModules.Options;
2236
+ readonly 'import/no-commonjs': NoCommonjs.Options;
2237
+ readonly 'import/no-duplicates': NoDuplicates.Options;
2238
+ readonly 'import/first': First.Options;
2239
+ readonly 'import/max-dependencies': MaxDependencies.Options;
2240
+ readonly 'import/no-extraneous-dependencies': NoExtraneousDependencies.Options;
2241
+ readonly 'import/no-absolute-path': NoAbsolutePath.Options;
2242
+ readonly 'import/no-nodejs-modules': NoNodejsModules.Options;
2243
+ readonly 'import/order': Order.Options;
2244
+ readonly 'import/newline-after-import': NewlineAfterImport.Options;
2245
+ readonly 'import/prefer-default-export': PreferDefaultExport.Options;
2246
+ readonly 'import/no-dynamic-require': NoDynamicRequire.Options;
2247
+ readonly 'import/no-unassigned-import': NoUnassignedImport.Options;
2248
+ readonly 'import/no-useless-path-segments': NoUselessPathSegments.Options;
2249
+ readonly 'import/dynamic-import-chunkname': DynamicImportChunkname.Options;
2250
+ readonly 'import/no-import-module-exports': NoImportModuleExports.Options;
2251
+ };