eslint-plugin-sdl-2 1.2.5 → 1.2.6

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 (112) hide show
  1. package/CHANGELOG.md +81 -873
  2. package/dist/_internal/config-references.d.ts +2 -1
  3. package/dist/_internal/config-references.d.ts.map +1 -1
  4. package/dist/_internal/config-references.js.map +1 -1
  5. package/dist/_internal/electron-web-preferences.d.ts.map +1 -1
  6. package/dist/_internal/electron-web-preferences.js +1 -3
  7. package/dist/_internal/electron-web-preferences.js.map +1 -1
  8. package/dist/plugin.cjs +600 -639
  9. package/dist/plugin.cjs.map +3 -3
  10. package/dist/rules/no-angular-bypass-sanitizer.d.ts.map +1 -1
  11. package/dist/rules/no-angular-bypass-sanitizer.js +8 -10
  12. package/dist/rules/no-angular-bypass-sanitizer.js.map +1 -1
  13. package/dist/rules/no-angular-bypass-security-trust-html.d.ts.map +1 -1
  14. package/dist/rules/no-angular-bypass-security-trust-html.js +14 -17
  15. package/dist/rules/no-angular-bypass-security-trust-html.js.map +1 -1
  16. package/dist/rules/no-angular-innerhtml-binding.d.ts.map +1 -1
  17. package/dist/rules/no-angular-innerhtml-binding.js +30 -32
  18. package/dist/rules/no-angular-innerhtml-binding.js.map +1 -1
  19. package/dist/rules/no-angular-sanitization-trusted-urls.d.ts.map +1 -1
  20. package/dist/rules/no-angular-sanitization-trusted-urls.js +8 -10
  21. package/dist/rules/no-angular-sanitization-trusted-urls.js.map +1 -1
  22. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.d.ts.map +1 -1
  23. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.js +36 -38
  24. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.js.map +1 -1
  25. package/dist/rules/no-angularjs-sanitization-whitelist.d.ts.map +1 -1
  26. package/dist/rules/no-angularjs-sanitization-whitelist.js +8 -10
  27. package/dist/rules/no-angularjs-sanitization-whitelist.js.map +1 -1
  28. package/dist/rules/no-document-parse-html-unsafe.d.ts.map +1 -1
  29. package/dist/rules/no-document-parse-html-unsafe.js +6 -3
  30. package/dist/rules/no-document-parse-html-unsafe.js.map +1 -1
  31. package/dist/rules/no-dynamic-import-unsafe-url.d.ts.map +1 -1
  32. package/dist/rules/no-dynamic-import-unsafe-url.js +11 -13
  33. package/dist/rules/no-dynamic-import-unsafe-url.js.map +1 -1
  34. package/dist/rules/no-electron-allow-running-insecure-content.d.ts.map +1 -1
  35. package/dist/rules/no-electron-allow-running-insecure-content.js +4 -6
  36. package/dist/rules/no-electron-allow-running-insecure-content.js.map +1 -1
  37. package/dist/rules/no-electron-disable-context-isolation.d.ts.map +1 -1
  38. package/dist/rules/no-electron-disable-context-isolation.js +4 -6
  39. package/dist/rules/no-electron-disable-context-isolation.js.map +1 -1
  40. package/dist/rules/no-electron-disable-sandbox.d.ts.map +1 -1
  41. package/dist/rules/no-electron-disable-sandbox.js +4 -6
  42. package/dist/rules/no-electron-disable-sandbox.js.map +1 -1
  43. package/dist/rules/no-electron-disable-web-security.d.ts.map +1 -1
  44. package/dist/rules/no-electron-disable-web-security.js +4 -6
  45. package/dist/rules/no-electron-disable-web-security.js.map +1 -1
  46. package/dist/rules/no-electron-enable-remote-module.d.ts.map +1 -1
  47. package/dist/rules/no-electron-enable-remote-module.js +4 -6
  48. package/dist/rules/no-electron-enable-remote-module.js.map +1 -1
  49. package/dist/rules/no-electron-enable-webview-tag.d.ts.map +1 -1
  50. package/dist/rules/no-electron-enable-webview-tag.js +4 -6
  51. package/dist/rules/no-electron-enable-webview-tag.js.map +1 -1
  52. package/dist/rules/no-electron-experimental-features.d.ts.map +1 -1
  53. package/dist/rules/no-electron-experimental-features.js +4 -6
  54. package/dist/rules/no-electron-experimental-features.js.map +1 -1
  55. package/dist/rules/no-electron-node-integration.d.ts.map +1 -1
  56. package/dist/rules/no-electron-node-integration.js +27 -29
  57. package/dist/rules/no-electron-node-integration.js.map +1 -1
  58. package/dist/rules/no-electron-webview-allowpopups.d.ts.map +1 -1
  59. package/dist/rules/no-electron-webview-allowpopups.js +21 -25
  60. package/dist/rules/no-electron-webview-allowpopups.js.map +1 -1
  61. package/dist/rules/no-electron-webview-insecure-webpreferences.d.ts.map +1 -1
  62. package/dist/rules/no-electron-webview-insecure-webpreferences.js +28 -30
  63. package/dist/rules/no-electron-webview-insecure-webpreferences.js.map +1 -1
  64. package/dist/rules/no-electron-webview-node-integration.d.ts.map +1 -1
  65. package/dist/rules/no-electron-webview-node-integration.js +27 -31
  66. package/dist/rules/no-electron-webview-node-integration.js.map +1 -1
  67. package/dist/rules/no-inner-html.js +3 -3
  68. package/dist/rules/no-inner-html.js.map +1 -1
  69. package/dist/rules/no-insecure-random.js +1 -1
  70. package/dist/rules/no-insecure-random.js.map +1 -1
  71. package/dist/rules/no-insecure-tls-agent-options.d.ts.map +1 -1
  72. package/dist/rules/no-insecure-tls-agent-options.js +20 -22
  73. package/dist/rules/no-insecure-tls-agent-options.js.map +1 -1
  74. package/dist/rules/no-insecure-url.js +8 -8
  75. package/dist/rules/no-insecure-url.js.map +1 -1
  76. package/dist/rules/no-message-event-without-origin-check.js +19 -19
  77. package/dist/rules/no-message-event-without-origin-check.js.map +1 -1
  78. package/dist/rules/no-msapp-exec-unsafe.d.ts.map +1 -1
  79. package/dist/rules/no-msapp-exec-unsafe.js +8 -10
  80. package/dist/rules/no-msapp-exec-unsafe.js.map +1 -1
  81. package/dist/rules/no-node-tls-check-server-identity-bypass.d.ts.map +1 -1
  82. package/dist/rules/no-node-tls-check-server-identity-bypass.js +29 -32
  83. package/dist/rules/no-node-tls-check-server-identity-bypass.js.map +1 -1
  84. package/dist/rules/no-node-tls-legacy-protocol.d.ts.map +1 -1
  85. package/dist/rules/no-node-tls-legacy-protocol.js +51 -50
  86. package/dist/rules/no-node-tls-legacy-protocol.js.map +1 -1
  87. package/dist/rules/no-node-tls-reject-unauthorized-zero.d.ts.map +1 -1
  88. package/dist/rules/no-node-tls-reject-unauthorized-zero.js +28 -30
  89. package/dist/rules/no-node-tls-reject-unauthorized-zero.js.map +1 -1
  90. package/dist/rules/no-node-tls-security-level-zero.d.ts.map +1 -1
  91. package/dist/rules/no-node-tls-security-level-zero.js +37 -39
  92. package/dist/rules/no-node-tls-security-level-zero.js.map +1 -1
  93. package/dist/rules/no-nonnull-assertion-on-security-input.d.ts.map +1 -1
  94. package/dist/rules/no-nonnull-assertion-on-security-input.js +11 -13
  95. package/dist/rules/no-nonnull-assertion-on-security-input.js.map +1 -1
  96. package/dist/rules/no-postmessage-star-origin.d.ts.map +1 -1
  97. package/dist/rules/no-postmessage-star-origin.js +1 -3
  98. package/dist/rules/no-postmessage-star-origin.js.map +1 -1
  99. package/dist/rules/no-script-text.d.ts.map +1 -1
  100. package/dist/rules/no-script-text.js +6 -3
  101. package/dist/rules/no-script-text.js.map +1 -1
  102. package/dist/rules/no-unsafe-cast-to-trusted-types.d.ts.map +1 -1
  103. package/dist/rules/no-unsafe-cast-to-trusted-types.js +26 -28
  104. package/dist/rules/no-unsafe-cast-to-trusted-types.js.map +1 -1
  105. package/dist/rules/no-winjs-html-unsafe.d.ts.map +1 -1
  106. package/dist/rules/no-winjs-html-unsafe.js +8 -10
  107. package/dist/rules/no-winjs-html-unsafe.js.map +1 -1
  108. package/docs/rules/no-child-process-exec.md +1 -1
  109. package/docs/rules/no-child-process-shell-true.md +1 -1
  110. package/docs/rules/no-msapp-exec-unsafe.md +1 -1
  111. package/docs/rules/no-winjs-html-unsafe.md +1 -1
  112. package/package.json +49 -41
package/CHANGELOG.md CHANGED
@@ -1,40 +1,31 @@
1
1
  <!-- markdownlint-disable -->
2
2
  <!-- eslint-disable markdown/no-missing-label-refs -->
3
+
3
4
  # Changelog
4
5
 
5
6
  All notable changes to this project will be documented in this file.
6
7
 
7
8
  ## [1.0.1] - 2026-03-13
8
9
 
