eslint-plugin-typefest 1.0.5 โ†’ 1.0.7

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 (92) hide show
  1. package/README.md +19 -3
  2. package/dist/_internal/constrained-type-at-location.d.ts.map +1 -1
  3. package/dist/_internal/constrained-type-at-location.js.map +1 -1
  4. package/dist/_internal/function-type-reference-patterns.d.ts +34 -0
  5. package/dist/_internal/function-type-reference-patterns.d.ts.map +1 -0
  6. package/dist/_internal/function-type-reference-patterns.js +103 -0
  7. package/dist/_internal/function-type-reference-patterns.js.map +1 -0
  8. package/dist/_internal/rule-catalog.d.ts.map +1 -1
  9. package/dist/_internal/rule-catalog.js +11 -0
  10. package/dist/_internal/rule-catalog.js.map +1 -1
  11. package/dist/_internal/rules-registry.d.ts.map +1 -1
  12. package/dist/_internal/rules-registry.js +22 -0
  13. package/dist/_internal/rules-registry.js.map +1 -1
  14. package/dist/_internal/set-membership.d.ts.map +1 -1
  15. package/dist/_internal/set-membership.js.map +1 -1
  16. package/dist/_internal/type-checker-compat.d.ts.map +1 -1
  17. package/dist/_internal/type-checker-compat.js.map +1 -1
  18. package/dist/_internal/type-reference-node.d.ts +8 -0
  19. package/dist/_internal/type-reference-node.d.ts.map +1 -1
  20. package/dist/_internal/type-reference-node.js +14 -0
  21. package/dist/_internal/type-reference-node.js.map +1 -1
  22. package/dist/_internal/typefest-config-references.d.ts +2 -1
  23. package/dist/_internal/typefest-config-references.d.ts.map +1 -1
  24. package/dist/_internal/typefest-config-references.js +11 -2
  25. package/dist/_internal/typefest-config-references.js.map +1 -1
  26. package/dist/_internal/typescript-eslint-node-autofix.js.map +1 -1
  27. package/dist/plugin.cjs +1094 -138
  28. package/dist/plugin.cjs.map +4 -4
  29. package/dist/plugin.d.ts.map +1 -1
  30. package/dist/plugin.js +5 -0
  31. package/dist/plugin.js.map +1 -1
  32. package/dist/rules/prefer-ts-extras-object-map-values.d.ts +14 -0
  33. package/dist/rules/prefer-ts-extras-object-map-values.d.ts.map +1 -0
  34. package/dist/rules/prefer-ts-extras-object-map-values.js +227 -0
  35. package/dist/rules/prefer-ts-extras-object-map-values.js.map +1 -0
  36. package/dist/rules/prefer-type-fest-asyncify.d.ts +7 -0
  37. package/dist/rules/prefer-type-fest-asyncify.d.ts.map +1 -0
  38. package/dist/rules/prefer-type-fest-asyncify.js +79 -0
  39. package/dist/rules/prefer-type-fest-asyncify.js.map +1 -0
  40. package/dist/rules/prefer-type-fest-conditional-except.d.ts +7 -0
  41. package/dist/rules/prefer-type-fest-conditional-except.d.ts.map +1 -0
  42. package/dist/rules/prefer-type-fest-conditional-except.js +94 -0
  43. package/dist/rules/prefer-type-fest-conditional-except.js.map +1 -0
  44. package/dist/rules/prefer-type-fest-conditional-keys.d.ts +7 -0
  45. package/dist/rules/prefer-type-fest-conditional-keys.d.ts.map +1 -0
  46. package/dist/rules/prefer-type-fest-conditional-keys.js +78 -0
  47. package/dist/rules/prefer-type-fest-conditional-keys.js.map +1 -0
  48. package/dist/rules/prefer-type-fest-distributed-omit.d.ts +7 -0
  49. package/dist/rules/prefer-type-fest-distributed-omit.d.ts.map +1 -0
  50. package/dist/rules/prefer-type-fest-distributed-omit.js +67 -0
  51. package/dist/rules/prefer-type-fest-distributed-omit.js.map +1 -0
  52. package/dist/rules/prefer-type-fest-distributed-pick.d.ts +7 -0
  53. package/dist/rules/prefer-type-fest-distributed-pick.d.ts.map +1 -0
  54. package/dist/rules/prefer-type-fest-distributed-pick.js +95 -0
  55. package/dist/rules/prefer-type-fest-distributed-pick.js.map +1 -0
  56. package/dist/rules/prefer-type-fest-merge.d.ts +7 -0
  57. package/dist/rules/prefer-type-fest-merge.d.ts.map +1 -0
  58. package/dist/rules/prefer-type-fest-merge.js +93 -0
  59. package/dist/rules/prefer-type-fest-merge.js.map +1 -0
  60. package/dist/rules/prefer-type-fest-pick-index-signature.d.ts +7 -0
  61. package/dist/rules/prefer-type-fest-pick-index-signature.d.ts.map +1 -0
  62. package/dist/rules/prefer-type-fest-pick-index-signature.js +98 -0
  63. package/dist/rules/prefer-type-fest-pick-index-signature.js.map +1 -0
  64. package/dist/rules/prefer-type-fest-set-return-type.d.ts +7 -0
  65. package/dist/rules/prefer-type-fest-set-return-type.d.ts.map +1 -0
  66. package/dist/rules/prefer-type-fest-set-return-type.js +53 -0
  67. package/dist/rules/prefer-type-fest-set-return-type.js.map +1 -0
  68. package/dist/rules/prefer-type-fest-stringified.d.ts +7 -0
  69. package/dist/rules/prefer-type-fest-stringified.d.ts.map +1 -0
  70. package/dist/rules/prefer-type-fest-stringified.js +73 -0
  71. package/dist/rules/prefer-type-fest-stringified.js.map +1 -0
  72. package/dist/rules/prefer-type-fest-union-to-intersection.d.ts +7 -0
  73. package/dist/rules/prefer-type-fest-union-to-intersection.d.ts.map +1 -0
  74. package/dist/rules/prefer-type-fest-union-to-intersection.js +114 -0
  75. package/dist/rules/prefer-type-fest-union-to-intersection.js.map +1 -0
  76. package/docs/rules/getting-started.md +2 -1
  77. package/docs/rules/guides/preset-selection-strategy.md +7 -0
  78. package/docs/rules/overview.md +1 -0
  79. package/docs/rules/prefer-ts-extras-object-map-values.md +146 -0
  80. package/docs/rules/prefer-type-fest-asyncify.md +93 -0
  81. package/docs/rules/prefer-type-fest-conditional-except.md +141 -0
  82. package/docs/rules/prefer-type-fest-conditional-keys.md +93 -0
  83. package/docs/rules/prefer-type-fest-distributed-omit.md +92 -0
  84. package/docs/rules/prefer-type-fest-distributed-pick.md +92 -0
  85. package/docs/rules/prefer-type-fest-merge.md +161 -0
  86. package/docs/rules/prefer-type-fest-pick-index-signature.md +93 -0
  87. package/docs/rules/prefer-type-fest-set-return-type.md +93 -0
  88. package/docs/rules/prefer-type-fest-stringified.md +134 -0
  89. package/docs/rules/prefer-type-fest-union-to-intersection.md +118 -0
  90. package/docs/rules/presets/experimental.md +163 -0
  91. package/docs/rules/presets/index.md +13 -0
  92. package/package.json +50 -48
