eslint-plugin-typefest 1.0.1

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 (578) hide show
  1. package/CHANGELOG.md +1814 -0
  2. package/LICENSE +21 -0
  3. package/README.md +282 -0
  4. package/dist/_internal/array-like-expression.d.ts +67 -0
  5. package/dist/_internal/array-like-expression.d.ts.map +1 -0
  6. package/dist/_internal/array-like-expression.js +179 -0
  7. package/dist/_internal/array-like-expression.js.map +1 -0
  8. package/dist/_internal/array-method-call-rule.d.ts +34 -0
  9. package/dist/_internal/array-method-call-rule.d.ts.map +1 -0
  10. package/dist/_internal/array-method-call-rule.js +49 -0
  11. package/dist/_internal/array-method-call-rule.js.map +1 -0
  12. package/dist/_internal/ast-node.d.ts +23 -0
  13. package/dist/_internal/ast-node.d.ts.map +1 -0
  14. package/dist/_internal/ast-node.js +38 -0
  15. package/dist/_internal/ast-node.js.map +1 -0
  16. package/dist/_internal/bounded-cache.d.ts +42 -0
  17. package/dist/_internal/bounded-cache.d.ts.map +1 -0
  18. package/dist/_internal/bounded-cache.js +57 -0
  19. package/dist/_internal/bounded-cache.js.map +1 -0
  20. package/dist/_internal/constrained-type-at-location.d.ts +31 -0
  21. package/dist/_internal/constrained-type-at-location.d.ts.map +1 -0
  22. package/dist/_internal/constrained-type-at-location.js +61 -0
  23. package/dist/_internal/constrained-type-at-location.js.map +1 -0
  24. package/dist/_internal/cycle-safe-linked-search.d.ts +48 -0
  25. package/dist/_internal/cycle-safe-linked-search.d.ts.map +1 -0
  26. package/dist/_internal/cycle-safe-linked-search.js +70 -0
  27. package/dist/_internal/cycle-safe-linked-search.js.map +1 -0
  28. package/dist/_internal/expression-boolean-memoizer.d.ts +17 -0
  29. package/dist/_internal/expression-boolean-memoizer.d.ts.map +1 -0
  30. package/dist/_internal/expression-boolean-memoizer.js +23 -0
  31. package/dist/_internal/expression-boolean-memoizer.js.map +1 -0
  32. package/dist/_internal/filter-callback.d.ts +56 -0
  33. package/dist/_internal/filter-callback.d.ts.map +1 -0
  34. package/dist/_internal/filter-callback.js +100 -0
  35. package/dist/_internal/filter-callback.js.map +1 -0
  36. package/dist/_internal/global-identifier-member-call.d.ts +23 -0
  37. package/dist/_internal/global-identifier-member-call.d.ts.map +1 -0
  38. package/dist/_internal/global-identifier-member-call.js +25 -0
  39. package/dist/_internal/global-identifier-member-call.js.map +1 -0
  40. package/dist/_internal/global-member-call-rule.d.ts +36 -0
  41. package/dist/_internal/global-member-call-rule.d.ts.map +1 -0
  42. package/dist/_internal/global-member-call-rule.js +52 -0
  43. package/dist/_internal/global-member-call-rule.js.map +1 -0
  44. package/dist/_internal/import-analysis.d.ts +45 -0
  45. package/dist/_internal/import-analysis.d.ts.map +1 -0
  46. package/dist/_internal/import-analysis.js +113 -0
  47. package/dist/_internal/import-analysis.js.map +1 -0
  48. package/dist/_internal/import-aware-fixes.d.ts +31 -0
  49. package/dist/_internal/import-aware-fixes.d.ts.map +1 -0
  50. package/dist/_internal/import-aware-fixes.js +38 -0
  51. package/dist/_internal/import-aware-fixes.js.map +1 -0
  52. package/dist/_internal/import-fix-coordinator.d.ts +43 -0
  53. package/dist/_internal/import-fix-coordinator.d.ts.map +1 -0
  54. package/dist/_internal/import-fix-coordinator.js +71 -0
  55. package/dist/_internal/import-fix-coordinator.js.map +1 -0
  56. package/dist/_internal/import-insertion.d.ts +27 -0
  57. package/dist/_internal/import-insertion.d.ts.map +1 -0
  58. package/dist/_internal/import-insertion.js +295 -0
  59. package/dist/_internal/import-insertion.js.map +1 -0
  60. package/dist/_internal/imported-type-aliases.d.ts +140 -0
  61. package/dist/_internal/imported-type-aliases.d.ts.map +1 -0
  62. package/dist/_internal/imported-type-aliases.js +316 -0
  63. package/dist/_internal/imported-type-aliases.js.map +1 -0
  64. package/dist/_internal/imported-value-symbols.d.ts +157 -0
  65. package/dist/_internal/imported-value-symbols.d.ts.map +1 -0
  66. package/dist/_internal/imported-value-symbols.js +478 -0
  67. package/dist/_internal/imported-value-symbols.js.map +1 -0
  68. package/dist/_internal/member-call.d.ts +53 -0
  69. package/dist/_internal/member-call.d.ts.map +1 -0
  70. package/dist/_internal/member-call.js +48 -0
  71. package/dist/_internal/member-call.js.map +1 -0
  72. package/dist/_internal/module-source.d.ts +11 -0
  73. package/dist/_internal/module-source.d.ts.map +1 -0
  74. package/dist/_internal/module-source.js +11 -0
  75. package/dist/_internal/module-source.js.map +1 -0
  76. package/dist/_internal/normalize-expression-text.d.ts +26 -0
  77. package/dist/_internal/normalize-expression-text.d.ts.map +1 -0
  78. package/dist/_internal/normalize-expression-text.js +182 -0
  79. package/dist/_internal/normalize-expression-text.js.map +1 -0
  80. package/dist/_internal/nullish-comparison.d.ts +43 -0
  81. package/dist/_internal/nullish-comparison.d.ts.map +1 -0
  82. package/dist/_internal/nullish-comparison.js +147 -0
  83. package/dist/_internal/nullish-comparison.js.map +1 -0
  84. package/dist/_internal/plugin-settings.d.ts +32 -0
  85. package/dist/_internal/plugin-settings.d.ts.map +1 -0
  86. package/dist/_internal/plugin-settings.js +118 -0
  87. package/dist/_internal/plugin-settings.js.map +1 -0
  88. package/dist/_internal/report-adapter.d.ts +25 -0
  89. package/dist/_internal/report-adapter.d.ts.map +1 -0
  90. package/dist/_internal/report-adapter.js +36 -0
  91. package/dist/_internal/report-adapter.js.map +1 -0
  92. package/dist/_internal/rule-catalog.d.ts +51 -0
  93. package/dist/_internal/rule-catalog.d.ts.map +1 -0
  94. package/dist/_internal/rule-catalog.js +162 -0
  95. package/dist/_internal/rule-catalog.js.map +1 -0
  96. package/dist/_internal/rule-docs-metadata.d.ts +37 -0
  97. package/dist/_internal/rule-docs-metadata.d.ts.map +1 -0
  98. package/dist/_internal/rule-docs-metadata.js +192 -0
  99. package/dist/_internal/rule-docs-metadata.js.map +1 -0
  100. package/dist/_internal/rule-docs-url.d.ts +15 -0
  101. package/dist/_internal/rule-docs-url.d.ts.map +1 -0
  102. package/dist/_internal/rule-docs-url.js +15 -0
  103. package/dist/_internal/rule-docs-url.js.map +1 -0
  104. package/dist/_internal/rule-reporting.d.ts +71 -0
  105. package/dist/_internal/rule-reporting.d.ts.map +1 -0
  106. package/dist/_internal/rule-reporting.js +89 -0
  107. package/dist/_internal/rule-reporting.js.map +1 -0
  108. package/dist/_internal/rules-registry.d.ts +14 -0
  109. package/dist/_internal/rules-registry.d.ts.map +1 -0
  110. package/dist/_internal/rules-registry.js +165 -0
  111. package/dist/_internal/rules-registry.js.map +1 -0
  112. package/dist/_internal/safe-type-operation.d.ts +89 -0
  113. package/dist/_internal/safe-type-operation.d.ts.map +1 -0
  114. package/dist/_internal/safe-type-operation.js +147 -0
  115. package/dist/_internal/safe-type-operation.js.map +1 -0
  116. package/dist/_internal/scope-resolution.d.ts +20 -0
  117. package/dist/_internal/scope-resolution.d.ts.map +1 -0
  118. package/dist/_internal/scope-resolution.js +21 -0
  119. package/dist/_internal/scope-resolution.js.map +1 -0
  120. package/dist/_internal/scope-variable.d.ts +17 -0
  121. package/dist/_internal/scope-variable.d.ts.map +1 -0
  122. package/dist/_internal/scope-variable.js +30 -0
  123. package/dist/_internal/scope-variable.js.map +1 -0
  124. package/dist/_internal/set-membership.d.ts +6 -0
  125. package/dist/_internal/set-membership.d.ts.map +1 -0
  126. package/dist/_internal/set-membership.js +11 -0
  127. package/dist/_internal/set-membership.js.map +1 -0
  128. package/dist/_internal/text-character.d.ts +18 -0
  129. package/dist/_internal/text-character.d.ts.map +1 -0
  130. package/dist/_internal/text-character.js +69 -0
  131. package/dist/_internal/text-character.js.map +1 -0
  132. package/dist/_internal/throw-consequent.d.ts +22 -0
  133. package/dist/_internal/throw-consequent.d.ts.map +1 -0
  134. package/dist/_internal/throw-consequent.js +48 -0
  135. package/dist/_internal/throw-consequent.js.map +1 -0
  136. package/dist/_internal/throw-type-error.d.ts +19 -0
  137. package/dist/_internal/throw-type-error.d.ts.map +1 -0
  138. package/dist/_internal/throw-type-error.js +24 -0
  139. package/dist/_internal/throw-type-error.js.map +1 -0
  140. package/dist/_internal/type-checker-compat.d.ts +80 -0
  141. package/dist/_internal/type-checker-compat.d.ts.map +1 -0
  142. package/dist/_internal/type-checker-compat.js +104 -0
  143. package/dist/_internal/type-checker-compat.js.map +1 -0
  144. package/dist/_internal/type-predicate-autofix-safety.d.ts +20 -0
  145. package/dist/_internal/type-predicate-autofix-safety.d.ts.map +1 -0
  146. package/dist/_internal/type-predicate-autofix-safety.js +58 -0
  147. package/dist/_internal/type-predicate-autofix-safety.js.map +1 -0
  148. package/dist/_internal/type-reference-node.d.ts +19 -0
  149. package/dist/_internal/type-reference-node.d.ts.map +1 -0
  150. package/dist/_internal/type-reference-node.js +14 -0
  151. package/dist/_internal/type-reference-node.js.map +1 -0
  152. package/dist/_internal/typed-member-call-rule.d.ts +35 -0
  153. package/dist/_internal/typed-member-call-rule.d.ts.map +1 -0
  154. package/dist/_internal/typed-member-call-rule.js +50 -0
  155. package/dist/_internal/typed-member-call-rule.js.map +1 -0
  156. package/dist/_internal/typed-path-telemetry.d.ts +58 -0
  157. package/dist/_internal/typed-path-telemetry.d.ts.map +1 -0
  158. package/dist/_internal/typed-path-telemetry.js +114 -0
  159. package/dist/_internal/typed-path-telemetry.js.map +1 -0
  160. package/dist/_internal/typed-rule.d.ts +142 -0
  161. package/dist/_internal/typed-rule.d.ts.map +1 -0
  162. package/dist/_internal/typed-rule.js +197 -0
  163. package/dist/_internal/typed-rule.js.map +1 -0
  164. package/dist/_internal/typefest-config-references.d.ts +45 -0
  165. package/dist/_internal/typefest-config-references.d.ts.map +1 -0
  166. package/dist/_internal/typefest-config-references.js +98 -0
  167. package/dist/_internal/typefest-config-references.js.map +1 -0
  168. package/dist/_internal/typescript-eslint-node-autofix.d.ts +32 -0
  169. package/dist/_internal/typescript-eslint-node-autofix.d.ts.map +1 -0
  170. package/dist/_internal/typescript-eslint-node-autofix.js +495 -0
  171. package/dist/_internal/typescript-eslint-node-autofix.js.map +1 -0
  172. package/dist/_internal/value-rewrite-autofix-safety.d.ts +33 -0
  173. package/dist/_internal/value-rewrite-autofix-safety.d.ts.map +1 -0
  174. package/dist/_internal/value-rewrite-autofix-safety.js +103 -0
  175. package/dist/_internal/value-rewrite-autofix-safety.js.map +1 -0
  176. package/dist/plugin.cjs +9718 -0
  177. package/dist/plugin.cjs.map +7 -0
  178. package/dist/plugin.d.cts +76 -0
  179. package/dist/plugin.d.ts +76 -0
  180. package/dist/plugin.d.ts.map +1 -0
  181. package/dist/plugin.js +206 -0
  182. package/dist/plugin.js.map +1 -0
  183. package/dist/rules/prefer-ts-extras-array-at.d.ts +13 -0
  184. package/dist/rules/prefer-ts-extras-array-at.d.ts.map +1 -0
  185. package/dist/rules/prefer-ts-extras-array-at.js +66 -0
  186. package/dist/rules/prefer-ts-extras-array-at.js.map +1 -0
  187. package/dist/rules/prefer-ts-extras-array-concat.d.ts +13 -0
  188. package/dist/rules/prefer-ts-extras-array-concat.d.ts.map +1 -0
  189. package/dist/rules/prefer-ts-extras-array-concat.js +66 -0
  190. package/dist/rules/prefer-ts-extras-array-concat.js.map +1 -0
  191. package/dist/rules/prefer-ts-extras-array-find-last-index.d.ts +13 -0
  192. package/dist/rules/prefer-ts-extras-array-find-last-index.d.ts.map +1 -0
  193. package/dist/rules/prefer-ts-extras-array-find-last-index.js +63 -0
  194. package/dist/rules/prefer-ts-extras-array-find-last-index.js.map +1 -0
  195. package/dist/rules/prefer-ts-extras-array-find-last.d.ts +13 -0
  196. package/dist/rules/prefer-ts-extras-array-find-last.d.ts.map +1 -0
  197. package/dist/rules/prefer-ts-extras-array-find-last.js +66 -0
  198. package/dist/rules/prefer-ts-extras-array-find-last.js.map +1 -0
  199. package/dist/rules/prefer-ts-extras-array-find.d.ts +13 -0
  200. package/dist/rules/prefer-ts-extras-array-find.d.ts.map +1 -0
  201. package/dist/rules/prefer-ts-extras-array-find.js +63 -0
  202. package/dist/rules/prefer-ts-extras-array-find.js.map +1 -0
  203. package/dist/rules/prefer-ts-extras-array-first.d.ts +13 -0
  204. package/dist/rules/prefer-ts-extras-array-first.d.ts.map +1 -0
  205. package/dist/rules/prefer-ts-extras-array-first.js +107 -0
  206. package/dist/rules/prefer-ts-extras-array-first.js.map +1 -0
  207. package/dist/rules/prefer-ts-extras-array-includes.d.ts +13 -0
  208. package/dist/rules/prefer-ts-extras-array-includes.d.ts.map +1 -0
  209. package/dist/rules/prefer-ts-extras-array-includes.js +89 -0
  210. package/dist/rules/prefer-ts-extras-array-includes.js.map +1 -0
  211. package/dist/rules/prefer-ts-extras-array-join.d.ts +13 -0
  212. package/dist/rules/prefer-ts-extras-array-join.d.ts.map +1 -0
  213. package/dist/rules/prefer-ts-extras-array-join.js +66 -0
  214. package/dist/rules/prefer-ts-extras-array-join.js.map +1 -0
  215. package/dist/rules/prefer-ts-extras-array-last.d.ts +8 -0
  216. package/dist/rules/prefer-ts-extras-array-last.d.ts.map +1 -0
  217. package/dist/rules/prefer-ts-extras-array-last.js +132 -0
  218. package/dist/rules/prefer-ts-extras-array-last.js.map +1 -0
  219. package/dist/rules/prefer-ts-extras-as-writable.d.ts +13 -0
  220. package/dist/rules/prefer-ts-extras-as-writable.d.ts.map +1 -0
  221. package/dist/rules/prefer-ts-extras-as-writable.js +110 -0
  222. package/dist/rules/prefer-ts-extras-as-writable.js.map +1 -0
  223. package/dist/rules/prefer-ts-extras-assert-defined.d.ts +13 -0
  224. package/dist/rules/prefer-ts-extras-assert-defined.d.ts.map +1 -0
  225. package/dist/rules/prefer-ts-extras-assert-defined.js +182 -0
  226. package/dist/rules/prefer-ts-extras-assert-defined.js.map +1 -0
  227. package/dist/rules/prefer-ts-extras-assert-error.d.ts +13 -0
  228. package/dist/rules/prefer-ts-extras-assert-error.d.ts.map +1 -0
  229. package/dist/rules/prefer-ts-extras-assert-error.js +152 -0
  230. package/dist/rules/prefer-ts-extras-assert-error.js.map +1 -0
  231. package/dist/rules/prefer-ts-extras-assert-present.d.ts +13 -0
  232. package/dist/rules/prefer-ts-extras-assert-present.d.ts.map +1 -0
  233. package/dist/rules/prefer-ts-extras-assert-present.js +266 -0
  234. package/dist/rules/prefer-ts-extras-assert-present.js.map +1 -0
  235. package/dist/rules/prefer-ts-extras-is-defined-filter.d.ts +13 -0
  236. package/dist/rules/prefer-ts-extras-is-defined-filter.d.ts.map +1 -0
  237. package/dist/rules/prefer-ts-extras-is-defined-filter.js +90 -0
  238. package/dist/rules/prefer-ts-extras-is-defined-filter.js.map +1 -0
  239. package/dist/rules/prefer-ts-extras-is-defined.d.ts +13 -0
  240. package/dist/rules/prefer-ts-extras-is-defined.d.ts.map +1 -0
  241. package/dist/rules/prefer-ts-extras-is-defined.js +179 -0
  242. package/dist/rules/prefer-ts-extras-is-defined.js.map +1 -0
  243. package/dist/rules/prefer-ts-extras-is-empty.d.ts +13 -0
  244. package/dist/rules/prefer-ts-extras-is-empty.d.ts.map +1 -0
  245. package/dist/rules/prefer-ts-extras-is-empty.js +116 -0
  246. package/dist/rules/prefer-ts-extras-is-empty.js.map +1 -0
  247. package/dist/rules/prefer-ts-extras-is-equal-type.d.ts +13 -0
  248. package/dist/rules/prefer-ts-extras-is-equal-type.d.ts.map +1 -0
  249. package/dist/rules/prefer-ts-extras-is-equal-type.js +138 -0
  250. package/dist/rules/prefer-ts-extras-is-equal-type.js.map +1 -0
  251. package/dist/rules/prefer-ts-extras-is-finite.d.ts +13 -0
  252. package/dist/rules/prefer-ts-extras-is-finite.d.ts.map +1 -0
  253. package/dist/rules/prefer-ts-extras-is-finite.js +61 -0
  254. package/dist/rules/prefer-ts-extras-is-finite.js.map +1 -0
  255. package/dist/rules/prefer-ts-extras-is-infinite.d.ts +8 -0
  256. package/dist/rules/prefer-ts-extras-is-infinite.d.ts.map +1 -0
  257. package/dist/rules/prefer-ts-extras-is-infinite.js +178 -0
  258. package/dist/rules/prefer-ts-extras-is-infinite.js.map +1 -0
  259. package/dist/rules/prefer-ts-extras-is-integer.d.ts +13 -0
  260. package/dist/rules/prefer-ts-extras-is-integer.d.ts.map +1 -0
  261. package/dist/rules/prefer-ts-extras-is-integer.js +61 -0
  262. package/dist/rules/prefer-ts-extras-is-integer.js.map +1 -0
  263. package/dist/rules/prefer-ts-extras-is-present-filter.d.ts +13 -0
  264. package/dist/rules/prefer-ts-extras-is-present-filter.d.ts.map +1 -0
  265. package/dist/rules/prefer-ts-extras-is-present-filter.js +216 -0
  266. package/dist/rules/prefer-ts-extras-is-present-filter.js.map +1 -0
  267. package/dist/rules/prefer-ts-extras-is-present.d.ts +13 -0
  268. package/dist/rules/prefer-ts-extras-is-present.d.ts.map +1 -0
  269. package/dist/rules/prefer-ts-extras-is-present.js +217 -0
  270. package/dist/rules/prefer-ts-extras-is-present.js.map +1 -0
  271. package/dist/rules/prefer-ts-extras-is-safe-integer.d.ts +13 -0
  272. package/dist/rules/prefer-ts-extras-is-safe-integer.d.ts.map +1 -0
  273. package/dist/rules/prefer-ts-extras-is-safe-integer.js +61 -0
  274. package/dist/rules/prefer-ts-extras-is-safe-integer.js.map +1 -0
  275. package/dist/rules/prefer-ts-extras-key-in.d.ts +13 -0
  276. package/dist/rules/prefer-ts-extras-key-in.d.ts.map +1 -0
  277. package/dist/rules/prefer-ts-extras-key-in.js +124 -0
  278. package/dist/rules/prefer-ts-extras-key-in.js.map +1 -0
  279. package/dist/rules/prefer-ts-extras-not.d.ts +13 -0
  280. package/dist/rules/prefer-ts-extras-not.d.ts.map +1 -0
  281. package/dist/rules/prefer-ts-extras-not.js +136 -0
  282. package/dist/rules/prefer-ts-extras-not.js.map +1 -0
  283. package/dist/rules/prefer-ts-extras-object-entries.d.ts +13 -0
  284. package/dist/rules/prefer-ts-extras-object-entries.d.ts.map +1 -0
  285. package/dist/rules/prefer-ts-extras-object-entries.js +59 -0
  286. package/dist/rules/prefer-ts-extras-object-entries.js.map +1 -0
  287. package/dist/rules/prefer-ts-extras-object-from-entries.d.ts +13 -0
  288. package/dist/rules/prefer-ts-extras-object-from-entries.d.ts.map +1 -0
  289. package/dist/rules/prefer-ts-extras-object-from-entries.js +59 -0
  290. package/dist/rules/prefer-ts-extras-object-from-entries.js.map +1 -0
  291. package/dist/rules/prefer-ts-extras-object-has-in.d.ts +13 -0
  292. package/dist/rules/prefer-ts-extras-object-has-in.d.ts.map +1 -0
  293. package/dist/rules/prefer-ts-extras-object-has-in.js +79 -0
  294. package/dist/rules/prefer-ts-extras-object-has-in.js.map +1 -0
  295. package/dist/rules/prefer-ts-extras-object-has-own.d.ts +13 -0
  296. package/dist/rules/prefer-ts-extras-object-has-own.d.ts.map +1 -0
  297. package/dist/rules/prefer-ts-extras-object-has-own.js +82 -0
  298. package/dist/rules/prefer-ts-extras-object-has-own.js.map +1 -0
  299. package/dist/rules/prefer-ts-extras-object-keys.d.ts +13 -0
  300. package/dist/rules/prefer-ts-extras-object-keys.d.ts.map +1 -0
  301. package/dist/rules/prefer-ts-extras-object-keys.js +59 -0
  302. package/dist/rules/prefer-ts-extras-object-keys.js.map +1 -0
  303. package/dist/rules/prefer-ts-extras-object-values.d.ts +13 -0
  304. package/dist/rules/prefer-ts-extras-object-values.d.ts.map +1 -0
  305. package/dist/rules/prefer-ts-extras-object-values.js +59 -0
  306. package/dist/rules/prefer-ts-extras-object-values.js.map +1 -0
  307. package/dist/rules/prefer-ts-extras-safe-cast-to.d.ts +13 -0
  308. package/dist/rules/prefer-ts-extras-safe-cast-to.d.ts.map +1 -0
  309. package/dist/rules/prefer-ts-extras-safe-cast-to.js +159 -0
  310. package/dist/rules/prefer-ts-extras-safe-cast-to.js.map +1 -0
  311. package/dist/rules/prefer-ts-extras-set-has.d.ts +13 -0
  312. package/dist/rules/prefer-ts-extras-set-has.d.ts.map +1 -0
  313. package/dist/rules/prefer-ts-extras-set-has.js +304 -0
  314. package/dist/rules/prefer-ts-extras-set-has.js.map +1 -0
  315. package/dist/rules/prefer-ts-extras-string-split.d.ts +13 -0
  316. package/dist/rules/prefer-ts-extras-string-split.d.ts.map +1 -0
  317. package/dist/rules/prefer-ts-extras-string-split.js +166 -0
  318. package/dist/rules/prefer-ts-extras-string-split.js.map +1 -0
  319. package/dist/rules/prefer-type-fest-abstract-constructor.d.ts +13 -0
  320. package/dist/rules/prefer-type-fest-abstract-constructor.d.ts.map +1 -0
  321. package/dist/rules/prefer-type-fest-abstract-constructor.js +65 -0
  322. package/dist/rules/prefer-type-fest-abstract-constructor.js.map +1 -0
  323. package/dist/rules/prefer-type-fest-arrayable.d.ts +13 -0
  324. package/dist/rules/prefer-type-fest-arrayable.d.ts.map +1 -0
  325. package/dist/rules/prefer-type-fest-arrayable.js +123 -0
  326. package/dist/rules/prefer-type-fest-arrayable.js.map +1 -0
  327. package/dist/rules/prefer-type-fest-async-return-type.d.ts +13 -0
  328. package/dist/rules/prefer-type-fest-async-return-type.d.ts.map +1 -0
  329. package/dist/rules/prefer-type-fest-async-return-type.js +92 -0
  330. package/dist/rules/prefer-type-fest-async-return-type.js.map +1 -0
  331. package/dist/rules/prefer-type-fest-conditional-pick.d.ts +13 -0
  332. package/dist/rules/prefer-type-fest-conditional-pick.d.ts.map +1 -0
  333. package/dist/rules/prefer-type-fest-conditional-pick.js +74 -0
  334. package/dist/rules/prefer-type-fest-conditional-pick.js.map +1 -0
  335. package/dist/rules/prefer-type-fest-constructor.d.ts +13 -0
  336. package/dist/rules/prefer-type-fest-constructor.d.ts.map +1 -0
  337. package/dist/rules/prefer-type-fest-constructor.js +67 -0
  338. package/dist/rules/prefer-type-fest-constructor.js.map +1 -0
  339. package/dist/rules/prefer-type-fest-except.d.ts +13 -0
  340. package/dist/rules/prefer-type-fest-except.d.ts.map +1 -0
  341. package/dist/rules/prefer-type-fest-except.js +105 -0
  342. package/dist/rules/prefer-type-fest-except.js.map +1 -0
  343. package/dist/rules/prefer-type-fest-if.d.ts +13 -0
  344. package/dist/rules/prefer-type-fest-if.d.ts.map +1 -0
  345. package/dist/rules/prefer-type-fest-if.js +79 -0
  346. package/dist/rules/prefer-type-fest-if.js.map +1 -0
  347. package/dist/rules/prefer-type-fest-iterable-element.d.ts +13 -0
  348. package/dist/rules/prefer-type-fest-iterable-element.d.ts.map +1 -0
  349. package/dist/rules/prefer-type-fest-iterable-element.js +76 -0
  350. package/dist/rules/prefer-type-fest-iterable-element.js.map +1 -0
  351. package/dist/rules/prefer-type-fest-json-array.d.ts +13 -0
  352. package/dist/rules/prefer-type-fest-json-array.d.ts.map +1 -0
  353. package/dist/rules/prefer-type-fest-json-array.js +164 -0
  354. package/dist/rules/prefer-type-fest-json-array.js.map +1 -0
  355. package/dist/rules/prefer-type-fest-json-object.d.ts +13 -0
  356. package/dist/rules/prefer-type-fest-json-object.d.ts.map +1 -0
  357. package/dist/rules/prefer-type-fest-json-object.js +102 -0
  358. package/dist/rules/prefer-type-fest-json-object.js.map +1 -0
  359. package/dist/rules/prefer-type-fest-json-primitive.d.ts +13 -0
  360. package/dist/rules/prefer-type-fest-json-primitive.d.ts.map +1 -0
  361. package/dist/rules/prefer-type-fest-json-primitive.js +112 -0
  362. package/dist/rules/prefer-type-fest-json-primitive.js.map +1 -0
  363. package/dist/rules/prefer-type-fest-json-value.d.ts +13 -0
  364. package/dist/rules/prefer-type-fest-json-value.d.ts.map +1 -0
  365. package/dist/rules/prefer-type-fest-json-value.js +109 -0
  366. package/dist/rules/prefer-type-fest-json-value.js.map +1 -0
  367. package/dist/rules/prefer-type-fest-keys-of-union.d.ts +13 -0
  368. package/dist/rules/prefer-type-fest-keys-of-union.d.ts.map +1 -0
  369. package/dist/rules/prefer-type-fest-keys-of-union.js +74 -0
  370. package/dist/rules/prefer-type-fest-keys-of-union.js.map +1 -0
  371. package/dist/rules/prefer-type-fest-literal-union.d.ts +13 -0
  372. package/dist/rules/prefer-type-fest-literal-union.d.ts.map +1 -0
  373. package/dist/rules/prefer-type-fest-literal-union.js +181 -0
  374. package/dist/rules/prefer-type-fest-literal-union.js.map +1 -0
  375. package/dist/rules/prefer-type-fest-merge-exclusive.d.ts +13 -0
  376. package/dist/rules/prefer-type-fest-merge-exclusive.d.ts.map +1 -0
  377. package/dist/rules/prefer-type-fest-merge-exclusive.js +63 -0
  378. package/dist/rules/prefer-type-fest-merge-exclusive.js.map +1 -0
  379. package/dist/rules/prefer-type-fest-non-empty-tuple.d.ts +13 -0
  380. package/dist/rules/prefer-type-fest-non-empty-tuple.d.ts.map +1 -0
  381. package/dist/rules/prefer-type-fest-non-empty-tuple.js +133 -0
  382. package/dist/rules/prefer-type-fest-non-empty-tuple.js.map +1 -0
  383. package/dist/rules/prefer-type-fest-omit-index-signature.d.ts +13 -0
  384. package/dist/rules/prefer-type-fest-omit-index-signature.d.ts.map +1 -0
  385. package/dist/rules/prefer-type-fest-omit-index-signature.js +74 -0
  386. package/dist/rules/prefer-type-fest-omit-index-signature.js.map +1 -0
  387. package/dist/rules/prefer-type-fest-partial-deep.d.ts +13 -0
  388. package/dist/rules/prefer-type-fest-partial-deep.d.ts.map +1 -0
  389. package/dist/rules/prefer-type-fest-partial-deep.js +63 -0
  390. package/dist/rules/prefer-type-fest-partial-deep.js.map +1 -0
  391. package/dist/rules/prefer-type-fest-primitive.d.ts +13 -0
  392. package/dist/rules/prefer-type-fest-primitive.d.ts.map +1 -0
  393. package/dist/rules/prefer-type-fest-primitive.js +102 -0
  394. package/dist/rules/prefer-type-fest-primitive.js.map +1 -0
  395. package/dist/rules/prefer-type-fest-promisable.d.ts +13 -0
  396. package/dist/rules/prefer-type-fest-promisable.d.ts.map +1 -0
  397. package/dist/rules/prefer-type-fest-promisable.js +167 -0
  398. package/dist/rules/prefer-type-fest-promisable.js.map +1 -0
  399. package/dist/rules/prefer-type-fest-readonly-deep.d.ts +13 -0
  400. package/dist/rules/prefer-type-fest-readonly-deep.d.ts.map +1 -0
  401. package/dist/rules/prefer-type-fest-readonly-deep.js +63 -0
  402. package/dist/rules/prefer-type-fest-readonly-deep.js.map +1 -0
  403. package/dist/rules/prefer-type-fest-require-all-or-none.d.ts +13 -0
  404. package/dist/rules/prefer-type-fest-require-all-or-none.d.ts.map +1 -0
  405. package/dist/rules/prefer-type-fest-require-all-or-none.js +75 -0
  406. package/dist/rules/prefer-type-fest-require-all-or-none.js.map +1 -0
  407. package/dist/rules/prefer-type-fest-require-at-least-one.d.ts +13 -0
  408. package/dist/rules/prefer-type-fest-require-at-least-one.d.ts.map +1 -0
  409. package/dist/rules/prefer-type-fest-require-at-least-one.js +74 -0
  410. package/dist/rules/prefer-type-fest-require-at-least-one.js.map +1 -0
  411. package/dist/rules/prefer-type-fest-require-exactly-one.d.ts +13 -0
  412. package/dist/rules/prefer-type-fest-require-exactly-one.d.ts.map +1 -0
  413. package/dist/rules/prefer-type-fest-require-exactly-one.js +102 -0
  414. package/dist/rules/prefer-type-fest-require-exactly-one.js.map +1 -0
  415. package/dist/rules/prefer-type-fest-require-one-or-none.d.ts +13 -0
  416. package/dist/rules/prefer-type-fest-require-one-or-none.d.ts.map +1 -0
  417. package/dist/rules/prefer-type-fest-require-one-or-none.js +74 -0
  418. package/dist/rules/prefer-type-fest-require-one-or-none.js.map +1 -0
  419. package/dist/rules/prefer-type-fest-required-deep.d.ts +13 -0
  420. package/dist/rules/prefer-type-fest-required-deep.d.ts.map +1 -0
  421. package/dist/rules/prefer-type-fest-required-deep.js +63 -0
  422. package/dist/rules/prefer-type-fest-required-deep.js.map +1 -0
  423. package/dist/rules/prefer-type-fest-schema.d.ts +13 -0
  424. package/dist/rules/prefer-type-fest-schema.d.ts.map +1 -0
  425. package/dist/rules/prefer-type-fest-schema.js +74 -0
  426. package/dist/rules/prefer-type-fest-schema.js.map +1 -0
  427. package/dist/rules/prefer-type-fest-set-non-nullable.d.ts +13 -0
  428. package/dist/rules/prefer-type-fest-set-non-nullable.d.ts.map +1 -0
  429. package/dist/rules/prefer-type-fest-set-non-nullable.js +74 -0
  430. package/dist/rules/prefer-type-fest-set-non-nullable.js.map +1 -0
  431. package/dist/rules/prefer-type-fest-set-optional.d.ts +13 -0
  432. package/dist/rules/prefer-type-fest-set-optional.d.ts.map +1 -0
  433. package/dist/rules/prefer-type-fest-set-optional.js +74 -0
  434. package/dist/rules/prefer-type-fest-set-optional.js.map +1 -0
  435. package/dist/rules/prefer-type-fest-set-readonly.d.ts +13 -0
  436. package/dist/rules/prefer-type-fest-set-readonly.d.ts.map +1 -0
  437. package/dist/rules/prefer-type-fest-set-readonly.js +74 -0
  438. package/dist/rules/prefer-type-fest-set-readonly.js.map +1 -0
  439. package/dist/rules/prefer-type-fest-set-required.d.ts +13 -0
  440. package/dist/rules/prefer-type-fest-set-required.d.ts.map +1 -0
  441. package/dist/rules/prefer-type-fest-set-required.js +74 -0
  442. package/dist/rules/prefer-type-fest-set-required.js.map +1 -0
  443. package/dist/rules/prefer-type-fest-simplify.d.ts +13 -0
  444. package/dist/rules/prefer-type-fest-simplify.d.ts.map +1 -0
  445. package/dist/rules/prefer-type-fest-simplify.js +75 -0
  446. package/dist/rules/prefer-type-fest-simplify.js.map +1 -0
  447. package/dist/rules/prefer-type-fest-tagged-brands.d.ts +13 -0
  448. package/dist/rules/prefer-type-fest-tagged-brands.d.ts.map +1 -0
  449. package/dist/rules/prefer-type-fest-tagged-brands.js +174 -0
  450. package/dist/rules/prefer-type-fest-tagged-brands.js.map +1 -0
  451. package/dist/rules/prefer-type-fest-tuple-of.d.ts +14 -0
  452. package/dist/rules/prefer-type-fest-tuple-of.d.ts.map +1 -0
  453. package/dist/rules/prefer-type-fest-tuple-of.js +132 -0
  454. package/dist/rules/prefer-type-fest-tuple-of.js.map +1 -0
  455. package/dist/rules/prefer-type-fest-unknown-array.d.ts +13 -0
  456. package/dist/rules/prefer-type-fest-unknown-array.d.ts.map +1 -0
  457. package/dist/rules/prefer-type-fest-unknown-array.js +111 -0
  458. package/dist/rules/prefer-type-fest-unknown-array.js.map +1 -0
  459. package/dist/rules/prefer-type-fest-unknown-map.d.ts +13 -0
  460. package/dist/rules/prefer-type-fest-unknown-map.d.ts.map +1 -0
  461. package/dist/rules/prefer-type-fest-unknown-map.js +82 -0
  462. package/dist/rules/prefer-type-fest-unknown-map.js.map +1 -0
  463. package/dist/rules/prefer-type-fest-unknown-record.d.ts +13 -0
  464. package/dist/rules/prefer-type-fest-unknown-record.d.ts.map +1 -0
  465. package/dist/rules/prefer-type-fest-unknown-record.js +77 -0
  466. package/dist/rules/prefer-type-fest-unknown-record.js.map +1 -0
  467. package/dist/rules/prefer-type-fest-unknown-set.d.ts +13 -0
  468. package/dist/rules/prefer-type-fest-unknown-set.d.ts.map +1 -0
  469. package/dist/rules/prefer-type-fest-unknown-set.js +81 -0
  470. package/dist/rules/prefer-type-fest-unknown-set.js.map +1 -0
  471. package/dist/rules/prefer-type-fest-unwrap-tagged.d.ts +13 -0
  472. package/dist/rules/prefer-type-fest-unwrap-tagged.d.ts.map +1 -0
  473. package/dist/rules/prefer-type-fest-unwrap-tagged.js +74 -0
  474. package/dist/rules/prefer-type-fest-unwrap-tagged.js.map +1 -0
  475. package/dist/rules/prefer-type-fest-value-of.d.ts +13 -0
  476. package/dist/rules/prefer-type-fest-value-of.d.ts.map +1 -0
  477. package/dist/rules/prefer-type-fest-value-of.js +74 -0
  478. package/dist/rules/prefer-type-fest-value-of.js.map +1 -0
  479. package/dist/rules/prefer-type-fest-writable-deep.d.ts +13 -0
  480. package/dist/rules/prefer-type-fest-writable-deep.d.ts.map +1 -0
  481. package/dist/rules/prefer-type-fest-writable-deep.js +64 -0
  482. package/dist/rules/prefer-type-fest-writable-deep.js.map +1 -0
  483. package/dist/rules/prefer-type-fest-writable.d.ts +13 -0
  484. package/dist/rules/prefer-type-fest-writable.d.ts.map +1 -0
  485. package/dist/rules/prefer-type-fest-writable.js +129 -0
  486. package/dist/rules/prefer-type-fest-writable.js.map +1 -0
  487. package/docs/rules/getting-started.md +74 -0
  488. package/docs/rules/guides/adoption-checklist.md +37 -0
  489. package/docs/rules/guides/preset-selection-strategy.md +87 -0
  490. package/docs/rules/guides/rollout-and-fix-safety.md +42 -0
  491. package/docs/rules/guides/snapshot-testing.md +121 -0
  492. package/docs/rules/guides/type-aware-linting-readiness.md +105 -0
  493. package/docs/rules/overview.md +49 -0
  494. package/docs/rules/prefer-ts-extras-array-at.md +132 -0
  495. package/docs/rules/prefer-ts-extras-array-concat.md +138 -0
  496. package/docs/rules/prefer-ts-extras-array-find-last-index.md +108 -0
  497. package/docs/rules/prefer-ts-extras-array-find-last.md +108 -0
  498. package/docs/rules/prefer-ts-extras-array-find.md +108 -0
  499. package/docs/rules/prefer-ts-extras-array-first.md +132 -0
  500. package/docs/rules/prefer-ts-extras-array-includes.md +135 -0
  501. package/docs/rules/prefer-ts-extras-array-join.md +132 -0
  502. package/docs/rules/prefer-ts-extras-array-last.md +132 -0
  503. package/docs/rules/prefer-ts-extras-as-writable.md +124 -0
  504. package/docs/rules/prefer-ts-extras-assert-defined.md +140 -0
  505. package/docs/rules/prefer-ts-extras-assert-error.md +147 -0
  506. package/docs/rules/prefer-ts-extras-assert-present.md +139 -0
  507. package/docs/rules/prefer-ts-extras-is-defined-filter.md +125 -0
  508. package/docs/rules/prefer-ts-extras-is-defined.md +147 -0
  509. package/docs/rules/prefer-ts-extras-is-empty.md +142 -0
  510. package/docs/rules/prefer-ts-extras-is-equal-type.md +144 -0
  511. package/docs/rules/prefer-ts-extras-is-finite.md +116 -0
  512. package/docs/rules/prefer-ts-extras-is-infinite.md +134 -0
  513. package/docs/rules/prefer-ts-extras-is-integer.md +116 -0
  514. package/docs/rules/prefer-ts-extras-is-present-filter.md +125 -0
  515. package/docs/rules/prefer-ts-extras-is-present.md +143 -0
  516. package/docs/rules/prefer-ts-extras-is-safe-integer.md +116 -0
  517. package/docs/rules/prefer-ts-extras-key-in.md +150 -0
  518. package/docs/rules/prefer-ts-extras-not.md +138 -0
  519. package/docs/rules/prefer-ts-extras-object-entries.md +130 -0
  520. package/docs/rules/prefer-ts-extras-object-from-entries.md +131 -0
  521. package/docs/rules/prefer-ts-extras-object-has-in.md +141 -0
  522. package/docs/rules/prefer-ts-extras-object-has-own.md +137 -0
  523. package/docs/rules/prefer-ts-extras-object-keys.md +127 -0
  524. package/docs/rules/prefer-ts-extras-object-values.md +128 -0
  525. package/docs/rules/prefer-ts-extras-safe-cast-to.md +130 -0
  526. package/docs/rules/prefer-ts-extras-set-has.md +203 -0
  527. package/docs/rules/prefer-ts-extras-string-split.md +133 -0
  528. package/docs/rules/prefer-type-fest-abstract-constructor.md +87 -0
  529. package/docs/rules/prefer-type-fest-arrayable.md +127 -0
  530. package/docs/rules/prefer-type-fest-async-return-type.md +117 -0
  531. package/docs/rules/prefer-type-fest-conditional-pick.md +140 -0
  532. package/docs/rules/prefer-type-fest-constructor.md +87 -0
  533. package/docs/rules/prefer-type-fest-except.md +231 -0
  534. package/docs/rules/prefer-type-fest-if.md +217 -0
  535. package/docs/rules/prefer-type-fest-iterable-element.md +170 -0
  536. package/docs/rules/prefer-type-fest-json-array.md +107 -0
  537. package/docs/rules/prefer-type-fest-json-object.md +107 -0
  538. package/docs/rules/prefer-type-fest-json-primitive.md +105 -0
  539. package/docs/rules/prefer-type-fest-json-value.md +107 -0
  540. package/docs/rules/prefer-type-fest-keys-of-union.md +139 -0
  541. package/docs/rules/prefer-type-fest-literal-union.md +118 -0
  542. package/docs/rules/prefer-type-fest-merge-exclusive.md +118 -0
  543. package/docs/rules/prefer-type-fest-non-empty-tuple.md +115 -0
  544. package/docs/rules/prefer-type-fest-omit-index-signature.md +196 -0
  545. package/docs/rules/prefer-type-fest-partial-deep.md +133 -0
  546. package/docs/rules/prefer-type-fest-primitive.md +106 -0
  547. package/docs/rules/prefer-type-fest-promisable.md +246 -0
  548. package/docs/rules/prefer-type-fest-readonly-deep.md +151 -0
  549. package/docs/rules/prefer-type-fest-require-all-or-none.md +149 -0
  550. package/docs/rules/prefer-type-fest-require-at-least-one.md +155 -0
  551. package/docs/rules/prefer-type-fest-require-exactly-one.md +240 -0
  552. package/docs/rules/prefer-type-fest-require-one-or-none.md +165 -0
  553. package/docs/rules/prefer-type-fest-required-deep.md +123 -0
  554. package/docs/rules/prefer-type-fest-schema.md +161 -0
  555. package/docs/rules/prefer-type-fest-set-non-nullable.md +145 -0
  556. package/docs/rules/prefer-type-fest-set-optional.md +133 -0
  557. package/docs/rules/prefer-type-fest-set-readonly.md +136 -0
  558. package/docs/rules/prefer-type-fest-set-required.md +140 -0
  559. package/docs/rules/prefer-type-fest-simplify.md +168 -0
  560. package/docs/rules/prefer-type-fest-tagged-brands.md +278 -0
  561. package/docs/rules/prefer-type-fest-tuple-of.md +250 -0
  562. package/docs/rules/prefer-type-fest-unknown-array.md +126 -0
  563. package/docs/rules/prefer-type-fest-unknown-map.md +123 -0
  564. package/docs/rules/prefer-type-fest-unknown-record.md +130 -0
  565. package/docs/rules/prefer-type-fest-unknown-set.md +123 -0
  566. package/docs/rules/prefer-type-fest-unwrap-tagged.md +133 -0
  567. package/docs/rules/prefer-type-fest-value-of.md +121 -0
  568. package/docs/rules/prefer-type-fest-writable-deep.md +113 -0
  569. package/docs/rules/prefer-type-fest-writable.md +139 -0
  570. package/docs/rules/presets/all.md +102 -0
  571. package/docs/rules/presets/index.md +124 -0
  572. package/docs/rules/presets/minimal.md +37 -0
  573. package/docs/rules/presets/recommended-type-checked.md +37 -0
  574. package/docs/rules/presets/recommended.md +116 -0
  575. package/docs/rules/presets/strict.md +98 -0
  576. package/docs/rules/presets/ts-extras-type-guards.md +45 -0
  577. package/docs/rules/presets/type-fest-types.md +68 -0
  578. package/package.json +574 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,1814 @@