9
-
10
10
  [c94f474...c94f474](https://github.com/Nick2bad4u/eslint-plugin-typefest/compare/c94f47418c00ccf8e84b8a7dd1539db18518d22a...c94f47418c00ccf8e84b8a7dd1539db18518d22a)
11
11
 
12
-
13
12
  ### 🧹 Chores
14
13
 
15
14
  - Release v1.0.1 [`(c94f474)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c94f47418c00ccf8e84b8a7dd1539db18518d22a)
16
15
 
17
-
18
-
19
-
20
-
21
-
22
16
  ## [1.0.0] - 2026-03-13
23
17
 
24
-
25
18
  [d233b9c...fe9afd2](https://github.com/Nick2bad4u/eslint-plugin-typefest/compare/d233b9c2b49f5f87e10e2c2ee04deed9765f54a3...fe9afd26fe79835b171003e19575a90518e14be6)
26
19
 
27
-
28
20
  ### ✨ Features
29
21
 
30
22
  - ✨ [feat] Add Prettier configuration and bootstrap instructions
31
- 📝 [docs] Update ESLint configuration with package installation guidance
32
- 🧪 [test] Enhance type safety and fix assertions in prefer-ts-extras-key-in tests
33
- 🔧 [chore] Include prettier.config.ts in TypeScript configuration
23
+ 📝 [docs] Update ESLint configuration with package installation guidance
24
+ 🧪 [test] Enhance type safety and fix assertions in prefer-ts-extras-key-in tests
25
+ 🔧 [chore] Include prettier.config.ts in TypeScript configuration
34
26
 
35
27
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8219846)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/82198469abc5897572fba1dc3e17a4929daaf7e3)
36
28
 
37
-
38
29
  - ✨ [feat] Enhance ESLint configuration and improve scope resolution utilities
39
30
 
40
31
  - Disable `vitest/prefer-expect-type-of` rule due to typechecking issues with current typings.
@@ -46,7 +37,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8219
46
37
 
47
38
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d0c909)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3d0c909e2649b1603e278ba9774d35b7fe9694c1)
48
39
 
49
-
50
40
  - ✨ [feat] Add contributors section and update package dependencies
51
41
 
52
42
  - 📝 Create .all-contributorsrc for managing contributors
@@ -63,7 +53,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d0c
63
53
 
64
54
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1d5fa24)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/1d5fa24bbea2842389a350d0e5389134b16ee4c3)
65
55
 
66
-
67
56
  - ✨ [feat] Add strict profile configuration and enhance module exports
68
57
 
69
58
  - Introduced a new `.attw.json` file with strict profile settings
@@ -73,16 +62,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1d5f
73
62
  - Modified build scripts to generate CommonJS compatible files
74
63
 
75
64
  - Added new linting command for strict package checks
76
- 🧪 [test] Extend tests for runtime plugin shape validation
65
+ 🧪 [test] Extend tests for runtime plugin shape validation
77
66
 
78
67
  - Implemented tests to verify the exported structure of the runtime plugin
79
68
 
80
69
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7ff063c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7ff063cd9834399920a111b9c48c3e6ef3ae624c)
81
70
 
82
-
83
71
  - ✨ [feat] Enhance Mermaid configuration and add presets rules synchronization
84
72
 
85
-
86
73
  - 🛠️ [fix] Update `mermaid.config.json` to include `ishikawa` settings for improved diagram layout.
87
74
 
88
75
  - 🔧 [build] Upgrade `eslint-plugin-package-json` from version `0.90.0` to `0.90.1` for better linting support.
@@ -97,36 +84,26 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7ff0
97
84
 
98
85
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(292e4a4)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/292e4a49f94c517cb317dbf77cbad13bccdfa3d0)
99
86
 
100
-
101
87
  - ✨ [feat] Add blog link to navigation menu
102
88
 
103
89
  - Introduced a new link to the blog section in the navigation menu for easier access.
104
90
 
105
91
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(76ff1fe)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/76ff1fe85bdff07695c59e70cdd023603de59b7f)
106
92
 
107
-
108
93
  - ✨ [feat] Add rule catalog ID validation and normalize markdown table spacing
109
94
 
110
-
111
95
  - 📝 Introduced a new function `assertRuleCatalogIdLine` to validate that each rule documentation contains exactly one canonical Rule catalog ID line.
112
-
113
96
  - 📜 This function checks for the presence of the Rule catalog ID line and ensures it is correctly positioned relative to the "Further reading" heading.
114
-
115
97
  - ✅ Added assertions to verify the expected format and order of the Rule catalog ID line.
116
98
 
117
-
118
99
  - 🛠️ Enhanced the `normalizeRulesSectionMarkdown` function to standardize markdown table row spacing.
119
-
120
100
  - 🔄 This function normalizes the spacing of markdown tables to ensure consistent formatting across generated tables.
121
-
122
101
  - 📏 It trims whitespace and adjusts column alignment for better comparison between generated and expected markdown tables.
123
102
 
124
-
125
103
  - 🧪 Updated tests to utilize the new normalization function for comparing readme rules sections, ensuring snapshot stability.
126
104
 
127
105
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c1caabb)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c1caabb730504b1ad1d737428b156c8675b7e0eb)
128
106
 
129
-
130
107
  - ✨ [feat] Introduce default operators for nullish comparison parsing
131
108
 
132
109
  - Added a constant for default nullish comparison operators to improve maintainability
@@ -137,7 +114,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c1ca
137
114
 
138
115
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(473f8d6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/473f8d6329ade1b3e203c7c1fb7a0d2961a41b05)
139
116
 
140
-
141
117
  - ✨ [feat] Enhance typed rule functionality and validation
142
118
 
143
119
  - 🛠️ [fix] Add non-canonical docs.url validation in createTypedRule
@@ -152,7 +128,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(473f
152
128
 
153
129
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(370a7cd)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/370a7cd7d545a20d0b9047adb75094fa5fbc7709)
154
130
 
155
-
156
131
  - ✨ [feat] Enhance sidebar readability and button styles
157
132
 
158
133
  - 🆕 Introduced a new sidebar label token coloring feature to improve readability by highlighting leading tokens in sidebar links.
@@ -171,7 +146,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(370a
171
146
 
172
147
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(719bab6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/719bab6821895a1509e99e2c263776f94f407ae6)
173
148
 
174
-
175
149
  - ✨ [feat] Implement telemetry for typed rule paths
176
150
 
177
151
  - 🛠️ [fix] Add telemetry recording for prefilter evaluations in array-like expression checks
@@ -186,7 +160,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(719b
186
160
 
187
161
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8bb7d79)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8bb7d79ac483fd2336235c0018d072d76a78e060)
188
162
 
189
-
190
163
  - ✨ [feat] Enhance rule documentation and argument validation
191
164
 
192
165
  - 🆕 [feat] Add `createRuleDocsUrl` function for generating canonical rule documentation URLs
@@ -203,7 +176,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8bb7
203
176
 
204
177
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(36e010b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/36e010b654605c0c0bc1f0fd570bc5e3557dd272)
205
178
 
206
-
207
179
  - ✨ [feat] Enhance rule reporting and configuration management
208
180
 
209
181
  - 🛠️ Refactor rule reporting to enforce policy-aware handling
@@ -220,10 +192,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(36e0
220
192
 
221
193
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ef3e2b0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ef3e2b0f505bd52bf9043ce4f3061c5fa9d26343)
222
194
 
223
-
224
195
  - ✨ [feat] Enhance rule metadata with ruleId and ruleNumber
225
196
 
226
-
227
197
  - 🆕 Introduced `ruleId` and `ruleNumber` properties in the `RuleDocsMetadata` type to uniquely identify rules.
228
198
 
229
199
  - 🔍 Updated the `getRuleDocsContract` function to validate the format of `ruleId` as 'R###' and ensure `ruleNumber` is a positive integer.
@@ -238,7 +208,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ef3e
238
208
 
239
209
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(dae1c27)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/dae1c27f6a81ce85d86580020ac57dc5ac73e58e)
240
210
 
241
-
242
211
  - ✨ [feat] Enhance logging functionality in scripts
243
212
 
244
213
  - 📝 Update log-prompt.ps1 to include success and failure messages for prompt logging
@@ -253,7 +222,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(dae1
253
222
 
254
223
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(954d614)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/954d6144b034d79a7fd4cf013b1396ac2aea67ce)
255
224
 
256
-
257
225
  - ✨ [feat] Enhance TypeScript ESLint integration with new utilities and benchmarks
258
226
 
259
227
  - 🆕 Add `getConstrainedTypeAtLocationWithFallback` utility to resolve TypeScript types with resilient fallbacks for partially mocked parser services.
@@ -274,7 +242,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(954d
274
242
 
275
243
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(021b3e9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/021b3e936183cb36f498cb5904e2e60a1467170c)
276
244
 
277
-
278
245
  - ✨ [feat] Add type annotations to exported constants and introduce new tsconfig for Vitest type-checking
279
246
 
280
247
  - 🛠️ [fix] Update `isPresentStressFixture`, `recommendedZeroMessageBaseline`, `safeCastToStressFixture`, `setHasStressFixture`, and `stringSplitStressFixture` with explicit type annotations
@@ -291,7 +258,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(021b
291
258
 
292
259
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(21e0d49)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/21e0d498a8ed4c996ad2844795716c2cfdd01593)
293
260
 
294
-
295
261
  - ✨ [feat] Add sync:readme-rules-table script to package.json and optimize rule handling
296
262
 
297
263
  - Introduced a new script command to synchronize the README rules table.
@@ -300,7 +266,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(21e0
300
266
 
301
267
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(92bd316)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/92bd316192d7f16ca8cbcd9d13565b1751a503af)
302
268
 
303
-
304
269
  - ✨ [feat] Enhance typefest plugin with new functionality and documentation updates
305
270
 
306
271
  - 📝 Add JSDoc comments for `getSafeLocalNameForImportedValue` to clarify its purpose and parameters
@@ -315,7 +280,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(92bd
315
280
 
316
281
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b496d4e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b496d4e9e7b79d90c1ca42dd8de32437f25a398d)
317
282
 
318
-
319
283
  - ✨ [feat] Enhance ESLint Plugin with various improvements and optimizations
320
284
 
321
285
  - 🛠️ [fix] Update memoization logic in `expression-boolean-memoizer.ts` to use `isDefined` for cache checks
@@ -332,7 +296,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b496
332
296
 
333
297
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(00fc246)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/00fc24679cd832ceed639e19414838bcad265851)
334
298
 
335
-
336
299
  - ✨ [feat] Enhance ESLint Plugin with New Rules and Performance Improvements
337
300
 
338
301
  - 🆕 Add `prefer-ts-extras-set-has` rule to improve set membership checks.
@@ -355,7 +318,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(00fc
355
318
 
356
319
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a1e6f4b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a1e6f4ba9c120d62306db5a2868e1495f5a3a5df)
357
320
 
358
-
359
321
  - ✨ [feat] Update dependencies and enhance parser options handling
360
322
 
361
323
  - 🔧 Update `@eslint/compat` to version `2.0.3` and `@eslint/config-helpers` to `0.5.3` in package.json and package-lock.json
@@ -372,7 +334,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a1e6
372
334
 
373
335
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(be1768e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/be1768ecb0caa251823fc6c1092d59ce7d103df9)
374
336
 
375
-
376
337
  - ✨ [feat] Introduce 'recommended-type-checked' configuration for ESLint plugin
377
338
 
378
339
  - 🆕 Added 'recommended-type-checked' to typefestConfigNames for enhanced type checking.
@@ -393,7 +354,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(be17
393
354
 
394
355
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3e11f34)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3e11f3414a7deda15d7ca4ce1dc9b33175f9cea5)
395
356
 
396
-
397
357
  - ✨ [feat] Add deMorgan ESLint plugin and update dependencies
398
358
 
399
359
  - 🆕 Import `eslint-plugin-de-morgan` for enhanced rule checks
@@ -404,7 +364,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3e11
404
364
 
405
365
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4ab8742)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4ab87429abba03528830985abc2645c04f1d56b8)
406
366
 
407
-
408
367
  - ✨ [feat] auto-enable parser services and centralize preset membership
409
368
 
410
369
  ✨ Add automatic `projectService` parserOptions for any preset that needs type checking and note the behavior in README/docs
@@ -449,10 +408,8 @@ These changes aim to reduce duplication, improve reliability of presets, and mak
449
408
 
450
409
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3e52bb0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3e52bb09e51b587351e8927e947ee7d34ca57c7f)
451
410
 
452
-
453
411
  - ✨ [feat] Enhance import insertion functionality and add failure handling
454
412
 
455
-
456
413
  - 🛠️ [fix] Modify `createImportInsertionFix` to accept an optional `moduleSpecifierHint` parameter, allowing for more flexible import handling when the specifier cannot be inferred from the import text.
457
414
 
458
415
  - 🔧 [build] Update calls to `createImportInsertionFix` in `imported-type-aliases.ts` and `imported-value-symbols.ts` to include the new `moduleSpecifierHint` parameter.
@@ -469,7 +426,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3e52
469
426
 
470
427
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f06b2d9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f06b2d997d21d0567915dbabcac36bbc49f50ae5)
471
428
 
472
-
473
429
  - ✨ [feat] Enhance TypeFest rules with new options and improvements
474
430
 
475
431
  - 🛠️ [fix] Update `prefer-ts-extras-set-has` rule to support `unionBranchMatchingMode` options for better union handling
@@ -498,7 +454,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f06b
498
454
 
499
455
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(46a0938)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/46a0938464a8b70ba3aea1023157589517fc8b17)
500
456
 
501
-
502
457
  - ✨ [feat] Enhance TypeFest ESLint rules with ts-extras utilities
503
458
 
504
459
  - 🔧 [refactor] Update `prefer-type-fest-literal-union.ts` to use `arrayFirst` and `arrayJoin` for improved literal union text generation.
@@ -521,7 +476,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(46a0
521
476
 
522
477
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6a02cd3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6a02cd3f09977c68334884e0f51efc61de550d8d)
523
478
 
524
-
525
479
  - ✨ [feat] Add comprehensive audit prompt for repository quality and scalability
526
480
 
527
481
  - Introduce a new prompt for deep-scan and refactor tasks aimed at enhancing stability, performance, and maintainability.
@@ -532,7 +486,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6a02
532
486
 
533
487
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(042e729)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/042e729588719f03e61fab404d0cfdd6c8bfbe7f)
534
488
 
535
-
536
489
  - ✨ [feat] Introduce isDefined utility from ts-extras for nullish checks
537
490
 
538
491
  - 🔧 Update nullish-comparison.ts to use isDefined for better readability and consistency in null checks.
@@ -555,7 +508,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(042e
555
508
 
556
509
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(647d69f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/647d69f6f8475e274d3e02e4e806df224f46da47)
557
510
 
558
-
559
511
  - ✨ [feat] Implement import insertion coordination and enhance type import handling
560
512
 
561
513
  - Introduced `ImportFixIntent` type for managing autofix and suggestion intents in import insertion.
@@ -570,7 +522,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(647d
570
522
 
571
523
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5879928)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5879928457bb7615018776d8c03f0ea213e0388f)
572
524
 
573
-
574
525
  - ✨ [feat] Enhance import insertion handling and deduplication logic
575
526
 
576
527
  - 🛠️ Introduced a caching mechanism for import-insertion claims using a WeakMap to prevent duplicate import fixes within the same lint pass.
@@ -593,7 +544,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5879
593
544
 
594
545
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e5b98f0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e5b98f0f409c34817972c2da205e1c7e8eb5d936)
595
546
 
596
-
597
547
  - ✨ [feat] Introduce runtime harness for prefer-ts-extras-assert-present tests
598
548
 
599
549
  - 🆕 Added a new file `prefer-ts-extras-assert-present-runtime-harness.ts` containing utilities for testing the `prefer-ts-extras-assert-present` rule.
@@ -614,7 +564,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e5b9
614
564
 
615
565
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f0826fe)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f0826fe3c507b5dcd2fc7a6d9c68c6cc318f9021)
616
566
 
617
-
618
567
  - ✨ [feat] Enhance fixer parse-safety coverage tests
619
568
 
620
569
  - 🛠️ Refactor `collectRuleIdsRequiringParseSafety` to utilize `typefestPlugin.rules` directly, removing the need for file system access.
@@ -635,7 +584,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f082
635
584
 
636
585
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25e991b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/25e991bb37399af03b9e1d19e9abe9248095f24e)
637
586
 
638
-
639
587
  - ✨ [feat] Enhance homepage with GitHub stats and improve layout
640
588
 
641
589
  - 🆕 Add GitHubStats component to display live repository badges
@@ -650,34 +598,33 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25e9
650
598
 
651
599
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1489fe5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/1489fe589c1e44b4fdb47256ced3177967844d7c)
652
600
 
653
-
654
601
  - ✨ [feat] Enforce canonical docs & expand rule guides
655
602
 
656
603
  📝 [docs] Flesh out every helper rule page with
657
604
 
658
605
  - “Targeted pattern scope” sections, clearer example labels,
659
- package‑documentation blocks, migration notes and links.
606
+ package‑documentation blocks, migration notes and links.
660
607
 
661
608
  - Added dozens of ts‑extras/type‑fest helper snippets and
662
- canonical headings so the guides are self‑contained.
609
+ canonical headings so the guides are self‑contained.
663
610
 
664
611
  ✨ [feat] Introduce a remark‑lint plugin to verify and
665
- enforce the H1/H2 schema for rule docs
612
+ enforce the H1/H2 schema for rule docs
666
613
 
667
614
  - wired into .remarkrc and used by test suite.
668
615
 
669
616
  🧪 [test] Update docs‑integrity spec to assert heading order,
670
- package labels and redact legacy patterns.
617
+ package labels and redact legacy patterns.
671
618
 
672
619
  - Add new cases for reversed `typeof undefined` to the
673
- prefer‑ts‑extras‑is‑defined‑filter rule.
620
+ prefer‑ts‑extras‑is‑defined‑filter rule.
674
621
 
675
622
  🛠️ [fix] Improve prefer‑ts‑extras‑is‑defined‑filter logic to
676
- catch inverted typeof checks and add corresponding tests.
623
+ catch inverted typeof checks and add corresponding tests.
677
624
 
678
625
  🧹 [chore] [dependency] Update various dev dependencies (stylelint‑a11y,
679
- stryker, npm‑check‑updates, eslint‑plugin‑package‑json, etc.)
680
- and tidy package.json.
626
+ stryker, npm‑check‑updates, eslint‑plugin‑package‑json, etc.)
627
+ and tidy package.json.
681
628
 
682
629
  The changes raise documentation quality, make future edits
683
630
  deterministic and reduce manual review churn while
@@ -685,7 +632,6 @@ handling a subtle predicate bug.
685
632
 
686
633
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5ef9c15)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5ef9c157b9304ef69f1c4c3b9fa3ede02ddae86f)
687
634
 
688
-
689
635
  - ✨ [feat] Enhance unicode and emoji support in autofixes
690
636
 
691
637
  - 🛠️ Add tests for preserving unicode, emoji, and nerd-font glyphs in argument text
@@ -700,20 +646,19 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5ef9
700
646
 
701
647
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7349e48)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7349e48baf605c4457a8fe27765bb29cd998122a)
702
648
 
703
-
704
649
  - ✨ [feat] Add global identifier guards and expand test coverage
705
650
 
706
651
  ✨ Introduce robust global‑scope helpers and apply them across rules
707
652
 
708
653
  - add `isGlobalIdentifierNamed`, `isGlobalUndefinedIdentifier` and
709
- `getVariableInScopeChain` to typed‑rule
654
+ `getVariableInScopeChain` to typed‑rule
710
655
 
711
656
  - export new regex constants for test file detection and normalize
712
- lookup logic
657
+ lookup logic
713
658
 
714
659
  - adapt rule implementations to accept context and use the new checks
715
- so shadowed globals (e.g. `undefined`, `Number`, `Object`, `Error`,
716
- etc.) no longer trigger false positives
660
+ so shadowed globals (e.g. `undefined`, `Number`, `Object`, `Error`,
661
+ etc.) no longer trigger false positives
717
662
 
718
663
  🚜 Refactor internal helpers for clarity
719
664
 
@@ -726,18 +671,18 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7349
726
671
  🧪 Vastly expand automated tests
727
672
 
728
673
  - add coverage for array‑like expressions, import insertion, imported
729
- type/value symbols, normalization, typed‑rule utilities, plugin
730
- entry runtime branches and new rule‑guard suite
674
+ type/value symbols, normalization, typed‑rule utilities, plugin
675
+ entry runtime branches and new rule‑guard suite
731
676
 
732
677
  - enrich rule specs with shadowing, malformed AST ranges, recursive
733
- types, non‑identifier guards, undocumented edge cases and more
678
+ types, non‑identifier guards, undocumented edge cases and more
734
679
 
735
680
  - ensure every rule short‑circuits on test file paths
736
681
 
737
682
  🛠️ Fix edge cases and add safe fallbacks
738
683
 
739
684
  - handle invalid program ranges, disabled import fixes and detached
740
- nodes in import insertion
685
+ nodes in import insertion
741
686
 
742
687
  - guard against volatile/throwing fix getters in report descriptors
743
688
 
@@ -758,7 +703,6 @@ shadowing, and significantly improve test reliability and coverage.
758
703
 
759
704
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6ae4136)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6ae41360a5a5e5c6bdc1fafd67aa9400b0472e2f)
760
705
 
761
-
762
706
  - ✨ [feat] Add plugin settings to control autofixes and shared helper utilities
763
707
 
764
708
  ✨ [feat] introduce global configuration flags for disabling import‑insertion
@@ -785,7 +729,6 @@ and reduce code drift by centralizing shared functionality.
785
729
 
786
730
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6b530ec)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6b530ece7f5f101f9d599fdacd7f526321060d6c)
787
731
 
788
-
789
732
  - ✨ [feat] Update test coverage scripts and enhance JUnit reporting
790
733
 
791
734
  - 🔧 Modify coverage job to run tests with JUnit report generation
@@ -798,7 +741,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6b53
798
741
 
799
742
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fe9b0b3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fe9b0b3d4133560154045a82ec981920ba847574)
800
743
 
801
-
802
744
  - ✨ [feat] Add ESLint 9 compatibility checks and update documentation
803
745
 
804
746
  - 🛠️ [fix] Implement ESLint 9 compatibility smoke checks in a new script
@@ -813,7 +755,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fe9b
813
755
 
814
756
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8e7a5a8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8e7a5a8890c707d01bd8af285ff7bd3eb53a9698)
815
757
 
816
-
817
758
  - ✨ [feat] Enhance ESLint Benchmarking and Add New Fixtures
818
759
 
819
760
  - 🛠️ [fix] Update ESLint rule types to use `import("eslint").Linter.RulesRecord` for better type safety.
@@ -838,14 +779,12 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8e7a
838
779
 
839
780
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(72b72c3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/72b72c3d76e79c5c48b80909a5f26f5d304afd53)
840
781
 
841
-
842
782
  - ✨ [feat] Update rules to require 'frozen: false' for typefest ESLint rules
843
783
 
844
784
  - 📝 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.
845
785
 
846
786
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(110d7dd)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/110d7dd4ad77096226ed311227c6e9dc54b8669a)
847
787
 
848
-
849
788
  - ✨ [feat] Adds preset-tagged rule recommendations
850
789
 
851
790
  ✨ [feat] Expands rule documentation metadata to support preset-based recommendation tags, so guidance maps cleanly to multiple preset levels.
@@ -865,7 +804,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(110d
865
804
 
866
805
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(155c352)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/155c352f4fdb9a3ac38104a5b11b67ede23aefe4)
867
806
 
868
-
869
807
  - ✨ [feat] Enhance TypeFest rule tests with detailed metadata and messages
870
808
 
871
809
  - 🛠️ [fix] Refactor rule tests to include `ruleId`, `docsDescription`, and `messages` for better clarity and maintainability
@@ -880,7 +818,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(155c
880
818
 
881
819
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db8f3d9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/db8f3d907e5b7dff0f98dc648045e96776573ba2)
882
820
 
883
-
884
821
  - ✨ [feat] Enhance prefer-ts-extras-is-equal-type tests with metadata validation
885
822
 
886
823
  - 📝 Add metadata loading function for `prefer-ts-extras-is-equal-type` rule
@@ -893,7 +830,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db8f
893
830
 
894
831
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b7735ff)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b7735fff0c81b9b0e938e11e80f466824d347ee6)
895
832
 
896
-
897
833
  - ✨ [feat] Enhance prefer-ts-extras-is-equal-type rule with ts-extras integration
898
834
 
899
835
  - 🛠️ [fix] Add support for isEqualType function from ts-extras in ESLint rule
@@ -904,7 +840,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b773
904
840
 
905
841
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(64beea6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/64beea69975339a2924f307a80baf25d38e4c3c7)
906
842
 
907
-
908
843
  - ✨ [feat] Introduce local Typefest plugin dogfooding rules
909
844
 
910
845
  - Added local Typefest plugin for manual dogfooding in ESLint configuration
@@ -915,7 +850,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(64be
915
850
 
916
851
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(df8b7be)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/df8b7be5d4074457f8d826c979149f8f861f7c73)
917
852
 
918
-
919
853
  - ✨ [feat] Implement script for temp directory cleanup
920
854
 
921
855
  - 🛠️ Update hooks to use new PowerShell script for removing temp files
@@ -928,7 +862,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(df8b
928
862
 
929
863
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(98e032b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/98e032b352efbe56862f5912aaab20d094319018)
930
864
 
931
-
932
865
  - ✨ [feat] Update node configuration and dependencies
933
866
 
934
867
  - 🔧 Change "test" directory to "tests" in node options for file system read permissions
@@ -971,7 +904,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(98e0
971
904
 
972
905
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5c39e3d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5c39e3d5254fd081c9bd94a35933f21cd396893e)
973
906
 
974
-
975
907
  - ✨ [feat] Add Stryker mutation testing configuration
976
908
 
977
909
  - 🛠️ [config] Create .github/workflows/stryker.yml for scheduled and manual mutation testing
@@ -986,7 +918,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5c39
986
918
 
987
919
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7608574)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7608574ff670f60b3822c80f981c06e41e61e748)
988
920
 
989
-
990
921
  - ✨ [feat] Update ESLint configuration and dependencies
991
922
 
992
923
  - 🔧 Update environment variable for JSON schema validation from `UW_ENABLE_JSON_SCHEMA_VALIDATION` to `ENABLE_JSON_SCHEMA_VALIDATION`
@@ -1033,7 +964,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7608
1033
964
 
1034
965
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8afc040)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8afc040b174fd9de7074b1ef149837163aa8dddf)
1035
966
 
1036
-
1037
967
  - ✨ [feat] Adds import-safe autofixes to lint rules
1038
968
 
1039
969
  ✨ [feat] Expands many helper/type preference diagnostics to deliver automatic fixes or targeted suggestions, reducing manual migrations while keeping behavior stable.
@@ -1054,7 +984,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8afc
1054
984
 
1055
985
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bfc3d8d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bfc3d8d98165dd6866d558d059a2f6cd46369752)
1056
986
 
1057
-
1058
987
  - ✨ [feat] Adds safe autofixes for preference rules
1059
988
 
1060
989
  ✨ [feat] Enables automatic rewrites to preferred utility-style calls when compatible value imports are already in scope.
@@ -1079,7 +1008,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bfc3
1079
1008
 
1080
1009
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25a1784)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/25a1784bf26d1d3e9023f21ed2d2023e1d628e02)
1081
1010
 
1082
-
1083
1011
  - ✨ [feat] Add authors configuration for blog
1084
1012
 
1085
1013
  - Introduced authors.yml to define contributors for the blog
@@ -1090,7 +1018,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25a1
1090
1018
 
1091
1019
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(53bf4a6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/53bf4a66503c9a0274fea8af7b4cc1ee70c485ac)
1092
1020
 
1093
-
1094
1021
  - ✨ [feat] Add favicon and enhance ESLint Config Inspector build script
1095
1022
 
1096
1023
  - 🆕 Introduce favicon.ico to Docusaurus static assets for improved branding
@@ -1105,7 +1032,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(53bf
1105
1032
 
1106
1033
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2359e0c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2359e0c73d136715759ac931708f1f494a23a447)
1107
1034
 
1108
-
1109
1035
  - ✨ [feat] Enhance documentation and CI workflow
1110
1036
 
1111
1037
  - 📝 [docs] Add CLI debugging and config inspection guide
@@ -1126,7 +1052,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2359
1126
1052
 
1127
1053
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a8ce34a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a8ce34af2b417febf44ca290ff535ba226c44a7f)
1128
1054
 
1129
-
1130
1055
  - ✨ [feat] Integrate Stryker for mutation testing and enhance changelog generation
1131
1056
 
1132
1057
  - 🔧 Add scripts for changelog generation, preview, and release notes using git-cliff
@@ -1145,7 +1070,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a8ce
1145
1070
 
1146
1071
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2c6b5ef)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2c6b5ef32519e49d3162d67786ba71cce83daf01)
1147
1072
 
1148
-
1149
1073
  - ✨ [feat] Adds TypeFest typing preference rules
1150
1074
 
1151
1075
  ✨ [feat] Expands typed linting to standardize common type patterns on canonical utility aliases.
@@ -1172,7 +1096,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2c6b
1172
1096
 
1173
1097
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(dcd7a6f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/dcd7a6ffeea657c615551a71e08bcf6e7afbc4df)
1174
1098
 
1175
-
1176
1099
  - ✨ [feat] Add modern docs UI enhancements
1177
1100
 
1178
1101
  ✨ [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.
@@ -1187,7 +1110,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(dcd7
1187
1110
 
1188
1111
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d81f477)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d81f47784ebb46ade581d9f8f58fd073bd088608)
1189
1112
 
1190
-
1191
1113
  - ✨ [feat] Enhance documentation structure and content for eslint-plugin-typefest
1192
1114
 
1193
1115
  - 📝 [docs] Update docusaurus configuration to include new pages for rules overview and getting started
@@ -1208,7 +1130,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d81f
1208
1130
 
1209
1131
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a73ec43)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a73ec4395f4b8c8977837a94ca16fbb998da3989)
1210
1132
 
1211
-
1212
1133
  - ✨ [feat] Update Docusaurus homepage links and text
1213
1134
 
1214
1135
  - 🔗 Change the primary button link from "/docs/getting-started" to "/docs/intro"
@@ -1247,20 +1168,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a73e
1247
1168
 
1248
1169
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(413a896)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/413a896d53a2576852b4bc02e554478137e50477)
1249
1170
 
1250
-
1251
1171
  - ✨ [feat] Enhance ESLint Plugin and Documentation
1252
1172
 
1253
-
1254
1173
  - 🛠️ [build] Add workspaces support for Docusaurus in package.json
1255
1174
 
1256
1175
  - 📝 [docs] Introduce new scripts for documentation management:
1257
-
1258
1176
  - 📜 [scripts] Add build-eslint-inspector.mjs to build static ESLint Config Inspector
1259
-
1260
1177
  - 🔗 [scripts] Implement check-doc-links.mjs to verify documentation links
1261
-
1262
1178
  - 🧹 [scripts] Create lint-actionlint.mjs for linting GitHub Actions workflows
1263
-
1264
1179
  - ✅ [scripts] Add verify-eslint-inspector.mjs to validate ESLint Inspector integration
1265
1180
 
1266
1181
  - 🛠️ [fix] Update tsconfig.eslint.json to include TypeScript files in docs directory
@@ -1271,7 +1186,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(413a
1271
1186
 
1272
1187
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(17f1583)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/17f1583bc3a8ca11d587c827ac23d73895fd8c98)
1273
1188
 
1274
-
1275
1189
  - ✨ [feat] Enhance TypeFest ESLint Plugin with TypeScript Support
1276
1190
 
1277
1191
  - 🆕 Add TypeScript parser as a dependency to improve compatibility with TypeScript files.
@@ -1292,7 +1206,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(17f1
1292
1206
 
1293
1207
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(58d2f8d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/58d2f8dad12ea27c2417c65490cc542b18a0bcbd)
1294
1208
 
1295
-
1296
1209
  - ✨ [feat] Add new ESLint rules for TypeScript extras
1297
1210
 
1298
1211
  - 🎉 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.
@@ -1323,7 +1236,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(58d2
1323
1236
 
1324
1237
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e731149)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e7311497fccdd2a094cde912c332f28b562a9adb)
1325
1238
 
1326
-
1327
1239
  - ✨ [feat] Enhance ESLint configuration with new rules and plugins
1328
1240
 
1329
1241
  - 🔧 Import `defineConfig` and `globalIgnores` from `@eslint/config-helpers`
@@ -1336,47 +1248,30 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e731
1336
1248
 
1337
1249
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2cb3cac)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2cb3cac8a808b97edc8e28aecad7c65bce1c22b0)
1338
1250
 
1339
-
1340
1251
  - ✨ [feat] Introduce new rules for TypeScript extras
1341
1252
 
1342
-
1343
1253
  - ✨ [feat] Add `prefer-ts-extras-as-writable` rule
1344
-
1345
1254
  - Enforces the use of `asWritable(value)` from `ts-extras` over `Writable<T>` assertions from `type-fest`.
1346
-
1347
1255
  - Includes logic to identify and report incorrect usages in TypeScript files.
1348
-
1349
1256
  - Provides comprehensive tests for valid and invalid cases.
1350
1257
 
1351
-
1352
1258
  - ✨ [feat] Add `prefer-ts-extras-safe-cast-to` rule
1353
-
1354
1259
  - Requires the use of `safeCastTo<T>(value)` from `ts-extras` for type-safe assertions instead of direct `as` casts.
1355
-
1356
1260
  - Implements checks to ensure type safety and reports violations.
1357
-
1358
1261
  - Includes tests to validate the functionality of the rule.
1359
1262
 
1360
-
1361
1263
  - 🛠️ [fix] Update imports to use `import type` for TypeScript types
1362
-
1363
1264
  - Changes imports in multiple files to use `import type` for better type-only imports, improving performance and clarity.
1364
1265
 
1365
-
1366
1266
  - 🧪 [test] Add tests for new rules
1367
-
1368
1267
  - Comprehensive test cases for both `prefer-ts-extras-as-writable` and `prefer-ts-extras-safe-cast-to` rules.
1369
-
1370
1268
  - Includes valid and invalid scenarios to ensure robust rule enforcement.
1371
1269
 
1372
-
1373
1270
  - 🧹 [chore] Update rule tester utilities
1374
-
1375
1271
  - Adjustments to the rule tester to accommodate new rules and ensure compatibility with existing tests.
1376
1272
 
1377
1273
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7702d74)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7702d7457c6a6f278e1a3ed786e9c46fa04dc6d0)
1378
1274
 
1379
-
1380
1275
  - ✨ [feat] Add .madgerc and .npmpackagejsonlintrc.json configuration files
1381
1276
 
1382
1277
  - Introduced .madgerc for managing TypeScript file extensions and visualization settings
@@ -1393,7 +1288,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7702
1393
1288
 
1394
1289
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(52dea7a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/52dea7a2b170f4a07f7975d2c12f26773aa6fd5c)
1395
1290
 
1396
-
1397
1291
  - ✨ [feat] Enhance ESLint configuration and testing setup
1398
1292
 
1399
1293
  - 🔧 [build] Update global ignores to include test fixtures
@@ -1412,7 +1306,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(52de
1412
1306
 
1413
1307
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(570a740)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/570a7402f6ea936368bf1dd9364c107327357582)
1414
1308
 
1415
-
1416
1309
  - ✨ [feat] Adds canonical TypeFest alias lint rules
1417
1310
 
1418
1311
  ✨ [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.
@@ -1439,7 +1332,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(570a
1439
1332
 
1440
1333
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fdaf37b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fdaf37b4f0b1e9185e9d6b82c8cc11befb8f32d8)
1441
1334
 
1442
-
1443
1335
  - ✨ [feat] Adds canonical TypeFest alias rules
1444
1336
 
1445
1337
  ✨ [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.
@@ -1456,7 +1348,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fdaf
1456
1348
 
1457
1349
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f3d1dfc)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f3d1dfcb50479d3e1319af1e2f213eb5bb1692d1)
1458
1350
 
1459
-
1460
1351
  - ✨ [feat] Enforces canonical TypeFest aliases
1461
1352
 
1462
1353
  ✨ [feat] Adds broad lint coverage to prefer canonical utility names over legacy or deprecated imported aliases.
@@ -1485,7 +1376,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f3d1
1485
1376
 
1486
1377
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(38e7310)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/38e73102067f20b68f8508b95171511b178e3705)
1487
1378
 
1488
-
1489
1379
  - ✨ [feat] Implement prefer-type-fest-non-empty-tuple rule
1490
1380
 
1491
1381
  - 📝 Add documentation for the prefer-type-fest-non-empty-tuple rule
@@ -1498,7 +1388,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(38e7
1498
1388
 
1499
1389
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4715139)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4715139acd6f3d0f1d0e4a506eee30c84f5fea23)
1500
1390
 
1501
-
1502
1391
  - ✨ [feat] Enhance TypeScript Extras with New Array and Assertion Utilities
1503
1392
 
1504
1393
  - 🆕 [feat] Introduce `arrayFirst` and `arrayLast` utilities with valid and invalid test cases
@@ -1517,7 +1406,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4715
1517
1406
 
1518
1407
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e2d0ec0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e2d0ec00a7925321774f10dcbf9c8237464584b3)
1519
1408
 
1520
-
1521
1409
  - ✨ [feat] Update package.json and package-lock.json with new remark packages
1522
1410
 
1523
1411
  - Add "remark" and "remark-cli" for enhanced markdown processing
@@ -1526,7 +1414,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e2d0
1526
1414
 
1527
1415
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a324362)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a3243623759d4219255e750c02b216e6bb5f224d)
1528
1416
 
1529
-
1530
1417
  - ✨ [feat] Update package.json and package-lock.json with new remark-lint rules
1531
1418
 
1532
1419
  - 🆕 Add "remark-lint-check-toc" version 1.0.0 for table of contents checks
@@ -1559,73 +1446,45 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a324
1559
1446
 
1560
1447
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(55a2687)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/55a26876bf6c5a78873fe449590b9fde596ec41d)
1561
1448
 
1562
-
1563
1449
  - ✨ [feat] Enhance TypeScript rule testing and add new type utilities
1564
1450
 
1565
-
1566
1451
  - 🔧 [build] Update `tsconfig` files to improve project structure and exclude unnecessary directories
1567
-
1568
1452
  - Adjust `tsconfig.build.json` to include `exclude` patterns for `.cache`, `dist`, and `node_modules`
1569
-
1570
1453
  - Modify `tsconfig.eslint.json` to include additional `include` patterns for TypeScript files
1571
-
1572
1454
  - Refactor `tsconfig.js.json` to streamline configuration and exclude unnecessary files
1573
-
1574
1455
  - Clean up `tsconfig.json` by removing redundant options and improving `exclude` patterns
1575
1456
 
1576
-
1577
1457
  - 🛠️ [fix] Improve type safety in rule tests
1578
-
1579
1458
  - Refactor `typed-rule-tester.ts` to enhance project service options and allow default projects
1580
-
1581
1459
  - Create new test fixtures for `prefer-type-fest-*` rules to ensure proper type handling
1582
-
1583
1460
  - Update existing tests for `prefer-ts-extras-*` rules to use the new testing structure
1584
1461
 
1585
-
1586
1462
  - ✨ [feat] Introduce new type utilities using `type-fest`
1587
-
1588
1463
  - Add `prefer-type-fest-async-return-type` rule to enforce the use of `AsyncReturnType`
1589
-
1590
1464
  - Implement `prefer-type-fest-except` rule to promote the use of `Except` for type manipulation
1591
-
1592
1465
  - Create tests for `UnknownArray`, `UnknownMap`, and `UnknownSet` to validate type safety
1593
1466
 
1594
-
1595
1467
  - 🧪 [test] Add comprehensive tests for new and existing rules
1596
-
1597
1468
  - Implement tests for `prefer-type-fest-*` rules to ensure they function as expected
1598
-
1599
1469
  - Update test cases for `prefer-ts-extras-*` rules to align with new testing methodology
1600
1470
 
1601
1471
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c7085da)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c7085daeaa35a5fc9a980e327d28113b35a8dcee)
1602
1472
 
1603
-
1604
1473
  - ✨ [feat] Update dependencies and add Vite configuration for linting
1605
1474
 
1606
-
1607
1475
  - 🔧 [build] Upgrade various ESLint plugins and configurations in `package.json` to enhance linting capabilities
1608
-
1609
1476
  - 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
1610
-
1611
1477
  - Updated existing plugins to their latest versions for better performance and features
1612
-
1613
1478
  - Included `vite` and `vite-tsconfig-paths` for better integration with TypeScript and Vite tooling
1614
1479
 
1615
-
1616
1480
  - 🎨 [style] Introduce `vite.config.ts` for Vitest configuration
1617
-
1618
1481
  - Configured Vitest to run linting and tooling tests with detailed coverage settings
1619
-
1620
1482
  - Set up environment variables and paths for better project structure and maintainability
1621
-
1622
1483
  - Defined test settings including coverage thresholds, file exclusions, and test timeouts to ensure robust testing practices
1623
-
1624
1484
  - Implemented caching and optimization settings for improved performance during test runs
1625
1485
 
1626
1486
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bd59068)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bd5906889751671df9f18db89fa218f2cbcd763c)
1627
1487
 
1628
-
1629
1488
  - ✨ [feat] Update package.json with new dependencies for enhanced linting and markdown processing
1630
1489
 
1631
1490
  - 🆕 Added "@double-great/remark-lint-alt-text" for alt text linting in markdown
@@ -1646,7 +1505,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bd59
1646
1505
 
1647
1506
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a7c1162)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a7c1162a1e8a86c7543310ef491fc7a4cbcaf1a9)
1648
1507
 
1649
-
1650
1508
  - ✨ [feat] Enhance ESLint Plugin with New Rules and TypeScript Configurations
1651
1509
 
1652
1510
  - 🆕 [feat] Introduce `prefer-ts-extras-array-concat` rule to enforce usage of `arrayConcat` from `ts-extras` for better typing.
@@ -1665,89 +1523,58 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a7c1
1665
1523
 
1666
1524
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4c55f69)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4c55f695e4a6214348d084e0756ea4af6fac83f1)
1667
1525
 
1668
-
1669
1526
  - Add prefer-ts-extras rules for array and object utilities [`(e7bdca6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e7bdca6ae1d25f5fcd0ada0b2234d1cf86f5cf03)
1670
1527
 
1671
-
1672
1528
  - Add prefer-type-fest-value-of rule to enforce ValueOf<T> usage [`(6aa5b95)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6aa5b955e06d923a1e6754e3edb7fa378d095f0c)
1673
1529
 
1674
-
1675
-
1676
1530
  ### 🛠️ Bug Fixes
1677
1531
 
1678
1532
  - 🛠️ [fix] Update module imports to use dynamic import syntax
1679
1533
 
1680
-
1681
1534
  - Refactor multiple test files to replace static module imports with dynamic imports using `import()`.
1682
1535
 
1683
1536
  - This change enhances the flexibility of module loading and may improve performance in certain scenarios.
1684
1537
 
1685
1538
  - The following files were updated:
1686
-
1687
1539
  - `prefer-ts-extras-set-has.test.ts`
1688
-
1689
1540
  - `prefer-ts-extras-string-split.test.ts`
1690
-
1691
1541
  - `prefer-type-fest-abstract-constructor.test.ts`
1692
-
1693
1542
  - `prefer-type-fest-arrayable.test.ts`
1694
-
1695
1543
  - `prefer-type-fest-async-return-type.test.ts`
1696
-
1697
1544
  - `prefer-type-fest-constructor.test.ts`
1698
-
1699
1545
  - `prefer-type-fest-except.test.ts`
1700
-
1701
1546
  - `prefer-type-fest-if.test.ts`
1702
-
1703
1547
  - `prefer-type-fest-iterable-element.test.ts`
1704
-
1705
1548
  - `prefer-type-fest-json-array.test.ts`
1706
-
1707
1549
  - `prefer-type-fest-json-object.test.ts`
1708
-
1709
1550
  - `prefer-type-fest-json-primitive.test.ts`
1710
-
1711
1551
  - `prefer-type-fest-json-value.test.ts`
1712
-
1713
1552
  - `prefer-type-fest-literal-union.test.ts`
1714
-
1715
1553
  - `prefer-type-fest-non-empty-tuple.test.ts`
1716
-
1717
1554
  - `prefer-type-fest-promisable.test.ts`
1718
-
1719
1555
  - `prefer-type-fest-simplify.test.ts`
1720
-
1721
1556
  - `prefer-type-fest-tuple-of.test.ts`
1722
-
1723
1557
  - `prefer-type-fest-unknown-array.test.ts`
1724
-
1725
1558
  - `prefer-type-fest-unknown-map.test.ts`
1726
-
1727
1559
  - `prefer-type-fest-unknown-set.test.ts`
1728
-
1729
1560
  - `prefer-type-fest-value-of.test.ts`
1730
-
1731
1561
  - `prefer-type-fest-writable-deep.test.ts`
1732
1562
 
1733
1563
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3786790)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3786790627efa5dda227e8ae1d4b23d4efed40b3)
1734
1564
 
1735
-
1736
1565
  - 🛠️ [fix] Replace appendPendingValues function with inline logic for better clarity
1737
1566
 
1738
1567
  - 🔄 Updated multiple instances in typescript-eslint-node-autofix.ts to directly push values into arrays
1739
1568
 
1740
1569
  - 🧹 Removed the unused appendPendingValues function to streamline the code
1741
- 🛠️ [fix] Enhance type safety in prefer-ts-extras-safe-cast-to rule
1570
+ 🛠️ [fix] Enhance type safety in prefer-ts-extras-safe-cast-to rule
1742
1571
 
1743
1572
  - 🔄 Utilized isDefined from ts-extras for improved null checks on expressionTsNode
1744
1573
 
1745
1574
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a1e119d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a1e119de70162a3600b02853761cd8a30df50fea)
1746
1575
 
1747
-
1748
1576
  - 🛠️ [fix] Improve import-aware fixes and type handling
1749
1577
 
1750
-
1751
1578
  - 🔧 Update `createImportAwareFixes` to handle replacement fixes for both autofix and suggestion intents.
1752
1579
 
1753
1580
  - 🛠️ Adjust `resolveImportInsertionDecisionForReportFix` to block duplicate autofix replacements after the first claim.
@@ -1768,7 +1595,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a1e1
1768
1595
 
1769
1596
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(be7cea7)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/be7cea7dfc090bfcd00cbedbd70ac16aad978948)
1770
1597
 
1771
-
1772
1598
  - 🛠️ [fix] Update prefer-type-fest-json-value rule documentation and implementation
1773
1599
 
1774
1600
  - Clarify the requirement for TypeFest `JsonObject` in serialization-bound string-keyed record contracts.
@@ -1809,7 +1635,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(be7c
1809
1635
 
1810
1636
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(17b8f52)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/17b8f5264091ca2d6089637834b7fa04e007acb8)
1811
1637
 
1812
-
1813
1638
  - 🛠️ [fix] Update ESLint rule configurations and improve import handling
1814
1639
 
1815
1640
  - 🔧 Modify "node-dependencies/no-deprecated" rule to allow "prettier-plugin-packagejson" for better compatibility
@@ -1822,7 +1647,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(17b8
1822
1647
 
1823
1648
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(892f32c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/892f32c53b0175d189eded52181d4fef5c806920)
1824
1649
 
1825
-
1826
1650
  - 🛠️ [fix] Refactor ESLint rule implementations for improved reporting and fixes
1827
1651
 
1828
1652
  - 🔧 Update `prefer-type-fest-value-of.ts` to use `reportWithOptionalFix` for cleaner reporting
@@ -1843,10 +1667,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(892f
1843
1667
 
1844
1668
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9375d77)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9375d778d50fb7feb5362597759820de5e1b40a3)
1845
1669
 
1846
-
1847
1670
  - 🛠️ [fix] Update source assertions for TypeScript extras rules
1848
1671
 
1849
-
1850
1672
  - 🔧 Refactor `prefer-ts-extras-as-writable` test to check for new structure and metadata.
1851
1673
 
1852
1674
  - 🔧 Refactor `prefer-ts-extras-assert-defined` test to ensure stability in matcher and report/fix wiring.
@@ -1887,115 +1709,64 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9375
1887
1709
 
1888
1710
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(415b2fe)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/415b2fe2a972bdff91f115d610ee5c9b9761115a)
1889
1711
 
1890
-
1891
1712
  - 🛠️ [fix] Remove unnecessary isTestFilePath mocks from test files
1892
1713
 
1893
1714
  - 🧪 Cleaned up multiple test files by removing the isTestFilePath mock function, which was consistently set to return false.
1894
1715
 
1895
1716
  - 📂 Affected files include:
1896
-
1897
1717
  - prefer-ts-extras-array-find-last.test.ts
1898
-
1899
1718
  - prefer-ts-extras-array-find.test.ts
1900
-
1901
1719
  - prefer-ts-extras-array-first.test.ts
1902
-
1903
1720
  - prefer-ts-extras-array-includes.test.ts
1904
-
1905
1721
  - prefer-ts-extras-array-join.test.ts
1906
-
1907
1722
  - prefer-ts-extras-array-last.test.ts
1908
-
1909
1723
  - prefer-ts-extras-as-writable.test.ts
1910
-
1911
1724
  - prefer-ts-extras-assert-defined.test.ts
1912
-
1913
1725
  - prefer-ts-extras-assert-error.test.ts
1914
-
1915
1726
  - prefer-ts-extras-assert-present.test.ts
1916
-
1917
1727
  - prefer-ts-extras-is-defined-filter.test.ts
1918
-
1919
1728
  - prefer-ts-extras-is-defined.test.ts
1920
-
1921
1729
  - prefer-ts-extras-is-empty.test.ts
1922
-
1923
1730
  - prefer-ts-extras-is-infinite.test.ts
1924
-
1925
1731
  - prefer-ts-extras-is-present-filter.test.ts
1926
-
1927
1732
  - prefer-ts-extras-is-present.test.ts
1928
-
1929
1733
  - prefer-ts-extras-key-in.test.ts
1930
-
1931
1734
  - prefer-ts-extras-object-entries.test.ts
1932
-
1933
1735
  - prefer-ts-extras-object-from-entries.test.ts
1934
-
1935
1736
  - prefer-ts-extras-object-has-own.test.ts
1936
-
1937
1737
  - prefer-ts-extras-object-keys.test.ts
1938
-
1939
1738
  - prefer-ts-extras-object-values.test.ts
1940
-
1941
1739
  - prefer-ts-extras-safe-cast-to.test.ts
1942
-
1943
1740
  - prefer-ts-extras-set-has.test.ts
1944
-
1945
1741
  - prefer-ts-extras-string-split.test.ts
1946
-
1947
1742
  - prefer-type-fest-abstract-constructor.test.ts
1948
-
1949
1743
  - prefer-type-fest-arrayable.test.ts
1950
-
1951
1744
  - prefer-type-fest-async-return-type.test.ts
1952
-
1953
1745
  - prefer-type-fest-conditional-pick.test.ts
1954
-
1955
1746
  - prefer-type-fest-constructor.test.ts
1956
-
1957
1747
  - prefer-type-fest-except.test.ts
1958
-
1959
1748
  - prefer-type-fest-if.test.ts
1960
-
1961
1749
  - prefer-type-fest-iterable-element.test.ts
1962
-
1963
1750
  - prefer-type-fest-json-array.test.ts
1964
-
1965
1751
  - prefer-type-fest-json-object.test.ts
1966
-
1967
1752
  - prefer-type-fest-json-primitive.test.ts
1968
-
1969
1753
  - prefer-type-fest-json-value.test.ts
1970
-
1971
1754
  - prefer-type-fest-literal-union.test.ts
1972
-
1973
1755
  - prefer-type-fest-non-empty-tuple.test.ts
1974
-
1975
1756
  - prefer-type-fest-promisable.test.ts
1976
-
1977
1757
  - prefer-type-fest-simplify.test.ts
1978
-
1979
1758
  - prefer-type-fest-tuple-of.test.ts
1980
-
1981
1759
  - prefer-type-fest-unknown-array.test.ts
1982
-
1983
1760
  - prefer-type-fest-unknown-map.test.ts
1984
-
1985
1761
  - prefer-type-fest-unknown-set.test.ts
1986
-
1987
1762
  - prefer-type-fest-value-of.test.ts
1988
-
1989
1763
  - prefer-type-fest-writable-deep.test.ts
1990
-
1991
1764
  - prefer-type-fest-writable.test.ts
1992
1765
 
1993
1766
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(42e9cfd)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/42e9cfdda964ac07b32d4f31a313d7e6b3e5b65e)
1994
1767
 
1995
-
1996
1768
  - 🛠️ [fix] Refactor and optimize test cases for prefer-ts-extras and prefer-type-fest rules
1997
1769
 
1998
-
1999
1770
  - 🔧 Update `prefer-ts-extras-set-has.test.ts` to import runtime harness utilities and remove redundant code.
2000
1771
 
2001
1772
  - 🧹 Clean up `prefer-ts-extras-string-split.test.ts` by consolidating fixture definitions and removing unused variables.
@@ -2008,10 +1779,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(42e9
2008
1779
 
2009
1780
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(78c8608)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/78c86080b31c14fffe92eb341db9d32286566361)
2010
1781
 
2011
-
2012
1782
  - 🛠️ [fix] Refactor prefer-ts-extras-set-has and prefer-type-fest-promisable tests
2013
1783
 
2014
-
2015
1784
  - 🔧 [test] Import test cases from prefer-ts-extras-set-has-cases for better organization
2016
1785
 
2017
1786
  - 🧹 [chore] Remove redundant inline code definitions in prefer-ts-extras-set-has.test.ts
@@ -2024,7 +1793,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(78c8
2024
1793
 
2025
1794
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ad971e5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ad971e53cdc971a24de6338a3384389187ba37ea)
2026
1795
 
2027
-
2028
1796
  - 🛠️ [fix] Enhance type handling and error reporting in ESLint synchronization script
2029
1797
 
2030
1798
  - 📜 Add detailed JSDoc comments for better documentation and understanding
@@ -2053,10 +1821,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ad97
2053
1821
 
2054
1822
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(72e9b70)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/72e9b70f084fd2f63509b01eb0e596d2844bc338)
2055
1823
 
2056
-
2057
1824
  - 🛠️ [fix] Refactor type-fest rule tests for improved fixture handling and parsing
2058
1825
 
2059
-
2060
1826
  - 🔧 Update `prefer-type-fest-abstract-constructor.test.ts` to use a dynamic fixture creation function for generating fixable output code, enhancing maintainability and readability.
2061
1827
 
2062
1828
  - 🔧 Introduce `createFixtureFixableOutputCode` function to replace constructor signatures in `prefer-type-fest-constructor.test.ts`, ensuring consistent fixture generation.
@@ -2073,7 +1839,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(72e9
2073
1839
 
2074
1840
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(24f4d30)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/24f4d30b7003eda3f09e41895c3ee54cf34afaae)
2075
1841
 
2076
-
2077
1842
  - 🛠️ [fix] Update dependencies in package.json and package-lock.json
2078
1843
 
2079
1844
  - 🔧 Upgrade @double-great/stylelint-a11y to version 3.4.5
@@ -2094,7 +1859,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(24f4
2094
1859
 
2095
1860
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(99f276b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/99f276bf7e98e8077b80cd77c51cc5b122eec66d)
2096
1861
 
2097
-
2098
1862
  - 🛠️ [fix] Update TypeFest rules and documentation for improved clarity and accuracy
2099
1863
 
2100
1864
  - 📝 [docs] Refine descriptions in `prefer-type-fest-json-primitive.md` to clarify targeted patterns and reporting criteria
@@ -2131,16 +1895,12 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(99f2
2131
1895
 
2132
1896
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4894a46)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4894a469b4d5d1f1305737470312152b63a27cab)
2133
1897
 
2134
-
2135
1898
  - 🛠️ [fix] Improve type handling and testing for TypeScript rules
2136
1899
 
2137
-
2138
1900
  - 🔧 [build] Update test files to include necessary imports for TypeScript parsing
2139
1901
 
2140
1902
  - 🧪 [test] Enhance tests for prefer-type-fest-arrayable with fast-check integration
2141
-
2142
1903
  - Introduce new utilities for generating arrayable types and unions
2143
-
2144
1904
  - Implement comprehensive tests to ensure correct reporting and fixing of arrayable types
2145
1905
 
2146
1906
  - 🧪 [test] Refactor prefer-type-fest-async-return-type tests for clarity and consistency
@@ -2148,18 +1908,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4894
2148
1908
  - 🧪 [test] Adjust prefer-type-fest-json-primitive tests to correct type declaration handling
2149
1909
 
2150
1910
  - 🧪 [test] Expand prefer-type-fest-literal-union tests with fast-check for better coverage
2151
-
2152
1911
  - Add generators for various literal union cases and cross-family unions
2153
-
2154
1912
  - Ensure that generated unions are correctly reported and parsed
2155
1913
 
2156
1914
  - 🧪 [test] Update prefer-type-fest-promisable tests to validate autofix behavior
2157
-
2158
1915
  - Ensure that the autofix preserves parseability and correctly inserts necessary imports
2159
1916
 
2160
1917
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(48155f0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/48155f0b4a6693d72f38a2aa6016621b07a99900)
2161
1918
 
2162
-
2163
1919
  - 🛠️ [fix] Improve type normalization and documentation across rules
2164
1920
 
2165
1921
  - 🔧 Update `prefer-type-fest-promisable.ts` to enhance type extraction and add documentation for `getPromiseInnerType`.
@@ -2184,10 +1940,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4815
2184
1940
 
2185
1941
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(95fdc29)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/95fdc29c3b3754079161967f6f28f630e8cb6fcf)
2186
1942
 
2187
-
2188
1943
  - 🛠️ [fix] Improve import insertion and type handling
2189
1944
 
2190
-
2191
1945
  - 🛠️ Update `isArrayLikeType` to provide clearer documentation on its purpose and parameters.
2192
1946
 
2193
1947
  - 🛠️ Refactor `isWriteTargetMemberExpression` to enhance readability and ensure it correctly identifies member expressions as write targets.
@@ -2210,14 +1964,12 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(95fd
2210
1964
 
2211
1965
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(338f913)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/338f9131139d00ce9c875eed219d2ce38e98be42)
2212
1966
 
2213
-
2214
1967
  - 🛠️ [fix] Remove unused prettier-plugin-jsdoc-type from configuration
2215
1968
 
2216
1969
  - Eliminated "prettier-plugin-jsdoc-type" from the plugins list in multiple sections of the .prettierrc file
2217
1970
 
2218
1971
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d31bbc)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3d31bbc7a6e3e09429df3cc42c134218158c9ee2)
2219
1972
 
2220
-
2221
1973
  - 🛠️ [fix] Update messages for TypeFest rule tests to improve clarity
2222
1974
 
2223
1975
  - 📝 Refactor error messages in `prefer-type-fest-set-non-nullable.test.ts` to specify making selected keys non-nullable instead of using legacy aliases.
@@ -2250,7 +2002,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d31
2250
2002
 
2251
2003
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c606fd2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c606fd2b73ca23cfb48854fc0170aae43635d1c6)
2252
2004
 
2253
-
2254
2005
  - 🛠️ [fix] Adds missing-import insertion to autofixes
2255
2006
 
2256
2007
  🛠️ [fix] Improves autofix reliability by applying safe rewrites even when required helper imports are not already present.
@@ -2279,7 +2030,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c606
2279
2030
 
2280
2031
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7639e4d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7639e4d3d04fd40ec505141ee4c9d5a6fce34388)
2281
2032
 
2282
-
2283
2033
  - 🛠️ [fix] Improve documentation link checker functionality
2284
2034
 
2285
2035
  - Enhance `isUrlLike` function comment for clarity
@@ -2296,7 +2046,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7639
2296
2046
 
2297
2047
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(721700d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/721700d4f551e3b9b70675dc68c11b9ccd4f0c72)
2298
2048
 
2299
-
2300
2049
  - 🛠️ [fix] Guard missing filenames in lint rules
2301
2050
 
2302
2051
  🛠️ [fix] Prevents undefined-path behavior by defaulting missing lint context filenames before test-file short-circuit checks.
@@ -2317,7 +2066,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7217
2317
2066
 
2318
2067
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c7c99db)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c7c99dba2a2b84979ad8462087f8c60348cbda73)
2319
2068
 
2320
-
2321
2069
  - 🛠️ [fix] Improves rule matching and early exits
2322
2070
 
2323
2071
  🛠️ [fix] Improves array-like type detection to reduce missed matches.
@@ -2342,7 +2090,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c7c9
2342
2090
 
2343
2091
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3ede063)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3ede06303b78cea7525adb221778dea080e352a9)
2344
2092
 
2345
-
2346
2093
  - 🛠️ [fix] Stabilizes plugin export defaults
2347
2094
 
2348
2095
  🛠️ [fix] Ensures the published plugin always exposes a complete, predictable object shape.
@@ -2367,10 +2114,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3ede
2367
2114
 
2368
2115
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8f4b499)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8f4b499a6c0285c3cc0b92c4ba08b78af04e8a08)
2369
2116
 
2370
-
2371
2117
  - 🛠️ [fix] Update type aliases to use TypeScript's type-fest library
2372
2118
 
2373
-
2374
2119
  - 🔧 [fix] Replace `MaybePromise` with `Promisable` in `prefer-type-fest-promisable.test.ts`
2375
2120
 
2376
2121
  - 🔧 [fix] Replace `DeepReadonly` with `ReadonlyDeep` in `prefer-type-fest-readonly-deep.test.ts`
@@ -2405,13 +2150,10 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8f4b
2405
2150
 
2406
2151
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(895cb41)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/895cb413648d9421fcfd6c557cb66025ebc1cb8d)
2407
2152
 
2408
-
2409
-
2410
2153
  ### 🛡️ Security
2411
2154
 
2412
2155
  - 🔧 [build] Update package dependencies for improved stability and features
2413
2156
 
2414
-
2415
2157
  - 📦 Upgrade "@stylistic/eslint-plugin" from "^5.9.0" to "^5.10.0" for enhanced linting capabilities.
2416
2158
 
2417
2159
  - 📦 Upgrade "@types/node" from "^25.3.3" to "^25.3.5" to ensure compatibility with the latest Node.js features and types.
@@ -2420,75 +2162,48 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(895c
2420
2162
 
2421
2163
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b76ce59)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b76ce59b0a7317ddb8d5cac096f30d2859963dfe)
2422
2164
 
2165
+ - _(deps)_ [dependency] Update the github-actions group across 1 directory with 7 updates [`(7b08932)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7b089328816b87606e9b80a03a22495aecfd7de0)
2423
2166
 
2424
- - *(deps)* [dependency] Update the github-actions group across 1 directory with 7 updates [`(7b08932)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7b089328816b87606e9b80a03a22495aecfd7de0)
2425
-
2426
-
2427
- - *(deps)* [dependency] Update the github-actions group across 1 directory with 8 updates [`(acd2932)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/acd29320fdc5e4e99afe81e099e3f6beb622f455)
2428
-
2167
+ - _(deps)_ [dependency] Update the github-actions group across 1 directory with 8 updates [`(acd2932)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/acd29320fdc5e4e99afe81e099e3f6beb622f455)
2429
2168
 
2430
2169
  - [StepSecurity] Apply security best practices
2431
2170
 
2432
2171
  Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> [`(de875de)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/de875ded17a8f5ee5851d27586215eeb2bf1d419)
2433
2172
 
2434
-
2435
2173
  - 📝 [docs] Add comprehensive guidelines for various file types in the repository
2436
2174
 
2437
-
2438
2175
  - ✨ [feat] Introduce JSON guidelines to ensure clarity and consistency in JSON files
2439
-
2440
2176
  - Emphasize strictness and intentionality in JSON structure
2441
-
2442
2177
  - Provide style recommendations, structural best practices, and security considerations
2443
2178
 
2444
-
2445
2179
  - ✨ [feat] Add MJS guidelines for modern JavaScript modules
2446
-
2447
2180
  - Focus on ESM usage, syntax preferences, and async patterns
2448
-
2449
2181
  - Encourage documentation and type annotations for better maintainability
2450
2182
 
2451
-
2452
2183
  - ✨ [feat] Establish Markdown guidelines for documentation and content creation
2453
-
2454
2184
  - Outline content rules, formatting standards, and front matter usage
2455
-
2456
2185
  - Include tooling alignment instructions for maintaining Markdown quality
2457
2186
 
2458
-
2459
2187
  - ✨ [feat] Create detailed instructions for testing ESLint rules
2460
-
2461
2188
  - Define goals for ESLint rule testing, setup requirements, and coding standards
2462
-
2463
2189
  - Highlight best practices for writing tests, including valid and invalid cases
2464
2190
 
2465
-
2466
2191
  - ✨ [feat] Provide TypeScript 5.9+ development guidelines
2467
-
2468
2192
  - Focus on modern TypeScript features, strict typing, and utility types
2469
-
2470
2193
  - Emphasize error handling, async patterns, and coding style best practices
2471
2194
 
2472
-
2473
2195
  - ✨ [feat] Introduce YAML guidelines for robust YAML authoring
2474
-
2475
2196
  - Stress predictability and readability in YAML files
2476
-
2477
2197
  - Offer style, structure, and tooling recommendations for YAML usage
2478
2198
 
2479
-
2480
2199
  - ✨ [feat] Add Copilot instructions for ESLint plugin development
2481
-
2482
2200
  - Define the role, architecture, and constraints for ESLint rule creation
2483
-
2484
2201
  - Emphasize code quality, testing standards, and tool usage for effective development
2485
2202
 
2486
-
2487
2203
  - 🧹 [chore] Remove instructions folder from .gitignore to allow tracking of new guidelines
2488
2204
 
2489
2205
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(976452b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/976452b5c39227330fa42d56f08eab88968d53a6)
2490
2206
 
2491
-
2492
2207
  - 📝 [docs] Add configuration files for various tools
2493
2208
 
2494
2209
  - Created `.taplo.toml` for TOML formatting rules, aligning with Prettier's style.
@@ -2509,74 +2224,70 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9764
2509
2224
 
2510
2225
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(20a6723)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/20a672338e3a0d93f3a85dca1dd1df52e48b18eb)
2511
2226
 
2512
-
2513
-
2514
2227
  ### 🛠️ Other Changes
2515
2228
 
2516
2229
  - Add tests and TypeScript configuration for uptime-watcher plugin
2517
2230
 
2518
2231
  - Implement tests for various rules in the uptime-watcher plugin, including:
2519
-
2232
+
2520
2233
  - prefer-ts-extras-is-present-filter
2521
-
2234
+
2522
2235
  - prefer-ts-extras-object-has-own
2523
-
2236
+
2524
2237
  - prefer-type-fest-json-value
2525
-
2238
+
2526
2239
  - prefer-type-fest-promisable
2527
-
2240
+
2528
2241
  - prefer-type-fest-tagged-brands
2529
-
2242
+
2530
2243
  - prefer-type-fest-unknown-record
2531
-
2244
+
2532
2245
  - prefer-type-fest-value-of
2533
-
2246
+
2534
2247
  - preload-no-local-is-plain-object
2535
-
2248
+
2536
2249
  - renderer-no-browser-dialogs
2537
-
2250
+
2538
2251
  - renderer-no-direct-bridge-readiness
2539
-
2252
+
2540
2253
  - renderer-no-direct-electron-log
2541
-
2254
+
2542
2255
  - renderer-no-direct-networking
2543
-
2256
+
2544
2257
  - renderer-no-direct-preload-bridge
2545
-
2258
+
2546
2259
  - renderer-no-electron-import
2547
-
2260
+
2548
2261
  - renderer-no-import-internal-service-utils
2549
-
2262
+
2550
2263
  - renderer-no-ipc-renderer-usage
2551
-
2264
+
2552
2265
  - renderer-no-preload-bridge-writes
2553
-
2266
+
2554
2267
  - renderer-no-process-env
2555
-
2268
+
2556
2269
  - renderer-no-window-open
2557
-
2270
+
2558
2271
  - require-ensure-error-in-catch
2559
-
2272
+
2560
2273
  - require-error-cause-in-catch
2561
-
2274
+
2562
2275
  - shared-no-outside-imports
2563
-
2276
+
2564
2277
  - shared-types-no-local-is-plain-object
2565
-
2278
+
2566
2279
  - store-actions-require-finally-reset
2567
-
2280
+
2568
2281
  - test-no-mock-return-value-constructors
2569
-
2282
+
2570
2283
  - tsdoc-no-console-example
2571
-
2284
+
2572
2285
  - typed-eventbus-payload-assignable
2573
2286
 
2574
2287
  - Add TypeScript configuration files for linting and building the uptime-watcher plugin.
2575
2288
 
2576
2289
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d233b9c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d233b9c2b49f5f87e10e2c2ee04deed9765f54a3)
2577
2290
 