@@ -0,0 +1,118 @@
1
+ # prefer-type-fest-union-to-intersection
2
+
3
+ Prefer [`UnionToIntersection`](https://github.com/sindresorhus/type-fest/blob/main/source/union-to-intersection.d.ts) from `type-fest` over custom distributive conditional helpers that convert unions into intersections.
4
+
5
+ This rule lives only in the experimental preset and reports without autofixing.
6
+
7
+ ## Targeted pattern scope
8
+
9
+ This rule focuses on the canonical conditional-type recipe that turns a union into an intersection by distributing a function wrapper over the union and then inferring the merged parameter type.
10
+
11
+ - `(Union extends unknown ? (value: Union) => void : never) extends (value: infer Intersection) => void ? Intersection : never`
12
+ - the common assignable variant that returns `Intersection & Union`
13
+
14
+ It intentionally skips unrelated conditional helpers and non-canonical extraction tricks to keep reporting narrow.
15
+
16
+ ## What this rule reports
17
+
18
+ This rule reports conditional helpers when all of the following are true:
19
+
20
+ - the inner conditional distributes over the same `Union` type with `extends unknown` or `extends any`
21
+ - the inner true branch wraps that union in a single-parameter function type
22
+ - the outer conditional infers the merged parameter type from a single-parameter function type
23
+ - the outer true branch returns either the inferred type alone or the inferred type intersected with the original union
24
+
25
+ The rule is currently **report-only**. It does not autofix or suggest a replacement yet.
26
+
27
+ ## Why this rule exists
28
+
29
+ `UnionToIntersection<Union>` states the intent directly.
30
+
31
+ - Readers do not need to unpack a dense conditional-type trick.
32
+ - The canonical helper is easier to search for across a codebase.
33
+ - Type-Fest owns the edge cases and maintenance burden for the pattern.
34
+
35
+ ## โŒ Incorrect
36
+
37
+ ```ts
38
+ type MergeUnion<Union> =
39
+ (Union extends unknown ? (value: Union) => void : never) extends
40
+ (value: infer Intersection) => void
41
+ ? Intersection
42
+ : never;
43
+ ```
44
+
45
+ ## โœ… Correct
46
+
47
+ ```ts
48
+ import type {UnionToIntersection} from "type-fest";
49
+
50
+ type MergeUnion<Union> = UnionToIntersection<Union>;
51
+ ```
52
+
53
+ ## Behavior and migration notes
54
+
55
+ - This rule only reports the narrow distributive function-wrapper pattern.
56
+ - It also accepts the `Intersection & Union` variant because that still expresses the same underlying conversion.
57
+ - It ignores unrelated conditionals and other custom extraction helpers that do not match the canonical structure closely enough.
58
+
59
+ ## Additional examples
60
+
61
+ ### โŒ Incorrect โ€” Additional example
62
+
63
+ ```ts
64
+ type MergeUnion<Union> =
65
+ (Union extends any ? (value: Union) => void : never) extends
66
+ (value: infer Intersection) => void
67
+ ? Intersection & Union
68
+ : never;
69
+ ```
70
+
71
+ ### โœ… Correct โ€” Additional example
72
+
73
+ ```ts
74
+ import type {UnionToIntersection} from "type-fest";
75
+
76
+ type MergeUnion<Union> = UnionToIntersection<Union>;
77
+ ```
78
+
79
+ ## ESLint flat config example
80
+
81
+ ```ts
82
+ import typefest from "eslint-plugin-typefest";
83
+
84
+ export default [typefest.configs.experimental];
85
+ ```
86
+
87
+ ## When not to use it
88
+
89
+ Disable this rule if your project intentionally prefers hand-written conditional-type recipes for educational reasons or if you are using a different local utility type and do not want to standardize on Type-Fest.
90
+
91
+ ## Package documentation
92
+
93
+ TypeFest package documentation:
94
+
95
+ Source file: [`source/union-to-intersection.d.ts`](https://github.com/sindresorhus/type-fest/blob/main/source/union-to-intersection.d.ts)
96
+
97
+ ```ts
98
+ import type {UnionToIntersection} from "type-fest";
99
+
100
+ type Union = {a: string} | {b: number};
101
+
102
+ type Combined = UnionToIntersection<Union>;
103
+ //=> {a: string} & {b: number}
104
+ ```
105
+
106
+ > **Rule catalog ID:** R089
107
+
108
+ ## Further reading
109
+
110
+ - [`type-fest` README](https://github.com/sindresorhus/type-fest)
111
+ - [`type-fest` package reference](https://www.npmjs.com/package/type-fest)
112
+ - [TypeScript Handbook: Distributive Conditional Types](https://www.typescriptlang.org/docs/handbook/2/conditional-types.html)
113
+
114
+ ## Adoption resources
115
+
116
+ - [Rule adoption checklist](./guides/adoption-checklist.md)
117
+ - [Rollout and fix safety](./guides/rollout-and-fix-safety.md)
118
+ - [Preset selection strategy](./guides/preset-selection-strategy.md)
@@ -0,0 +1,163 @@
1
+ ---
2
+ title: Experimental preset
3
+ ---
4
+
5
+ # ๐Ÿงช Experimental
6
+
7
+ Use this preset when you want every stable rule from `all` plus lower-confidence candidate rules that are still being evaluated.
8
+
9
+ ## Config key
10
+
11
+ ```ts
12
+ typefest.configs.experimental
13
+ ```
14
+
15
+ ## Flat Config example
16
+
17
+ ```ts
18
+ import typefest from "eslint-plugin-typefest";
19
+
20
+ export default [typefest.configs.experimental];
21
+ ```
22
+
23
+ This preset **does** require type information, because it layers experimental rules on top of `all`.
24
+
25
+ Use it when you want to trial report-only or still-maturing rules before they graduate into stable presets.
26
+
27
+ ## When to use this preset
28
+
29
+ - You want every stable rule from `all`.
30
+ - You are comfortable reviewing noisier report-only diagnostics.
31
+ - You want early visibility into candidate migrations such as `objectMapValues`.
32
+
33
+ ## Rollout advice
34
+
35
+ Treat this preset as a proving ground:
36
+
37
+ 1. Start with `warn` in one package or folder.
38
+ 2. Measure noise and collect false-positive feedback.
39
+ 3. Promote only the rules your team finds consistently useful.
40
+
41
+ ## Why some candidates were skipped
42
+
43
+ Not every uncovered `type-fest` or `ts-extras` helper becomes an experimental rule immediately.
44
+
45
+ - Some candidates have a clear canonical matcher and are good fits for report-only experimentation.
46
+ - Others are intentionally skipped because their hand-written equivalents are too varied or too semantic to lint accurately yet.
47
+
48
+ Current intentionally skipped examples include `SetParameterType`, `Jsonify`, `SimplifyDeep`, `Entry`, `Entries`, `isPropertyDefined`, and `isPropertyPresent`.
49
+
50
+ Maintainer policy for that decision is documented in [ADR 0016: Experimental rule admission and skip criteria](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/developer/adr/0016-experimental-rule-admission-and-skip-criteria).
51
+
52
+ ## Rules in this preset
53
+
54
+ - `Fix` legend:
55
+ - `๐Ÿ”ง` = autofixable
56
+ - `๐Ÿ’ก` = suggestions available
57
+ - `โ€”` = report only
58
+
59
+ ### Experimental additions over `all`
60
+
61
+ | Rule | Fix |
62
+ | ------------------------------------------------------------------------------------------------------------------------------------------------- | :-: |
63
+ | [`prefer-ts-extras-object-map-values`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-map-values) | โ€” |
64
+ | [`prefer-type-fest-asyncify`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-asyncify) | โ€” |
65
+ | [`prefer-type-fest-conditional-except`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-except) | โ€” |
66
+ | [`prefer-type-fest-conditional-keys`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-keys) | โ€” |
67
+ | [`prefer-type-fest-distributed-omit`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-distributed-omit) | โ€” |
68
+ | [`prefer-type-fest-distributed-pick`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-distributed-pick) | โ€” |
69
+ | [`prefer-type-fest-merge`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-merge) | โ€” |
70
+ | [`prefer-type-fest-pick-index-signature`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-pick-index-signature) | โ€” |
71
+ | [`prefer-type-fest-set-return-type`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-return-type) | โ€” |
72
+ | [`prefer-type-fest-stringified`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-stringified) | โ€” |
73
+ | [`prefer-type-fest-union-to-intersection`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-union-to-intersection) | โ€” |
74
+
75
+ ### Baseline rules inherited from `all`
76
+
77
+ | Rule | Fix |
78
+ | ------------------------------------------------------------------------------------------------------------------------------------------------- | :---: |
79
+ | [`prefer-ts-extras-array-at`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-at) | ๐Ÿ”ง |
80
+ | [`prefer-ts-extras-array-concat`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-concat) | ๐Ÿ”ง |
81
+ | [`prefer-ts-extras-array-find`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-find) | ๐Ÿ”ง |
82
+ | [`prefer-ts-extras-array-find-last`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-find-last) | ๐Ÿ”ง |
83
+ | [`prefer-ts-extras-array-find-last-index`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-find-last-index) | ๐Ÿ”ง |
84
+ | [`prefer-ts-extras-array-first`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-first) | ๐Ÿ”ง ๐Ÿ’ก |
85
+ | [`prefer-ts-extras-array-includes`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-includes) | ๐Ÿ”ง ๐Ÿ’ก |
86
+ | [`prefer-ts-extras-array-join`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-join) | ๐Ÿ”ง |
87
+ | [`prefer-ts-extras-array-last`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-array-last) | ๐Ÿ”ง ๐Ÿ’ก |
88
+ | [`prefer-ts-extras-as-writable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-as-writable) | ๐Ÿ”ง |
89
+ | [`prefer-ts-extras-assert-defined`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-assert-defined) | ๐Ÿ”ง ๐Ÿ’ก |
90
+ | [`prefer-ts-extras-assert-error`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-assert-error) | ๐Ÿ’ก |
91
+ | [`prefer-ts-extras-assert-present`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-assert-present) | ๐Ÿ”ง ๐Ÿ’ก |
92
+ | [`prefer-ts-extras-is-defined`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-defined) | ๐Ÿ”ง |
93
+ | [`prefer-ts-extras-is-defined-filter`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-defined-filter) | ๐Ÿ”ง |
94
+ | [`prefer-ts-extras-is-empty`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-empty) | ๐Ÿ”ง |
95
+ | [`prefer-ts-extras-is-equal-type`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-equal-type) | ๐Ÿ’ก |
96
+ | [`prefer-ts-extras-is-finite`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-finite) | ๐Ÿ”ง |
97
+ | [`prefer-ts-extras-is-infinite`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-infinite) | ๐Ÿ”ง |
98
+ | [`prefer-ts-extras-is-integer`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-integer) | ๐Ÿ”ง |
99
+ | [`prefer-ts-extras-is-present`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-present) | ๐Ÿ”ง |
100
+ | [`prefer-ts-extras-is-present-filter`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-present-filter) | ๐Ÿ”ง |
101
+ | [`prefer-ts-extras-is-safe-integer`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-is-safe-integer) | ๐Ÿ”ง |
102
+ | [`prefer-ts-extras-key-in`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-key-in) | ๐Ÿ”ง |
103
+ | [`prefer-ts-extras-not`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-not) | ๐Ÿ”ง |
104
+ | [`prefer-ts-extras-object-entries`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-entries) | ๐Ÿ”ง |
105
+ | [`prefer-ts-extras-object-from-entries`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-from-entries) | ๐Ÿ”ง |
106
+ | [`prefer-ts-extras-object-has-in`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-has-in) | ๐Ÿ”ง ๐Ÿ’ก |
107
+ | [`prefer-ts-extras-object-has-own`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-has-own) | ๐Ÿ”ง ๐Ÿ’ก |
108
+ | [`prefer-ts-extras-object-keys`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-keys) | ๐Ÿ”ง |
109
+ | [`prefer-ts-extras-object-values`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-values) | ๐Ÿ”ง |
110
+ | [`prefer-ts-extras-safe-cast-to`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-safe-cast-to) | ๐Ÿ”ง |
111
+ | [`prefer-ts-extras-set-has`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-set-has) | ๐Ÿ”ง ๐Ÿ’ก |
112
+ | [`prefer-ts-extras-string-split`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-string-split) | ๐Ÿ”ง |
113
+ | [`prefer-type-fest-abstract-constructor`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-abstract-constructor) | ๐Ÿ”ง |
114
+ | [`prefer-type-fest-and-all`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-and-all) | ๐Ÿ”ง |
115
+ | [`prefer-type-fest-array-length`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-array-length) | ๐Ÿ”ง |
116
+ | [`prefer-type-fest-arrayable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-arrayable) | ๐Ÿ”ง |
117
+ | [`prefer-type-fest-async-return-type`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-async-return-type) | ๐Ÿ”ง |
118
+ | [`prefer-type-fest-conditional-pick`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-pick) | ๐Ÿ”ง |
119
+ | [`prefer-type-fest-conditional-pick-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-pick-deep) | ๐Ÿ”ง |
120
+ | [`prefer-type-fest-constructor`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-constructor) | ๐Ÿ”ง |
121
+ | [`prefer-type-fest-except`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-except) | ๐Ÿ”ง |
122
+ | [`prefer-type-fest-if`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-if) | ๐Ÿ”ง |
123
+ | [`prefer-type-fest-iterable-element`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-iterable-element) | ๐Ÿ”ง |
124
+ | [`prefer-type-fest-json-array`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-json-array) | ๐Ÿ”ง |
125
+ | [`prefer-type-fest-json-object`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-json-object) | ๐Ÿ”ง |
126
+ | [`prefer-type-fest-json-primitive`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-json-primitive) | ๐Ÿ”ง |
127
+ | [`prefer-type-fest-json-value`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-json-value) | ๐Ÿ’ก |
128
+ | [`prefer-type-fest-keys-of-union`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-keys-of-union) | ๐Ÿ”ง |
129
+ | [`prefer-type-fest-less-than`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-less-than) | ๐Ÿ”ง |
130
+ | [`prefer-type-fest-less-than-or-equal`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-less-than-or-equal) | ๐Ÿ”ง |
131
+ | [`prefer-type-fest-literal-union`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-literal-union) | ๐Ÿ”ง |
132
+ | [`prefer-type-fest-merge-exclusive`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-merge-exclusive) | ๐Ÿ”ง |
133
+ | [`prefer-type-fest-non-empty-tuple`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-non-empty-tuple) | ๐Ÿ”ง |
134
+ | [`prefer-type-fest-omit-index-signature`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-omit-index-signature) | ๐Ÿ”ง |
135
+ | [`prefer-type-fest-optional`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-optional) | ๐Ÿ”ง |
136
+ | [`prefer-type-fest-or-all`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-or-all) | ๐Ÿ”ง |
137
+ | [`prefer-type-fest-partial-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-partial-deep) | ๐Ÿ”ง |
138
+ | [`prefer-type-fest-primitive`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-primitive) | ๐Ÿ”ง |
139
+ | [`prefer-type-fest-promisable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-promisable) | ๐Ÿ”ง |
140
+ | [`prefer-type-fest-readonly-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-readonly-deep) | ๐Ÿ”ง |
141
+ | [`prefer-type-fest-require-all-or-none`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-require-all-or-none) | ๐Ÿ”ง |
142
+ | [`prefer-type-fest-require-at-least-one`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-require-at-least-one) | ๐Ÿ”ง |
143
+ | [`prefer-type-fest-require-exactly-one`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-require-exactly-one) | ๐Ÿ”ง |
144
+ | [`prefer-type-fest-require-one-or-none`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-require-one-or-none) | ๐Ÿ”ง |
145
+ | [`prefer-type-fest-required-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-required-deep) | ๐Ÿ”ง |
146
+ | [`prefer-type-fest-schema`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-schema) | ๐Ÿ”ง |
147
+ | [`prefer-type-fest-set-non-nullable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-non-nullable) | ๐Ÿ”ง |
148
+ | [`prefer-type-fest-set-optional`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-optional) | ๐Ÿ”ง |
149
+ | [`prefer-type-fest-set-readonly`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-readonly) | ๐Ÿ”ง |
150
+ | [`prefer-type-fest-set-required`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-required) | ๐Ÿ”ง |
151
+ | [`prefer-type-fest-simplify`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-simplify) | ๐Ÿ”ง |
152
+ | [`prefer-type-fest-tagged-brands`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-tagged-brands) | ๐Ÿ”ง |
153
+ | [`prefer-type-fest-tuple-of`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-tuple-of) | ๐Ÿ”ง |
154
+ | [`prefer-type-fest-union-member`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-union-member) | ๐Ÿ”ง |
155
+ | [`prefer-type-fest-union-to-tuple`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-union-to-tuple) | ๐Ÿ”ง |
156
+ | [`prefer-type-fest-unknown-array`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unknown-array) | ๐Ÿ”ง |
157
+ | [`prefer-type-fest-unknown-map`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unknown-map) | ๐Ÿ”ง |
158
+ | [`prefer-type-fest-unknown-record`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unknown-record) | ๐Ÿ”ง |
159
+ | [`prefer-type-fest-unknown-set`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unknown-set) | ๐Ÿ”ง |
160
+ | [`prefer-type-fest-unwrap-tagged`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unwrap-tagged) | ๐Ÿ”ง |
161
+ | [`prefer-type-fest-value-of`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-value-of) | ๐Ÿ”ง |
162
+ | [`prefer-type-fest-writable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-writable) | ๐Ÿ”ง |
163
+ | [`prefer-type-fest-writable-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-writable-deep) | ๐Ÿ”ง |
@@ -13,6 +13,7 @@ Use one of these presets based on how aggressively you want to enforce plugin ru
13
13
  - [๐ŸŸ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked) โ€” [`typefest.configs["recommended-type-checked"]`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked)
14
14
  - [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) โ€” [`typefest.configs.strict`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict)
15
15
  - [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) โ€” [`typefest.configs.all`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all)
16
+ - [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) โ€” [`typefest.configs.experimental`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental)
16
17
  - [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) โ€” [`typefest.configs["type-fest/types"]`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types)
17
18
  - [โœด๏ธ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards) โ€” [`typefest.configs["ts-extras/type-guards"]`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards)
18
19
 
@@ -41,6 +42,7 @@ Related guides:
41
42
  - [๐ŸŸ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked) โ€” [`typefest.configs["recommended-type-checked"]`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked)
42
43
  - [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) โ€” [`typefest.configs.strict`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict)
43
44
  - [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) โ€” [`typefest.configs.all`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all)
45
+ - [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) โ€” [`typefest.configs.experimental`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental)
44
46
  - [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) โ€” [`typefest.configs["type-fest/types"]`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types)
45
47
  - [โœด๏ธ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards) โ€” [`typefest.configs["ts-extras/type-guards"]`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards)
46
48
 
@@ -76,6 +78,7 @@ Related guides:
76
78
  | [`prefer-ts-extras-object-has-in`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-has-in) | ๐Ÿ”ง ๐Ÿ’ก | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [โœด๏ธ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards) |
77
79
  | [`prefer-ts-extras-object-has-own`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-has-own) | ๐Ÿ”ง ๐Ÿ’ก | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [โœด๏ธ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards) |
78
80
  | [`prefer-ts-extras-object-keys`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-keys) | ๐Ÿ”ง | [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) |
81
+ | [`prefer-ts-extras-object-map-values`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-map-values) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
79
82
  | [`prefer-ts-extras-object-values`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-object-values) | ๐Ÿ”ง | [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) |
80
83
  | [`prefer-ts-extras-safe-cast-to`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-safe-cast-to) | ๐Ÿ”ง | [๐ŸŸ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [โœด๏ธ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards) |
81
84
  | [`prefer-ts-extras-set-has`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-ts-extras-set-has) | ๐Ÿ”ง ๐Ÿ’ก | [๐ŸŸ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [โœด๏ธ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/ts-extras-type-guards) |
@@ -85,9 +88,14 @@ Related guides:
85
88
  | [`prefer-type-fest-array-length`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-array-length) | ๐Ÿ”ง | [๐ŸŸ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended-type-checked) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) |
86
89
  | [`prefer-type-fest-arrayable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-arrayable) | ๐Ÿ”ง | [๐ŸŸข](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/minimal) [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
87
90
  | [`prefer-type-fest-async-return-type`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-async-return-type) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
91
+ | [`prefer-type-fest-asyncify`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-asyncify) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
92
+ | [`prefer-type-fest-conditional-except`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-except) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
93
+ | [`prefer-type-fest-conditional-keys`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-keys) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
88
94
  | [`prefer-type-fest-conditional-pick`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-pick) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
89
95
  | [`prefer-type-fest-conditional-pick-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-conditional-pick-deep) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
90
96
  | [`prefer-type-fest-constructor`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-constructor) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
97
+ | [`prefer-type-fest-distributed-omit`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-distributed-omit) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
98
+ | [`prefer-type-fest-distributed-pick`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-distributed-pick) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
91
99
  | [`prefer-type-fest-except`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-except) | ๐Ÿ”ง | [๐ŸŸข](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/minimal) [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
92
100
  | [`prefer-type-fest-if`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-if) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
93
101
  | [`prefer-type-fest-iterable-element`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-iterable-element) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
@@ -99,12 +107,14 @@ Related guides:
99
107
  | [`prefer-type-fest-less-than`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-less-than) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
100
108
  | [`prefer-type-fest-less-than-or-equal`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-less-than-or-equal) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
101
109
  | [`prefer-type-fest-literal-union`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-literal-union) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
110
+ | [`prefer-type-fest-merge`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-merge) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
102
111
  | [`prefer-type-fest-merge-exclusive`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-merge-exclusive) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
103
112
  | [`prefer-type-fest-non-empty-tuple`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-non-empty-tuple) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
104
113
  | [`prefer-type-fest-omit-index-signature`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-omit-index-signature) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
105
114
  | [`prefer-type-fest-optional`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-optional) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
106
115
  | [`prefer-type-fest-or-all`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-or-all) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
107
116
  | [`prefer-type-fest-partial-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-partial-deep) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
117
+ | [`prefer-type-fest-pick-index-signature`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-pick-index-signature) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
108
118
  | [`prefer-type-fest-primitive`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-primitive) | ๐Ÿ”ง | [๐ŸŸข](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/minimal) [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
109
119
  | [`prefer-type-fest-promisable`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-promisable) | ๐Ÿ”ง | [๐ŸŸข](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/minimal) [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
110
120
  | [`prefer-type-fest-readonly-deep`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-readonly-deep) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
@@ -118,10 +128,13 @@ Related guides:
118
128
  | [`prefer-type-fest-set-optional`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-optional) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
119
129
  | [`prefer-type-fest-set-readonly`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-readonly) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
120
130
  | [`prefer-type-fest-set-required`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-required) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
131
+ | [`prefer-type-fest-set-return-type`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-set-return-type) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
121
132
  | [`prefer-type-fest-simplify`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-simplify) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
133
+ | [`prefer-type-fest-stringified`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-stringified) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
122
134
  | [`prefer-type-fest-tagged-brands`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-tagged-brands) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
123
135
  | [`prefer-type-fest-tuple-of`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-tuple-of) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
124
136
  | [`prefer-type-fest-union-member`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-union-member) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
137
+ | [`prefer-type-fest-union-to-intersection`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-union-to-intersection) | โ€” | [๐Ÿงช](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/experimental) |
125
138
  | [`prefer-type-fest-union-to-tuple`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-union-to-tuple) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
126
139
  | [`prefer-type-fest-unknown-array`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unknown-array) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |
127
140
  | [`prefer-type-fest-unknown-map`](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/prefer-type-fest-unknown-map) | ๐Ÿ”ง | [๐ŸŸก](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/recommended) [๐Ÿ”ด](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/strict) [๐ŸŸฃ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/all) [๐Ÿ’ ](https://nick2bad4u.github.io/eslint-plugin-typefest/docs/rules/presets/type-fest-types) |