1
+ <!-- markdownlint-disable -->
2
+ <!-- eslint-disable markdown/no-missing-label-refs -->
3
+ # Changelog
4
+
5
+ All notable changes to this project will be documented in this file.
6
+
7
+ ## [Unreleased]
8
+
9
+
10
+ [[d233b9c](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d233b9c2b49f5f87e10e2c2ee04deed9765f54a3)...
11
+ [aeb72ee](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/aeb72eeeb9be48054bf96209b07ff62e9f777d33)]
12
+ ([compare](https://github.com/Nick2bad4u/eslint-plugin-typefest/compare/d233b9c2b49f5f87e10e2c2ee04deed9765f54a3...aeb72eeeb9be48054bf96209b07ff62e9f777d33))
13
+
14
+
15
+ ### โœจ Features
16
+
17
+ - โœจ [feat] Update test coverage scripts and enhance JUnit reporting
18
+ - ๐Ÿ”ง Modify coverage job to run tests with JUnit report generation
19
+ - ๐Ÿ“„ Add verification for JUnit artifact existence
20
+ - ๐Ÿ“ค Implement upload of test results to Codecov
21
+ - ๐Ÿ” Refactor assertions in prefer-ts-extras-is-empty, prefer-ts-extras-is-infinite, and prefer-ts-extras-not tests to use regex matching for improved accuracy
22
+
23
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fe9b0b3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fe9b0b3d4133560154045a82ec981920ba847574)
24
+
25
+
26
+ - โœจ [feat] Add ESLint 9 compatibility checks and update documentation
27
+ - ๐Ÿ› ๏ธ [fix] Implement ESLint 9 compatibility smoke checks in a new script
28
+ - ๐Ÿ”ง [build] Update CI configuration to include ESLint 9 compatibility job
29
+ - ๐Ÿ“ [docs] Add compatibility section to README with supported ESLint versions
30
+ - ๐Ÿ”ง [build] Update package.json and package-lock.json for ESLint 9 compatibility
31
+ - ๐Ÿšœ [refactor] Simplify regex patterns in typed-rule.ts for test file detection
32
+
33
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8e7a5a8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8e7a5a8890c707d01bd8af285ff7bd3eb53a9698)
34
+
35
+
36
+ - โœจ [feat] Enhance ESLint Benchmarking and Add New Fixtures
37
+ - ๐Ÿ› ๏ธ [fix] Update ESLint rule types to use `import("eslint").Linter.RulesRecord` for better type safety.
38
+ - โœจ [feat] Introduce new benchmark file globs for `recommendedZeroMessageFixture` and `safeCastToStressFixture`.
39
+ - ๐Ÿ“ [docs] Add `recommended-zero-message.baseline.ts` to provide a baseline workload for the recommended preset.
40
+ - ๐Ÿ“ [docs] Create `safe-cast-to.stress.ts` to test the `prefer-ts-extras-safe-cast-to` rule under stress conditions.
41
+ - โšก [perf] Improve `assertMeaningfulBenchmarkSignal` to accept options for maximum and minimum reported problems.
42
+ - โœจ [feat] Add new benchmarks for the `prefer-ts-extras-safe-cast-to` rule with both fixing and non-fixing scenarios.
43
+ - ๐Ÿ‘ท [ci] Update `run-eslint-stats.mjs` to handle new benchmark scenarios and improve reporting with comparison capabilities.
44
+ - ๐Ÿงน [chore] Introduce `codecov.yml` for better coverage reporting and management.
45
+ - ๐ŸŽจ [style] Refactor `lint-actionlint.mjs` to improve output readability with colored console messages.
46
+ - โšก [perf] Optimize `vite.config.ts` to include source files in coverage reporting.
47
+
48
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(72b72c3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/72b72c3d76e79c5c48b80909a5f26f5d304afd53)
49
+
50
+
51
+ - โœจ [feat] Update rules to require 'frozen: false' for typefest ESLint rules
52
+ - ๐Ÿ“ Added 'frozen: false' to the documentation of multiple TypeFest ESLint rules to indicate that these rules are not frozen and can be modified in the future.
53
+
54
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(110d7dd)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/110d7dd4ad77096226ed311227c6e9dc54b8669a)
55
+
56
+
57
+ - โœจ [feat] Adds preset-tagged rule recommendations
58
+
59
+ โœจ [feat] Expands rule documentation metadata to support preset-based recommendation tags, so guidance maps cleanly to multiple preset levels.
60
+ - Adds stricter metadata typing to improve consistency and catch invalid recommendation values earlier.
61
+
62
+ โœจ [feat] Populates recommendation targets across the rule set, including core preset tiers and specialized preset groups.
63
+ - Improves downstream docs and config tooling by making recommendation intent explicit per rule.
64
+
65
+ ๐Ÿ› ๏ธ [fix] Tightens runtime validation for optional configuration inputs and nullable objects.
66
+ - Prevents empty or non-string values from being treated as valid and reduces fragile fallback behavior.
67
+
68
+ ๐Ÿšœ [refactor] Applies consistency cleanups in scripts and internal utilities, including style normalization and stricter readonly typing.
69
+ ๐Ÿงช [test] Updates test helpers and mocks to align with stricter type expectations and explicit undefined checks.
70
+
71
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(155c352)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/155c352f4fdb9a3ac38104a5b11b67ede23aefe4)
72
+
73
+
74
+ - โœจ [feat] Enhance TypeFest rule tests with detailed metadata and messages
75
+ - ๐Ÿ› ๏ธ [fix] Refactor rule tests to include `ruleId`, `docsDescription`, and `messages` for better clarity and maintainability
76
+ - ๐Ÿ“ [docs] Update documentation strings to specify the purpose of each rule, emphasizing the preference for TypeFest types over aliases
77
+ - ๐Ÿ”ง [build] Add inline invalid and valid test cases for various TypeFest rules, ensuring comprehensive coverage
78
+ - โšก [perf] Optimize test structure by consolidating repetitive code patterns into reusable functions
79
+ - ๐Ÿงช [test] Introduce new test cases for edge scenarios, including whitespace formatting and generic type handling
80
+
81
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db8f3d9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/db8f3d907e5b7dff0f98dc648045e96776573ba2)
82
+
83
+
84
+ - โœจ [feat] Enhance prefer-ts-extras-is-equal-type tests with metadata validation
85
+ - ๐Ÿ“ Add metadata loading function for `prefer-ts-extras-is-equal-type` rule
86
+ - โœ… Implement tests for stable report and suggestion messages
87
+ - ๐Ÿ” Include checks for default options, documentation, and suggestion messages
88
+ - ๐Ÿ”„ Add inline code examples for conflicting bindings and named imports
89
+
90
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b7735ff)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b7735fff0c81b9b0e938e11e80f466824d347ee6)
91
+
92
+
93
+ - โœจ [feat] Enhance prefer-ts-extras-is-equal-type rule with ts-extras integration
94
+ - ๐Ÿ› ๏ธ [fix] Add support for isEqualType function from ts-extras in ESLint rule
95
+ - ๐Ÿ”ง [build] Update test fixtures to include ts-extras imports and expected outputs
96
+ - ๐Ÿงช [test] Extend tests for aliased imports and ensure correct suggestions are provided
97
+
98
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(64beea6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/64beea69975339a2924f307a80baf25d38e4c3c7)
99
+
100
+
101
+ - โœจ [feat] Introduce local Typefest plugin dogfooding rules
102
+ - Added local Typefest plugin for manual dogfooding in ESLint configuration
103
+ - Defined explicit rules for Typefest utilities to enhance linting experience
104
+ - Updated section headers from "MARK" to "SECTION" for consistency across the config
105
+
106
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(df8b7be)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/df8b7be5d4074457f8d826c979149f8f861f7c73)
107
+
108
+
109
+ - โœจ [feat] Implement script for temp directory cleanup
110
+ - ๐Ÿ› ๏ธ Update hooks to use new PowerShell script for removing temp files
111
+ - ๐Ÿ› ๏ธ Replace inline commands with calls to `.github/hooks/scripts/remove-temp.ps1`
112
+ - ๐Ÿ› ๏ธ Add logging prompts for Linux and OSX in hooks
113
+ - ๐Ÿ“ Create `remove-temp.ps1` script to handle temp directory cleanup
114
+
115
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(98e032b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/98e032b352efbe56862f5912aaab20d094319018)
116
+
117
+
118
+ - โœจ [feat] Update node configuration and dependencies
119
+ - ๐Ÿ”ง Change "test" directory to "tests" in node options for file system read permissions
120
+ - ๐Ÿ”ง Add additional files to allow file system read permissions including package-lock.json, tsconfig.build.json, eslint.config.js, README.md, CHANGELOG.md, and LICENSE
121
+ - ๐Ÿ”ง Enable extra info on fatal exceptions in node options
122
+ - ๐Ÿ”ง Update test runner configuration to include new test file patterns and coverage settings
123
+ - ๐Ÿ”ง Add support for TypeScript files with .mts extension in coverage include patterns
124
+ - ๐Ÿ”ง Update test coverage thresholds for branches, functions, and lines to 80%
125
+ - ๐Ÿ”ง Adjust test concurrency settings based on CI environment
126
+
127
+ ๐Ÿ”ง [chore] Update package dependencies
128
+ - ๐Ÿ”ง Add @stryker-ignorer/console-all package for improved mutation testing
129
+ - ๐Ÿ”ง Update stylelint-plugin-use-baseline to version 1.2.4
130
+ - ๐Ÿ”ง Update typedoc-plugin-dt-links to version 2.0.43
131
+ - ๐Ÿ”ง Remove eslint-plugin-no-hardcoded-strings as it is no longer needed
132
+
133
+ ๐Ÿงช [test] Enhance test coverage for imported type aliases and value symbols
134
+ - ๐Ÿงช Add new tests for createSafeTypeNodeReplacementFix and createSafeTypeNodeTextReplacementFix functions
135
+ - ๐Ÿงช Implement tests for imported-value-symbols including collectDirectNamedValueImportsFromSource and related functions
136
+ - ๐Ÿงช Ensure tests cover various scenarios including type-only imports, different source modules, and multiple local aliases
137
+
138
+ ๐Ÿงช [test] Add tests for plugin source configurations
139
+ - ๐Ÿงช Verify that plugin configurations build correctly and contain expected rules
140
+ - ๐Ÿงช Ensure parser defaults and plugin namespace are registered properly
141
+
142
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5c39e3d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5c39e3d5254fd081c9bd94a35933f21cd396893e)
143
+
144
+
145
+ - โœจ [feat] Add Stryker mutation testing configuration
146
+ - ๐Ÿ› ๏ธ [config] Create .github/workflows/stryker.yml for scheduled and manual mutation testing
147
+ - ๐Ÿ”ง [build] Update package.json scripts for Stryker with concurrency and incremental file options
148
+ - ๐Ÿ”ง [build] Upgrade knip dependency to version 5.85.0
149
+ - ๐Ÿ› ๏ธ [config] Enhance stryker.config.mjs with dashboard integration and improved concurrency settings
150
+ - ๐Ÿ› ๏ธ [config] Adjust thresholds for mutation testing to improve quality metrics
151
+
152
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7608574)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7608574ff670f60b3822c80f981c06e41e61e748)
153
+
154
+
155
+ - โœจ [feat] Update ESLint configuration and dependencies
156
+ - ๐Ÿ”ง Update environment variable for JSON schema validation from `UW_ENABLE_JSON_SCHEMA_VALIDATION` to `ENABLE_JSON_SCHEMA_VALIDATION`
157
+ - ๐Ÿ”ง Change ESLint progress mode variable from `UW_ESLINT_PROGRESS` to `ESLINT_PROGRESS`
158
+ - ๐Ÿ”ง Upgrade `eslint-plugin-node-dependencies` from `1.3.0` to `2.0.0`
159
+ - ๐Ÿ”ง Update dependencies in `eslint-plugin-node-dependencies` to their latest versions
160
+ - ๐Ÿ”ง Modify `package.json` to reflect the updated version of `eslint-plugin-node-dependencies`
161
+
162
+ ๐Ÿ› ๏ธ [fix] Refactor internal logic for variable resolution in scope
163
+ - ๐Ÿ”ง Introduce `getVariableInScopeChain` to streamline variable resolution across scopes
164
+ - ๐Ÿ”ง Refactor `isLocalNameBoundToExpectedImport` to utilize the new variable resolution function
165
+
166
+ โœจ [feat] Enhance TypeFest plugin rule definitions
167
+ - ๐Ÿ”ง Define new rule names for TypeFest and TypeScript extras
168
+ - ๐Ÿ”ง Refactor `typefestRules` to use a more structured approach for rule definitions
169
+ - ๐Ÿ”ง Update the `TypefestRuleId` and `TypefestRuleName` types for better type safety
170
+
171
+ ๐Ÿงช [test] Improve typed rule tester and runtime tests
172
+ - ๐Ÿ”ง Specify the type of `typedRuleTester` for better type inference
173
+ - ๐Ÿ”ง Refactor runtime tests to ensure proper mocking and reset of modules
174
+
175
+ ๐Ÿ“ [docs] Update TypeScript configuration files
176
+ - ๐Ÿ”ง Set `isolatedDeclarations` to `true` in `tsconfig.build.json` for better module isolation
177
+ - ๐Ÿ”ง Adjust `tsconfig.eslint.json` to include `isolatedDeclarations` for consistency
178
+ - ๐Ÿ”ง Modify `tsconfig.json` to enable `declaration` and `declarationMap` for improved type definitions
179
+
180
+ ๐ŸŽจ [style] Refactor Vite configuration for clarity
181
+ - ๐Ÿ”ง Define `vitestConfig` with explicit type for better readability and maintainability
182
+
183
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8afc040)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8afc040b174fd9de7074b1ef149837163aa8dddf)
184
+
185
+
186
+ - โœจ [feat] Adds import-safe autofixes to lint rules
187
+
188
+ โœจ [feat] Expands many helper/type preference diagnostics to deliver automatic fixes or targeted suggestions, reducing manual migrations while keeping behavior stable.
189
+ - Applies rewrites only when required imports exist and local scope checks confirm replacements are safe.
190
+ - Falls back to non-fixing reports or suggestions when safety cannot be proven.
191
+ - Tightens pattern matching for guard, nullish, and infinity checks so automatic rewrites only occur for semantically reliable forms.
192
+
193
+ ๐Ÿšœ [refactor] Introduces shared safe-replacement utilities for full type-node and custom-text substitutions, unifying fix generation across value and type rule paths.
194
+
195
+ ๐Ÿ› ๏ธ [fix] Preserves runtime boolean semantics in type-equality rewrites to prevent logical drift during suggested replacements.
196
+
197
+ ๐Ÿ”ง [build] Updates lint-related dependency versions to align with newer parser/plugin compatibility.
198
+
199
+ ๐Ÿงช [test] Adds broad invalid-case coverage with expected autofix and suggestion outputs to verify safety gates and rewrite correctness.
200
+
201
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bfc3d8d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bfc3d8d98165dd6866d558d059a2f6cd46369752)
202
+
203
+
204
+ - โœจ [feat] Adds safe autofixes for preference rules
205
+
206
+ โœจ [feat] Enables automatic rewrites to preferred utility-style calls when compatible value imports are already in scope.
207
+ - Improves rule usability by turning actionable guidance into one-step fixes.
208
+ - Preserves behavior by rewriting receiver-based method/member usage into equivalent function-call forms.
209
+
210
+ ๐Ÿšœ [refactor] Introduces shared, scope-aware import resolution and fixer builders used across array/object preference checks.
211
+ - Resolves direct named and aliased value imports while ignoring type-only imports.
212
+ - Verifies symbol binding through scope lookup to avoid unsafe fixes when names are shadowed or unresolved.
213
+ - Applies fixes only for safe syntax patterns and marks the updated rules as code-fixable for consistent tooling behavior.
214
+
215
+ ๐Ÿงช [test] Expands coverage with inline autofix scenarios for all updated preference checks.
216
+ - Validates expected transformed output when safe imports exist.
217
+ - Retains non-fixable and report-only paths to reduce regression risk.
218
+
219
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25a1784)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/25a1784bf26d1d3e9023f21ed2d2023e1d628e02)
220
+
221
+
222
+ - โœจ [feat] Add authors configuration for blog
223
+ - Introduced authors.yml to define contributors for the blog
224
+ - Added Alice Example with image, title, and social links
225
+ - Added Nick2bad4u with image, title, permalink, and social links
226
+
227
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(53bf4a6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/53bf4a66503c9a0274fea8af7b4cc1ee70c485ac)
228
+
229
+
230
+ - โœจ [feat] Add favicon and enhance ESLint Config Inspector build script
231
+ - ๐Ÿ†• Introduce favicon.ico to Docusaurus static assets for improved branding
232
+ - ๐Ÿ”ง Refactor build-eslint-inspector.mjs to streamline the build process
233
+ - ๐Ÿ“ฆ Implement local testing version creation for easier development
234
+ - ๐Ÿ”„ Update asset path fixing logic for better subdirectory deployment
235
+ - ๐Ÿ“„ Create index redirect page for improved SEO and usability
236
+
237
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2359e0c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2359e0c73d136715759ac931708f1f494a23a447)
238
+
239
+
240
+ - โœจ [feat] Enhance documentation and CI workflow
241
+ - ๐Ÿ“ [docs] Add CLI debugging and config inspection guide
242
+ - ๐Ÿ“ [docs] Create IDE integration guide for VS Code
243
+ - ๐Ÿ“ [docs] Introduce maintainer performance profiling documentation
244
+ - ๐Ÿ“ [docs] Provide examples for Node.js ESLint API usage
245
+ - ๐Ÿ”ง [build] Update deploy workflow to include full git history and build steps
246
+ - ๐Ÿ› ๏ธ [fix] Add processors property to plugin contract for compatibility
247
+ - ๐Ÿงช [test] Implement rule metadata integrity tests to ensure proper documentation and schema
248
+ - ๐ŸŽจ [style] Add logo images for improved branding
249
+
250
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a8ce34a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a8ce34af2b417febf44ca290ff535ba226c44a7f)
251
+
252
+
253
+ - โœจ [feat] Integrate Stryker for mutation testing and enhance changelog generation
254
+ - ๐Ÿ”ง Add scripts for changelog generation, preview, and release notes using git-cliff
255
+ - ๐Ÿ› ๏ธ Introduce Stryker configuration for mutation testing with TypeScript support
256
+ - ๐Ÿงช Add mutation testing commands to package.json for local and CI environments
257
+ - ๐ŸŽจ Create a new vitest configuration file for Stryker to manage test execution
258
+ - ๐Ÿ“ Update tsconfig for ESLint to include new vitest configuration
259
+ - ๐ŸŽจ Refactor type casting in imported-type-aliases test for improved readability
260
+ - ๐ŸŽจ Adjust formatting in prefer-type-fest-tagged-brands test for consistency
261
+
262
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2c6b5ef)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2c6b5ef32519e49d3162d67786ba71cce83daf01)
263
+
264
+
265
+ - โœจ [feat] Adds TypeFest typing preference rules
266
+
267
+ โœจ [feat] Expands typed linting to standardize common type patterns on canonical utility aliases.
268
+ - Replaces ad-hoc constructor, abstract-constructor, deep utility, and exclusive-union patterns with consistent utility-first guidance.
269
+ - Improves type consistency across projects and reduces alias drift between teams.
270
+ - Preserves better literal-union authoring ergonomics while keeping primitive compatibility.
271
+
272
+ ๐Ÿšœ [refactor] Updates plugin registration and typed rule grouping to include the new preferences.
273
+ - Ensures new rules are exposed and categorized with existing type-focused rule sets.
274
+ - Keeps test-file paths excluded to avoid noisy or misleading diagnostics in test code.
275
+
276
+ ๐Ÿ“ [docs] Adds full rule documentation for each new preference.
277
+ - Provides rationale, incorrect/correct examples, flat-config usage, and opt-out guidance to support adoption.
278
+
279
+ ๐Ÿงช [test] Adds typed fixtures and rule coverage for valid, invalid, and skipped-path scenarios.
280
+ - Confirms diagnostics trigger only on intended patterns and remain silent in test fixtures.
281
+
282
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(dcd7a6f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/dcd7a6ffeea657c615551a71e08bcf6e7afbc4df)
283
+
284
+
285
+ - โœจ [feat] Add modern docs UI enhancements
286
+
287
+ โœจ [feat] Adds a client-side enhancement module to improve documentation site UX with scroll progress feedback, interactive hover behavior, fallback reveal animations, theme-toggle animation, dynamic accents, and desktop cursor lighting.
288
+ - Re-initializes effects after route transitions and cleans up listeners, observers, timers, and injected elements to keep SPA navigation stable and prevent stale handlers.
289
+ - Respects reduced-motion preferences and mobile breakpoints so enhancements stay accessible and lightweight across devices.
290
+
291
+ ๐Ÿ“ [docs] Updates rule and test helper comments to use clearer, more consistent parameter and return wording.
292
+ - Improves readability and maintenance confidence without changing runtime or linting behavior.
293
+
294
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d81f477)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d81f47784ebb46ade581d9f8f58fd073bd088608)
295
+
296
+
297
+ - โœจ [feat] Enhance documentation structure and content for eslint-plugin-typefest
298
+ - ๐Ÿ“ [docs] Update docusaurus configuration to include new pages for rules overview and getting started
299
+ - ๐Ÿ“ [docs] Add new sidebar categories and links for presets and rules
300
+ - ๐Ÿ“ [docs] Create detailed markdown files for each preset: minimal, recommended, strict, all, type-fest types, and type-guards
301
+ - ๐Ÿ“ [docs] Introduce getting started and overview documentation to guide users
302
+ - ๐ŸŽจ [style] Update CSS styles to accommodate new sidebar categories and enhance visual hierarchy
303
+ - ๐Ÿงน [chore] Add type definitions for custom CSS modules to improve TypeScript support
304
+ - ๐Ÿ”ง [build] Include typed-css-modules in package.json for CSS module type generation
305
+ - ๐Ÿงน [chore] Clean up package.json and package-lock.json to ensure proper dependency management
306
+
307
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a73ec43)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a73ec4395f4b8c8977837a94ca16fbb998da3989)
308
+
309
+
310
+ - โœจ [feat] Update Docusaurus homepage links and text
311
+ - ๐Ÿ”— Change the primary button link from "/docs/getting-started" to "/docs/intro"
312
+ - ๐Ÿ“ Update button text from "Read the docs" to "Start with Overview"
313
+ - ๐Ÿ”— Change the secondary button link from "/docs/rules" to "/docs/developer/api"
314
+ - ๐Ÿ“ Update button text from "Browse rules" to "Explore Developer API"
315
+
316
+ ๐Ÿ› ๏ธ [fix] Enhance ESLint configuration for CSS and Docusaurus
317
+ - ๐ŸŽจ Add new ESLint plugins: "@docusaurus/eslint-plugin", "eslint-plugin-css-modules", "eslint-plugin-no-hardcoded-strings", and "eslint-plugin-undefined-css-classes"
318
+ - โš™๏ธ Update ESLint rules for CSS files to include checks for empty blocks and undefined CSS classes
319
+ - ๐Ÿ”ง Adjust Docusaurus ESLint rules to improve code quality and maintainability
320
+
321
+ ๐Ÿ”ง [build] Update package dependencies
322
+ - ๐Ÿ“ฆ Upgrade "eslint-plugin-compat" to version 6.2.0
323
+ - ๐Ÿ“ฆ Upgrade "eslint-plugin-jsdoc" to version 62.6.0
324
+ - ๐Ÿ“ฆ Upgrade "eslint-plugin-sonarjs" to version 4.0.0
325
+ - ๐Ÿ“ฆ Upgrade "eslint-plugin-storybook" to version 10.2.10
326
+ - ๐Ÿ“ฆ Upgrade "eslint-plugin-toml" to version 1.1.1
327
+ - ๐Ÿ“ฆ Upgrade "eslint-plugin-yml" to version 3.2.1
328
+ - ๐Ÿ“ฆ Upgrade "storybook" to version 10.2.10
329
+ - ๐Ÿ“ฆ Upgrade "typescript" peer dependency to version 5.9.3
330
+
331
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(413a896)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/413a896d53a2576852b4bc02e554478137e50477)
332
+
333
+
334
+ - โœจ [feat] Enhance ESLint Plugin and Documentation
335
+
336
+ - ๐Ÿ› ๏ธ [build] Add workspaces support for Docusaurus in package.json
337
+ - ๐Ÿ“ [docs] Introduce new scripts for documentation management:
338
+ - ๐Ÿ“œ [scripts] Add build-eslint-inspector.mjs to build static ESLint Config Inspector
339
+ - ๐Ÿ”— [scripts] Implement check-doc-links.mjs to verify documentation links
340
+ - ๐Ÿงน [scripts] Create lint-actionlint.mjs for linting GitHub Actions workflows
341
+ - โœ… [scripts] Add verify-eslint-inspector.mjs to validate ESLint Inspector integration
342
+ - ๐Ÿ› ๏ธ [fix] Update tsconfig.eslint.json to include TypeScript files in docs directory
343
+ - ๐Ÿ“ [docs] Add tsdoc.json for TypeScript documentation configuration
344
+ - ๐Ÿงน [chore] Clean up and optimize existing scripts for better maintainability
345
+
346
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(17f1583)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/17f1583bc3a8ca11d587c827ac23d73895fd8c98)
347
+
348
+
349
+ - โœจ [feat] Enhance TypeFest ESLint Plugin with TypeScript Support
350
+ - ๐Ÿ†• Add TypeScript parser as a dependency to improve compatibility with TypeScript files.
351
+ - ๐Ÿ”ง Update package.json to include TypeScript as a peer dependency, ensuring users have the correct version.
352
+ - ๐Ÿ› ๏ธ Refactor plugin structure to utilize TypeScript types for improved type safety and clarity.
353
+ - ๐Ÿ“œ Introduce detailed documentation for ESLint rules related to TypeFest and TypeScript utilities.
354
+ - ๐Ÿ”„ Restructure rule definitions to enhance maintainability and readability.
355
+ - ๐Ÿงช Update tests to validate new configurations and ensure all rules are correctly registered.
356
+ - ๐Ÿ” Ensure that experimental rules are properly categorized and excluded from stable configurations.
357
+ - ๐Ÿ“ Modify test cases to reflect changes in the plugin's configuration structure and rule registration.
358
+
359
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(58d2f8d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/58d2f8dad12ea27c2417c65490cc542b18a0bcbd)
360
+
361
+
362
+ - โœจ [feat] Add new ESLint rules for TypeScript extras
363
+ - ๐ŸŽ‰ Introduced `prefer-ts-extras-is-equal-type` rule to encourage the use of `isEqualType<T, U>()` from `ts-extras` over `IsEqual<T, U>` boolean assertions.
364
+ - ๐ŸŽ‰ Introduced `prefer-ts-extras-is-present` rule to promote the use of `isPresent(value)` from `ts-extras` instead of inline nullish comparisons outside filter callbacks.
365
+ - ๐Ÿ› ๏ธ Implemented logic to identify and suggest replacements for `IsEqual<T, U>` and nullish checks in the codebase.
366
+ - ๐Ÿ“š Updated documentation links for both rules to ensure users can access relevant information.
367
+
368
+ ๐Ÿงช [test] Add tests for new ESLint rules
369
+ - โœ… Created test cases for `prefer-ts-extras-is-equal-type` to validate correct identification and suggestion of type equality checks.
370
+ - โœ… Created test cases for `prefer-ts-extras-is-present` to ensure proper detection of nullish comparisons and provide suggestions for using `isPresent`.
371
+
372
+ ๐Ÿ“ [docs] Update documentation and test fixtures
373
+ - ๐Ÿ“„ Added new documentation files for the newly created rules to guide users on their usage.
374
+ - ๐Ÿ“„ Created valid and invalid test fixtures for both rules to ensure comprehensive testing coverage.
375
+
376
+ ๐ŸŽจ [style] Refactor existing test and configuration files
377
+ - ๐Ÿงน Cleaned up import statements in test files for consistency.
378
+ - ๐Ÿงน Adjusted test structure to improve readability and maintainability.
379
+
380
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e731149)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e7311497fccdd2a094cde912c332f28b562a9adb)
381
+
382
+
383
+ - โœจ [feat] Enhance ESLint configuration with new rules and plugins
384
+ - ๐Ÿ”ง Import `defineConfig` and `globalIgnores` from `@eslint/config-helpers`
385
+ - ๐Ÿ”ง Update ESLint rules to include `@eslint-community/eslint-comments` for better comment handling
386
+ - ๐Ÿ”ง Reintroduce TypeScript rules for `tsdoc` and `unused-imports`
387
+ - ๐Ÿ”ง Adjust various rule settings for improved linting accuracy and performance
388
+
389
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2cb3cac)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2cb3cac8a808b97edc8e28aecad7c65bce1c22b0)
390
+
391
+
392
+ - โœจ [feat] Introduce new rules for TypeScript extras
393
+
394
+ - โœจ [feat] Add `prefer-ts-extras-as-writable` rule
395
+ - Enforces the use of `asWritable(value)` from `ts-extras` over `Writable<T>` assertions from `type-fest`.
396
+ - Includes logic to identify and report incorrect usages in TypeScript files.
397
+ - Provides comprehensive tests for valid and invalid cases.
398
+
399
+ - โœจ [feat] Add `prefer-ts-extras-safe-cast-to` rule
400
+ - Requires the use of `safeCastTo<T>(value)` from `ts-extras` for type-safe assertions instead of direct `as` casts.
401
+ - Implements checks to ensure type safety and reports violations.
402
+ - Includes tests to validate the functionality of the rule.
403
+
404
+ - ๐Ÿ› ๏ธ [fix] Update imports to use `import type` for TypeScript types
405
+ - Changes imports in multiple files to use `import type` for better type-only imports, improving performance and clarity.
406
+
407
+ - ๐Ÿงช [test] Add tests for new rules
408
+ - Comprehensive test cases for both `prefer-ts-extras-as-writable` and `prefer-ts-extras-safe-cast-to` rules.
409
+ - Includes valid and invalid scenarios to ensure robust rule enforcement.
410
+
411
+ - ๐Ÿงน [chore] Update rule tester utilities
412
+ - Adjustments to the rule tester to accommodate new rules and ensure compatibility with existing tests.
413
+
414
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7702d74)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7702d7457c6a6f278e1a3ed786e9c46fa04dc6d0)
415
+
416
+
417
+ - โœจ [feat] Add .madgerc and .npmpackagejsonlintrc.json configuration files
418
+ - Introduced .madgerc for managing TypeScript file extensions and visualization settings
419
+ - Configured file extensions including ts, tsx, js, and others for better compatibility
420
+ - Set up detective options for TypeScript and TSX with specific configurations
421
+ - Added .npmpackagejsonlintrc.json for npm package JSON linting rules
422
+ - Defined strict rules for dependencies, devDependencies, and various package properties
423
+ - Included validation for author names and license types to ensure compliance
424
+
425
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(52dea7a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/52dea7a2b170f4a07f7975d2c12f26773aa6fd5c)
426
+
427
+
428
+ - โœจ [feat] Enhance ESLint configuration and testing setup
429
+ - ๐Ÿ”ง [build] Update global ignores to include test fixtures
430
+ - ๐Ÿ”ง [build] Modify test file patterns for improved matching
431
+ - ๐Ÿงช [test] Refactor assertions to use toBeTruthy() for clarity
432
+ - ๐Ÿงช [test] Update test descriptions for better readability
433
+ - ๐Ÿงช [test] Ensure all exported configs register the plugin correctly
434
+ - ๐Ÿงช [test] Validate existence of documentation files for rules
435
+ - ๐Ÿ”ง [build] Adjust Vite configuration for parallel test execution
436
+
437
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(570a740)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/570a7402f6ea936368bf1dd9364c107327357582)
438
+
439
+
440
+ - โœจ [feat] Adds canonical TypeFest alias lint rules
441
+
442
+ โœจ [feat] Adds new typed lint coverage that prefers canonical utility-type naming for index-signature omission and key-level non-nullable, readonly, and required transformations.
443
+ - Reduces migration friction across utility libraries and keeps public typing patterns consistent.
444
+ - Keeps intentional test-file skip behavior so checks stay focused on production-facing type usage.
445
+
446
+ ๐Ÿ“ [docs] Documents the new rule set with clear check scope and rationale.
447
+ - Improves discoverability and explains why canonical naming is enforced.
448
+
449
+ ๐Ÿ”ง [build] Updates lint and test infrastructure to better support rule adoption and test reliability.
450
+ - Introduces a dedicated test lint profile with testing-focused plugins and safeguards against focused-only tests.
451
+ - Adds serial and parallel test run scripts plus environment-driven worker and file-parallelism controls for faster local runs and safer CI defaults.
452
+ - Expands resolver project coverage and aligns configuration compatibility notes for newer ESLint runtime behavior.
453
+
454
+ ๐Ÿงช [test] Adds comprehensive fixtures and rule tests for valid, invalid, namespace, and test-path skip scenarios.
455
+ - Strengthens plugin export assertions so newly added rules stay registered in exposed presets.
456
+
457
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fdaf37b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fdaf37b4f0b1e9185e9d6b82c8cc11befb8f32d8)
458
+
459
+
460
+ - โœจ [feat] Adds canonical TypeFest alias rules
461
+
462
+ โœจ [feat] Adds typed lint coverage that flags imported legacy aliases for all-or-none and at-least-one key groups, and steers usage toward canonical TypeFest utilities to reduce semantic drift.
463
+ - โœจ [feat] Registers the new checks in exported rules and the minimal preset so enforcement is available by default.
464
+ - โœจ [feat] Aligns plugin rule availability by including a previously missing TypeFest preference rule in registration and presets.
465
+
466
+ ๐Ÿ“ [docs] Adds focused rule guides that explain detection scope and why canonical naming improves consistency and migration clarity.
467
+
468
+ ๐Ÿงช [test] Expands typed fixtures and rule tests for invalid alias imports, valid canonical usage, namespace import exceptions, and skip-on-test-file behavior.
469
+ - ๐Ÿงช [test] Improves existing typed fixtures with additional non-trigger patterns to better guard against false positives.
470
+
471
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f3d1dfc)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f3d1dfcb50479d3e1319af1e2f213eb5bb1692d1)
472
+
473
+
474
+ - โœจ [feat] Enforces canonical TypeFest aliases
475
+
476
+ โœจ [feat] Adds broad lint coverage to prefer canonical utility names over legacy or deprecated imported aliases.
477
+ - Improves consistency and lowers migration friction by standardizing type utility vocabulary.
478
+ - Avoids unsafe autofix where migration requires semantic rewrites.
479
+
480
+ ๐Ÿšœ [refactor] Centralizes imported type-alias detection in a shared internal matcher.
481
+ - Reduces duplicated rule logic and keeps alias matching behavior uniform across checks.
482
+
483
+ โœจ [feat] Expands preset exports with clearer semantic aliases and matching flat variants.
484
+ - Improves preset discoverability while preserving existing preset behavior.
485
+
486
+ ๐Ÿ”ง [build] Upgrades lint tooling to the latest major and updates flat-config compatibility handling.
487
+ - Improves reliability by conditionally skipping incompatible third-party presets.
488
+ - Improves lint runtime with caching, content-based cache strategy, and higher memory limits.
489
+
490
+ ๐Ÿ“ [docs] Documents new rule expectations and clarifies alias-based enforcement in existing guidance.
491
+
492
+ ๐Ÿงช [test] Adds comprehensive typed fixtures and rule coverage, including namespace-import pass cases, test-file skip scenarios, and helper property tests.
493
+
494
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(38e7310)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/38e73102067f20b68f8508b95171511b178e3705)
495
+
496
+
497
+ - โœจ [feat] Implement prefer-type-fest-non-empty-tuple rule
498
+ - ๐Ÿ“ Add documentation for the prefer-type-fest-non-empty-tuple rule
499
+ - ๐Ÿ› ๏ธ Create the prefer-type-fest-non-empty-tuple rule logic
500
+ - ๐Ÿ”ง Integrate the rule into the ESLint plugin
501
+ - ๐Ÿงช Add test cases for valid and invalid usages of NonEmptyTuple
502
+
503
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4715139)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4715139acd6f3d0f1d0e4a506eee30c84f5fea23)
504
+
505
+
506
+ - โœจ [feat] Enhance TypeScript Extras with New Array and Assertion Utilities
507
+ - ๐Ÿ†• [feat] Introduce `arrayFirst` and `arrayLast` utilities with valid and invalid test cases
508
+ - ๐Ÿ†• [feat] Add `assertDefined`, `assertError`, and `assertPresent` utilities with corresponding test cases
509
+ - ๐Ÿ†• [feat] Implement `isEmpty` and `isInfinite` checks with tests to validate their functionality
510
+ - ๐Ÿ†• [feat] Create `objectHasIn` utility for object property checks with tests
511
+ - ๐Ÿ†• [feat] Expand TypeFest integration with `Arrayable`, `JsonArray`, `JsonObject`, and `JsonPrimitive` types
512
+ - ๐Ÿ†• [feat] Add tests for TypeFest utilities to ensure correct usage and validation
513
+ - ๐Ÿงช [test] Add comprehensive tests for all new features to ensure expected behavior and error handling
514
+
515
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e2d0ec0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e2d0ec00a7925321774f10dcbf9c8237464584b3)
516
+
517
+
518
+ - โœจ [feat] Update package.json and package-lock.json with new remark packages
519
+ - Add "remark" and "remark-cli" for enhanced markdown processing
520
+ - Include "remark-lint" for linting markdown files
521
+
522
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a324362)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a3243623759d4219255e750c02b216e6bb5f224d)
523
+
524
+
525
+ - โœจ [feat] Update package.json and package-lock.json with new remark-lint rules
526
+ - ๐Ÿ†• Add "remark-lint-check-toc" version 1.0.0 for table of contents checks
527
+ - ๐Ÿ†• Add "remark-lint-heading-capitalization" version 1.3.0 for heading capitalization checks
528
+ - ๐Ÿ†• Add "remark-lint-list-item-spacing" version 5.0.1 for list item spacing checks
529
+ - ๐Ÿ†• Add "remark-lint-maximum-heading-length" version 4.1.1 for heading length checks
530
+ - ๐Ÿ†• Add "remark-lint-maximum-line-length" version 4.1.1 for line length checks
531
+ - ๐Ÿ†• Add "remark-lint-mdx-jsx-attribute-sort" version 1.0.1 for MDX JSX attribute sorting
532
+ - ๐Ÿ†• Add "remark-lint-mdx-jsx-no-void-children" version 1.0.1 for MDX JSX void children checks
533
+ - ๐Ÿ†• Add "remark-lint-no-duplicate-defined-urls" version 3.0.1 for duplicate URL checks
534
+ - ๐Ÿ†• Add "remark-lint-no-empty-url" version 4.0.1 for empty URL checks
535
+ - ๐Ÿ†• Add "remark-lint-no-file-name-mixed-case" version 3.0.1 for mixed case file name checks
536
+ - ๐Ÿ†• Add "remark-lint-no-heading-punctuation" version 4.0.1 for heading punctuation checks
537
+ - ๐Ÿ†• Add "remark-lint-no-literal-urls" version 4.0.1 for literal URL checks
538
+ - ๐Ÿ†• Add "remark-lint-strikethrough-marker" version 3.0.1 for strikethrough marker checks
539
+ - ๐Ÿ†• Add "remark-lint-table-cell-padding" version 5.1.1 for table cell padding checks
540
+
541
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(55a2687)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/55a26876bf6c5a78873fe449590b9fde596ec41d)
542
+
543
+
544
+ - โœจ [feat] Enhance TypeScript rule testing and add new type utilities
545
+
546
+ - ๐Ÿ”ง [build] Update `tsconfig` files to improve project structure and exclude unnecessary directories
547
+ - Adjust `tsconfig.build.json` to include `exclude` patterns for `.cache`, `dist`, and `node_modules`
548
+ - Modify `tsconfig.eslint.json` to include additional `include` patterns for TypeScript files
549
+ - Refactor `tsconfig.js.json` to streamline configuration and exclude unnecessary files
550
+ - Clean up `tsconfig.json` by removing redundant options and improving `exclude` patterns
551
+
552
+ - ๐Ÿ› ๏ธ [fix] Improve type safety in rule tests
553
+ - Refactor `typed-rule-tester.ts` to enhance project service options and allow default projects
554
+ - Create new test fixtures for `prefer-type-fest-*` rules to ensure proper type handling
555
+ - Update existing tests for `prefer-ts-extras-*` rules to use the new testing structure
556
+
557
+ - โœจ [feat] Introduce new type utilities using `type-fest`
558
+ - Add `prefer-type-fest-async-return-type` rule to enforce the use of `AsyncReturnType`
559
+ - Implement `prefer-type-fest-except` rule to promote the use of `Except` for type manipulation
560
+ - Create tests for `UnknownArray`, `UnknownMap`, and `UnknownSet` to validate type safety
561
+
562
+ - ๐Ÿงช [test] Add comprehensive tests for new and existing rules
563
+ - Implement tests for `prefer-type-fest-*` rules to ensure they function as expected
564
+ - Update test cases for `prefer-ts-extras-*` rules to align with new testing methodology
565
+
566
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c7085da)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c7085daeaa35a5fc9a980e327d28113b35a8dcee)
567
+
568
+
569
+ - โœจ [feat] Update dependencies and add Vite configuration for linting
570
+
571
+ - ๐Ÿ”ง [build] Upgrade various ESLint plugins and configurations in `package.json` to enhance linting capabilities
572
+ - Added new plugins: `@eslint/config-helpers`, `@eslint/css`, `@eslint/json`, `@eslint/markdown`, `@html-eslint/eslint-plugin`, `@html-eslint/parser`, `@vitest/eslint-plugin`, and many others for improved code quality and support for various file types
573
+ - Updated existing plugins to their latest versions for better performance and features
574
+ - Included `vite` and `vite-tsconfig-paths` for better integration with TypeScript and Vite tooling
575
+
576
+ - ๐ŸŽจ [style] Introduce `vite.config.ts` for Vitest configuration
577
+ - Configured Vitest to run linting and tooling tests with detailed coverage settings
578
+ - Set up environment variables and paths for better project structure and maintainability
579
+ - Defined test settings including coverage thresholds, file exclusions, and test timeouts to ensure robust testing practices
580
+ - Implemented caching and optimization settings for improved performance during test runs
581
+
582
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bd59068)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bd5906889751671df9f18db89fa218f2cbcd763c)
583
+
584
+
585
+ - โœจ [feat] Update package.json with new dependencies for enhanced linting and markdown processing
586
+ - ๐Ÿ†• Added "@double-great/remark-lint-alt-text" for alt text linting in markdown
587
+ - ๐Ÿ†• Included "@typescript-eslint/eslint-plugin" and "@typescript-eslint/parser" for improved TypeScript linting
588
+ - ๐Ÿ†• Introduced "actionlint" for GitHub Actions linting
589
+ - ๐Ÿ†• Added various "remark-lint" plugins to enforce markdown style and consistency
590
+ - ๐Ÿ†• Included "remark-math" and "rehype-katex" for better math rendering in markdown
591
+ - ๐Ÿ†• Added "remark-validate-links" to ensure all links in markdown are valid
592
+ - ๐Ÿ†• Included "remark-toc" for automatic table of contents generation in markdown files
593
+ - ๐Ÿ†• Added "remark-preset-lint-recommended" and other presets for consistent linting rules
594
+
595
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a7c1162)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a7c1162a1e8a86c7543310ef491fc7a4cbcaf1a9)
596
+
597
+
598
+ - โœจ [feat] Enhance ESLint Plugin with New Rules and TypeScript Configurations
599
+ - ๐Ÿ†• [feat] Introduce `prefer-ts-extras-array-concat` rule to enforce usage of `arrayConcat` from `ts-extras` for better typing.
600
+ - ๐Ÿ†• [feat] Add `prefer-ts-extras-is-finite`, `prefer-ts-extras-is-integer`, and `prefer-ts-extras-is-safe-integer` rules to promote consistent predicate helper usage over native `Number` methods.
601
+ - ๐Ÿ”ง [build] Update `package.json` to include new linting scripts for actions and prettier, and adjust TypeScript configurations for better build management.
602
+ - ๐Ÿ”ง [build] Modify `typecheck` script to include additional TypeScript configurations for comprehensive type checking.
603
+ - ๐Ÿ”ง [build] Update `tsconfig.json` and related configurations to improve project structure and build performance.
604
+ - ๐Ÿงช [test] Add tests for new rules to ensure correct functionality and adherence to coding standards.
605
+ - ๐Ÿงช [test] Create valid and invalid fixture files for each new rule to facilitate thorough testing.
606
+
607
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4c55f69)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4c55f695e4a6214348d084e0756ea4af6fac83f1)
608
+
609
+
610
+ - Add prefer-ts-extras rules for array and object utilities [`(e7bdca6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e7bdca6ae1d25f5fcd0ada0b2234d1cf86f5cf03)
611
+
612
+
613
+ - Add prefer-type-fest-value-of rule to enforce ValueOf<T> usage [`(6aa5b95)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6aa5b955e06d923a1e6754e3edb7fa378d095f0c)
614
+
615
+
616
+
617
+ ### ๐Ÿ› ๏ธ Bug Fixes
618
+
619
+ - ๐Ÿ› ๏ธ [fix] Remove unused prettier-plugin-jsdoc-type from configuration
620
+ - Eliminated "prettier-plugin-jsdoc-type" from the plugins list in multiple sections of the .prettierrc file
621
+
622
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d31bbc)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3d31bbc7a6e3e09429df3cc42c134218158c9ee2)
623
+
624
+
625
+ - ๐Ÿ› ๏ธ [fix] Update messages for TypeFest rule tests to improve clarity
626
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-set-non-nullable.test.ts` to specify making selected keys non-nullable instead of using legacy aliases.
627
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-set-optional.test.ts` to clarify making selected keys optional instead of using legacy aliases.
628
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-set-readonly.test.ts` to indicate marking selected keys as readonly instead of using legacy aliases.
629
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-set-required.test.ts` to specify making selected keys required instead of using legacy aliases.
630
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-simplify.test.ts` to clarify flattening resolved object and intersection types instead of using legacy aliases.
631
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-tagged-brands.test.ts` to indicate using canonical tagged-brand aliases instead of legacy aliases.
632
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-tuple-of.test.ts` to clarify modeling fixed-length homogeneous tuples instead of using legacy aliases.
633
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-unknown-array.test.ts` to specify using `Readonly<UnknownArray>` instead of legacy types.
634
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-unknown-map.test.ts` to clarify using `Readonly<UnknownMap>` instead of legacy types.
635
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-unknown-record.test.ts` to improve clarity on reporting unknown record aliases.
636
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-unknown-set.test.ts` to specify using `Readonly<UnknownSet>` instead of legacy types.
637
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-unwrap-tagged.test.ts` to clarify unwrapping Tagged/Opaque values instead of using legacy aliases.
638
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-value-of.test.ts` to improve clarity on indexed-access value unions.
639
+ - ๐Ÿ“ Refactor error messages in `prefer-type-fest-writable.test.ts` to specify removing readonly modifiers from selected keys instead of using legacy aliases.
640
+
641
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c606fd2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c606fd2b73ca23cfb48854fc0170aae43635d1c6)
642
+
643
+
644
+ - ๐Ÿ› ๏ธ [fix] Adds missing-import insertion to autofixes
645
+
646
+ ๐Ÿ› ๏ธ [fix] Improves autofix reliability by applying safe rewrites even when required helper imports are not already present.
647
+ - Adds import insertion for both type-level and value-level replacements, so fixes remain usable instead of failing closed.
648
+ - Preserves safety by keeping scope/shadowing checks before deciding whether direct names can be introduced.
649
+
650
+ ๐Ÿšœ [refactor] Unifies replacement generation behind shared fix builders to reduce duplicated rule logic.
651
+ - Centralizes how replacements resolve local names, build replacement text, and compose multi-part fixes.
652
+ - Keeps import placement deterministic by inserting after existing imports or at file start when none exist.
653
+ - Tightens internal typing with shared unknown collection types to improve consistency across rule contexts.
654
+
655
+ ๐Ÿงช [test] Expands autofix and suggestion coverage to lock in import-aware behavior.
656
+ - Updates many invalid cases to assert concrete transformed output, including scenarios that now require inserted imports.
657
+ - Adds multi-pass expected outputs for fixtures where several findings are fixed across repeated runs.
658
+ - Strengthens suggestion output assertions and mixed line-ending fixtures to guard against regression in real editor flows.
659
+
660
+ ๐ŸŽจ [style] Applies minor formatting and comment cleanup in auxiliary scripts and config text for readability without changing runtime behavior.
661
+
662
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7639e4d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7639e4d3d04fd40ec505141ee4c9d5a6fce34388)
663
+
664
+
665
+ - ๐Ÿ› ๏ธ [fix] Improve documentation link checker functionality
666
+ - Enhance `isUrlLike` function comment for clarity
667
+ - Add pathExists caching to optimize link validation
668
+ - Implement concurrency control for file checks
669
+ - Introduce metrics tracking for link validation results
670
+ - Update error handling and logging for better feedback
671
+ - Refactor link validation logic to reduce redundancy
672
+
673
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(721700d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/721700d4f551e3b9b70675dc68c11b9ccd4f0c72)
674
+
675
+
676
+ - ๐Ÿ› ๏ธ [fix] Guard missing filenames in lint rules
677
+
678
+ ๐Ÿ› ๏ธ [fix] Prevents undefined-path behavior by defaulting missing lint context filenames before test-file short-circuit checks.
679
+ - Improves runtime safety for rule execution in nonstandard or mocked contexts.
680
+
681
+ ๐Ÿงน [chore] Expands prompt audit records with host, user, shell version, and ISO timestamp metadata.
682
+ - Improves traceability for local hook activity and environment diagnostics.
683
+
684
+ ๐Ÿ‘ท [ci] Stabilizes mutation-report publishing metadata.
685
+ - Normalizes repository identity casing and pins dashboard version labeling to a stable branch value.
686
+
687
+ ๐Ÿงช [test] Adds broad mutation-focused coverage for rule metadata, filename fallbacks, and edge-case matching/fixing behavior.
688
+ - Introduces shared metadata smoke checks and extends many rule suites with no-fix, suggestion, whitespace-normalization, shadowing, and qualified-type scenarios to reduce survivor regressions.
689
+
690
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c7c99db)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c7c99dba2a2b84979ad8462087f8c60348cbda73)
691
+
692
+
693
+ - ๐Ÿ› ๏ธ [fix] Improves rule matching and early exits
694
+
695
+ ๐Ÿ› ๏ธ [fix] Improves array-like type detection to reduce missed matches.
696
+ - Normalizes rendered type text before checking suffixes.
697
+ - Uses a single `[]`-based check so readonly array forms are handled consistently.
698
+
699
+ ๐Ÿšœ [refactor] Moves test-file short-circuiting ahead of import scanning across rules.
700
+ - Avoids unnecessary analysis work for excluded files.
701
+ - Improves rule setup efficiency and keeps behavior consistent.
702
+
703
+ ๐Ÿ› ๏ธ [fix] Makes replacement-name handling explicit in autofix paths.
704
+ - Switches from truthy checks to null checks to prevent accidentally skipping valid replacements.
705
+
706
+ ๐Ÿ”ง [build] Repositions dependency override metadata.
707
+ - Keeps package configuration ordering consistent while retaining the parser version override.
708
+
709
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3ede063)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3ede06303b78cea7525adb221778dea080e352a9)
710
+
711
+
712
+ - ๐Ÿ› ๏ธ [fix] Stabilizes plugin export defaults
713
+
714
+ ๐Ÿ› ๏ธ [fix] Ensures the published plugin always exposes a complete, predictable object shape.
715
+ - Prevents runtime and integration failures when optional sections are missing from built output.
716
+ - Removes brittle undefined-path handling by applying safe defaults at the entry boundary.
717
+
718
+ ๐Ÿงช [test] Improves shared test-run behavior and test failure diagnostics.
719
+ - Uses proper focused-test wiring and generates readable fallback names for unnamed cases.
720
+ - Preserves explicit case names while making anonymous case failures easier to identify.
721
+
722
+ ๐Ÿงช [test] Expands rule coverage with broader, named valid/invalid edge cases.
723
+ - Adds stronger regression protection for unions, callback shapes, guard patterns, skip-path behavior, and non-target method/property lookalikes.
724
+
725
+ ๐Ÿ“ [docs] Strengthens quality-first contribution guidance.
726
+ - Reinforces correctness and maintainability over shortcuts, including iterative follow-up when needed.
727
+
728
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8f4b499)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8f4b499a6c0285c3cc0b92c4ba08b78af04e8a08)
729
+
730
+
731
+ - ๐Ÿ› ๏ธ [fix] Update type aliases to use TypeScript's type-fest library
732
+
733
+ - ๐Ÿ”ง [fix] Replace `MaybePromise` with `Promisable` in `prefer-type-fest-promisable.test.ts`
734
+ - ๐Ÿ”ง [fix] Replace `DeepReadonly` with `ReadonlyDeep` in `prefer-type-fest-readonly-deep.test.ts`
735
+ - ๐Ÿ”ง [fix] Replace `DeepRequired` with `RequiredDeep` in `prefer-type-fest-required-deep.test.ts`
736
+ - ๐Ÿ”ง [fix] Replace `RecordDeep` with `Schema` in `prefer-type-fest-schema.test.ts`
737
+ - ๐Ÿ”ง [fix] Replace `NonNullableBy` with `SetNonNullable` in `prefer-type-fest-set-non-nullable.test.ts`
738
+ - ๐Ÿ”ง [fix] Replace `PartialBy` with `SetOptional` in `prefer-type-fest-set-optional.test.ts`
739
+ - ๐Ÿ”ง [fix] Replace `ReadonlyBy` with `SetReadonly` in `prefer-type-fest-set-readonly.test.ts`
740
+ - ๐Ÿ”ง [fix] Replace `RequiredBy` with `SetRequired` in `prefer-type-fest-set-required.test.ts`
741
+ - ๐Ÿ”ง [fix] Replace `Expand` with `Simplify` in `prefer-type-fest-simplify.test.ts`
742
+ - ๐Ÿ”ง [fix] Replace `Opaque` with `Tagged` in `prefer-type-fest-tagged-brands.test.ts`
743
+ - ๐Ÿ”ง [fix] Replace `ReadonlyTuple` with `Readonly<TupleOf<Length, Element>>` in `prefer-type-fest-tuple-of.test.ts`
744
+ - ๐Ÿ”ง [fix] Replace `readonly unknown[]` with `unknown[]` in `prefer-type-fest-unknown-array.test.ts`
745
+ - ๐Ÿ”ง [fix] Replace `ReadonlyMap<unknown, unknown>` with `Map<unknown, unknown>` in `prefer-type-fest-unknown-map.test.ts`
746
+ - ๐Ÿ”ง [fix] Replace `ReadonlySet<unknown>` with `Set<unknown>` in `prefer-type-fest-unknown-set.test.ts`
747
+ - ๐Ÿ”ง [fix] Replace `UnwrapOpaque` with `UnwrapTagged` in `prefer-type-fest-unwrap-tagged.test.ts`
748
+ - ๐Ÿ”ง [fix] Replace `Mutable` with `Writable` in `prefer-type-fest-writable.test.ts`
749
+
750
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(895cb41)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/895cb413648d9421fcfd6c557cb66025ebc1cb8d)
751
+
752
+
753
+
754
+ ### ๐Ÿ“ฆ Dependencies
755
+
756
+ - *(deps)* [dependency] Update the github-actions group across 1 directory with 7 updates [`(7b08932)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7b089328816b87606e9b80a03a22495aecfd7de0)
757
+
758
+
759
+ - *(deps)* [dependency] Update the github-actions group across 1 directory with 8 updates [`(acd2932)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/acd29320fdc5e4e99afe81e099e3f6beb622f455)
760
+
761
+
762
+
763
+ ### ๐Ÿ›ก๏ธ Security
764
+
765
+ - [StepSecurity] Apply security best practices
766
+
767
+ Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> [`(de875de)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/de875ded17a8f5ee5851d27586215eeb2bf1d419)
768
+
769
+
770
+
771
+ ### ๐Ÿ› ๏ธ Other Changes
772
+
773
+ - ๐Ÿ—‘๏ธ [chore] Remove ESLint Config Inspector build and verification scripts
774
+ - Deleted `build-eslint-inspector.mjs` and `verify-eslint-inspector.mjs` scripts
775
+ - These scripts were responsible for building and verifying the ESLint Config Inspector integration
776
+ - Their removal simplifies the project structure and eliminates unused code
777
+
778
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(79dd244)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/79dd2444ee0729ab547a608945aca8f9097070fc)
779
+
780
+
781
+ - ๐Ÿ“ [test] Enhance type-fest rule tests with additional cases
782
+
783
+ - โœจ [test] Add valid cases for Awaited with Promise and qualified ReturnType
784
+ - โœจ [test] Introduce inline fixable cases for ConditionalPick and update error messages
785
+ - โœจ [test] Add tests for constructor signature validation
786
+ - โœจ [test] Expand Except tests with inline fixable cases and valid namespace aliases
787
+ - โœจ [test] Introduce inline fixable cases for IfAny and IsAny
788
+ - โœจ [test] Add tests for IterableElement and SetElement with inline fixable cases
789
+ - โœจ [test] Enhance JsonArray tests with various valid and invalid cases
790
+ - โœจ [test] Add tests for JsonObject with inline invalid cases
791
+ - โœจ [test] Expand JsonValue tests with inline invalid cases and valid types
792
+ - โœจ [test] Introduce KeysOfUnion tests with inline fixable cases
793
+ - โœจ [test] Add tests for NonEmptyTuple with various valid cases
794
+ - โœจ [test] Enhance OmitIndexSignature tests with inline fixable cases
795
+ - โœจ [test] Introduce RequireAllOrNone tests with inline fixable cases
796
+ - โœจ [test] Add RequireAtLeastOne tests with inline fixable cases
797
+ - โœจ [test] Introduce RequireExactlyOne tests with inline fixable cases
798
+ - โœจ [test] Add RequireOneOrNone tests with inline fixable cases
799
+ - โœจ [test] Enhance TaggedBrands tests with inline invalid cases
800
+ - โœจ [test] Add UnknownArray tests with various valid and invalid cases
801
+ - โœจ [test] Introduce UnknownMap tests with additional valid cases
802
+ - โœจ [test] Add UnknownRecord tests with inline invalid cases
803
+ - โœจ [test] Enhance UnknownSet tests with additional valid cases
804
+ - โœจ [test] Expand Writable tests with various valid cases and namespace aliases
805
+
806
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ec44a53)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ec44a53779b9a5e7d5ea0f2e0f08c7c318a92366)
807
+
808
+
809
+ - Add tests and TypeScript configuration for uptime-watcher plugin
810
+
811
+ - Implement tests for various rules in the uptime-watcher plugin, including:
812
+ - prefer-ts-extras-is-present-filter
813
+ - prefer-ts-extras-object-has-own
814
+ - prefer-type-fest-json-value
815
+ - prefer-type-fest-promisable
816
+ - prefer-type-fest-tagged-brands
817
+ - prefer-type-fest-unknown-record
818
+ - prefer-type-fest-value-of
819
+ - preload-no-local-is-plain-object
820
+ - renderer-no-browser-dialogs
821
+ - renderer-no-direct-bridge-readiness
822
+ - renderer-no-direct-electron-log
823
+ - renderer-no-direct-networking
824
+ - renderer-no-direct-preload-bridge
825
+ - renderer-no-electron-import
826
+ - renderer-no-import-internal-service-utils
827
+ - renderer-no-ipc-renderer-usage
828
+ - renderer-no-preload-bridge-writes
829
+ - renderer-no-process-env
830
+ - renderer-no-window-open
831
+ - require-ensure-error-in-catch
832
+ - require-error-cause-in-catch
833
+ - shared-no-outside-imports
834
+ - shared-types-no-local-is-plain-object
835
+ - store-actions-require-finally-reset
836
+ - test-no-mock-return-value-constructors
837
+ - tsdoc-no-console-example
838
+ - typed-eventbus-payload-assignable
839
+
840
+ - Add TypeScript configuration files for linting and building the uptime-watcher plugin.
841
+
842
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d233b9c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d233b9c2b49f5f87e10e2c2ee04deed9765f54a3)
843
+
844
+
845
+
846
+ ### ๐Ÿšœ Refactor
847
+
848
+ - ๐Ÿšœ [refactor] switch rule docs to Docusaurus routes & add footer links
849
+
850
+ ๐Ÿ“ [docs] add ADRโ€ฏ0006/0007 entries and pages, update sidebar/index with new decisions
851
+ ๐Ÿšœ [refactor] change docsโ€‘URL base constants and ruleโ€‘creator logic to use live site routes (`โ€ฆ/rules/<id>`) instead of GitHub blob markdown links
852
+ ๐Ÿšœ [refactor] update all rule metadata defaults and inline urls accordingly
853
+ ๐Ÿงช [test] adjust smoke, integration and individual rule tests to expect `/rules/<id>` URLs and remove `.md` suffix checks
854
+ ๐Ÿ“ [docs] append a consistent โ€œAdoption resourcesโ€ footer to every rule page linking shared guides
855
+ ๐Ÿ“ [docs] create ADRs explaining canonical URL strategy and footer link rationale
856
+
857
+ Enhances user experience by pointing editors and links at rendered documentation, stabilizes the public docs surface independent of repo layout, and keeps shared guidance discoverable without duplicating boilerplate. Tests and sources no longer assume `.md` filenames; route stability is now a compatibility concern.
858
+
859
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(91a136d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/91a136dbd7dd14660f9a4b9a6aeffc0e4a6b7657)
860
+
861
+
862
+ - ๐Ÿšœ [refactor] Improve code readability and formatting in inspect_pr_checks.py
863
+ - ๐Ÿ› ๏ธ Adjust function signatures for better clarity
864
+ - ๐ŸŽจ Reformat argument lists and string literals for consistency
865
+ - ๐Ÿ”ง Enhance error handling messages for better debugging
866
+ - ๐ŸŽจ Improve indentation and line breaks for better readability
867
+
868
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a62ba9e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a62ba9eb919101eabe2fde50818be1b64866cdd4)
869
+
870
+
871
+ - ๐Ÿšœ [refactor] Treats tests like other files
872
+
873
+ ๐Ÿšœ [refactor] Aligns plugin/test heuristics
874
+ - ๐Ÿงช Removes test-path skips and the heuristic so rules always lint tests while relying on config scoping, and cleans up fixtures that only exercised the skip path.
875
+ - โš™๏ธ Updates benchmark scripts/config to build before running stats/timing suites and adds explicit namespace metadata to the plugin entry for clearer identification.
876
+
877
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(72c85a8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/72c85a8e2335f64003b42f78dc8104a105169f03)
878
+
879
+
880
+ - ๐Ÿšœ [refactor] Remove redundant defaultOptions stubs
881
+
882
+ ๐Ÿšœ [refactor] - Drops the explicit defaultOptions arrays from typed rule definitions so configuration relies on implicit defaults and keeps source definitions concise.
883
+ ๐ŸŽจ [style] - Refreshes doc/test helpers with tighter formatting for import/type utilities and assertion checks to match the cleaned-up style.
884
+
885
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(60e7e00)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/60e7e0073c1a54ac8b6611e269bc74a53537aa3c)
886
+
887
+
888
+ - ๐Ÿšœ [refactor] Enforce readonly parameter typing
889
+
890
+ ๐Ÿšœ [refactor] Expands readonly annotations across core typed utilities and rule logic so function inputs stay immutable by default.
891
+ - Improves type-safety consistency and reduces accidental mutation paths without changing runtime behavior.
892
+
893
+ ๐Ÿ”ง [build] Tunes readonly-parameter linting to stay strict on explicit APIs while avoiding noisy inferred-parameter churn.
894
+ - Adds practical allowlists for common external types and method handling so enforcement remains useful and sustainable.
895
+
896
+ ๐Ÿงช [test] Aligns test helpers and listener harness typings with the stricter immutability model.
897
+ - Applies safer optional access and targeted writable casts only where test scaffolding must mutate nodes.
898
+
899
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0422fd8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/0422fd8f088a1e8f6231815f795e57e4a01a916c)
900
+
901
+
902
+ - Migrate plugin to TypeScript and restructure codebase [`(2101a3e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2101a3ec1f446f93c0351941344f34603bfb3f13)
903
+
904
+
905
+
906
+ ### ๐Ÿ“ Documentation
907
+
908
+ - ๐Ÿ“ [docs] Update TypeFest rule documentation for clarity and consistency
909
+ - ๐Ÿ“ [docs] Revise `prefer-type-fest-tuple-of` to emphasize deprecated alias usage
910
+ - ๐Ÿ“ [docs] Clarify behavior and migration notes in `prefer-type-fest-unknown-array`
911
+ - ๐Ÿ“ [docs] Enhance `prefer-type-fest-unknown-map` documentation with intent and usage
912
+ - ๐Ÿ“ [docs] Improve `prefer-type-fest-unknown-record` to focus on boundary contracts
913
+ - ๐Ÿ“ [docs] Refine `prefer-type-fest-unknown-set` to highlight shared alias benefits
914
+ - ๐Ÿ“ [docs] Update `prefer-type-fest-unwrap-tagged` to target deprecated alias usage
915
+ - ๐Ÿ“ [docs] Clarify `prefer-type-fest-value-of` to emphasize clarity in value extraction
916
+ - ๐Ÿ“ [docs] Revise `prefer-type-fest-writable-deep` to standardize deep mutability usage
917
+ - ๐Ÿ“ [docs] Update `prefer-type-fest-writable` to clarify targeted patterns and behavior
918
+ - ๐Ÿ“ [docs] Add alternative configuration example for applying recommended rules selectively
919
+ ๐Ÿ› ๏ธ [fix] Normalize line endings in typed rule tester fixtures
920
+ - ๐Ÿ› ๏ธ [fix] Implement line ending normalization to ensure consistent fixture reading
921
+
922
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9acb9a8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9acb9a8bb27cf23d4503b52c095c48120bf5f568)
923
+
924
+
925
+ - ๐Ÿ“ [docs] Adds ADR hub and updates docs build flow
926
+
927
+ ๐Ÿ“ [docs] Adds an ADR section with an index and three accepted decisions to capture architectural intent and reduce repeated dependency-adoption discussions.
928
+ - Defines why current internal rule/runtime patterns remain in place and when those decisions should be revisited.
929
+
930
+ ๐ŸŽจ [style] Updates sidebar badges and accent styling so architecture decisions are easier to find and remain visually consistent with existing documentation sections.
931
+
932
+ ๐Ÿ”ง [build] Updates documentation build orchestration to rely on workspace-level inspector build commands and introduces a faster docs build path for quicker iteration.
933
+ - Improves local build ergonomics and keeps generated docs steps aligned across environments.
934
+
935
+ ๐Ÿงน [chore] Refreshes selected lint and style tooling versions and expands script-level documentation comments to improve maintenance clarity.
936
+
937
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(51d6a5d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/51d6a5d7ca6f3c5e14f32794f20f4c6ddb91f5cd)
938
+
939
+
940
+ - ๐Ÿ“ [docs] Update Code of Conduct to reflect no formal guidelines
941
+ ๐Ÿ”ง [build] Change logo file types in manifest.json from SVG to PNG
942
+ ๐ŸŽจ [style] Enhance case name formatting in ruleTester.ts for better visibility
943
+ ๐Ÿ”ง [build] Simplify project name label in vite.config.ts from "Frontend" to "Test"
944
+ ๐Ÿ”ง [build] Update vitest configuration in vitest.stryker.config.ts for improved test handling
945
+
946
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7d246f8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7d246f84d4928bbae4ddfb3d51bb092a56864ef0)
947
+
948
+
949
+ - ๐Ÿ“ [docs] Update documentation scripts in package.json
950
+
951
+ - ๐Ÿ”ง Reordered the `docs:toc` and `docs:validate-links` scripts for better clarity and consistency.
952
+ - ๐Ÿ› ๏ธ Removed the old `docs:validate-links` script and added it back after `docs:toc` to maintain logical flow.
953
+ - ๐Ÿ”ง Updated the `remark` dependencies to ensure the latest features and fixes are utilized.
954
+ - ๐Ÿงน Removed unused `mdast` dependency to clean up package.json and reduce bloat.
955
+
956
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f099e8d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f099e8d191c3e432d3f50535834e08cef9ce09cb)
957
+
958
+
959
+ - ๐Ÿ“ [docs] Update strict and type-fest-types presets documentation
960
+
961
+ - ๐Ÿ“œ Refactor the rules table in `strict.md` for better readability
962
+ - Added new rules: `prefer-type-fest-abstract-constructor`, `prefer-type-fest-constructor`, `prefer-type-fest-literal-union`, `prefer-type-fest-merge-exclusive`, `prefer-type-fest-required-deep`, `prefer-type-fest-readonly-deep`, and `prefer-type-fest-writable-deep`
963
+ - Removed outdated rules: `prefer-type-fest-require-exactly-one`, `prefer-type-fest-require-one-or-none`, `prefer-type-fest-schema`, `prefer-type-fest-set-non-nullable`, `prefer-type-fest-set-optional`, `prefer-type-fest-set-readonly`, `prefer-type-fest-set-required`, `prefer-type-fest-simplify`, `prefer-type-fest-tagged-brands`, `prefer-type-fest-tuple-of`, `prefer-type-fest-unknown-array`, `prefer-type-fest-unknown-map`, `prefer-type-fest-unknown-record`, `prefer-type-fest-unknown-set`, `prefer-type-fest-unwrap-tagged`, `prefer-type-fest-value-of`, and `prefer-type-fest-writable`
964
+
965
+ - ๐Ÿ“œ Refactor the rules table in `type-fest-types.md` for better readability
966
+ - Added new rules: `prefer-type-fest-abstract-constructor`, `prefer-type-fest-constructor`, `prefer-type-fest-literal-union`, `prefer-type-fest-merge-exclusive`, `prefer-type-fest-required-deep`, `prefer-type-fest-readonly-deep`, and `prefer-type-fest-writable-deep`
967
+ - Removed outdated rules: `prefer-type-fest-require-exactly-one`, `prefer-type-fest-require-one-or-none`, `prefer-type-fest-schema`, `prefer-type-fest-set-non-nullable`, `prefer-type-fest-set-optional`, `prefer-type-fest-set-readonly`, `prefer-type-fest-set-required`, `prefer-type-fest-simplify`, `prefer-type-fest-tagged-brands`, `prefer-type-fest-tuple-of`, `prefer-type-fest-unknown-array`, `prefer-type-fest-unknown-map`, `prefer-type-fest-unknown-record`, `prefer-type-fest-unknown-set`, `prefer-type-fest-unwrap-tagged`, `prefer-type-fest-value-of`, and `prefer-type-fest-writable`
968
+
969
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(92500d2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/92500d25d901851046813ee34b0d0ba1bc29663f)
970
+
971
+
972
+ - ๐Ÿ“ [docs] Update presets documentation with rule matrices and details
973
+
974
+ - ๐Ÿ“œ Added a comprehensive rule matrix to `index.md` for better visibility of rules, fixes, and preset keys.
975
+ - ๐Ÿ“œ Included specific rules in the `minimal.md` preset documentation to clarify which rules are included.
976
+ - ๐Ÿ“œ Expanded the `recommended.md` preset documentation to list all applicable rules, enhancing user guidance.
977
+ - ๐Ÿ“œ Updated `strict.md` preset documentation with a detailed list of rules to inform users of strict configurations.
978
+ - ๐Ÿ“œ Enhanced `ts-extras-type-guards.md` with a complete list of rules to provide clarity on type guard functionalities.
979
+ - ๐Ÿ“œ Updated `type-fest-types.md` to include a detailed list of rules, ensuring users understand the available type fest functionalities.
980
+
981
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b8b30d5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b8b30d533d1ccda5f5d9450da6013c9eb6997a57)
982
+
983
+
984
+ - ๐Ÿ“ [docs] Enhance documentation across multiple rules and tests
985
+
986
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-ts-extras-is-empty.ts`
987
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-ts-extras-is-infinite.ts`
988
+ - ๐Ÿ“ [docs] Improve documentation for helper functions in `prefer-ts-extras-is-present-filter.ts`
989
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-ts-extras-is-present.ts`
990
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-ts-extras-not.ts`
991
+ - ๐Ÿ“ [docs] Enhance documentation for helper functions in `prefer-ts-extras-object-has-in.ts`
992
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-ts-extras-safe-cast-to.ts`
993
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-type-fest-arrayable.ts`
994
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `prefer-type-fest-async-return-type.ts`
995
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-type-fest-except.ts`
996
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-type-fest-json-array.ts`
997
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `prefer-type-fest-json-object.ts`
998
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-type-fest-json-primitive.ts`
999
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-type-fest-json-value.ts`
1000
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `prefer-type-fest-non-empty-tuple.ts`
1001
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-type-fest-primitive.ts`
1002
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-type-fest-promisable.ts`
1003
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `prefer-type-fest-tagged-brands.ts`
1004
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-type-fest-unknown-array.ts`
1005
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-type-fest-unknown-map.ts`
1006
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `prefer-type-fest-unknown-record.ts`
1007
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `prefer-type-fest-unknown-set.ts`
1008
+ - ๐Ÿ“ [docs] Document utility functions in `prefer-type-fest-value-of.ts`
1009
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `prefer-type-fest-writable.ts`
1010
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `imported-type-aliases.test.ts`
1011
+ - ๐Ÿ“ [docs] Document utility functions in `ruleTester.ts`
1012
+ - ๐Ÿ“ [docs] Enhance documentation for utility functions in `configs.test.ts`
1013
+ - ๐Ÿ“ [docs] Add JSDoc comments for utility functions in `docs-integrity.test.ts`
1014
+
1015
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(562ff90)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/562ff901516df7171c834f22ed0b83b92cdcc693)
1016
+
1017
+
1018
+ - ๐Ÿ“ [docs] Enhance ESLint rule documentation across multiple files
1019
+
1020
+ - โœจ [feat] Add detailed ESLint rule definitions and metadata for `prefer-ts-extras-object-keys`, `prefer-ts-extras-object-values`, `prefer-ts-extras-safe-cast-to`, `prefer-ts-extras-set-has`, `prefer-ts-extras-string-split`, `prefer-type-fest-arrayable`, `prefer-type-fest-async-return-type`, `prefer-type-fest-conditional-pick`, `prefer-type-fest-except`, `prefer-type-fest-if`, `prefer-type-fest-iterable-element`, `prefer-type-fest-json-array`, `prefer-type-fest-json-object`, `prefer-type-fest-json-primitive`, `prefer-type-fest-json-value`, `prefer-type-fest-keys-of-union`, `prefer-type-fest-non-empty-tuple`, `prefer-type-fest-omit-index-signature`, `prefer-type-fest-primitive`, `prefer-type-fest-promisable`, `prefer-type-fest-require-all-or-none`, `prefer-type-fest-require-at-least-one`, `prefer-type-fest-require-exactly-one`, `prefer-type-fest-require-one-or-none`, `prefer-type-fest-schema`, `prefer-type-fest-set-non-nullable`, `prefer-type-fest-set-optional`, `prefer-type-fest-set-readonly`, `prefer-type-fest-set-required`, `prefer-type-fest-simplify`, `prefer-type-fest-tagged-brands`, `prefer-type-fest-tuple-of`, `prefer-type-fest-unknown-array`, `prefer-type-fest-unknown-map`, `prefer-type-fest-unknown-record`, `prefer-type-fest-unknown-set`, `prefer-type-fest-unwrap-tagged`, and `prefer-type-fest-value-of`.
1021
+ - ๐Ÿ“ [docs] Add JSDoc comments to clarify the purpose and usage of each rule, enhancing maintainability and developer understanding.
1022
+ - ๐Ÿงน [chore] Update `ruleTester` utility functions with additional documentation to improve clarity on their usage and functionality.
1023
+
1024
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ef195de)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ef195de3aaabb27a1e3542df4c1a025a2d28c701)
1025
+
1026
+
1027
+ - ๐Ÿ“ [docs] Update CSS documentation and global styles for Docusaurus
1028
+ - Added global CSS overrides for Docusaurus documentation site.
1029
+ - Enhanced comments to clarify the purpose and scope of the CSS file.
1030
+ - Updated hover background color for sidebar menu links for better accessibility.
1031
+
1032
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6863895)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/68638954b10b776b033cd5a207f83531347f28ab)
1033
+
1034
+
1035
+ - ๐Ÿ“ [docs] Adds package-level module docs
1036
+
1037
+ ๐Ÿ“ [docs] Improves maintainability and generated docs clarity by adding consistent package-level headers across core modules, plugin wiring, and rule implementations.
1038
+ - ๐Ÿ“ [docs] Clarifies module intent so contributors and tooling can understand responsibilities faster.
1039
+
1040
+ ๐Ÿ“ [docs] Updates the rules reference table layout to improve readability and quick scanning.
1041
+ - ๐ŸŽจ [style] Normalizes column alignment while preserving existing rule metadata.
1042
+
1043
+ ๐Ÿงช [test] Applies the same package-level documentation pattern to test utilities and suites for repository-wide consistency.
1044
+
1045
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(84bc8a1)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/84bc8a1d500497e1ce3bd9302f1aefd69b698c79)
1046
+
1047
+
1048
+ - ๐Ÿ“ [docs] Update documentation for type-fest utility rules
1049
+
1050
+ - ๐Ÿ”ง Refactor rule documentation to replace "Legacy" terminology with "Non-canonical" for clarity.
1051
+ - ๐Ÿ“ Enhance examples in `prefer-type-fest-require-one-or-none.md`, `prefer-type-fest-schema.md`, and other related files to reflect updated import aliases.
1052
+ - ๐Ÿ“ Modify adoption tips across multiple rule documents to emphasize direct canonical imports and discourage compatibility aliases.
1053
+ - ๐Ÿ“š Update rollout strategies in various rule documents to clarify migration processes and reduce review noise.
1054
+ - ๐Ÿ” Ensure consistency in references to `typefest.configs["type-fest/types"]` across all relevant documentation files.
1055
+
1056
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(07214d3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/07214d3546cf52dafafc26936403cf090ddffb3c)
1057
+
1058
+
1059
+ - ๐Ÿ“ [docs] Update documentation for type-fest utility types
1060
+
1061
+ - ๐Ÿ“ Improve clarity in examples for `prefer-type-fest-set-required`, `prefer-type-fest-simplify`, `prefer-type-fest-tagged-brands`, `prefer-type-fest-tuple-of`, `prefer-type-fest-unknown-array`, `prefer-type-fest-unknown-map`, `prefer-type-fest-unknown-record`, `prefer-type-fest-unknown-set`, `prefer-type-fest-unwrap-tagged`, and `prefer-type-fest-value-of` rules.
1062
+ - ๐Ÿ”„ Replace non-canonical patterns with comments indicating legacy patterns repeated inline across modules.
1063
+ - ๐Ÿ“š Enhance the "Why this helps in real projects" section to emphasize shared type vocabulary, safer API evolution, and no runtime overhead.
1064
+ - ๐Ÿ› ๏ธ Update `eslint.config.mjs` to fix plugin imports and improve configuration.
1065
+ - ๐Ÿ”„ Update `package-lock.json` and `package.json` to reflect version upgrades for various ESLint plugins, ensuring compatibility and access to new features.
1066
+
1067
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9a45e98)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9a45e98c3c63a49374ed2dbfe37e1a45b518a564)
1068
+
1069
+
1070
+ - ๐Ÿ“ [docs] Add comprehensive guidelines for various file types in the repository
1071
+
1072
+ - โœจ [feat] Introduce JSON guidelines to ensure clarity and consistency in JSON files
1073
+ - Emphasize strictness and intentionality in JSON structure
1074
+ - Provide style recommendations, structural best practices, and security considerations
1075
+
1076
+ - โœจ [feat] Add MJS guidelines for modern JavaScript modules
1077
+ - Focus on ESM usage, syntax preferences, and async patterns
1078
+ - Encourage documentation and type annotations for better maintainability
1079
+
1080
+ - โœจ [feat] Establish Markdown guidelines for documentation and content creation
1081
+ - Outline content rules, formatting standards, and front matter usage
1082
+ - Include tooling alignment instructions for maintaining Markdown quality
1083
+
1084
+ - โœจ [feat] Create detailed instructions for testing ESLint rules
1085
+ - Define goals for ESLint rule testing, setup requirements, and coding standards
1086
+ - Highlight best practices for writing tests, including valid and invalid cases
1087
+
1088
+ - โœจ [feat] Provide TypeScript 5.9+ development guidelines
1089
+ - Focus on modern TypeScript features, strict typing, and utility types
1090
+ - Emphasize error handling, async patterns, and coding style best practices
1091
+
1092
+ - โœจ [feat] Introduce YAML guidelines for robust YAML authoring
1093
+ - Stress predictability and readability in YAML files
1094
+ - Offer style, structure, and tooling recommendations for YAML usage
1095
+
1096
+ - โœจ [feat] Add Copilot instructions for ESLint plugin development
1097
+ - Define the role, architecture, and constraints for ESLint rule creation
1098
+ - Emphasize code quality, testing standards, and tool usage for effective development
1099
+
1100
+ - ๐Ÿงน [chore] Remove instructions folder from .gitignore to allow tracking of new guidelines
1101
+
1102
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(976452b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/976452b5c39227330fa42d56f08eab88968d53a6)
1103
+
1104
+
1105
+ - ๐Ÿ“ [docs] Add configuration files for various tools
1106
+ - Created `.taplo.toml` for TOML formatting rules, aligning with Prettier's style.
1107
+ - Introduced `.yamllint` for YAML linting configuration, specifying rules and ignored paths.
1108
+ - Added `cliff.toml` for git-cliff configuration to generate changelogs based on conventional commits.
1109
+ - Implemented `commitlint.config.mjs` to enforce commit message standards, including emoji and scope validation.
1110
+ - Established `jscpd.json` for configuring the jscpd tool to detect code duplication.
1111
+ - Created `kics.yaml` for KICS configuration, focusing on Infrastructure as Code security scanning.
1112
+ - Added `lychee.toml` for configuring the lychee link checker, including caching and request settings.
1113
+ - Introduced `markdownlint.json` for markdown linting rules, ensuring consistent formatting across markdown files.
1114
+
1115
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(20a6723)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/20a672338e3a0d93f3a85dca1dd1df52e48b18eb)
1116
+
1117
+
1118
+
1119
+ ### ๐ŸŽจ Styling
1120
+
1121
+ - ๐ŸŽจ [style] Clean up trailing whitespace in TypeScript rule files
1122
+ - Removed trailing whitespace from multiple TypeScript rule files to maintain code consistency and cleanliness.
1123
+ - Affected files include:
1124
+ - `prefer-ts-extras-is-finite.ts`
1125
+ - `prefer-ts-extras-is-infinite.ts`
1126
+ - `prefer-ts-extras-is-integer.ts`
1127
+ - `prefer-ts-extras-is-present-filter.ts`
1128
+ - `prefer-ts-extras-is-present.ts`
1129
+ - `prefer-ts-extras-is-safe-integer.ts`
1130
+ - `prefer-ts-extras-key-in.ts`
1131
+ - `prefer-ts-extras-not.ts`
1132
+ - `prefer-ts-extras-object-entries.ts`
1133
+ - `prefer-ts-extras-object-from-entries.ts`
1134
+ - `prefer-ts-extras-object-has-in.ts`
1135
+ - `prefer-ts-extras-object-has-own.ts`
1136
+ - `prefer-ts-extras-object-keys.ts`
1137
+ - `prefer-ts-extras-object-values.ts`
1138
+ - `prefer-ts-extras-safe-cast-to.ts`
1139
+ - `prefer-ts-extras-set-has.ts`
1140
+ - `prefer-ts-extras-string-split.ts`
1141
+ - `prefer-type-fest-arrayable.ts`
1142
+ - `prefer-type-fest-async-return-type.ts`
1143
+ - `prefer-type-fest-conditional-pick.ts`
1144
+ - `prefer-type-fest-constructor.ts`
1145
+ - `prefer-type-fest-except.ts`
1146
+ - `prefer-type-fest-if.ts`
1147
+ - `prefer-type-fest-iterable-element.ts`
1148
+ - `prefer-type-fest-json-array.ts`
1149
+ - `prefer-type-fest-json-object.ts`
1150
+ - `prefer-type-fest-json-primitive.ts`
1151
+ - `prefer-type-fest-json-value.ts`
1152
+ - `prefer-type-fest-keys-of-union.ts`
1153
+ - `prefer-type-fest-literal-union.ts`
1154
+ - `prefer-type-fest-merge-exclusive.ts`
1155
+ - `prefer-type-fest-non-empty-tuple.ts`
1156
+ - `prefer-type-fest-omit-index-signature.ts`
1157
+ - `prefer-type-fest-partial-deep.ts`
1158
+ - `prefer-type-fest-primitive.ts`
1159
+ - `prefer-type-fest-promisable.ts`
1160
+ - `prefer-type-fest-readonly-deep.ts`
1161
+ - `prefer-type-fest-require-all-or-none.ts`
1162
+ - `prefer-type-fest-require-at-least-one.ts`
1163
+ - `prefer-type-fest-require-exactly-one.ts`
1164
+ - `prefer-type-fest-require-one-or-none.ts`
1165
+ - `prefer-type-fest-required-deep.ts`
1166
+ - `prefer-type-fest-schema.ts`
1167
+ - `prefer-type-fest-set-non-nullable.ts`
1168
+ - `prefer-type-fest-set-optional.ts`
1169
+ - `prefer-type-fest-set-readonly.ts`
1170
+ - `prefer-type-fest-set-required.ts`
1171
+ - `prefer-type-fest-simplify.ts`
1172
+ - `prefer-type-fest-tagged-brands.ts`
1173
+ - `prefer-type-fest-tuple-of.ts`
1174
+ - `prefer-type-fest-unknown-array.ts`
1175
+ - `prefer-type-fest-unknown-map.ts`
1176
+ - `prefer-type-fest-unknown-record.ts`
1177
+ - `prefer-type-fest-unknown-set.ts`
1178
+ - `prefer-type-fest-unwrap-tagged.ts`
1179
+ - `prefer-type-fest-value-of.ts`
1180
+ - `prefer-type-fest-writable-deep.ts`
1181
+ - `prefer-type-fest-writable.ts`
1182
+ ๐Ÿงช [test] Update test files for consistency
1183
+ - Adjusted test files to remove trailing whitespace and ensure consistent formatting.
1184
+ - Affected test files include:
1185
+ - `imported-type-aliases.test.ts`
1186
+ - `prefer-type-fest-arrayable.test.ts`
1187
+ - `prefer-type-fest-async-return-type.test.ts`
1188
+ - `prefer-type-fest-json-array.test.ts`
1189
+ - `prefer-type-fest-json-object.test.ts`
1190
+ - `prefer-type-fest-partial-deep.test.ts`
1191
+ - `prefer-type-fest-require-all-or-none.test.ts`
1192
+ - `prefer-type-fest-require-exactly-one.test.ts`
1193
+ - `prefer-type-fest-required-deep.test.ts`
1194
+ - `prefer-type-fest-set-non-nullable.test.ts`
1195
+ - `prefer-type-fest-set-optional.test.ts`
1196
+ - `prefer-type-fest-set-required.test.ts`
1197
+ - `prefer-type-fest-simplify.test.ts`
1198
+ - `prefer-type-fest-tagged-brands.test.ts`
1199
+ - `prefer-type-fest-unknown-array.test.ts`
1200
+ - `prefer-type-fest-unwrap-tagged.test.ts`
1201
+
1202
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e6eeff5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e6eeff586d1d69f4c812df893a00f836dde93222)
1203
+
1204
+
1205
+ - ๐ŸŽจ [style] Refine stylelint disable comments in custom.css
1206
+ - Updated stylelint disable comments to remove unnecessary rules
1207
+ - Maintained essential rules for Docusaurus CSS compatibility
1208
+
1209
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6eb9b0f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6eb9b0ff35cb5769ce2142ae048c29e8e05ec5f9)
1210
+
1211
+
1212
+ - ๐ŸŽจ [style] Refine stylelint disable comments in CSS module
1213
+ - Removed unnecessary stylelint rules for improved clarity
1214
+ - Maintained essential rules to ensure Docusaurus CSS compatibility
1215
+
1216
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1d8c4af)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/1d8c4af3441e33c1a4db469903c731a91ea80470)
1217
+
1218
+
1219
+ - ๐ŸŽจ [style] Improve code formatting and consistency in scripts
1220
+ - Adjust spacing in parameter definitions in `.github/CleanReleases.ps1` and `.github/RepoSize.ps1`
1221
+ - Standardize spacing in output formatting for better readability
1222
+ - Enhance clarity by ensuring consistent spacing in condition checks
1223
+ โœจ [feat] Add bootstrap script for GitHub labels
1224
+ - Introduce `scripts/bootstrap-labels.ps1` to manage GitHub issue/PR labels
1225
+ - Implement features for creating/updating labels using GitHub CLI
1226
+ - Include options for reading label names from `.github/labeler.yml`
1227
+ - Provide audit and export functionalities for label management
1228
+
1229
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7f84870)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7f84870ac38c2d089a0bfb6fe85025cce034c2ce)
1230
+
1231
+
1232
+ - ๐ŸŽจ [style] Clean up code formatting and improve readability
1233
+ - Removed unnecessary trailing whitespace in multiple files to maintain consistent formatting.
1234
+ - Adjusted comment formatting for better clarity in several rule files, ensuring that return descriptions are properly wrapped for readability.
1235
+
1236
+ ๐Ÿ› ๏ธ [fix] Enhance type checks and improve rule implementations
1237
+ - Added checks for undefined elements in tuple types within `prefer-type-fest-non-empty-tuple.ts` to prevent runtime errors.
1238
+ - Improved type handling in `prefer-type-fest-promisable.ts` to ensure proper identification of identifier type references.
1239
+ - Updated logic in `prefer-type-fest-tuple-of.ts` to handle shadowed type parameters correctly, ensuring accurate suggestions for replacements.
1240
+
1241
+ ๐Ÿงช [test] Update and expand test cases for rule validation
1242
+ - Added new test cases for `prefer-type-fest-value-of` to ensure correct handling of shadowed identifiers.
1243
+ - Enhanced tests for `prefer-type-fest-tuple-of` to cover scenarios with shadowed type parameters and ensure proper output.
1244
+ - Refactored existing tests for clarity and consistency, ensuring they align with the latest rule implementations.
1245
+
1246
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b4b1929)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b4b1929c19e9e23e7e2c88229979a2c23473a4b3)
1247
+
1248
+
1249
+ - ๐ŸŽจ [style] Improve code formatting and consistency across multiple files
1250
+ - โœจ Adjust spacing around object destructuring in `prefer-ts-extras-array-first.ts`
1251
+ - ๐ŸŽจ Standardize spacing in `prefer-type-fest-json-primitive.ts` for better readability
1252
+ - ๐ŸŽจ Refactor spacing in `prefer-type-fest-primitive.ts` to enhance clarity
1253
+ - ๐ŸŽจ Clean up spacing in `prefer-type-fest-tagged-brands.ts` for uniformity
1254
+ - ๐ŸŽจ Normalize spacing in `prefer-type-fest-writable.ts` to maintain style consistency
1255
+ - ๐ŸŽจ Update spacing in `imported-type-aliases.test.ts` for improved code aesthetics
1256
+ - ๐ŸŽจ Modify spacing in `docs-integrity.test.ts` to align with style guidelines
1257
+
1258
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(22c06f3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/22c06f32690751743723df370ee9f648bb27b943)
1259
+
1260
+
1261
+ - ๐ŸŽจ [style] Refactor code formatting for consistency and readability
1262
+ - Cleaned up import statements across multiple test files by consolidating imports from "vitest"
1263
+ - Adjusted line breaks and indentation in various test fixtures for improved clarity
1264
+ - Reformatted conditional statements in test fixtures to enhance readability
1265
+
1266
+ ๐Ÿงช [test] Enhance test coverage for typed rules
1267
+ - Added tests for `getTypedRuleServices` to ensure correct parser services and type checker retrieval
1268
+ - Implemented tests for `getSignatureParameterTypeAt` to validate behavior with parameter indices
1269
+ - Created new test files for `prefer-ts-extras-not` rule to validate its functionality
1270
+
1271
+ ๐Ÿ› ๏ธ [fix] Corrected issues in test fixtures
1272
+ - Fixed invalid TypeScript syntax in several test fixtures by ensuring proper function declarations
1273
+ - Adjusted conditional checks in test fixtures to prevent unexpected behavior during tests
1274
+
1275
+ โœจ [feat] Introduce new rule: prefer-ts-extras-not
1276
+ - Developed a new rule to encourage the use of `not` for filtering non-nullable values
1277
+ - Created corresponding valid and invalid test fixtures to validate the rule's functionality
1278
+
1279
+ โšก [perf] Optimize Vite configuration for better performance
1280
+ - Updated Vite configuration to improve test execution speed and resource management
1281
+ - Adjusted coverage settings to ensure accurate reporting and exclude unnecessary files
1282
+
1283
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4ab154d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4ab154d52bb4581406410e848c69daebc6d0e847)
1284
+
1285
+
1286
+
1287
+ ### ๐Ÿงช Testing
1288
+
1289
+ - ๐Ÿงช [test] Refactor test cases to use 'test' instead of 'it' for consistency
1290
+ - Updated all test files to replace 'it' with 'test' for better readability and consistency across the test suite.
1291
+ - Ensured that all relevant test cases maintain their functionality after the change.
1292
+
1293
+ ๐Ÿ› ๏ธ [fix] Change boolean checks to use 'toBeTruthy()' for clarity
1294
+ - Modified assertions in multiple test files to use 'toBeTruthy()' instead of 'toBe(true)' for improved clarity in boolean checks.
1295
+
1296
+ ๐ŸŽจ [style] Clean up import statements and formatting
1297
+ - Removed duplicate import statements and ensured consistent formatting across test files.
1298
+ - Added spacing and line breaks for better readability in several test files.
1299
+
1300
+ ๐Ÿ“ [docs] Update documentation comments for clarity
1301
+ - Enhanced documentation comments in various test files to provide clearer context and explanations for the tests being conducted.
1302
+
1303
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(10c699a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/10c699af540ea73a73ab0e69acb9d2c217b3d9ff)
1304
+
1305
+
1306
+ - ๐Ÿงช [test] Expands type-utility rule coverage
1307
+
1308
+ ๐Ÿงช [test] Strengthens rule reliability by adding edge-case assertions for detection and autofix behavior across multiple type-utility preference rules.
1309
+ - Adds reversed-union, whitespace-normalized, extra/missing generic argument, and nested-type scenarios to reduce false positives and false negatives.
1310
+ - Verifies non-fix behavior when required imports are missing, so diagnostics stay accurate without unsafe edits.
1311
+ ๐Ÿงช [test] Broadens valid-case coverage for multi-member unions and duplicate-member combinations to ensure rules trigger only on exact intended patterns.
1312
+ ๐ŸŽจ [style] Normalizes import ordering and modernizes matcher assertions and regex flags in metadata checks to keep tests consistent and less brittle.
1313
+
1314
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(145743a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/145743a270bfa524527bdcfd1ff264a7fce87aa1)
1315
+
1316
+
1317
+
1318
+ ### ๐Ÿงน Chores
1319
+
1320
+ - ๐Ÿงน [chore] migrate documentation URLs to GitHub Pages and bump dev dependencies
1321
+
1322
+ - update base docs URL from custom domain to GitHub Pages in internal helpers and rule metadata
1323
+ ensures generated rule links point at `nick2bad4u.github.io/...`
1324
+ - adjust tests and URL construction to reflect new base and remove `.md` suffix
1325
+ - bump various ESLintโ€‘related dependencies (htmlโ€‘eslint plugins, compat, jsonc, stylelint, etc.)
1326
+ to keep linting tooling upโ€‘toโ€‘date
1327
+
1328
+ The changes simplify hosting strategy for docs and keep development dependencies current.
1329
+
1330
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(aeb72ee)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/aeb72eeeb9be48054bf96209b07ff62e9f777d33)
1331
+
1332
+
1333
+
1334
+ ### ๐Ÿ”ง Build System
1335
+
1336
+ - ๐Ÿ”ง [build] Add defaultOptions to multiple TypeScript rules
1337
+
1338
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-ts-extras-not.ts`, ensuring consistent default behavior across rules.
1339
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-ts-extras-object-entries.ts`, enhancing rule configurability.
1340
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-ts-extras-object-from-entries.ts`, standardizing rule options.
1341
+ - โœจ [feat] Included `defaultOptions: []` in `prefer-ts-extras-object-has-in.ts`, improving rule consistency.
1342
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-ts-extras-object-has-own.ts`, aligning with other rules.
1343
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-ts-extras-object-keys.ts`, ensuring uniformity in rule definitions.
1344
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-ts-extras-object-values.ts`, enhancing rule behavior.
1345
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-ts-extras-safe-cast-to.ts`, standardizing rule options.
1346
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-ts-extras-set-has.ts`, improving rule configurability.
1347
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-ts-extras-string-split.ts`, ensuring consistent default behavior.
1348
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-arrayable.ts`, enhancing rule configurability.
1349
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-async-return-type.ts`, standardizing rule options.
1350
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-conditional-pick.ts`, aligning with other rules.
1351
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-constructor.ts`, ensuring uniformity in rule definitions.
1352
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-except.ts`, improving rule consistency.
1353
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-if.ts`, enhancing rule behavior.
1354
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-iterable-element.ts`, standardizing rule options.
1355
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-json-array.ts`, ensuring consistent default behavior.
1356
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-json-object.ts`, enhancing rule configurability.
1357
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-json-primitive.ts`, standardizing rule options.
1358
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-json-value.ts`, improving rule consistency.
1359
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-keys-of-union.ts`, ensuring uniformity in rule definitions.
1360
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-literal-union.ts`, enhancing rule behavior.
1361
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-merge-exclusive.ts`, standardizing rule options.
1362
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-non-empty-tuple.ts`, improving rule configurability.
1363
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-omit-index-signature.ts`, ensuring consistent default behavior.
1364
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-partial-deep.ts`, enhancing rule behavior.
1365
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-primitive.ts`, standardizing rule options.
1366
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-promisable.ts`, improving rule consistency.
1367
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-readonly-deep.ts`, ensuring uniformity in rule definitions.
1368
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-require-all-or-none.ts`, enhancing rule configurability.
1369
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-require-at-least-one.ts`, standardizing rule options.
1370
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-require-exactly-one.ts`, improving rule consistency.
1371
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-require-one-or-none.ts`, ensuring consistent default behavior.
1372
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-required-deep.ts`, enhancing rule behavior.
1373
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-schema.ts`, standardizing rule options.
1374
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-set-non-nullable.ts`, improving rule configurability.
1375
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-set-optional.ts`, ensuring uniformity in rule definitions.
1376
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-set-readonly.ts`, enhancing rule behavior.
1377
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-set-required.ts`, standardizing rule options.
1378
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-simplify.ts`, improving rule consistency.
1379
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-tagged-brands.ts`, ensuring consistent default behavior.
1380
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-tuple-of.ts`, enhancing rule configurability.
1381
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-unknown-array.ts`, standardizing rule options.
1382
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-unknown-map.ts`, improving rule consistency.
1383
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-unknown-record.ts`, ensuring uniformity in rule definitions.
1384
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-unknown-set.ts`, enhancing rule behavior.
1385
+ - โœจ [feat] Introduced `defaultOptions: []` in `prefer-type-fest-unwrap-tagged.ts`, standardizing rule options.
1386
+ - โœจ [feat] Set `defaultOptions: []` in `prefer-type-fest-value-of.ts`, improving rule configurability.
1387
+ - โœจ [feat] Added `defaultOptions: []` to `prefer-type-fest-writable-deep.ts`, ensuring consistent default behavior.
1388
+ - โœจ [feat] Implemented `defaultOptions: []` in `prefer-type-fest-writable.ts`, enhancing rule behavior.
1389
+
1390
+ ๐Ÿงช [test] Update tests to reflect changes in rule configurations
1391
+
1392
+ - ๐Ÿงช [test] Modified `configs.test.ts` to utilize `UnknownRecord` from `type-fest`, improving type safety.
1393
+ - ๐Ÿงช [test] Updated `prefer-type-fest-writable-deep.test.ts` to reflect changes in return types, ensuring consistency.
1394
+ - ๐Ÿงช [test] Adjusted `typed-rule-internal.test.ts` to improve clarity in test descriptions and ensure accurate path recognition.
1395
+
1396
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9082660)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/90826605cb10f2a9ca47e47f8aafaa621e972e9b)
1397
+
1398
+
1399
+ - ๐Ÿ”ง [build] Refactor benchmark and test configurations
1400
+ - ๐Ÿ› ๏ธ Update benchmark directory path to use `import.meta.dirname`
1401
+ - ๐Ÿ› ๏ธ Replace `null` checks with `!= null` for candidate variables in stress tests
1402
+ - ๐Ÿ› ๏ธ Modify ESLint stats calculation to use `Math.sumPrecise`
1403
+ - ๐Ÿ› ๏ธ Remove deprecated `no-constructor-bind` plugin from configurations
1404
+ - ๐Ÿ› ๏ธ Add benchmarks to ESLint and TypeScript configurations
1405
+ - ๐Ÿ› ๏ธ Update type definitions to use `Readonly<UnknownArray>` in tests
1406
+ - ๐Ÿ› ๏ธ Adjust Vite configuration to include benchmark files
1407
+
1408
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(528c601)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/528c601c385c557e677649bbaa06af894e6e9f82)
1409
+
1410
+
1411
+ - ๐Ÿ”ง [build] Update dependencies in package.json and package-lock.json
1412
+ - ๐Ÿ› ๏ธ Update `eslint-plugin-jsdoc` from `^62.7.0` to `^62.7.1` to incorporate the latest improvements and fixes.
1413
+ - ๐Ÿงน Remove unused dependencies:
1414
+ - `eslint-plugin-mdx` version `^3.6.2`
1415
+ - `eslint-plugin-storybook` version `^10.2.11`
1416
+ - `storybook` version `^10.2.11`
1417
+ - ๐Ÿ”ง Clean up `package-lock.json` by removing entries for the removed dependencies and updating the lock file accordingly.
1418
+
1419
+ ๐Ÿงช [test] Add unit tests for typed-rule internal helpers
1420
+ - โœจ Introduce a new test file `typed-rule-internal.test.ts` to validate the behavior of the `isTestFilePath` function.
1421
+ - ๐Ÿ“ Implement tests to ensure that various file paths do not get incorrectly identified as test files, covering a range of common file naming conventions.
1422
+
1423
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db80fb0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/db80fb0425ed6198b5e3c426c2632208081053ad)
1424
+
1425
+
1426
+ - ๐Ÿ”ง [build] Update aliasReplacementFix checks for consistency across rules
1427
+ - ๐Ÿ› ๏ธ [fix] Change condition from `!replacementFix` to `replacementFix === null` in multiple rules to ensure clarity in reporting
1428
+ - ๐Ÿ› ๏ธ [fix] Adjust handling of `aliasReplacementFix` to check for `null` instead of using a truthy check in various rules
1429
+
1430
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ba3b799)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ba3b799b909cd67fe3c334cfb9aec7da650e57a5)
1431
+
1432
+
1433
+ - ๐Ÿ”ง [build] Mark rules as non-deprecated
1434
+
1435
+ - ๐Ÿ“ Update metadata for multiple rules in the TypeScript extras library to indicate they are not deprecated.
1436
+ - ๐Ÿ”ง Set `deprecated: false` for the following rules:
1437
+ - prefer-ts-extras-array-find-last-index
1438
+ - prefer-ts-extras-array-find-last
1439
+ - prefer-ts-extras-array-find
1440
+ - prefer-ts-extras-array-first
1441
+ - prefer-ts-extras-array-includes
1442
+ - prefer-ts-extras-array-join
1443
+ - prefer-ts-extras-array-last
1444
+ - prefer-ts-extras-as-writable
1445
+ - prefer-ts-extras-assert-defined
1446
+ - prefer-ts-extras-assert-error
1447
+ - prefer-ts-extras-assert-present
1448
+ - prefer-ts-extras-is-defined-filter
1449
+ - prefer-ts-extras-is-defined
1450
+ - prefer-ts-extras-is-empty
1451
+ - prefer-ts-extras-is-equal-type
1452
+ - prefer-ts-extras-is-finite
1453
+ - prefer-ts-extras-is-infinite
1454
+ - prefer-ts-extras-is-integer
1455
+ - prefer-ts-extras-is-present-filter
1456
+ - prefer-ts-extras-is-present
1457
+ - prefer-ts-extras-is-safe-integer
1458
+ - prefer-ts-extras-key-in
1459
+ - prefer-ts-extras-not
1460
+ - prefer-ts-extras-object-entries
1461
+ - prefer-ts-extras-object-from-entries
1462
+ - prefer-ts-extras-object-has-in
1463
+ - prefer-ts-extras-object-has-own
1464
+ - prefer-ts-extras-object-keys
1465
+ - prefer-ts-extras-object-values
1466
+ - prefer-ts-extras-safe-cast-to
1467
+ - prefer-ts-extras-set-has
1468
+ - prefer-ts-extras-string-split
1469
+ - prefer-type-fest-arrayable
1470
+ - prefer-type-fest-async-return-type
1471
+ - prefer-type-fest-conditional-pick
1472
+ - prefer-type-fest-constructor
1473
+ - prefer-type-fest-except
1474
+ - prefer-type-fest-if
1475
+ - prefer-type-fest-iterable-element
1476
+ - prefer-type-fest-json-array
1477
+ - prefer-type-fest-json-object
1478
+ - prefer-type-fest-json-primitive
1479
+ - prefer-type-fest-json-value
1480
+ - prefer-type-fest-keys-of-union
1481
+ - prefer-type-fest-literal-union
1482
+ - prefer-type-fest-merge-exclusive
1483
+ - prefer-type-fest-non-empty-tuple
1484
+ - prefer-type-fest-omit-index-signature
1485
+ - prefer-type-fest-partial-deep
1486
+ - prefer-type-fest-primitive
1487
+ - prefer-type-fest-promisable
1488
+ - prefer-type-fest-readonly-deep
1489
+ - prefer-type-fest-require-all-or-none
1490
+ - prefer-type-fest-require-at-least-one
1491
+ - prefer-type-fest-require-exactly-one
1492
+ - prefer-type-fest-require-one-or-none
1493
+ - prefer-type-fest-required-deep
1494
+ - prefer-type-fest-schema
1495
+ - prefer-type-fest-set-non-nullable
1496
+ - prefer-type-fest-set-optional
1497
+ - prefer-type-fest-set-readonly
1498
+ - prefer-type-fest-set-required
1499
+ - prefer-type-fest-simplify
1500
+ - prefer-type-fest-tagged-brands
1501
+ - prefer-type-fest-tuple-of
1502
+ - prefer-type-fest-unknown-array
1503
+ - prefer-type-fest-unknown-map
1504
+ - prefer-type-fest-unknown-record
1505
+ - prefer-type-fest-unknown-set
1506
+ - prefer-type-fest-unwrap-tagged
1507
+ - prefer-type-fest-value-of
1508
+ - prefer-type-fest-writable-deep
1509
+ - prefer-type-fest-writable
1510
+
1511
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(46e0d73)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/46e0d732d26617586d5b1533da10fd9d729bec56)
1512
+
1513
+
1514
+ - ๐Ÿ”ง [build] Raises lint baseline and hardens rules
1515
+
1516
+ ๐Ÿ”ง [build] Converts multiple previously disabled lint checks to warnings and adds extra markup/config warnings to catch quality issues earlier without blocking development.
1517
+ - Improves incremental enforcement by surfacing problems sooner while avoiding abrupt error-level breakage.
1518
+
1519
+ ๐Ÿšœ [refactor] Reworks primitive-union detection to use parser-provided node-type constants and a set-backed type guard instead of string-switch matching.
1520
+ - Improves type safety, reduces branching complexity, and keeps matching logic easier to maintain.
1521
+
1522
+ ๐ŸŽจ [style] Normalizes internal listener and helper formatting across authored rule implementations for consistency with stricter lint/style expectations.
1523
+
1524
+ ๐Ÿงช [test] Refactors suites to a consistent structure, strengthens AST-node assertions with shared constants, and hardens metadata/import/assertion checks.
1525
+ - Aligns edge-case expectations for suggestion behavior and escaped template placeholders to reduce brittle test outcomes.
1526
+
1527
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3ad591e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3ad591e4f8be1ffade32bc896ec0af34673ef703)
1528
+
1529
+
1530
+ - ๐Ÿ”ง [build] Update dependencies in package.json
1531
+
1532
+ - ๐Ÿ“ฆ Upgrade @typescript-eslint/parser and @typescript-eslint/utils to version 8.56.1 for improved TypeScript support.
1533
+ - ๐Ÿ“ฆ Upgrade @typescript-eslint/eslint-plugin and @typescript-eslint/rule-tester to version 8.56.1 for better linting capabilities.
1534
+ - ๐Ÿ“ฆ Upgrade eslint to version 10.0.2 for bug fixes and performance improvements.
1535
+ - ๐Ÿ“ฆ Upgrade eslint-plugin-storybook to version 10.2.11 for enhanced Storybook integration.
1536
+ - ๐Ÿ“ฆ Upgrade storybook to version 10.2.11 for the latest features and fixes.
1537
+ - ๐Ÿ“ฆ Upgrade typescript-eslint to version 8.56.1 for consistency with other TypeScript ESLint packages.
1538
+ - ๐Ÿ“ฆ Update peerDependencies to require eslint version 10.0.2 for compatibility.
1539
+
1540
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4f1aede)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4f1aede544912eba9af43a5078b774ede5845435)
1541
+
1542
+
1543
+ - ๐Ÿ”ง [build] Update Stryker configuration for improved testing
1544
+ - Adjust `test:stryker` scripts to use `--ignoreStatic` flag for better performance
1545
+ - Change `ignoreStatic` option in Stryker config to `false` for comprehensive mutant testing
1546
+
1547
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(28104ce)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/28104ce26257b19d12fb03c117832bb62fab0a26)
1548
+
1549
+
1550
+ - ๐Ÿ”ง [build] Update Stryker configuration and package.json scripts
1551
+ - ๐Ÿ› ๏ธ Remove outdated mutation testing scripts from package.json
1552
+ - โœจ Add new Stryker testing scripts for improved mutation testing
1553
+ - โšก Enhance Stryker configuration with ignoreStatic and disableTypeChecks options
1554
+
1555
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5f83e37)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5f83e378a295fcba40c50841f08b8e13223fba6a)
1556
+
1557
+
1558
+ - ๐Ÿ”ง [build] Update package.json and package-lock.json
1559
+ - โœจ Add overrides for jsonc-eslint-parser to use version ^3.1.0
1560
+ - ๐Ÿ”ง Remove unused dependencies from package-lock.json
1561
+
1562
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b934c2e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b934c2e401cac9ef0889f3d606107b6ee6e0716e)
1563
+
1564
+
1565
+ - ๐Ÿ”ง [build] Update dependencies in package.json
1566
+ - ๐Ÿ› ๏ธ Update `eslint-plugin-jsonc` from `^3.0.0` to `^2.21.1`
1567
+ - ๐Ÿ› ๏ธ Update `jsonc-eslint-parser` from `^3.1.0` to `^3.0.0`
1568
+
1569
+ ๐Ÿšœ [refactor] Improve type definitions and utility functions in imported-value-symbols.ts
1570
+ - ๐ŸŽจ Refactor type definitions for `MemberToFunctionCallFixParams` and `MethodToFunctionCallFixParams`
1571
+ - ๐Ÿ› ๏ธ Consolidate and rename parameters for clarity in function signatures
1572
+ - ๐ŸŽจ Improve documentation comments for better understanding
1573
+ - ๐Ÿ› ๏ธ Optimize logic in `collectDirectNamedValueImportsFromSource` for clarity
1574
+
1575
+ โœจ [feat] Enhance ESLint rules for TypeScript extras
1576
+ - ๐ŸŽจ Refactor imports in multiple rule files to use consistent import statements
1577
+ - โœจ Implement autofix capabilities for `isDefined`, `isEmpty`, `isPresent` in respective rules
1578
+ - ๐Ÿ“ Add inline fixable test cases for `isDefined`, `isEmpty`, and `isPresent` rules
1579
+
1580
+ ๐Ÿงช [test] Add tests for new autofix functionality
1581
+ - ๐Ÿงช Add test cases for autofixing `isDefined` and `isEmpty` checks
1582
+ - ๐Ÿงช Add test cases for autofixing `isPresent` checks
1583
+ - ๐Ÿงช Ensure all tests cover both defined and negated scenarios for comprehensive coverage
1584
+
1585
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(63355ae)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/63355ae568aabe9d928faa0d575643f48768d5fa)
1586
+
1587
+
1588
+ - ๐Ÿ”ง [build] Update dependencies in package.json
1589
+
1590
+ - ๐Ÿ”„ Upgrade "@html-eslint/eslint-plugin" and "@html-eslint/parser" to version 0.56.0 for improved HTML linting capabilities.
1591
+ - ๐Ÿ”„ Update "eslint" to version 10.0.1 to incorporate the latest fixes and features.
1592
+ - ๐Ÿ”„ Upgrade "eslint-plugin-jsdoc" to version 62.7.0 for enhanced JSDoc support.
1593
+ - ๐Ÿ”„ Update "eslint-plugin-jsonc" to version 3.0.0 for better JSONC linting.
1594
+ - ๐Ÿ”„ Upgrade "jsonc-eslint-parser" to version 3.1.0 for improved JSONC parsing.
1595
+ - ๐Ÿ”„ Update peer dependency "eslint" to version 10.0.1 to ensure compatibility with the latest changes.
1596
+
1597
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e06b605)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e06b605ec157e48bdef1667bd9b7d29c594ee17a)
1598
+
1599
+
1600
+ - ๐Ÿ”ง [build] Update Stryker dependencies and package manager version
1601
+ - Upgrade Stryker packages to version 9.5.1 for improved functionality
1602
+ - Update package manager version to 11.10.1 for better compatibility
1603
+
1604
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1dde506)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/1dde506c1d63afe0a9d0ffc1ea7fb8d4722e1844)
1605
+
1606
+
1607
+ - ๐Ÿ”ง [build] Update Knip configuration to remove unnecessary dependencies
1608
+ - Removed several unused dependencies from the Knip configuration to streamline the analysis process
1609
+ - This change helps in reducing false positives and improving the accuracy of dependency tracking
1610
+
1611
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5d2f382)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5d2f382a0e7cdbc2463d18c6f322c29f0d697ace)
1612
+
1613
+
1614
+ - ๐Ÿ”ง [build] Update TypeScript configuration for ESLint
1615
+
1616
+ - โœจ [feat] Include `knip.config.ts` in the TypeScript ESLint configuration
1617
+ - ๐Ÿ“‚ This addition allows ESLint to recognize and lint the `knip.config.ts` file, ensuring consistent code quality and adherence to coding standards across the project.
1618
+
1619
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a4ac857)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a4ac8576e18b4a30ef54662a3857951dca1ac277)
1620
+
1621
+
1622
+ - ๐Ÿ”ง [build] Force install dependencies in Docusaurus deployment workflow
1623
+ - Updated npm install command to use --force for consistent dependency installation
1624
+
1625
+ ๐Ÿ“ [docs] Clarify documentation for modern enhancements
1626
+ - Revised package documentation to reflect subtle client-side interaction enhancements
1627
+
1628
+ ๐Ÿงน [chore] Update lint-actionlint script configuration path
1629
+ - Changed path for ActionLintConfig.yaml to use the repository root for better accessibility
1630
+
1631
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b1b30c3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b1b30c3c1fb58329c11e49acbe4e84acae2d46c4)
1632
+
1633
+
1634
+ - ๐Ÿ”ง [build] Update npm-check-updates to version 19.4.0
1635
+ - Upgraded the "npm-check-updates" package in both package.json and package-lock.json to ensure compatibility with the latest features and fixes.
1636
+
1637
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0d1b867)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/0d1b867c174310b07659a43fbd41694ab4579337)
1638
+
1639
+
1640
+ - ๐Ÿ”ง [build] Update Docusaurus configuration and add manifest file
1641
+ - ๐Ÿ› ๏ธ [fix] Implement ignoreKnownWebpackWarningsPlugin to suppress known webpack warnings
1642
+ - ๐Ÿ“ [docs] Add manifest.json for PWA support with background color and icons
1643
+ - ๐Ÿ”ง [build] Modify build:local script to include NODE_OPTIONS for deprecation warnings
1644
+ - ๐Ÿ”ง [build] Update TypeDoc output path in typedoc.local.config.json
1645
+
1646
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9327651)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/93276515f3fef321f4fea54d762fdf9d63ac07b5)
1647
+
1648
+
1649
+ - ๐Ÿ”ง [build] Refactor TypeFest plugin types and configurations
1650
+ - ๐Ÿ†• Export `TypefestConfigName` and `TypefestPresetConfig` types for better clarity
1651
+ - ๐Ÿ”„ Update `TypefestPlugin` and `TypefestConfigs` types to enhance type safety
1652
+ - ๐Ÿ”ง Modify function signatures to use new types for improved consistency
1653
+ - ๐Ÿ“ฆ Adjust `typefestPlugin` structure to align with updated type definitions
1654
+
1655
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a0fdbab)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a0fdbabd4429095440c4efd43d07829ace5b2afc)
1656
+
1657
+
1658
+ - ๐Ÿ”ง [build] Update eslint-plugin-testing-library to version 7.16.0
1659
+ - [dependency] Update version 7.16.0 in package.json and package-lock.json
1660
+ - Update dependencies for compatibility with the latest ESLint versions
1661
+
1662
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25224f5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/25224f59273e80a3b6231b8eaf954f164f3565f2)
1663
+
1664
+
1665
+ - ๐Ÿ”ง [build] Refactor TypeFest ESLint rules for consistency and clarity
1666
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-require-all-or-none`
1667
+ - Moved `name`, `meta`, and `defaultOptions` to the end of the rule definition for consistency.
1668
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-require-at-least-one`
1669
+ - Adjusted the structure to match the new format.
1670
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-require-exactly-one`
1671
+ - Ensured consistent ordering of properties.
1672
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-require-one-or-none`
1673
+ - Updated to follow the new structure.
1674
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-schema`
1675
+ - Aligned with the new metadata format.
1676
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-set-non-nullable`
1677
+ - Adjusted to maintain consistency across rules.
1678
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-set-optional`
1679
+ - Updated to follow the new structure.
1680
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-set-readonly`
1681
+ - Ensured consistent ordering of properties.
1682
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-set-required`
1683
+ - Aligned with the new metadata format.
1684
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-simplify`
1685
+ - Updated to follow the new structure.
1686
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-tagged-brands`
1687
+ - Adjusted to maintain consistency across rules.
1688
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-tuple-of`
1689
+ - Ensured consistent ordering of properties.
1690
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-array`
1691
+ - Aligned with the new metadata format.
1692
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-map`
1693
+ - Updated to follow the new structure.
1694
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-record`
1695
+ - Ensured consistent ordering of properties.
1696
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-set`
1697
+ - Aligned with the new metadata format.
1698
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-unwrap-tagged`
1699
+ - Updated to follow the new structure.
1700
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-value-of`
1701
+ - Ensured consistent ordering of properties.
1702
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-writable`
1703
+ - Aligned with the new metadata format.
1704
+ - ๐Ÿงช [test] Update docs integrity test to use expectTypeOf for description validation
1705
+ - Changed `expect(typeof description).toBe("string")` to `expectTypeOf(description).toBeString()`
1706
+
1707
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ce485eb)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ce485eb271acb65d12753e772cdcd320572bdeab)
1708
+
1709
+
1710
+ - ๐Ÿ”ง [build] Refactor TypeFest ESLint rules for consistency and clarity
1711
+
1712
+ - ๐Ÿ› ๏ธ [fix] Reorganize rule metadata for `prefer-type-fest-require-all-or-none`:
1713
+ - Moved `name`, `meta`, and `defaultOptions` to the correct positions.
1714
+ - Ensured the `create` function remains intact while maintaining functionality.
1715
+
1716
+ - ๐Ÿ› ๏ธ [fix] Update `prefer-type-fest-require-at-least-one` rule structure:
1717
+ - Adjusted metadata organization for clarity.
1718
+ - Preserved the core logic within the `create` function.
1719
+
1720
+ - ๐Ÿ› ๏ธ [fix] Refactor `prefer-type-fest-require-exactly-one` rule:
1721
+ - Streamlined metadata for better readability.
1722
+ - Kept the reporting logic unchanged.
1723
+
1724
+ - ๐Ÿ› ๏ธ [fix] Revise `prefer-type-fest-require-one-or-none` rule:
1725
+ - Enhanced metadata structure for consistency.
1726
+ - Maintained existing functionality in the `create` method.
1727
+
1728
+ - ๐Ÿ› ๏ธ [fix] Modify `prefer-type-fest-schema` rule:
1729
+ - Reorganized metadata for improved clarity.
1730
+ - Ensured the reporting logic remains functional.
1731
+
1732
+ - ๐Ÿ› ๏ธ [fix] Adjust `prefer-type-fest-set-non-nullable` rule:
1733
+ - Updated metadata layout for consistency.
1734
+ - Preserved the core logic in the `create` function.
1735
+
1736
+ - ๐Ÿ› ๏ธ [fix] Refactor `prefer-type-fest-set-optional` rule:
1737
+ - Improved metadata organization for clarity.
1738
+ - Maintained existing functionality.
1739
+
1740
+ - ๐Ÿ› ๏ธ [fix] Revise `prefer-type-fest-set-readonly` rule:
1741
+ - Streamlined metadata for better readability.
1742
+ - Ensured the reporting logic remains intact.
1743
+
1744
+ - ๐Ÿ› ๏ธ [fix] Update `prefer-type-fest-set-required` rule:
1745
+ - Enhanced metadata structure for consistency.
1746
+ - Preserved the core logic within the `create` function.
1747
+
1748
+ - ๐Ÿ› ๏ธ [fix] Refactor `prefer-type-fest-simplify` rule:
1749
+ - Reorganized metadata for improved clarity.
1750
+ - Kept the reporting logic unchanged.
1751
+
1752
+ - ๐Ÿ› ๏ธ [fix] Modify `prefer-type-fest-tagged-brands` rule:
1753
+ - Adjusted metadata organization for clarity.
1754
+ - Maintained existing functionality in the `create` method.
1755
+
1756
+ - ๐Ÿ› ๏ธ [fix] Revise `prefer-type-fest-tuple-of` rule:
1757
+ - Improved metadata layout for consistency.
1758
+ - Preserved the core logic in the `create` function.
1759
+
1760
+ - ๐Ÿ› ๏ธ [fix] Adjust `prefer-type-fest-unknown-array` rule:
1761
+ - Updated metadata structure for clarity.
1762
+ - Ensured the reporting logic remains functional.
1763
+
1764
+ - ๐Ÿ› ๏ธ [fix] Refactor `prefer-type-fest-unknown-map` rule:
1765
+ - Streamlined metadata for better readability.
1766
+ - Maintained existing functionality.
1767
+
1768
+ - ๐Ÿ› ๏ธ [fix] Modify `prefer-type-fest-unknown-record` rule:
1769
+ - Enhanced metadata organization for consistency.
1770
+ - Preserved the core logic within the `create` function.
1771
+
1772
+ - ๐Ÿ› ๏ธ [fix] Revise `prefer-type-fest-unknown-set` rule:
1773
+ - Reorganized metadata for improved clarity.
1774
+ - Kept the reporting logic unchanged.
1775
+
1776
+ - ๐Ÿ› ๏ธ [fix] Update `prefer-type-fest-unwrap-tagged` rule:
1777
+ - Adjusted metadata layout for consistency.
1778
+ - Maintained existing functionality in the `create` method.
1779
+
1780
+ - ๐Ÿ› ๏ธ [fix] Refactor `prefer-type-fest-value-of` rule:
1781
+ - Improved metadata structure for clarity.
1782
+ - Preserved the core logic in the `create` function.
1783
+
1784
+ - ๐Ÿ› ๏ธ [fix] Modify `prefer-type-fest-writable` rule:
1785
+ - Streamlined metadata for better readability.
1786
+ - Ensured the reporting logic remains intact.
1787
+
1788
+ ๐Ÿ“ [docs] Update documentation integrity tests
1789
+ - ๐Ÿ› ๏ธ [fix] Adjusted tests to ensure documentation URLs and descriptions are validated correctly.
1790
+ - ๐Ÿ› ๏ธ [fix] Enhanced type checks for rule descriptions to ensure they are strings.
1791
+
1792
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(df2ae2f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/df2ae2f38b3f8c5d03b1737f5bf328a8132adc77)
1793
+
1794
+
1795
+ - ๐Ÿ”ง [build] Update dependencies for improved compatibility and features
1796
+
1797
+ - ๐Ÿ“ฆ Upgrade "@typescript-eslint/utils" from "^8.55.0" to "^8.56.0" for enhanced TypeScript support.
1798
+ - ๐Ÿ“ฆ Upgrade "@eslint/js" from "^9.39.2" to "^10.0.1" to leverage the latest ESLint features and fixes.
1799
+ - ๐Ÿ“ฆ Upgrade "@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", and "@typescript-eslint/rule-tester" from "^8.55.0" to "^8.56.0" for better linting capabilities.
1800
+ - ๐Ÿ“ฆ Upgrade "typescript-eslint" from "^8.55.0" to "^8.56.0" to ensure compatibility with the latest TypeScript features.
1801
+ - ๐Ÿ“ฆ Update peer dependency "eslint" from "^9.0.0" to "^10.0.0" to align with the latest ESLint version requirements.
1802
+
1803
+ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ff78dc7)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ff78dc7d23858611fe280055f82504009732e61c)
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+ ## Contributors
1811
+ Thanks to all the [contributors](https://github.com/Nick2bad4u/eslint-plugin-typefest/graphs/contributors) for their hard work!
1812
+ ## License
1813
+ This project is licensed under the [UnLicense](https://github.com/Nick2bad4u/eslint-plugin-typefest/blob/main/LICENSE)
1814
+ *This changelog was automatically generated with [git-cliff](https://github.com/orhun/git-cliff).*