2578
-
2579
-
2580
2291
  ### 🚜 Refactor
2581
2292
 
2582
2293
  - 🚜 [refactor] Derive canonical rule metadata and sync README with plugin
@@ -2625,24 +2336,20 @@ Overall this refactor makes metadata authoritative, automates documentation, and
2625
2336
 
2626
2337
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(93ac9b2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/93ac9b21c4af4817d278a6b28c0076d8f275b6f2)
2627
2338
 
2628
-
2629
2339
  - 🚜 [refactor] Remove open-pull-requests-limit from Dependabot configuration
2630
2340
 
2631
-
2632
2341
  - Eliminated the open-pull-requests-limit setting from GitHub Actions and npm updates
2633
2342
 
2634
2343
  - Streamlined the Dependabot configuration for better flexibility in handling pull requests
2635
2344
 
2636
2345
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(043d8e0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/043d8e0e4e13ce0b50b9962b8f62c838f6ac8647)
2637
2346
 
2638
-
2639
2347
  - 🚜 [refactor] Remove versioning strategy from GitHub Actions updates
2640
2348
 
2641
2349
  - Eliminated the `versioning-strategy: increase` line for GitHub Actions updates in the Dependabot configuration
2642
2350
 
2643
2351
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bc34602)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bc34602c5d2bfdb727f39932458712012a0b1f5a)
2644
2352
 
2645
-
2646
2353
  - 🚜 [refactor] Simplify Dependabot configuration in YAML file
2647
2354
 
2648
2355
  - Remove unnecessary comments and redundant settings for clarity
@@ -2655,12 +2362,10 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bc34
2655
2362
 
2656
2363
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(cc09090)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/cc09090b487eac05c34f854a0e9aaabef9406d08)
2657
2364
 
2658
-
2659
2365
  - 🚜 [refactor] Remove unnecessary name from Docusaurus NPM dependencies in Dependabot configuration
2660
2366
 
2661
2367
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(625bf6c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/625bf6c76b4fdd57ce7775faab33cb9f2fa30e30)
2662
2368
 
2663
-
2664
2369
  - 🚜 [refactor] Remove unnecessary naming and versioning strategy for Dependabot updates
2665
2370
 
2666
2371
  - Eliminated 'name' and 'versioning-strategy' fields from GitHub Actions and NPM dependencies
@@ -2669,19 +2374,17 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(625b
2669
2374
 
2670
2375
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(50e9b6e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/50e9b6ecb39f81e9ffe2214166b5143302aff525)
2671
2376
 
2672
-
2673
2377
  - 🚜 [refactor] centralize documentation URL base for rules
2674
2378
 
2675
2379
  🚜 expose a shared `RULE_DOCS_URL_BASE` constant from the internal helper
2676
- previously the base URL lived silently inside the module as a private
2677
- value; exporting it makes the canonical docs prefix configurable and
2678
- avoids repeated literals.
2380
+ previously the base URL lived silently inside the module as a private
2381
+ value; exporting it makes the canonical docs prefix configurable and
2382
+ avoids repeated literals.
2679
2383
 
2680
2384
  🚜 adjust every rule module to import the base and build a local
2681
- `RULE_DOCS_URL` by appending its own name
2682
- this replaces dozens of hard‑coded links, keeping metadata urls in
2683
- sync and making a future change to the host/path trivial.
2684
-
2385
+ `RULE_DOCS_URL` by appending its own name
2386
+ this replaces dozens of hard‑coded links, keeping metadata urls in
2387
+ sync and making a future change to the host/path trivial.
2685
2388
 
2686
2389
  - reduces duplication across the codebase
2687
2390
 
@@ -2693,7 +2396,6 @@ The change is purely structural; rule behavior is unaffected.
2693
2396
 
2694
2397
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(08e3bab)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/08e3babbd1e0599cb734c359a1a40f2c686256b0)
2695
2398
 
2696
-
2697
2399
  - 🚜 [refactor] Centralize member‑call and throw‑consequent logic and streamline rules
2698
2400
 
2699
2401
  🚜 [refactor] Extract shared helpers
@@ -2740,10 +2442,8 @@ This consolidation reduces duplication, strengthens type safety, and simplifies
2740
2442
 
2741
2443
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d21778)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3d21778f72cabd910c1d79136fc01fd0a7807a4b)
2742
2444
 
2743
-
2744
2445
  - 🚜 [refactor] Simplify array-like type checks and improve code reuse
2745
2446
 
2746
-
2747
2447
  - 🔧 [build] Refactor `prefer-ts-extras-array-includes` and `prefer-ts-extras-array-join` rules to utilize a shared `createIsArrayLikeExpressionChecker` function for determining array-like expressions.
2748
2448
 
2749
2449
  - 🔧 [build] Remove redundant `isArrayLikeType` functions from `prefer-ts-extras-array-last`, `prefer-ts-extras-assert-present`, `prefer-ts-extras-is-empty`, and `prefer-ts-extras-string-split` rules, replacing them with the new shared utility.
@@ -2762,7 +2462,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3d21
2762
2462
 
2763
2463
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e3c8cda)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e3c8cda4cc05fec1a9b7f353473bb1e0ebf54e73)
2764
2464
 
2765
-
2766
2465
  - 🚜 [refactor] switch rule docs to Docusaurus routes & add footer links
2767
2466
 
2768
2467
  📝 [docs] add ADR 0006/0007 entries and pages, update sidebar/index with new decisions
@@ -2776,7 +2475,6 @@ Enhances user experience by pointing editors and links at rendered documentation
2776
2475
 
2777
2476
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(91a136d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/91a136dbd7dd14660f9a4b9a6aeffc0e4a6b7657)
2778
2477
 
2779
-
2780
2478
  - 🚜 [refactor] Improve code readability and formatting in inspect_pr_checks.py
2781
2479
 
2782
2480
  - 🛠️ Adjust function signatures for better clarity
@@ -2789,7 +2487,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(91a1
2789
2487
 
2790
2488
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a62ba9e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a62ba9eb919101eabe2fde50818be1b64866cdd4)
2791
2489
 
2792
-
2793
2490
  - 🚜 [refactor] Treats tests like other files
2794
2491
 
2795
2492
  🚜 [refactor] Aligns plugin/test heuristics
@@ -2800,17 +2497,16 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a62b
2800
2497
 
2801
2498
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(72c85a8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/72c85a8e2335f64003b42f78dc8104a105169f03)
2802
2499
 
2803
-
2804
2500
  - 🚜 [refactor] Remove redundant defaultOptions stubs
2805
2501
 
2806
2502
  🚜 [refactor]
2503
+
2807
2504
  - Drops the explicit defaultOptions arrays from typed rule definitions so configuration relies on implicit defaults and keeps source definitions concise.
2808
- 🎨 [style]
2505
+ 🎨 [style]
2809
2506
  - Refreshes doc/test helpers with tighter formatting for import/type utilities and assertion checks to match the cleaned-up style.
2810
2507
 
2811
2508
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(60e7e00)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/60e7e0073c1a54ac8b6611e269bc74a53537aa3c)
2812
2509
 
2813
-
2814
2510
  - 🚜 [refactor] Enforce readonly parameter typing
2815
2511
 
2816
2512
  🚜 [refactor] Expands readonly annotations across core typed utilities and rule logic so function inputs stay immutable by default.
@@ -2827,39 +2523,31 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(60e7
2827
2523
 
2828
2524
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0422fd8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/0422fd8f088a1e8f6231815f795e57e4a01a916c)
2829
2525
 
2830
-
2831
2526
  - Migrate plugin to TypeScript and restructure codebase [`(2101a3e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2101a3ec1f446f93c0351941344f34603bfb3f13)
2832
2527
 
2833
-
2834
-
2835
2528
  ### 📝 Documentation
2836
2529
 
2837
2530
  - 📝 [docs] Update documentation link check command to include API verification
2838
2531
 
2839
2532
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e095a9f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e095a9f3bfee6d69d1e9091a10b3e31176c1d32f)
2840
2533
 
2841
-
2842
2534
  - 📝 [docs] Update Stylelint configuration with installation instructions
2843
2535
 
2844
2536
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(15d3bea)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/15d3beaba202108f75ac0ad87962bac935f63c2f)
2845
2537
 
2846
-
2847
2538
  - 📝 [docs] Update contributor badge formatting and documentation guidelines
2848
- ✨ [feat] Enhance commit message guidelines with hybrid Gitmoji format
2849
- 🔧 [build] Add devEngines configuration for Node.js and npm version enforcement
2539
+ ✨ [feat] Enhance commit message guidelines with hybrid Gitmoji format
2540
+ 🔧 [build] Add devEngines configuration for Node.js and npm version enforcement
2850
2541
 
2851
2542
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9339c8c)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9339c8c73edde7b0d0577e3d92624ce000d0d06b)
2852
2543
 
2853
-
2854
2544
  - 📝 [docs] Update commit message guidelines to include Gitmoji format and examples
2855
- 🔧 [build] Add commitlint-config-gitmoji as a dependency for enforcing commit message format
2545
+ 🔧 [build] Add commitlint-config-gitmoji as a dependency for enforcing commit message format
2856
2546
 
2857
2547
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ee06635)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ee06635387e8a07fd4a5072ccebfdb37551e2ee1)
2858
2548
 
2859
-
2860
2549
  - 📝 [docs] Add blank line before "Further reading" section in rule documentation
2861
2550
 
2862
-
2863
2551
  - Added a blank line before the "## Further reading" section in multiple TypeScript extra and TypeFest rule documentation files to improve readability and adhere to documentation standards.
2864
2552
 
2865
2553
  - Updated the regex pattern in the `remark-lint-rule-doc-headings` script to enforce this formatting rule.
@@ -2868,88 +2556,54 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ee06
2868
2556
 
2869
2557
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8350423)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/835042393b7b31364243bfe9f851e12b1c07fcb9)
2870
2558
 
2871
-
2872
2559
  - 📝 [docs] Add comprehensive charts for developer documentation
2873
2560
 
2874
-
2875
2561
  - ✨ [feat] Introduce "Docs Link Integrity and Anchor Stability" chart
2876
-
2877
2562
  - Provides a flowchart for maintaining stable documentation links and anchors.
2878
-
2879
2563
  - Includes a maintainer policy and suggested command sequence for validation.
2880
2564
 
2881
-
2882
2565
  - ✨ [feat] Add "Import-Safe Autofix Decision Tree" chart
2883
-
2884
2566
  - Outlines decision-making for safe import rewrites and suggestions.
2885
-
2886
2567
  - Highlights the importance of symbol safety and parse safety.
2887
2568
 
2888
-
2889
2569
  - ✨ [feat] Create "Preset Composition and Rule Matrix" chart
2890
-
2891
2570
  - Explains how rule metadata integrates into user-facing documentation.
2892
-
2893
2571
  - Provides practical use cases and common failure modes.
2894
2572
 
2895
-
2896
2573
  - ✨ [feat] Implement "Preset Semver and Deprecation Lifecycle" chart
2897
-
2898
2574
  - Details the lifecycle for managing preset changes with semver awareness.
2899
-
2900
2575
  - Offers maintainer guidance on handling preset modifications.
2901
2576
 
2902
-
2903
2577
  - ✨ [feat] Develop "Rule Authoring to Release Lifecycle" chart
2904
-
2905
2578
  - Maps the entire process from rule proposal to publication.
2906
-
2907
2579
  - Emphasizes the importance of documentation throughout the lifecycle.
2908
2580
 
2909
-
2910
2581
  - ✨ [feat] Add "Typed Rule Performance Budget and Hotspots" chart
2911
-
2912
2582
  - Analyzes performance considerations for typed rules.
2913
-
2914
2583
  - Suggests policies for managing semantic type resolution.
2915
2584
 
2916
-
2917
2585
  - ✨ [feat] Introduce "Typed Rule Semantic Analysis Flow" chart
2918
-
2919
2586
  - Details the semantic path for typed rules, focusing on service acquisition and type operations.
2920
-
2921
2587
  - Encourages fail-fast behavior in typed rule contexts.
2922
2588
 
2923
-
2924
2589
  - 🧹 [chore] Update index.md to include new charts in the developer section
2925
-
2926
2590
  - Ensures all new charts are listed for easy navigation.
2927
2591
 
2928
-
2929
2592
  - 🧹 [chore] Modify typedoc configuration to expand entry points
2930
-
2931
2593
  - Adjusts entry point strategy to include internal files for better documentation generation.
2932
2594
 
2933
-
2934
2595
  - 🛠️ [fix] Refactor various internal functions for improved clarity and performance
2935
-
2936
2596
  - Simplifies function signatures and enhances readability across multiple files.
2937
-
2938
2597
  - Ensures consistent error handling and type safety in type operations.
2939
2598
 
2940
-
2941
2599
  - 🧪 [test] Enhance rule metadata tests for improved validation
2942
-
2943
2600
  - Introduces new utility functions for validating rule metadata integrity.
2944
-
2945
2601
  - Ensures that rule IDs and numbers are correctly formatted and sequenced.
2946
2602
 
2947
2603
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2f9b6d3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2f9b6d386efd59b703aefa982a483257ec424500)
2948
2604
 
2949
-
2950
2605
  - 📝 [docs] Update developer documentation and charts
2951
2606
 
2952
-
2953
2607
  - ✨ [feat] Add "Rule Catalog & Doc Sync" and "Change Impact Matrix" to sidebars
2954
2608
 
2955
2609
  - 📝 [docs] Create "Change Impact and Validation Matrix" documentation with flowchart
@@ -2968,7 +2622,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2f9b
2968
2622
 
2969
2623
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4817427)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/481742759795f51f0b053217f9a8dbbb41307b1c)
2970
2624
 
2971
-
2972
2625
  - 📝 [docs] Add snapshot tests for rule documentation headings
2973
2626
 
2974
2627
  - Introduced `docs-heading-snapshots.test.ts` to ensure stability of rule documentation headings.
@@ -3007,10 +2660,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4817
3007
2660
 
3008
2661
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(015b85e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/015b85e5ec5405a89807ba1767f361084f5df7d7)
3009
2662
 
3010
-
3011
2663
  - 📝 [docs] Add documentation URLs for TypeFest ESLint rules
3012
2664
 
3013
-
3014
2665
  - 📜 Updated the `prefer-ts-extras-is-empty` rule to include a documentation URL.
3015
2666
 
3016
2667
  - 📜 Updated the `prefer-ts-extras-is-equal-type` rule to include a documentation URL.
@@ -3135,17 +2786,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(015b
3135
2786
 
3136
2787
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bef8875)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bef8875701aae3580b2a1b137a3d0738267457b0)
3137
2788
 
3138
-
3139
2789
  - 📝 [docs] Update description for review-hacky-brittle-fixes prompt
3140
2790
 
3141
-
3142
2791
  - Clarify the purpose of the prompt to perform a comprehensive audit of the repository, focusing on fragile, brittle, or hacky code.
3143
2792
 
3144
2793
  - Remove outdated agent reference for improved clarity.
3145
2794
 
3146
2795
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(12454e9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/12454e9f6e7e4499ac9082c122d0287455fe3bab)
3147
2796
 
3148
-
3149
2797
  - 📝 [docs] Add blog and architecture decision records for eslint-plugin-typefest
3150
2798
 
3151
2799
  - ✨ [feat] Introduce blog for eslint-plugin-typefest with posts on design and governance
@@ -3168,7 +2816,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1245
3168
2816
 
3169
2817
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6541e53)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6541e53092db4bc31702088ad4a203a3262dfe0b)
3170
2818
 
3171
-
3172
2819
  - 📝 [docs] Update TypeFest rule documentation for clarity and consistency
3173
2820
 
3174
2821
  - 📝 [docs] Revise `prefer-type-fest-tuple-of` to emphasize deprecated alias usage
@@ -3190,13 +2837,12 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6541
3190
2837
  - 📝 [docs] Update `prefer-type-fest-writable` to clarify targeted patterns and behavior
3191
2838
 
3192
2839
  - 📝 [docs] Add alternative configuration example for applying recommended rules selectively
3193
- 🛠️ [fix] Normalize line endings in typed rule tester fixtures
2840
+ 🛠️ [fix] Normalize line endings in typed rule tester fixtures
3194
2841
 
3195
2842
  - 🛠️ [fix] Implement line ending normalization to ensure consistent fixture reading
3196
2843
 
3197
2844
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9acb9a8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9acb9a8bb27cf23d4503b52c095c48120bf5f568)
3198
2845
 
3199
-
3200
2846
  - 📝 [docs] Adds ADR hub and updates docs build flow
3201
2847
 
3202
2848
  📝 [docs] Adds an ADR section with an index and three accepted decisions to capture architectural intent and reduce repeated dependency-adoption discussions.
@@ -3213,19 +2859,16 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9acb
3213
2859
 
3214
2860
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(51d6a5d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/51d6a5d7ca6f3c5e14f32794f20f4c6ddb91f5cd)
3215
2861
 
3216
-
3217
2862
  - 📝 [docs] Update Code of Conduct to reflect no formal guidelines
3218
- 🔧 [build] Change logo file types in manifest.json from SVG to PNG
3219
- 🎨 [style] Enhance case name formatting in ruleTester.ts for better visibility
3220
- 🔧 [build] Simplify project name label in vite.config.ts from "Frontend" to "Test"
3221
- 🔧 [build] Update vitest configuration in vitest.stryker.config.ts for improved test handling
2863
+ 🔧 [build] Change logo file types in manifest.json from SVG to PNG
2864
+ 🎨 [style] Enhance case name formatting in ruleTester.ts for better visibility
2865
+ 🔧 [build] Simplify project name label in vite.config.ts from "Frontend" to "Test"
2866
+ 🔧 [build] Update vitest configuration in vitest.stryker.config.ts for improved test handling
3222
2867
 
3223
2868
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7d246f8)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7d246f84d4928bbae4ddfb3d51bb092a56864ef0)
3224
2869
 
3225
-
3226
2870
  - 📝 [docs] Update documentation scripts in package.json
3227
2871
 
3228
-
3229
2872
  - 🔧 Reordered the `docs:toc` and `docs:validate-links` scripts for better clarity and consistency.
3230
2873
 
3231
2874
  - 🛠️ Removed the old `docs:validate-links` script and added it back after `docs:toc` to maintain logical flow.
@@ -3236,29 +2879,20 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7d24
3236
2879
 
3237
2880
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f099e8d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f099e8d191c3e432d3f50535834e08cef9ce09cb)
3238
2881
 
3239
-
3240
2882
  - 📝 [docs] Update strict and type-fest-types presets documentation
3241
2883
 
3242
-
3243
2884
  - 📜 Refactor the rules table in `strict.md` for better readability
3244
-
3245
2885
  - 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`
3246
-
3247
2886
  - 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`
3248
2887
 
3249
-
3250
2888
  - 📜 Refactor the rules table in `type-fest-types.md` for better readability
3251
-
3252
2889
  - 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`
3253
-
3254
2890
  - 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`
3255
2891
 
3256
2892
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(92500d2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/92500d25d901851046813ee34b0d0ba1bc29663f)
3257
2893
 
3258
-
3259
2894
  - 📝 [docs] Update presets documentation with rule matrices and details
3260
2895
 
3261
-
3262
2896
  - 📜 Added a comprehensive rule matrix to `index.md` for better visibility of rules, fixes, and preset keys.
3263
2897
 
3264
2898
  - 📜 Included specific rules in the `minimal.md` preset documentation to clarify which rules are included.
@@ -3273,10 +2907,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9250
3273
2907
 
3274
2908
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b8b30d5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b8b30d533d1ccda5f5d9450da6013c9eb6997a57)
3275
2909
 
3276
-
3277
2910
  - 📝 [docs] Enhance documentation across multiple rules and tests
3278
2911
 
3279
-
3280
2912
  - 📝 [docs] Add JSDoc comments for utility functions in `prefer-ts-extras-is-empty.ts`
3281
2913
 
3282
2914
  - 📝 [docs] Document utility functions in `prefer-ts-extras-is-infinite.ts`
@@ -3335,10 +2967,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b8b3
3335
2967
 
3336
2968
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(562ff90)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/562ff901516df7171c834f22ed0b83b92cdcc693)
3337
2969
 
3338
-
3339
2970
  - 📝 [docs] Enhance ESLint rule documentation across multiple files
3340
2971
 
3341
-
3342
2972
  - ✨ [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`.
3343
2973
 
3344
2974
  - 📝 [docs] Add JSDoc comments to clarify the purpose and usage of each rule, enhancing maintainability and developer understanding.
@@ -3347,7 +2977,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(562f
3347
2977
 
3348
2978
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ef195de)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ef195de3aaabb27a1e3542df4c1a025a2d28c701)
3349
2979
 
3350
-
3351
2980
  - 📝 [docs] Update CSS documentation and global styles for Docusaurus
3352
2981
 
3353
2982
  - Added global CSS overrides for Docusaurus documentation site.
@@ -3358,7 +2987,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ef19
3358
2987
 
3359
2988
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6863895)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/68638954b10b776b033cd5a207f83531347f28ab)
3360
2989
 
3361
-
3362
2990
  - 📝 [docs] Adds package-level module docs
3363
2991
 
3364
2992
  📝 [docs] Improves maintainability and generated docs clarity by adding consistent package-level headers across core modules, plugin wiring, and rule implementations.
@@ -3373,10 +3001,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6863
3373
3001
 
3374
3002
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(84bc8a1)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/84bc8a1d500497e1ce3bd9302f1aefd69b698c79)
3375
3003
 
3376
-
3377
3004
  - 📝 [docs] Update documentation for type-fest utility rules
3378
3005
 
3379
-
3380
3006
  - 🔧 Refactor rule documentation to replace "Legacy" terminology with "Non-canonical" for clarity.
3381
3007
 
3382
3008
  - 📝 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.
@@ -3389,10 +3015,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(84bc
3389
3015
 
3390
3016
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(07214d3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/07214d3546cf52dafafc26936403cf090ddffb3c)
3391
3017
 
3392
-
3393
3018
  - 📝 [docs] Update documentation for type-fest utility types
3394
3019
 
3395
-
3396
3020
  - 📝 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.
3397
3021
 
3398
3022
  - 🔄 Replace non-canonical patterns with comments indicating legacy patterns repeated inline across modules.
@@ -3405,16 +3029,12 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0721
3405
3029
 
3406
3030
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9a45e98)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9a45e98c3c63a49374ed2dbfe37e1a45b518a564)
3407
3031
 
3408
-
3409
-
3410
3032
  ### ⚡ Performance
3411
3033
 
3412
3034
  - ⚡️ [perf] Update import-x/no-unused-modules rule configuration
3413
3035
 
3414
3036
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(83baba7)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/83baba78bad3ad109c19e0aee332ffa54f5c0bac)
3415
3037
 
3416
-
3417
-
3418
3038
  ### 🎨 Styling
3419
3039
 
3420
3040
  - 🎨 [style] Consistent quote style and formatting updates across multiple files
@@ -3428,7 +3048,7 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(83ba
3428
3048
  - Reformatted code for better readability and consistency in `plugin-entry.test.ts`, `plugin-public-types.test-d.ts`, `plugin-runtime-entry-types.test-d.ts`, `prefer-type-fest-except.test.ts`, `prefer-type-fest-unknown-map.test.ts`, and `prefer-type-fest-unknown-set.test.ts`
3429
3049
 
3430
3050
  - Ensured consistent use of double quotes in mock imports
3431
- ✨ [feat] Enhance ESLint compatibility and plugin versioning
3051
+ ✨ [feat] Enhance ESLint compatibility and plugin versioning
3432
3052
 
3433
3053
  - Added `toPosixPath` and `collectStringEntries` utility functions in `eslint9-compat-smoke.mjs`
3434
3054
 
@@ -3440,10 +3060,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(83ba
3440
3060
 
3441
3061
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4b8520f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4b8520f0d1e192b2cd41dda6ea899bb5dbc6faa2)
3442
3062
 
3443
-
3444
3063
  - 🎨 [style] Update Docusaurus config and documentation for improved UI
3445
3064
 
3446
-
3447
3065
  - Update icon labels in Docusaurus config for better visual consistency
3448
3066
 
3449
3067
  - Enhance project and support section titles with emojis for clarity
@@ -3456,17 +3074,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4b85
3456
3074
 
3457
3075
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2c033a5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2c033a5e68a590b8d3f08d105957dc468dd7b6b7)
3458
3076
 
3459
-
3460
3077
  - 🎨 [style] Adjust doMock method signature formatting
3461
3078
 
3462
-
3463
3079
  - Refactor doMock method declaration to align with TypeScript interface augmentation guidelines.
3464
3080
 
3465
3081
  - Ensure method signature is clearly defined for better readability and maintainability.
3466
3082
 
3467
3083
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f72a493)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/f72a49344875884878dd937a71ae7553da492276)
3468
3084
 
3469
-
3470
3085
  - 🎨 [style] Update icons and labels in Docusaurus configuration
3471
3086
 
3472
3087
  - Replace emoji labels with Font Awesome icons for consistency in sidebar and navigation
@@ -3481,7 +3096,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(f72a
3481
3096
 
3482
3097
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5c9c3d3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5c9c3d30b1892862be5cdd337cd45ee5034e4d92)
3483
3098
 
3484
-
3485
3099
  - 🎨 [style] Remove unnecessary whitespace in rule configuration files
3486
3100
 
3487
3101
  - Cleaned up multiple TypeScript rule files by removing trailing whitespace in the configuration sections.
@@ -3489,136 +3103,72 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5c9c
3489
3103
  - This change improves code readability and maintains consistency across the codebase.
3490
3104
 
3491
3105
  - Affected files include:
3492
-
3493
3106
  - `prefer-ts-extras-assert-present.ts`
3494
-
3495
3107
  - `prefer-ts-extras-is-defined-filter.ts`
3496
-
3497
3108
  - `prefer-ts-extras-is-defined.ts`
3498
-
3499
3109
  - `prefer-ts-extras-is-empty.ts`
3500
-
3501
3110
  - `prefer-ts-extras-is-equal-type.ts`
3502
-
3503
3111
  - `prefer-ts-extras-is-finite.ts`
3504
-
3505
3112
  - `prefer-ts-extras-is-infinite.ts`
3506
-
3507
3113
  - `prefer-ts-extras-is-integer.ts`
3508
-
3509
3114
  - `prefer-ts-extras-is-present-filter.ts`
3510
-
3511
3115
  - `prefer-ts-extras-is-present.ts`
3512
-
3513
3116
  - `prefer-ts-extras-is-safe-integer.ts`
3514
-
3515
3117
  - `prefer-ts-extras-key-in.ts`
3516
-
3517
3118
  - `prefer-ts-extras-not.ts`
3518
-
3519
3119
  - `prefer-ts-extras-object-entries.ts`
3520
-
3521
3120
  - `prefer-ts-extras-object-from-entries.ts`
3522
-
3523
3121
  - `prefer-ts-extras-object-has-in.ts`
3524
-
3525
3122
  - `prefer-ts-extras-object-has-own.ts`
3526
-
3527
3123
  - `prefer-ts-extras-object-keys.ts`
3528
-
3529
3124
  - `prefer-ts-extras-object-values.ts`
3530
-
3531
3125
  - `prefer-ts-extras-safe-cast-to.ts`
3532
-
3533
3126
  - `prefer-ts-extras-set-has.ts`
3534
-
3535
3127
  - `prefer-ts-extras-string-split.ts`
3536
-
3537
3128
  - `prefer-type-fest-arrayable.ts`
3538
-
3539
3129
  - `prefer-type-fest-async-return-type.ts`
3540
-
3541
3130
  - `prefer-type-fest-conditional-pick.ts`
3542
-
3543
3131
  - `prefer-type-fest-constructor.ts`
3544
-
3545
3132
  - `prefer-type-fest-except.ts`
3546
-
3547
3133
  - `prefer-type-fest-if.ts`
3548
-
3549
3134
  - `prefer-type-fest-iterable-element.ts`
3550
-
3551
3135
  - `prefer-type-fest-json-array.ts`
3552
-
3553
3136
  - `prefer-type-fest-json-object.ts`
3554
-
3555
3137
  - `prefer-type-fest-json-primitive.ts`
3556
-
3557
3138
  - `prefer-type-fest-json-value.ts`
3558
-
3559
3139
  - `prefer-type-fest-keys-of-union.ts`
3560
-
3561
3140
  - `prefer-type-fest-literal-union.ts`
3562
-
3563
3141
  - `prefer-type-fest-merge-exclusive.ts`
3564
-
3565
3142
  - `prefer-type-fest-non-empty-tuple.ts`
3566
-
3567
3143
  - `prefer-type-fest-omit-index-signature.ts`
3568
-
3569
3144
  - `prefer-type-fest-partial-deep.ts`
3570
-
3571
3145
  - `prefer-type-fest-primitive.ts`
3572
-
3573
3146
  - `prefer-type-fest-promisable.ts`
3574
-
3575
3147
  - `prefer-type-fest-readonly-deep.ts`
3576
-
3577
3148
  - `prefer-type-fest-require-all-or-none.ts`
3578
-
3579
3149
  - `prefer-type-fest-require-at-least-one.ts`
3580
-
3581
3150
  - `prefer-type-fest-require-exactly-one.ts`
3582
-
3583
3151
  - `prefer-type-fest-require-one-or-none.ts`
3584
-
3585
3152
  - `prefer-type-fest-required-deep.ts`
3586
-
3587
3153
  - `prefer-type-fest-schema.ts`
3588
-
3589
3154
  - `prefer-type-fest-set-non-nullable.ts`
3590
-
3591
3155
  - `prefer-type-fest-set-optional.ts`
3592
-
3593
3156
  - `prefer-type-fest-set-readonly.ts`
3594
-
3595
3157
  - `prefer-type-fest-set-required.ts`
3596
-
3597
3158
  - `prefer-type-fest-simplify.ts`
3598
-
3599
3159
  - `prefer-type-fest-tagged-brands.ts`
3600
-
3601
3160
  - `prefer-type-fest-tuple-of.ts`
3602
-
3603
3161
  - `prefer-type-fest-unknown-array.ts`
3604
-
3605
3162
  - `prefer-type-fest-unknown-map.ts`
3606
-
3607
3163
  - `prefer-type-fest-unknown-record.ts`
3608
-
3609
3164
  - `prefer-type-fest-unknown-set.ts`
3610
-
3611
3165
  - `prefer-type-fest-unwrap-tagged.ts`
3612
-
3613
3166
  - `prefer-type-fest-value-of.ts`
3614
-
3615
3167
  - `prefer-type-fest-writable-deep.ts`
3616
-
3617
3168
  - `prefer-type-fest-writable.ts`
3618
3169
 
3619
3170
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c37f3cc)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c37f3cca935850135cb83007efd1baf9c4550e2a)
3620
3171
 
3621
-
3622
3172
  - 🎨 [style] Refactor code for consistency and readability
3623
3173
 
3624
3174
  - Standardize import statements by removing unnecessary spaces
@@ -3651,169 +3201,93 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c37f
3651
3201
 
3652
3202
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9a70578)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/9a70578fa48e099426d2a71df8f63046a88b9b09)
3653
3203
 
3654
-
3655
3204
  - 🎨 [style] Clean up trailing whitespace in TypeScript rule files
3656
3205
 
3657
3206
  - Removed trailing whitespace from multiple TypeScript rule files to maintain code consistency and cleanliness.
3658
3207
 
3659
3208
  - Affected files include:
3660
-
3661
3209
  - `prefer-ts-extras-is-finite.ts`
3662
-
3663
3210
  - `prefer-ts-extras-is-infinite.ts`
3664
-
3665
3211
  - `prefer-ts-extras-is-integer.ts`
3666
-
3667
3212
  - `prefer-ts-extras-is-present-filter.ts`
3668
-
3669
3213
  - `prefer-ts-extras-is-present.ts`
3670
-
3671
3214
  - `prefer-ts-extras-is-safe-integer.ts`
3672
-
3673
3215
  - `prefer-ts-extras-key-in.ts`
3674
-
3675
3216
  - `prefer-ts-extras-not.ts`
3676
-
3677
3217
  - `prefer-ts-extras-object-entries.ts`
3678
-
3679
3218
  - `prefer-ts-extras-object-from-entries.ts`
3680
-
3681
3219
  - `prefer-ts-extras-object-has-in.ts`
3682
-
3683
3220
  - `prefer-ts-extras-object-has-own.ts`
3684
-
3685
3221
  - `prefer-ts-extras-object-keys.ts`
3686
-
3687
3222
  - `prefer-ts-extras-object-values.ts`
3688
-
3689
3223
  - `prefer-ts-extras-safe-cast-to.ts`
3690
-
3691
3224
  - `prefer-ts-extras-set-has.ts`
3692
-
3693
3225
  - `prefer-ts-extras-string-split.ts`
3694
-
3695
3226
  - `prefer-type-fest-arrayable.ts`
3696
-
3697
3227
  - `prefer-type-fest-async-return-type.ts`
3698
-
3699
3228
  - `prefer-type-fest-conditional-pick.ts`
3700
-
3701
3229
  - `prefer-type-fest-constructor.ts`
3702
-
3703
3230
  - `prefer-type-fest-except.ts`
3704
-
3705
3231
  - `prefer-type-fest-if.ts`
3706
-
3707
3232
  - `prefer-type-fest-iterable-element.ts`
3708
-
3709
3233
  - `prefer-type-fest-json-array.ts`
3710
-
3711
3234
  - `prefer-type-fest-json-object.ts`
3712
-
3713
3235
  - `prefer-type-fest-json-primitive.ts`
3714
-
3715
3236
  - `prefer-type-fest-json-value.ts`
3716
-
3717
3237
  - `prefer-type-fest-keys-of-union.ts`
3718
-
3719
3238
  - `prefer-type-fest-literal-union.ts`
3720
-
3721
3239
  - `prefer-type-fest-merge-exclusive.ts`
3722
-
3723
3240
  - `prefer-type-fest-non-empty-tuple.ts`
3724
-
3725
3241
  - `prefer-type-fest-omit-index-signature.ts`
3726
-
3727
3242
  - `prefer-type-fest-partial-deep.ts`
3728
-
3729
3243
  - `prefer-type-fest-primitive.ts`
3730
-
3731
3244
  - `prefer-type-fest-promisable.ts`
3732
-
3733
3245
  - `prefer-type-fest-readonly-deep.ts`
3734
-
3735
3246
  - `prefer-type-fest-require-all-or-none.ts`
3736
-
3737
3247
  - `prefer-type-fest-require-at-least-one.ts`
3738
-
3739
3248
  - `prefer-type-fest-require-exactly-one.ts`
3740
-
3741
3249
  - `prefer-type-fest-require-one-or-none.ts`
3742
-
3743
3250
  - `prefer-type-fest-required-deep.ts`
3744
-
3745
3251
  - `prefer-type-fest-schema.ts`
3746
-
3747
3252
  - `prefer-type-fest-set-non-nullable.ts`
3748
-
3749
3253
  - `prefer-type-fest-set-optional.ts`
3750
-
3751
3254
  - `prefer-type-fest-set-readonly.ts`
3752
-
3753
3255
  - `prefer-type-fest-set-required.ts`
3754
-
3755
3256
  - `prefer-type-fest-simplify.ts`
3756
-
3757
3257
  - `prefer-type-fest-tagged-brands.ts`
3758
-
3759
3258
  - `prefer-type-fest-tuple-of.ts`
3760
-
3761
3259
  - `prefer-type-fest-unknown-array.ts`
3762
-
3763
3260
  - `prefer-type-fest-unknown-map.ts`
3764
-
3765
3261
  - `prefer-type-fest-unknown-record.ts`
3766
-
3767
3262
  - `prefer-type-fest-unknown-set.ts`
3768
-
3769
3263
  - `prefer-type-fest-unwrap-tagged.ts`
3770
-
3771
3264
  - `prefer-type-fest-value-of.ts`
3772
-
3773
3265
  - `prefer-type-fest-writable-deep.ts`
3774
-
3775
3266
  - `prefer-type-fest-writable.ts`
3776
- 🧪 [test] Update test files for consistency
3267
+ 🧪 [test] Update test files for consistency
3777
3268
 
3778
3269
  - Adjusted test files to remove trailing whitespace and ensure consistent formatting.
3779
3270
 
3780
3271
  - Affected test files include:
3781
-
3782
3272
  - `imported-type-aliases.test.ts`
3783
-
3784
3273
  - `prefer-type-fest-arrayable.test.ts`
3785
-
3786
3274
  - `prefer-type-fest-async-return-type.test.ts`
3787
-
3788
3275
  - `prefer-type-fest-json-array.test.ts`
3789
-
3790
3276
  - `prefer-type-fest-json-object.test.ts`
3791
-
3792
3277
  - `prefer-type-fest-partial-deep.test.ts`
3793
-
3794
3278
  - `prefer-type-fest-require-all-or-none.test.ts`
3795
-
3796
3279
  - `prefer-type-fest-require-exactly-one.test.ts`
3797
-
3798
3280
  - `prefer-type-fest-required-deep.test.ts`
3799
-
3800
3281
  - `prefer-type-fest-set-non-nullable.test.ts`
3801
-
3802
3282
  - `prefer-type-fest-set-optional.test.ts`
3803
-
3804
3283
  - `prefer-type-fest-set-required.test.ts`
3805
-
3806
3284
  - `prefer-type-fest-simplify.test.ts`
3807
-
3808
3285
  - `prefer-type-fest-tagged-brands.test.ts`
3809
-
3810
3286
  - `prefer-type-fest-unknown-array.test.ts`
3811
-
3812
3287
  - `prefer-type-fest-unwrap-tagged.test.ts`
3813
3288
 
3814
3289
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e6eeff5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e6eeff586d1d69f4c812df893a00f836dde93222)
3815
3290
 
3816
-
3817
3291
  - 🎨 [style] Refine stylelint disable comments in custom.css
3818
3292
 
3819
3293
  - Updated stylelint disable comments to remove unnecessary rules
@@ -3822,7 +3296,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e6ee
3822
3296
 
3823
3297
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6eb9b0f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6eb9b0ff35cb5769ce2142ae048c29e8e05ec5f9)
3824
3298
 
3825
-
3826
3299
  - 🎨 [style] Refine stylelint disable comments in CSS module
3827
3300
 
3828
3301
  - Removed unnecessary stylelint rules for improved clarity
@@ -3831,7 +3304,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6eb9
3831
3304
 
3832
3305
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1d8c4af)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/1d8c4af3441e33c1a4db469903c731a91ea80470)
3833
3306
 
3834
-
3835
3307
  - 🎨 [style] Improve code formatting and consistency in scripts
3836
3308
 
3837
3309
  - Adjust spacing in parameter definitions in `.github/CleanReleases.ps1` and `.github/RepoSize.ps1`
@@ -3839,7 +3311,7 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1d8c
3839
3311
  - Standardize spacing in output formatting for better readability
3840
3312
 
3841
3313
  - Enhance clarity by ensuring consistent spacing in condition checks
3842
- ✨ [feat] Add bootstrap script for GitHub labels
3314
+ ✨ [feat] Add bootstrap script for GitHub labels
3843
3315
 
3844
3316
  - Introduce `scripts/bootstrap-labels.ps1` to manage GitHub issue/PR labels
3845
3317
 
@@ -3851,7 +3323,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1d8c
3851
3323
 
3852
3324
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7f84870)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7f84870ac38c2d089a0bfb6fe85025cce034c2ce)
3853
3325
 
3854
-
3855
3326
  - 🎨 [style] Clean up code formatting and improve readability
3856
3327
 
3857
3328
  - Removed unnecessary trailing whitespace in multiple files to maintain consistent formatting.
@@ -3876,7 +3347,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7f84
3876
3347
 
3877
3348
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b4b1929)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b4b1929c19e9e23e7e2c88229979a2c23473a4b3)
3878
3349
 
3879
-
3880
3350
  - 🎨 [style] Improve code formatting and consistency across multiple files
3881
3351
 
3882
3352
  - ✨ Adjust spacing around object destructuring in `prefer-ts-extras-array-first.ts`
@@ -3895,7 +3365,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b4b1
3895
3365
 
3896
3366
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(22c06f3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/22c06f32690751743723df370ee9f648bb27b943)
3897
3367
 
3898
-
3899
3368
  - 🎨 [style] Refactor code formatting for consistency and readability
3900
3369
 
3901
3370
  - Cleaned up import statements across multiple test files by consolidating imports from "vitest"
@@ -3932,8 +3401,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(22c0
3932
3401
 
3933
3402
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4ab154d)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4ab154d52bb4581406410e848c69daebc6d0e847)
3934
3403
 
3935
-
3936
-
3937
3404
  ### 🧪 Testing
3938
3405
 
3939
3406
  - 🧪 [test] Enhance type safety and listener functionality across multiple test files
@@ -3951,7 +3418,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4ab1
3951
3418
 
3952
3419
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2193ed9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/2193ed9abc153379bcb5c989ded4729d78ebd5d6)
3953
3420
 
3954
-
3955
3421
  - 🧪 [test] Update error handling assertions in tests
3956
3422
 
3957
3423
  - Refactored multiple test cases to replace `.toThrowError()` with `.toThrow()`, aligning with updated Jest practices for error assertions.
@@ -3960,10 +3426,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2193
3960
3426
 
3961
3427
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(02a1f4e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/02a1f4ea66ef3dda4e2ab79f03851ddaacdd9d70)
3962
3428
 
3963
-
3964
3429
  - 🧪 [test] Enhance type safety and parsing for TypeFest rules
3965
3430
 
3966
-
3967
3431
  - ✨ [feat] Introduce `replaceOrThrow` utility function to streamline text replacements in test fixtures across multiple test files.
3968
3432
 
3969
3433
  - 🛠️ [fix] Update `prefer-type-fest-unknown-map.test.ts` to ensure `ReadonlyMap<unknown, unknown>` is correctly replaced with `Readonly<UnknownMap>`, enhancing type safety.
@@ -3984,7 +3448,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(02a1
3984
3448
 
3985
3449
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d1092f9)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d1092f9268d3ba4649775868068210e930ef9df9)
3986
3450
 
3987
-
3988
3451
  - 🧪 [test] bolster guards and metadata across rules
3989
3452
 
3990
3453
  - 🛠️ [fix] grow ESLint ignorePattern with v8/c8/nyc/codecov/coveralls tokens to prevent spurious warnings
@@ -4005,7 +3468,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d109
4005
3468
 
4006
3469
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4c685cb)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4c685cbac3253139b206443b8fa80571a470b30b)
4007
3470
 
4008
-
4009
3471
  - 🧪 [test] Refactor test cases to use 'test' instead of 'it' for consistency
4010
3472
 
4011
3473
  - Updated all test files to replace 'it' with 'test' for better readability and consistency across the test suite.
@@ -4028,7 +3490,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4c68
4028
3490
 
4029
3491
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(10c699a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/10c699af540ea73a73ab0e69acb9d2c217b3d9ff)
4030
3492
 
4031
-
4032
3493
  - 🧪 [test] Expands type-utility rule coverage
4033
3494
 
4034
3495
  🧪 [test] Strengthens rule reliability by adding edge-case assertions for detection and autofix behavior across multiple type-utility preference rules.
@@ -4036,15 +3497,13 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(10c6
4036
3497
  - Adds reversed-union, whitespace-normalized, extra/missing generic argument, and nested-type scenarios to reduce false positives and false negatives.
4037
3498
 
4038
3499
  - Verifies non-fix behavior when required imports are missing, so diagnostics stay accurate without unsafe edits.
4039
- 🧪 [test] Broadens valid-case coverage for multi-member unions and duplicate-member combinations to ensure rules trigger only on exact intended patterns.
4040
- 🎨 [style] Normalizes import ordering and modernizes matcher assertions and regex flags in metadata checks to keep tests consistent and less brittle.
3500
+ 🧪 [test] Broadens valid-case coverage for multi-member unions and duplicate-member combinations to ensure rules trigger only on exact intended patterns.
3501
+ 🎨 [style] Normalizes import ordering and modernizes matcher assertions and regex flags in metadata checks to keep tests consistent and less brittle.
4041
3502
 
4042
3503
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(145743a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/145743a270bfa524527bdcfd1ff264a7fce87aa1)
4043
3504
 
4044
-
4045
3505
  - 📝 [test] Enhance type-fest rule tests with additional cases
4046
3506
 
4047
-
4048
3507
  - ✨ [test] Add valid cases for Awaited with Promise and qualified ReturnType
4049
3508
 
4050
3509
  - ✨ [test] Introduce inline fixable cases for ConditionalPick and update error messages
@@ -4091,18 +3550,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1457
4091
3550
 
4092
3551
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ec44a53)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ec44a53779b9a5e7d5ea0f2e0f08c7c318a92366)
4093
3552
 
4094
-
4095
-
4096
3553
  ### 🧹 Chores
4097
3554
 
4098
3555
  - Release v1.0.0 [`(fe9afd2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fe9afd26fe79835b171003e19575a90518e14be6)
4099
3556
 
4100
-
4101
3557
  - 🧹 [chore] Clean up configuration files by removing bootstrap instructions
4102
3558
 
4103
3559
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(79d484b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/79d484b673d237e04d4d6a36eaa413162edec085)
4104
3560
 
4105
-
4106
3561
  - 🧹 [chore] migrate documentation URLs to GitHub Pages and bump dev dependencies
4107
3562
 
4108
3563
  - update base docs URL from custom domain to GitHub Pages in internal helpers and rule metadata
@@ -4115,7 +3570,6 @@ The changes simplify hosting strategy for docs and keep development dependencies
4115
3570
 
4116
3571
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(aeb72ee)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/aeb72eeeb9be48054bf96209b07ff62e9f777d33)
4117
3572
 
4118
-
4119
3573
  - 🗑️ [chore] Remove ESLint Config Inspector build and verification scripts
4120
3574
 
4121
3575
  - Deleted `build-eslint-inspector.mjs` and `verify-eslint-inspector.mjs` scripts
@@ -4126,8 +3580,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(aeb7
4126
3580
 
4127
3581
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(79dd244)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/79dd2444ee0729ab547a608945aca8f9097070fc)
4128
3582
 
4129
-
4130
-
4131
3583
  ### 👷 CI/CD
4132
3584
 
4133
3585
  - 👷 [ci] Update Codecov action version for improved functionality
@@ -4136,8 +3588,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(79dd
4136
3588
 
4137
3589
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(232fe61)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/232fe61b01124fd8bf0113271cf6ff2eaba70c99)
4138
3590
 
4139
-
4140
-
4141
3591
  ### 🔧 Build System
4142
3592
 
4143
3593
  - 📦️ [build] Upgrade dependencies in package.json
@@ -4151,7 +3601,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(232f
4151
3601
 
4152
3602
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fbc4753)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fbc47539a7a9af13b983e0061e147e1d100d83b2)
4153
3603
 
4154
-
4155
3604
  - 🔧 [build] Update package dependencies and configurations
4156
3605
 
4157
3606
  - 🔧 Update packageManager to npm@11.11.1 in package.json
@@ -4160,12 +3609,11 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fbc4
4160
3609
 
4161
3610
  - 🔧 Add @package-json/types as a dev dependency in package-lock.json
4162
3611
 
4163
- - 🎨 Adjust files entry in package.json to include docs/rules/**
4164
- 🧪 [test] Clean up test file by removing unnecessary blank line in plugin-entry.test.ts
3612
+ - 🎨 Adjust files entry in package.json to include docs/rules/\*\*
3613
+ 🧪 [test] Clean up test file by removing unnecessary blank line in plugin-entry.test.ts
4165
3614
 
4166
3615
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c2cb0ea)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/c2cb0ea80a19d336113a4599c453eec35166ddb1)
4167
3616
 
4168
-
4169
3617
  - 🔧 [build] Update package configurations and dependencies
4170
3618
 
4171
3619
  - 🛠️ [fix] Set main entry point in package.json to docusaurus.config.ts
@@ -4184,7 +3632,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(c2cb
4184
3632
 
4185
3633
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4d8023a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4d8023abd7080def62cafa17ec1128de75c17d7d)
4186
3634
 
4187
-
4188
3635
  - 🔧 [build] Update code for improved readability and safety
4189
3636
 
4190
3637
  - 🛠️ Refactor rule access to use bracket notation for consistency
@@ -4199,7 +3646,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4d80
4199
3646
 
4200
3647
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6d7d427)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6d7d4277dbb4ab767076fce90a84934e4bfd04f9)
4201
3648
 
4202
-
4203
3649
  - 🔧 [build] Refactor vitest globals type definitions
4204
3650
 
4205
3651
  - 🛠️ Update import statement for createTypedRule
@@ -4210,7 +3656,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6d7d
4210
3656
 
4211
3657
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db4aff6)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/db4aff6ccb4a292eb3621a53cfa73f6379a17567)
4212
3658
 
4213
-
4214
3659
  - 🔧 [build] Update TypeScript ESLint dependencies and related packages
4215
3660
 
4216
3661
  - Upgrade @typescript-eslint/parser, @typescript-eslint/type-utils, and @typescript-eslint/utils to version 8.57.0
@@ -4229,10 +3674,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db4a
4229
3674
 
4230
3675
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(124785e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/124785ed1892b86fedc8ad44509902dd39332a47)
4231
3676
 
4232
-
4233
3677
  - 🔧 [build] Update PowerShell script execution commands and error handling
4234
3678
 
4235
-
4236
3679
  - 🛠️ [fix] Modify Windows script execution commands in hooks.json to use PowerShell with appropriate flags for better compatibility.
4237
3680
 
4238
3681
  - 🛠️ [fix] Change error handling in log-prompt.ps1 and remove-temp.ps1 from "Stop" to "Continue" to allow scripts to proceed even if an error occurs.
@@ -4243,7 +3686,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1247
4243
3686
 
4244
3687
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8bee5b3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/8bee5b36f4ba4bc67ec6010bc65a73e60d83a9c7)
4245
3688
 
4246
-
4247
3689
  - 🔧 [build] Refactor module source imports for consistency across rules
4248
3690
 
4249
3691
  - 🛠️ [fix] Update all rules to use `TS_EXTRAS_MODULE_SOURCE` instead of hardcoded string "ts-extras" for improved maintainability and consistency.
@@ -4252,10 +3694,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(8bee
4252
3694
 
4253
3695
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0ec1cf7)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/0ec1cf79284b6bda8b6c4bc68d32972cc7f7c80b)
4254
3696
 
4255
-
4256
3697
  - 🔧 [build] Update package-lock.json to remove unnecessary dev flags
4257
3698
 
4258
-
4259
3699
  - Removed "dev": true from multiple dependencies in package-lock.json to clean up the lock file and ensure only necessary dev dependencies are marked as such.
4260
3700
 
4261
3701
  - Added new dependency "postcss-syntax" with "dev": true and "peer": true, requiring "postcss" version >=5.0.0.
@@ -4264,31 +3704,26 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0ec1
4264
3704
 
4265
3705
  ✨ [feat] Enhance type name resolution in prefer-ts-extras-set-has rule
4266
3706
 
4267
-
4268
3707
  - Integrated `getTypeName` function to improve type name retrieval for candidate types.
4269
3708
 
4270
3709
  - Updated logic to check both the resolved type name and the symbol name for "ReadonlySet" and "Set" to enhance type detection accuracy.
4271
3710
 
4272
3711
  ✨ [feat] Improve type name handling in prefer-ts-extras-string-split rule
4273
3712
 
4274
-
4275
3713
  - Implemented `getTypeName` function to retrieve the type name of candidate types.
4276
3714
 
4277
3715
  - Modified fallback logic to check the resolved type name for "String" when name-based fallback is necessary, ensuring more robust type resolution.
4278
3716
 
4279
3717
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e2a2129)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e2a21297ba718c316f6e158605474e3b72384a0b)
4280
3718
 
4281
-
4282
3719
  - 🔧 [build] Update Stryker Vitest configuration
4283
3720
 
4284
3721
  - Add setupFiles entry to specify custom setup script for Vitest
4285
3722
 
4286
3723
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a0f74f2)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a0f74f2c7e56fda2ae08bd98de7c3bbb1fda951c)
4287
3724
 
4288
-
4289
3725
  - 🔧 [build] Update dependencies and add autofix smoke test
4290
3726
 
4291
-
4292
3727
  - 🔧 [build] Upgrade `eslint-plugin-array-func` from `^5.1.0` to `^5.1.1`
4293
3728
 
4294
3729
  - 🔧 [build] Upgrade `fast-check` from `^4.5.3` to `^4.6.0`
@@ -4307,7 +3742,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a0f7
4307
3742
 
4308
3743
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fb71524)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/fb71524bea3708c7d8be18eec2bbbdd101eec1a4)
4309
3744
 
4310
-
4311
3745
  - 🔧 [build] Update dependencies for TypeDoc and ESLint plugins
4312
3746
 
4313
3747
  - 📝 Update `typedoc-plugin-dt-links` from `^2.0.44` to `^2.0.45` in `package.json` and `package-lock.json`
@@ -4346,7 +3780,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(fb71
4346
3780
 
4347
3781
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a916f48)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a916f4835b426f01dc82ae38e14719a1953c3bed)
4348
3782
 
4349
-
4350
3783
  - 🔧 [build] Update package dependencies in package.json and package-lock.json
4351
3784
 
4352
3785
  - 🔄 [dependency] Update eslint-plugin-package-json ^0.89.4
@@ -4357,7 +3790,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a916
4357
3790
 
4358
3791
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3231367)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3231367cb944df9345c0de8b7934346044e8ba68)
4359
3792
 
4360
-
4361
3793
  - 🔧 [build] Update TypeFest plugin and tests for improved rule documentation synchronization
4362
3794
 
4363
3795
  - 🛠️ Refactor rule documentation synchronization logic to derive `docs.recommended` from preset references
@@ -4368,23 +3800,21 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3231
4368
3800
 
4369
3801
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ee0edba)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ee0edbad0a9c287b0e05ce6f63410fa34ec1682b)
4370
3802
 
4371
-
4372
3803
  - 🔧 [build] Update TypeFest rule configurations for improved type inference
4373
3804
 
4374
3805
  - 🛠️ [fix] Set `recommended` to `false` for `prefer-ts-extras-object-keys` and `prefer-ts-extras-object-values` rules
4375
3806
  - 🛠️ [fix] Set `recommended` to `true` for `prefer-ts-extras-safe-cast-to`, `prefer-ts-extras-set-has`, and other TypeFest rules
4376
3807
  - ⚡ [perf] Introduce `typefestConfigs` for all rules to specify recommended configurations
4377
-
3808
+
4378
3809
  - 📜 [docs] Update documentation URLs for better reference
4379
3810
  - 🧪 [test] Enhance rule metadata tests to validate `recommended` and `typefestConfigs` properties
4380
-
3811
+
4381
3812
  - 🔍 [test] Ensure type checks for `recommended` are boolean
4382
-
3813
+
4383
3814
  - 🔍 [test] Validate that `typefestConfigs` contains valid references
4384
3815
 
4385
3816
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6a2586a)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/6a2586aa770cc53bf466a6b3b04e140dc3e62dc6)
4386
3817
 
4387
-
4388
3818
  - 🔧 [build] Optimize scope variable retrieval with cycle detection
4389
3819
 
4390
3820
  - 🛠️ Refactor `getVariableInScopeChain` to use a two-pointer technique for cycle detection, improving performance and preventing infinite loops.
@@ -4407,7 +3837,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6a25
4407
3837
 
4408
3838
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ccc8365)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ccc8365d2550d4881467b30ea50e86340277fdbd)
4409
3839
 
4410
-
4411
3840
  - 🔧 [build] Refactor TypeScript ESLint node autofix suppression logic
4412
3841
 
4413
3842
  - 🛠️ Update import from `createTypeScriptEslintNodeAutofixSuppressionChecker` to `createTypeScriptEslintNodeExpressionSkipChecker` in multiple rule files for consistency
@@ -4418,10 +3847,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ccc8
4418
3847
 
4419
3848
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7a1aa5f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/7a1aa5f593e42eda2c185e2c70b3c48a5c0cf39d)
4420
3849
 
4421
-
4422
3850
  - 🔧 [build] Refactor rule metadata test imports and remove deprecated tests
4423
3851
 
4424
-
4425
3852
  - 🛠️ Update import statements in multiple test files to replace `addTypeFestRuleMetadataAndFilenameFallbackTests` with `addTypeFestRuleMetadataSmokeTests` for consistency and clarity.
4426
3853
 
4427
3854
  - 🧹 Remove `rules-test-file-guards.test.ts` and `typed-rule-internal.test.ts` as they are no longer needed, streamlining the test suite.
@@ -4432,107 +3859,71 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(7a1a
4432
3859
 
4433
3860
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4ae5381)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4ae53812112c8f33d658c3e6be6b3e82a5b42438)
4434
3861
 
4435
-
4436
3862
  - 🔧 [build] Remove unused import for remark-ignore from .remarkrc.mjs
4437
3863
 
4438
3864
  - Clean up the configuration file by eliminating the import statement for remark-ignore, which is no longer needed.
4439
3865
 
4440
3866
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(d3cc622)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/d3cc622c6e7bfcf17735a7bb5771ffbbea089e40)
4441
3867
 
4442
-
4443
3868
  - 🔧 [build] Update stylelint-plugin-use-baseline to version 1.2.6
4444
3869
 
4445
3870
  - Updated dependency version in package.json and package-lock.json
4446
3871
 
4447
3872
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a37b73b)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a37b73bcb7b205c52c9cfe40dcc57ca2ce5cddec)
4448
3873
 
4449
-
4450
3874
  - 🔧 [build] Refactor type reference handling in tests
4451
3875
 
4452
-
4453
3876
  - 🛠️ Update type reference variable names from `typeReference` to `tsReference` for consistency across multiple test files.
4454
3877
 
4455
3878
  - 🧪 Modify parsing functions to return `tsReference` instead of `typeReference` in:
4456
-
4457
3879
  - `prefer-type-fest-primitive.test.ts`
4458
-
4459
3880
  - `prefer-type-fest-readonly-deep.test.ts`
4460
-
4461
3881
  - `prefer-type-fest-require-all-or-none.test.ts`
4462
-
4463
3882
  - `prefer-type-fest-require-at-least-one.test.ts`
4464
-
4465
3883
  - `prefer-type-fest-require-exactly-one.test.ts`
4466
-
4467
3884
  - `prefer-type-fest-require-one-or-none.test.ts`
4468
-
4469
3885
  - `prefer-type-fest-required-deep.test.ts`
4470
-
4471
3886
  - `prefer-type-fest-schema.test.ts`
4472
-
4473
3887
  - `prefer-type-fest-set-non-nullable.test.ts`
4474
-
4475
3888
  - `prefer-type-fest-set-optional.test.ts`
4476
-
4477
3889
  - `prefer-type-fest-set-readonly.test.ts`
4478
-
4479
3890
  - `prefer-type-fest-set-required.test.ts`
4480
-
4481
3891
  - `prefer-type-fest-simplify.test.ts`
4482
-
4483
3892
  - `prefer-type-fest-tagged-brands.test.ts`
4484
-
4485
3893
  - `prefer-type-fest-tuple-of.test.ts`
4486
-
4487
3894
  - `prefer-type-fest-unknown-array.test.ts`
4488
-
4489
3895
  - `prefer-type-fest-unknown-map.test.ts`
4490
-
4491
3896
  - `prefer-type-fest-unknown-record.test.ts`
4492
-
4493
3897
  - `prefer-type-fest-unknown-set.test.ts`
4494
-
4495
3898
  - `prefer-type-fest-unwrap-tagged.test.ts`
4496
-
4497
3899
  - `prefer-type-fest-value-of.test.ts`
4498
-
4499
3900
  - `prefer-type-fest-writable-deep.test.ts`
4500
-
4501
3901
  - `prefer-type-fest-writable.test.ts`
4502
3902
 
4503
3903
  - 🎨 Improve readability and maintainability of test code by ensuring consistent naming conventions.
4504
3904
 
4505
3905
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(bf40c75)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/bf40c75de70bb03d12426e9a6b4ca61121d95495)
4506
3906
 
4507
-
4508
3907
  - 🔧 [build] Update configuration and dependencies
4509
3908
 
4510
3909
  - 🛠️ [fix] Update eslint-plugin-file-progress-2 to version 3.4.2
4511
3910
 
4512
3911
  - 📝 [docs] Modify tsconfig files for improved declaration handling
4513
-
4514
3912
  - 🔧 Set "isolatedDeclarations" to true in tsconfig.build.json
4515
-
4516
3913
  - 🔧 Set "isolatedModules" to true in tsconfig.build.json
4517
-
4518
3914
  - 🔧 Enable "checkJs" and "erasableSyntaxOnly" in tsconfig.eslint.json and tsconfig.js.json
4519
3915
 
4520
3916
  - 🚜 [refactor] Change exported types to internal types for better encapsulation
4521
-
4522
3917
  - 🔄 Change "export type UnionArrayLikeMatchMode" to "type UnionArrayLikeMatchMode" in array-like-expression.ts
4523
-
4524
3918
  - 🔄 Change "export type ImportedTypeAliasMatch" to "type ImportedTypeAliasMatch" in imported-type-aliases.ts
4525
-
4526
3919
  - 🔄 Change "export type ImportedValueAliasMap" to "type ImportedValueAliasMap" in imported-value-symbols.ts
4527
3920
 
4528
3921
  - 🎨 [style] Update DEFAULT_RULE_DOCS_URL_BASE to a constant in rule-docs-url.ts
4529
3922
 
4530
3923
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(475a43e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/475a43e989567f2e4c57633edf650a928ef71925)
4531
3924
 
4532
-
4533
3925
  - 🔧 [build] Add defaultOptions to multiple TypeScript rules
4534
3926
 
4535
-
4536
3927
  - ✨ [feat] Introduced `defaultOptions: []` in `prefer-ts-extras-not.ts`, ensuring consistent default behavior across rules.
4537
3928
 
4538
3929
  - ✨ [feat] Added `defaultOptions: []` to `prefer-ts-extras-object-entries.ts`, enhancing rule configurability.
@@ -4637,7 +4028,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(475a
4637
4028
 
4638
4029
  🧪 [test] Update tests to reflect changes in rule configurations
4639
4030
 
4640
-
4641
4031
  - 🧪 [test] Modified `configs.test.ts` to utilize `UnknownRecord` from `type-fest`, improving type safety.
4642
4032
 
4643
4033
  - 🧪 [test] Updated `prefer-type-fest-writable-deep.test.ts` to reflect changes in return types, ensuring consistency.
@@ -4646,7 +4036,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(475a
4646
4036
 
4647
4037
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9082660)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/90826605cb10f2a9ca47e47f8aafaa621e972e9b)
4648
4038
 
4649
-
4650
4039
  - 🔧 [build] Refactor benchmark and test configurations
4651
4040
 
4652
4041
  - 🛠️ Update benchmark directory path to use `import.meta.dirname`
@@ -4665,17 +4054,13 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9082
4665
4054
 
4666
4055
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(528c601)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/528c601c385c557e677649bbaa06af894e6e9f82)
4667
4056
 
4668
-
4669
4057
  - 🔧 [build] Update dependencies in package.json and package-lock.json
4670
4058
 
4671
4059
  - 🛠️ Update `eslint-plugin-jsdoc` from `^62.7.0` to `^62.7.1` to incorporate the latest improvements and fixes.
4672
4060
 
4673
4061
  - 🧹 Remove unused dependencies:
4674
-
4675
4062
  - `eslint-plugin-mdx` version `^3.6.2`
4676
-
4677
4063
  - `eslint-plugin-storybook` version `^10.2.11`
4678
-
4679
4064
  - `storybook` version `^10.2.11`
4680
4065
 
4681
4066
  - 🔧 Clean up `package-lock.json` by removing entries for the removed dependencies and updating the lock file accordingly.
@@ -4688,7 +4073,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(528c
4688
4073
 
4689
4074
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db80fb0)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/db80fb0425ed6198b5e3c426c2632208081053ad)
4690
4075
 
4691
-
4692
4076
  - 🔧 [build] Update aliasReplacementFix checks for consistency across rules
4693
4077
 
4694
4078
  - 🛠️ [fix] Change condition from `!replacementFix` to `replacementFix === null` in multiple rules to ensure clarity in reporting
@@ -4697,163 +4081,87 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(db80
4697
4081
 
4698
4082
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ba3b799)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ba3b799b909cd67fe3c334cfb9aec7da650e57a5)
4699
4083
 
4700
-
4701
4084
  - 🔧 [build] Mark rules as non-deprecated
4702
4085
 
4703
-
4704
4086
  - 📝 Update metadata for multiple rules in the TypeScript extras library to indicate they are not deprecated.
4705
4087
 
4706
4088
  - 🔧 Set `deprecated: false` for the following rules:
4707
-
4708
4089
  - prefer-ts-extras-array-find-last-index
4709
-
4710
4090
  - prefer-ts-extras-array-find-last
4711
-
4712
4091
  - prefer-ts-extras-array-find
4713
-
4714
4092
  - prefer-ts-extras-array-first
4715
-
4716
4093
  - prefer-ts-extras-array-includes
4717
-
4718
4094
  - prefer-ts-extras-array-join
4719
-
4720
4095
  - prefer-ts-extras-array-last
4721
-
4722
4096
  - prefer-ts-extras-as-writable
4723
-
4724
4097
  - prefer-ts-extras-assert-defined
4725
-
4726
4098
  - prefer-ts-extras-assert-error
4727
-
4728
4099
  - prefer-ts-extras-assert-present
4729
-
4730
4100
  - prefer-ts-extras-is-defined-filter
4731
-
4732
4101
  - prefer-ts-extras-is-defined
4733
-
4734
4102
  - prefer-ts-extras-is-empty
4735
-
4736
4103
  - prefer-ts-extras-is-equal-type
4737
-
4738
4104
  - prefer-ts-extras-is-finite
4739
-
4740
4105
  - prefer-ts-extras-is-infinite
4741
-
4742
4106
  - prefer-ts-extras-is-integer
4743
-
4744
4107
  - prefer-ts-extras-is-present-filter
4745
-
4746
4108
  - prefer-ts-extras-is-present
4747
-
4748
4109
  - prefer-ts-extras-is-safe-integer
4749
-
4750
4110
  - prefer-ts-extras-key-in
4751
-
4752
4111
  - prefer-ts-extras-not
4753
-
4754
4112
  - prefer-ts-extras-object-entries
4755
-
4756
4113
  - prefer-ts-extras-object-from-entries
4757
-
4758
4114
  - prefer-ts-extras-object-has-in
4759
-
4760
4115
  - prefer-ts-extras-object-has-own
4761
-
4762
4116
  - prefer-ts-extras-object-keys
4763
-
4764
4117
  - prefer-ts-extras-object-values
4765
-
4766
4118
  - prefer-ts-extras-safe-cast-to
4767
-
4768
4119
  - prefer-ts-extras-set-has
4769
-
4770
4120
  - prefer-ts-extras-string-split
4771
-
4772
4121
  - prefer-type-fest-arrayable
4773
-
4774
4122
  - prefer-type-fest-async-return-type
4775
-
4776
4123
  - prefer-type-fest-conditional-pick
4777
-
4778
4124
  - prefer-type-fest-constructor
4779
-
4780
4125
  - prefer-type-fest-except
4781
-
4782
4126
  - prefer-type-fest-if
4783
-
4784
4127
  - prefer-type-fest-iterable-element
4785
-
4786
4128
  - prefer-type-fest-json-array
4787
-
4788
4129
  - prefer-type-fest-json-object
4789
-
4790
4130
  - prefer-type-fest-json-primitive
4791
-
4792
4131
  - prefer-type-fest-json-value
4793
-
4794
4132
  - prefer-type-fest-keys-of-union
4795
-
4796
4133
  - prefer-type-fest-literal-union
4797
-
4798
4134
  - prefer-type-fest-merge-exclusive
4799
-
4800
4135
  - prefer-type-fest-non-empty-tuple
4801
-
4802
4136
  - prefer-type-fest-omit-index-signature
4803
-
4804
4137
  - prefer-type-fest-partial-deep
4805
-
4806
4138
  - prefer-type-fest-primitive
4807
-
4808
4139
  - prefer-type-fest-promisable
4809
-
4810
4140
  - prefer-type-fest-readonly-deep
4811
-
4812
4141
  - prefer-type-fest-require-all-or-none
4813
-
4814
4142
  - prefer-type-fest-require-at-least-one
4815
-
4816
4143
  - prefer-type-fest-require-exactly-one
4817
-
4818
4144
  - prefer-type-fest-require-one-or-none
4819
-
4820
4145
  - prefer-type-fest-required-deep
4821
-
4822
4146
  - prefer-type-fest-schema
4823
-
4824
4147
  - prefer-type-fest-set-non-nullable
4825
-
4826
4148
  - prefer-type-fest-set-optional
4827
-
4828
4149
  - prefer-type-fest-set-readonly
4829
-
4830
4150
  - prefer-type-fest-set-required
4831
-
4832
4151
  - prefer-type-fest-simplify
4833
-
4834
4152
  - prefer-type-fest-tagged-brands
4835
-
4836
4153
  - prefer-type-fest-tuple-of
4837
-
4838
4154
  - prefer-type-fest-unknown-array
4839
-
4840
4155
  - prefer-type-fest-unknown-map
4841
-
4842
4156
  - prefer-type-fest-unknown-record
4843
-
4844
4157
  - prefer-type-fest-unknown-set
4845
-
4846
4158
  - prefer-type-fest-unwrap-tagged
4847
-
4848
4159
  - prefer-type-fest-value-of
4849
-
4850
4160
  - prefer-type-fest-writable-deep
4851
-
4852
4161
  - prefer-type-fest-writable
4853
4162
 
4854
4163
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(46e0d73)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/46e0d732d26617586d5b1533da10fd9d729bec56)
4855
4164
 
4856
-
4857
4165
  - 🔧 [build] Raises lint baseline and hardens rules
4858
4166
 
4859
4167
  🔧 [build] Converts multiple previously disabled lint checks to warnings and adds extra markup/config warnings to catch quality issues earlier without blocking development.
@@ -4872,10 +4180,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(46e0
4872
4180
 
4873
4181
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3ad591e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/3ad591e4f8be1ffade32bc896ec0af34673ef703)
4874
4182
 
4875
-
4876
4183
  - 🔧 [build] Update dependencies in package.json
4877
4184
 
4878
-
4879
4185
  - 📦 Upgrade @typescript-eslint/parser and @typescript-eslint/utils to version 8.56.1 for improved TypeScript support.
4880
4186
 
4881
4187
  - 📦 Upgrade @typescript-eslint/eslint-plugin and @typescript-eslint/rule-tester to version 8.56.1 for better linting capabilities.
@@ -4892,7 +4198,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(3ad5
4892
4198
 
4893
4199
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4f1aede)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/4f1aede544912eba9af43a5078b774ede5845435)
4894
4200
 
4895
-
4896
4201
  - 🔧 [build] Update Stryker configuration for improved testing
4897
4202
 
4898
4203
  - Adjust `test:stryker` scripts to use `--ignoreStatic` flag for better performance
@@ -4901,7 +4206,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(4f1a
4901
4206
 
4902
4207
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(28104ce)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/28104ce26257b19d12fb03c117832bb62fab0a26)
4903
4208
 
4904
-
4905
4209
  - 🔧 [build] Update Stryker configuration and package.json scripts
4906
4210
 
4907
4211
  - 🛠️ Remove outdated mutation testing scripts from package.json
@@ -4912,7 +4216,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(2810
4912
4216
 
4913
4217
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5f83e37)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5f83e378a295fcba40c50841f08b8e13223fba6a)
4914
4218
 
4915
-
4916
4219
  - 🔧 [build] Update package.json and package-lock.json
4917
4220
 
4918
4221
  - ✨ Add overrides for jsonc-eslint-parser to use version ^3.1.0
@@ -4921,7 +4224,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5f83
4921
4224
 
4922
4225
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b934c2e)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b934c2e401cac9ef0889f3d606107b6ee6e0716e)
4923
4226
 
4924
-
4925
4227
  - 🔧 [build] Update dependencies in package.json
4926
4228
 
4927
4229
  - 🛠️ Update `eslint-plugin-jsonc` from `^3.0.0` to `^2.21.1`
@@ -4956,10 +4258,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b934
4956
4258
 
4957
4259
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(63355ae)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/63355ae568aabe9d928faa0d575643f48768d5fa)
4958
4260
 
4959
-
4960
4261
  - 🔧 [build] Update dependencies in package.json
4961
4262
 
4962
-
4963
4263
  - 🔄 Upgrade "@html-eslint/eslint-plugin" and "@html-eslint/parser" to version 0.56.0 for improved HTML linting capabilities.
4964
4264
 
4965
4265
  - 🔄 Update "eslint" to version 10.0.1 to incorporate the latest fixes and features.
@@ -4974,7 +4274,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(6335
4974
4274
 
4975
4275
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e06b605)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/e06b605ec157e48bdef1667bd9b7d29c594ee17a)
4976
4276
 
4977
-
4978
4277
  - 🔧 [build] Update Stryker dependencies and package manager version
4979
4278
 
4980
4279
  - Upgrade Stryker packages to version 9.5.1 for improved functionality
@@ -4983,7 +4282,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(e06b
4983
4282
 
4984
4283
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1dde506)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/1dde506c1d63afe0a9d0ffc1ea7fb8d4722e1844)
4985
4284
 
4986
-
4987
4285
  - 🔧 [build] Update Knip configuration to remove unnecessary dependencies
4988
4286
 
4989
4287
  - Removed several unused dependencies from the Knip configuration to streamline the analysis process
@@ -4992,17 +4290,14 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(1dde
4992
4290
 
4993
4291
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(5d2f382)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/5d2f382a0e7cdbc2463d18c6f322c29f0d697ace)
4994
4292
 
4995
-
4996
4293
  - 🔧 [build] Update TypeScript configuration for ESLint
4997
4294
 
4998
-
4999
4295
  - ✨ [feat] Include `knip.config.ts` in the TypeScript ESLint configuration
5000
4296
 
5001
4297
  - 📂 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.
5002
4298
 
5003
4299
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a4ac857)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a4ac8576e18b4a30ef54662a3857951dca1ac277)
5004
4300
 
5005
-
5006
4301
  - 🔧 [build] Force install dependencies in Docusaurus deployment workflow
5007
4302
 
5008
4303
  - Updated npm install command to use --force for consistent dependency installation
@@ -5017,14 +4312,12 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a4ac
5017
4312
 
5018
4313
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(b1b30c3)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/b1b30c3c1fb58329c11e49acbe4e84acae2d46c4)
5019
4314
 
5020
-
5021
4315
  - 🔧 [build] Update npm-check-updates to version 19.4.0
5022
4316
 
5023
4317
  - Upgraded the "npm-check-updates" package in both package.json and package-lock.json to ensure compatibility with the latest features and fixes.
5024
4318
 
5025
4319
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0d1b867)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/0d1b867c174310b07659a43fbd41694ab4579337)
5026
4320
 
5027
-
5028
4321
  - 🔧 [build] Update Docusaurus configuration and add manifest file
5029
4322
 
5030
4323
  - 🛠️ [fix] Implement ignoreKnownWebpackWarningsPlugin to suppress known webpack warnings
@@ -5037,7 +4330,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(0d1b
5037
4330
 
5038
4331
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9327651)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/93276515f3fef321f4fea54d762fdf9d63ac07b5)
5039
4332
 
5040
-
5041
4333
  - 🔧 [build] Refactor TypeFest plugin types and configurations
5042
4334
 
5043
4335
  - 🆕 Export `TypefestConfigName` and `TypefestPresetConfig` types for better clarity
@@ -5050,7 +4342,6 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(9327
5050
4342
 
5051
4343
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a0fdbab)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/a0fdbabd4429095440c4efd43d07829ace5b2afc)
5052
4344
 
5053
-
5054
4345
  - 🔧 [build] Update eslint-plugin-testing-library to version 7.16.0
5055
4346
 
5056
4347
  - [dependency] Update version 7.16.0 in package.json and package-lock.json
@@ -5059,225 +4350,146 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(a0fd
5059
4350
 
5060
4351
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(25224f5)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/25224f59273e80a3b6231b8eaf954f164f3565f2)
5061
4352
 
5062
-
5063
4353
  - 🔧 [build] Refactor TypeFest ESLint rules for consistency and clarity
5064
4354
 
5065
4355
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-require-all-or-none`
5066
-
5067
4356
  - Moved `name`, `meta`, and `defaultOptions` to the end of the rule definition for consistency.
5068
4357
 
5069
4358
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-require-at-least-one`
5070
-
5071
4359
  - Adjusted the structure to match the new format.
5072
4360
 
5073
4361
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-require-exactly-one`
5074
-
5075
4362
  - Ensured consistent ordering of properties.
5076
4363
 
5077
4364
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-require-one-or-none`
5078
-
5079
4365
  - Updated to follow the new structure.
5080
4366
 
5081
4367
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-schema`
5082
-
5083
4368
  - Aligned with the new metadata format.
5084
4369
 
5085
4370
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-set-non-nullable`
5086
-
5087
4371
  - Adjusted to maintain consistency across rules.
5088
4372
 
5089
4373
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-set-optional`
5090
-
5091
4374
  - Updated to follow the new structure.
5092
4375
 
5093
4376
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-set-readonly`
5094
-
5095
4377
  - Ensured consistent ordering of properties.
5096
4378
 
5097
4379
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-set-required`
5098
-
5099
4380
  - Aligned with the new metadata format.
5100
4381
 
5101
4382
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-simplify`
5102
-
5103
4383
  - Updated to follow the new structure.
5104
4384
 
5105
4385
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-tagged-brands`
5106
-
5107
4386
  - Adjusted to maintain consistency across rules.
5108
4387
 
5109
4388
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-tuple-of`
5110
-
5111
4389
  - Ensured consistent ordering of properties.
5112
4390
 
5113
4391
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-array`
5114
-
5115
4392
  - Aligned with the new metadata format.
5116
4393
 
5117
4394
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-map`
5118
-
5119
4395
  - Updated to follow the new structure.
5120
4396
 
5121
4397
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-record`
5122
-
5123
4398
  - Ensured consistent ordering of properties.
5124
4399
 
5125
4400
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-unknown-set`
5126
-
5127
4401
  - Aligned with the new metadata format.
5128
4402
 
5129
4403
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-unwrap-tagged`
5130
-
5131
4404
  - Updated to follow the new structure.
5132
4405
 
5133
4406
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-value-of`
5134
-
5135
4407
  - Ensured consistent ordering of properties.
5136
4408
 
5137
4409
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-writable`
5138
-
5139
4410
  - Aligned with the new metadata format.
5140
4411
 
5141
4412
  - 🧪 [test] Update docs integrity test to use expectTypeOf for description validation
5142
-
5143
4413
  - Changed `expect(typeof description).toBe("string")` to `expectTypeOf(description).toBeString()`
5144
4414
 
5145
4415
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ce485eb)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ce485eb271acb65d12753e772cdcd320572bdeab)
5146
4416
 
5147
-
5148
4417
  - 🔧 [build] Refactor TypeFest ESLint rules for consistency and clarity
5149
4418
 
5150
-
5151
4419
  - 🛠️ [fix] Reorganize rule metadata for `prefer-type-fest-require-all-or-none`:
5152
-
5153
4420
  - Moved `name`, `meta`, and `defaultOptions` to the correct positions.
5154
-
5155
4421
  - Ensured the `create` function remains intact while maintaining functionality.
5156
4422
 
5157
-
5158
4423
  - 🛠️ [fix] Update `prefer-type-fest-require-at-least-one` rule structure:
5159
-
5160
4424
  - Adjusted metadata organization for clarity.
5161
-
5162
4425
  - Preserved the core logic within the `create` function.
5163
4426
 
5164
-
5165
4427
  - 🛠️ [fix] Refactor `prefer-type-fest-require-exactly-one` rule:
5166
-
5167
4428
  - Streamlined metadata for better readability.
5168
-
5169
4429
  - Kept the reporting logic unchanged.
5170
4430
 
5171
-
5172
4431
  - 🛠️ [fix] Revise `prefer-type-fest-require-one-or-none` rule:
5173
-
5174
4432
  - Enhanced metadata structure for consistency.
5175
-
5176
4433
  - Maintained existing functionality in the `create` method.
5177
4434
 
5178
-
5179
4435
  - 🛠️ [fix] Modify `prefer-type-fest-schema` rule:
5180
-
5181
4436
  - Reorganized metadata for improved clarity.
5182
-
5183
4437
  - Ensured the reporting logic remains functional.
5184
4438
 
5185
-
5186
4439
  - 🛠️ [fix] Adjust `prefer-type-fest-set-non-nullable` rule:
5187
-
5188
4440
  - Updated metadata layout for consistency.
5189
-
5190
4441
  - Preserved the core logic in the `create` function.
5191
4442
 
5192
-
5193
4443
  - 🛠️ [fix] Refactor `prefer-type-fest-set-optional` rule:
5194
-
5195
4444
  - Improved metadata organization for clarity.
5196
-
5197
4445
  - Maintained existing functionality.
5198
4446
 
5199
-
5200
4447
  - 🛠️ [fix] Revise `prefer-type-fest-set-readonly` rule:
5201
-
5202
4448
  - Streamlined metadata for better readability.
5203
-
5204
4449
  - Ensured the reporting logic remains intact.
5205
4450
 
5206
-
5207
4451
  - 🛠️ [fix] Update `prefer-type-fest-set-required` rule:
5208
-
5209
4452
  - Enhanced metadata structure for consistency.
5210
-
5211
4453
  - Preserved the core logic within the `create` function.
5212
4454
 
5213
-
5214
4455
  - 🛠️ [fix] Refactor `prefer-type-fest-simplify` rule:
5215
-
5216
4456
  - Reorganized metadata for improved clarity.
5217
-
5218
4457
  - Kept the reporting logic unchanged.
5219
4458
 
5220
-
5221
4459
  - 🛠️ [fix] Modify `prefer-type-fest-tagged-brands` rule:
5222
-
5223
4460
  - Adjusted metadata organization for clarity.
5224
-
5225
4461
  - Maintained existing functionality in the `create` method.
5226
4462
 
5227
-
5228
4463
  - 🛠️ [fix] Revise `prefer-type-fest-tuple-of` rule:
5229
-
5230
4464
  - Improved metadata layout for consistency.
5231
-
5232
4465
  - Preserved the core logic in the `create` function.
5233
4466
 
5234
-
5235
4467
  - 🛠️ [fix] Adjust `prefer-type-fest-unknown-array` rule:
5236
-
5237
4468
  - Updated metadata structure for clarity.
5238
-
5239
4469
  - Ensured the reporting logic remains functional.
5240
4470
 
5241
-
5242
4471
  - 🛠️ [fix] Refactor `prefer-type-fest-unknown-map` rule:
5243
-
5244
4472
  - Streamlined metadata for better readability.
5245
-
5246
4473
  - Maintained existing functionality.
5247
4474
 
5248
-
5249
4475
  - 🛠️ [fix] Modify `prefer-type-fest-unknown-record` rule:
5250
-
5251
4476
  - Enhanced metadata organization for consistency.
5252
-
5253
4477
  - Preserved the core logic within the `create` function.
5254
4478
 
5255
-
5256
4479
  - 🛠️ [fix] Revise `prefer-type-fest-unknown-set` rule:
5257
-
5258
4480
  - Reorganized metadata for improved clarity.
5259
-
5260
4481
  - Kept the reporting logic unchanged.
5261
4482
 
5262
-
5263
4483
  - 🛠️ [fix] Update `prefer-type-fest-unwrap-tagged` rule:
5264
-
5265
4484
  - Adjusted metadata layout for consistency.
5266
-
5267
4485
  - Maintained existing functionality in the `create` method.
5268
4486
 
5269
-
5270
4487
  - 🛠️ [fix] Refactor `prefer-type-fest-value-of` rule:
5271
-
5272
4488
  - Improved metadata structure for clarity.
5273
-
5274
4489
  - Preserved the core logic in the `create` function.
5275
4490
 
5276
-
5277
4491
  - 🛠️ [fix] Modify `prefer-type-fest-writable` rule:
5278
-
5279
4492
  - Streamlined metadata for better readability.
5280
-
5281
4493
  - Ensured the reporting logic remains intact.
5282
4494
 
5283
4495
  📝 [docs] Update documentation integrity tests
@@ -5288,10 +4500,8 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ce48
5288
4500
 
5289
4501
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(df2ae2f)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/df2ae2f38b3f8c5d03b1737f5bf328a8132adc77)
5290
4502
 
5291
-
5292
4503
  - 🔧 [build] Update dependencies for improved compatibility and features
5293
4504
 
5294
-
5295
4505
  - 📦 Upgrade "@typescript-eslint/utils" from "^8.55.0" to "^8.56.0" for enhanced TypeScript support.
5296
4506
 
5297
4507
  - 📦 Upgrade "@eslint/js" from "^9.39.2" to "^10.0.1" to leverage the latest ESLint features and fixes.
@@ -5304,13 +4514,11 @@ Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(df2a
5304
4514
 
5305
4515
  Signed-off-by: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> [`(ff78dc7)`](https://github.com/Nick2bad4u/eslint-plugin-typefest/commit/ff78dc7d23858611fe280055f82504009732e61c)
5306
4516
 
5307
-
5308
-
5309
-
5310
-
5311
-
5312
4517
  ## Contributors
4518
+
5313
4519
  Thanks to all the [contributors](https://github.com/Nick2bad4u/eslint-plugin-typefest/graphs/contributors) for their hard work!
4520
+
5314
4521
  ## License
4522
+
5315
4523
  This project is licensed under the [UnLicense](https://github.com/Nick2bad4u/eslint-plugin-typefest/blob/main/LICENSE)
5316
- *This changelog was automatically generated with [git-cliff](https://github.com/orhun/git-cliff).*
4524
+ _This changelog was automatically generated with [git-cliff](https://github.com/orhun/git-cliff)._