eslint-plugin-effector 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,40 @@
1
- import { TSESLint } from "@typescript-eslint/utils";
1
+ import { Linter } from "eslint";
2
2
 
3
+ //#region src/ruleset.d.ts
4
+ declare const ruleset: {
5
+ recommended: {
6
+ "effector/enforce-effect-naming-convention": "error";
7
+ "effector/enforce-store-naming-convention": "error";
8
+ "effector/keep-options-order": "warn";
9
+ "effector/no-ambiguity-target": "warn";
10
+ "effector/no-duplicate-on": "error";
11
+ "effector/no-forward": "error";
12
+ "effector/no-getState": "error";
13
+ "effector/no-guard": "error";
14
+ "effector/no-unnecessary-combination": "warn";
15
+ "effector/no-unnecessary-duplication": "warn";
16
+ "effector/no-useless-methods": "error";
17
+ "effector/no-watch": "warn";
18
+ };
19
+ patronum: {
20
+ "effector/no-patronum-debug": "warn";
21
+ };
22
+ scope: {
23
+ "effector/require-pickup-in-persist": "error";
24
+ "effector/strict-effect-handlers": "error";
25
+ };
26
+ react: {
27
+ "effector/enforce-gate-naming-convention": "error";
28
+ "effector/enforce-exhaustive-useUnit-destructuring": "warn";
29
+ "effector/mandatory-scope-binding": "error";
30
+ "effector/no-units-spawn-in-render": "error";
31
+ "effector/prefer-useUnit": "error";
32
+ };
33
+ future: {
34
+ "effector/no-domain-unit-creators": "warn";
35
+ };
36
+ };
37
+ //#endregion
3
38
  //#region src/index.d.ts
4
39
  declare const base: {
5
40
  meta: {
@@ -8,116 +43,82 @@ declare const base: {
8
43
  namespace: string;
9
44
  };
10
45
  rules: {
11
- "enforce-effect-naming-convention": TSESLint.RuleModule<"invalid" | "rename", [], unknown, TSESLint.RuleListener> & {
46
+ "enforce-effect-naming-convention": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid" | "rename", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
12
47
  name: string;
13
48
  };
14
- "enforce-gate-naming-convention": TSESLint.RuleModule<"invalid" | "rename", [], unknown, TSESLint.RuleListener> & {
49
+ "enforce-exhaustive-useUnit-destructuring": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unusedKey" | "missingKey", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
15
50
  name: string;
16
51
  };
17
- "enforce-store-naming-convention": TSESLint.RuleModule<"invalid" | "rename", [{
18
- mode: "prefix" | "postfix";
19
- }], unknown, TSESLint.RuleListener> & {
52
+ "enforce-gate-naming-convention": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid" | "rename", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
20
53
  name: string;
21
54
  };
22
- "keep-options-order": TSESLint.RuleModule<"invalidOrder" | "changeOrder", [], unknown, TSESLint.RuleListener> & {
55
+ "enforce-store-naming-convention": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid" | "rename", [{
56
+ mode: "prefix" | "postfix";
57
+ }], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
23
58
  name: string;
24
59
  };
25
- "mandatory-scope-binding": TSESLint.RuleModule<"useUnitNeeded", [], unknown, TSESLint.RuleListener> & {
60
+ "keep-options-order": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalidOrder" | "changeOrder", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
26
61
  name: string;
27
62
  };
28
- "no-ambiguity-target": TSESLint.RuleModule<"ambiguous", [], unknown, TSESLint.RuleListener> & {
63
+ "mandatory-scope-binding": import("@typescript-eslint/utils/ts-eslint").RuleModule<"useUnitNeeded", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
29
64
  name: string;
30
65
  };
31
- "no-domain-unit-creators": TSESLint.RuleModule<"avoid", [], unknown, TSESLint.RuleListener> & {
66
+ "no-ambiguity-target": import("@typescript-eslint/utils/ts-eslint").RuleModule<"ambiguous", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
32
67
  name: string;
33
68
  };
34
- "no-duplicate-clock-or-source-array-values": TSESLint.RuleModule<"duplicate" | "remove", [], unknown, TSESLint.RuleListener> & {
69
+ "no-domain-unit-creators": import("@typescript-eslint/utils/ts-eslint").RuleModule<"avoid", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
35
70
  name: string;
36
71
  };
37
- "no-duplicate-on": TSESLint.RuleModule<"duplicate", [], unknown, TSESLint.RuleListener> & {
72
+ "no-duplicate-clock-or-source-array-values": import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicate" | "remove", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
38
73
  name: string;
39
74
  };
40
- "no-forward": TSESLint.RuleModule<"noForward" | "replaceWithSample", [], unknown, TSESLint.RuleListener> & {
75
+ "no-duplicate-on": import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicate", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
41
76
  name: string;
42
77
  };
43
- "no-getState": TSESLint.RuleModule<"named" | "anonymous", [], unknown, TSESLint.RuleListener> & {
78
+ "no-forward": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noForward" | "replaceWithSample", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
44
79
  name: string;
45
80
  };
46
- "no-guard": TSESLint.RuleModule<"replaceWithSample" | "noGuard", [], unknown, TSESLint.RuleListener> & {
81
+ "no-getState": import("@typescript-eslint/utils/ts-eslint").RuleModule<"named" | "anonymous", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
47
82
  name: string;
48
83
  };
49
- "no-patronum-debug": TSESLint.RuleModule<"remove" | "unexpected", [], unknown, TSESLint.RuleListener> & {
84
+ "no-guard": import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceWithSample" | "noGuard", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
50
85
  name: string;
51
86
  };
52
- "no-unnecessary-combination": TSESLint.RuleModule<"unnecessary", [], unknown, TSESLint.RuleListener> & {
87
+ "no-patronum-debug": import("@typescript-eslint/utils/ts-eslint").RuleModule<"remove" | "unexpected", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
53
88
  name: string;
54
89
  };
55
- "no-unnecessary-duplication": TSESLint.RuleModule<"duplicate" | "removeClock" | "removeSource", [], unknown, TSESLint.RuleListener> & {
90
+ "no-units-spawn-in-render": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noFactoryInRender" | "noOperatorInRender" | "noCustomFactoryInRender", [{
91
+ detectCustomFactories: true | false | {
92
+ allowlist: string[];
93
+ };
94
+ }], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
56
95
  name: string;
57
96
  };
58
- "no-useless-methods": TSESLint.RuleModule<"uselessMethod", [], unknown, TSESLint.RuleListener> & {
97
+ "no-unnecessary-combination": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unnecessary", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
59
98
  name: string;
60
99
  };
61
- "no-watch": TSESLint.RuleModule<"restricted", [], unknown, TSESLint.RuleListener> & {
100
+ "no-unnecessary-duplication": import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicate" | "removeClock" | "removeSource", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
62
101
  name: string;
63
102
  };
64
- "prefer-useUnit": TSESLint.RuleModule<"useUseUnit", [], unknown, TSESLint.RuleListener> & {
103
+ "no-useless-methods": import("@typescript-eslint/utils/ts-eslint").RuleModule<"uselessMethod", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
65
104
  name: string;
66
105
  };
67
- "require-pickup-in-persist": TSESLint.RuleModule<"missing", [], unknown, TSESLint.RuleListener> & {
106
+ "no-watch": import("@typescript-eslint/utils/ts-eslint").RuleModule<"restricted", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
68
107
  name: string;
69
108
  };
70
- "strict-effect-handlers": TSESLint.RuleModule<"mixed", [], unknown, TSESLint.RuleListener> & {
109
+ "prefer-useUnit": import("@typescript-eslint/utils/ts-eslint").RuleModule<"useUseUnit", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
71
110
  name: string;
72
111
  };
73
- };
74
- };
75
- declare const legacyConfigs: {
76
- recommended: {
77
- rules: {
78
- "effector/enforce-effect-naming-convention": "error";
79
- "effector/enforce-store-naming-convention": "error";
80
- "effector/keep-options-order": "warn";
81
- "effector/no-ambiguity-target": "warn";
82
- "effector/no-duplicate-on": "error";
83
- "effector/no-forward": "error";
84
- "effector/no-getState": "error";
85
- "effector/no-guard": "error";
86
- "effector/no-unnecessary-combination": "warn";
87
- "effector/no-unnecessary-duplication": "warn";
88
- "effector/no-useless-methods": "error";
89
- "effector/no-watch": "warn";
90
- };
91
- };
92
- scope: {
93
- rules: {
94
- "effector/require-pickup-in-persist": "error";
95
- "effector/strict-effect-handlers": "error";
96
- };
97
- };
98
- react: {
99
- rules: {
100
- "effector/enforce-gate-naming-convention": "error";
101
- "effector/mandatory-scope-binding": "error";
102
- "effector/prefer-useUnit": "error";
103
- };
104
- };
105
- future: {
106
- rules: {
107
- "effector/no-domain-unit-creators": "warn";
112
+ "require-pickup-in-persist": import("@typescript-eslint/utils/ts-eslint").RuleModule<"missing", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
113
+ name: string;
108
114
  };
109
- };
110
- patronum: {
111
- rules: {
112
- "effector/no-patronum-debug": "warn";
115
+ "strict-effect-handlers": import("@typescript-eslint/utils/ts-eslint").RuleModule<"mixed", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
116
+ name: string;
113
117
  };
114
118
  };
115
119
  };
116
- declare const flatConfigs: {
120
+ declare const legacyConfigs: {
117
121
  recommended: {
118
- plugins: {
119
- effector: TSESLint.FlatConfig.Plugin;
120
- };
121
122
  rules: {
122
123
  "effector/enforce-effect-naming-convention": "error";
123
124
  "effector/enforce-store-naming-convention": "error";
@@ -134,44 +135,34 @@ declare const flatConfigs: {
134
135
  };
135
136
  };
136
137
  scope: {
137
- plugins: {
138
- effector: TSESLint.FlatConfig.Plugin;
139
- };
140
138
  rules: {
141
139
  "effector/require-pickup-in-persist": "error";
142
140
  "effector/strict-effect-handlers": "error";
143
141
  };
144
142
  };
145
143
  react: {
146
- plugins: {
147
- effector: TSESLint.FlatConfig.Plugin;
148
- };
149
144
  rules: {
150
145
  "effector/enforce-gate-naming-convention": "error";
146
+ "effector/enforce-exhaustive-useUnit-destructuring": "warn";
151
147
  "effector/mandatory-scope-binding": "error";
148
+ "effector/no-units-spawn-in-render": "error";
152
149
  "effector/prefer-useUnit": "error";
153
150
  };
154
151
  };
155
152
  future: {
156
- plugins: {
157
- effector: TSESLint.FlatConfig.Plugin;
158
- };
159
153
  rules: {
160
154
  "effector/no-domain-unit-creators": "warn";
161
155
  };
162
156
  };
163
157
  patronum: {
164
- plugins: {
165
- effector: TSESLint.FlatConfig.Plugin;
166
- };
167
158
  rules: {
168
159
  "effector/no-patronum-debug": "warn";
169
160
  };
170
161
  };
171
162
  };
163
+ declare const flatConfigs: Record<keyof typeof ruleset, Linter.Config>;
172
164
  declare const plugin: {
173
- flatConfigs: typeof flatConfigs;
174
- /** @deprecated Migrate to modern ESLint v9 Flat Config format */
165
+ flatConfigs: typeof flatConfigs; /** @deprecated Migrate to modern ESLint v9+ Flat Config format */
175
166
  configs: typeof legacyConfigs;
176
167
  } & typeof base;
177
168
  export = plugin;
package/dist/index.d.mts CHANGED
@@ -1,5 +1,40 @@
1
- import { TSESLint } from "@typescript-eslint/utils";
1
+ import { Linter } from "eslint";
2
2
 
3
+ //#region src/ruleset.d.ts
4
+ declare const ruleset: {
5
+ recommended: {
6
+ "effector/enforce-effect-naming-convention": "error";
7
+ "effector/enforce-store-naming-convention": "error";
8
+ "effector/keep-options-order": "warn";
9
+ "effector/no-ambiguity-target": "warn";
10
+ "effector/no-duplicate-on": "error";
11
+ "effector/no-forward": "error";
12
+ "effector/no-getState": "error";
13
+ "effector/no-guard": "error";
14
+ "effector/no-unnecessary-combination": "warn";
15
+ "effector/no-unnecessary-duplication": "warn";
16
+ "effector/no-useless-methods": "error";
17
+ "effector/no-watch": "warn";
18
+ };
19
+ patronum: {
20
+ "effector/no-patronum-debug": "warn";
21
+ };
22
+ scope: {
23
+ "effector/require-pickup-in-persist": "error";
24
+ "effector/strict-effect-handlers": "error";
25
+ };
26
+ react: {
27
+ "effector/enforce-gate-naming-convention": "error";
28
+ "effector/enforce-exhaustive-useUnit-destructuring": "warn";
29
+ "effector/mandatory-scope-binding": "error";
30
+ "effector/no-units-spawn-in-render": "error";
31
+ "effector/prefer-useUnit": "error";
32
+ };
33
+ future: {
34
+ "effector/no-domain-unit-creators": "warn";
35
+ };
36
+ };
37
+ //#endregion
3
38
  //#region src/index.d.ts
4
39
  declare const base: {
5
40
  meta: {
@@ -8,116 +43,82 @@ declare const base: {
8
43
  namespace: string;
9
44
  };
10
45
  rules: {
11
- "enforce-effect-naming-convention": TSESLint.RuleModule<"invalid" | "rename", [], unknown, TSESLint.RuleListener> & {
46
+ "enforce-effect-naming-convention": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid" | "rename", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
12
47
  name: string;
13
48
  };
14
- "enforce-gate-naming-convention": TSESLint.RuleModule<"invalid" | "rename", [], unknown, TSESLint.RuleListener> & {
49
+ "enforce-exhaustive-useUnit-destructuring": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unusedKey" | "missingKey", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
15
50
  name: string;
16
51
  };
17
- "enforce-store-naming-convention": TSESLint.RuleModule<"invalid" | "rename", [{
18
- mode: "prefix" | "postfix";
19
- }], unknown, TSESLint.RuleListener> & {
52
+ "enforce-gate-naming-convention": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid" | "rename", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
20
53
  name: string;
21
54
  };
22
- "keep-options-order": TSESLint.RuleModule<"invalidOrder" | "changeOrder", [], unknown, TSESLint.RuleListener> & {
55
+ "enforce-store-naming-convention": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid" | "rename", [{
56
+ mode: "prefix" | "postfix";
57
+ }], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
23
58
  name: string;
24
59
  };
25
- "mandatory-scope-binding": TSESLint.RuleModule<"useUnitNeeded", [], unknown, TSESLint.RuleListener> & {
60
+ "keep-options-order": import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalidOrder" | "changeOrder", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
26
61
  name: string;
27
62
  };
28
- "no-ambiguity-target": TSESLint.RuleModule<"ambiguous", [], unknown, TSESLint.RuleListener> & {
63
+ "mandatory-scope-binding": import("@typescript-eslint/utils/ts-eslint").RuleModule<"useUnitNeeded", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
29
64
  name: string;
30
65
  };
31
- "no-domain-unit-creators": TSESLint.RuleModule<"avoid", [], unknown, TSESLint.RuleListener> & {
66
+ "no-ambiguity-target": import("@typescript-eslint/utils/ts-eslint").RuleModule<"ambiguous", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
32
67
  name: string;
33
68
  };
34
- "no-duplicate-clock-or-source-array-values": TSESLint.RuleModule<"duplicate" | "remove", [], unknown, TSESLint.RuleListener> & {
69
+ "no-domain-unit-creators": import("@typescript-eslint/utils/ts-eslint").RuleModule<"avoid", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
35
70
  name: string;
36
71
  };
37
- "no-duplicate-on": TSESLint.RuleModule<"duplicate", [], unknown, TSESLint.RuleListener> & {
72
+ "no-duplicate-clock-or-source-array-values": import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicate" | "remove", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
38
73
  name: string;
39
74
  };
40
- "no-forward": TSESLint.RuleModule<"noForward" | "replaceWithSample", [], unknown, TSESLint.RuleListener> & {
75
+ "no-duplicate-on": import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicate", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
41
76
  name: string;
42
77
  };
43
- "no-getState": TSESLint.RuleModule<"named" | "anonymous", [], unknown, TSESLint.RuleListener> & {
78
+ "no-forward": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noForward" | "replaceWithSample", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
44
79
  name: string;
45
80
  };
46
- "no-guard": TSESLint.RuleModule<"replaceWithSample" | "noGuard", [], unknown, TSESLint.RuleListener> & {
81
+ "no-getState": import("@typescript-eslint/utils/ts-eslint").RuleModule<"named" | "anonymous", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
47
82
  name: string;
48
83
  };
49
- "no-patronum-debug": TSESLint.RuleModule<"remove" | "unexpected", [], unknown, TSESLint.RuleListener> & {
84
+ "no-guard": import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceWithSample" | "noGuard", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
50
85
  name: string;
51
86
  };
52
- "no-unnecessary-combination": TSESLint.RuleModule<"unnecessary", [], unknown, TSESLint.RuleListener> & {
87
+ "no-patronum-debug": import("@typescript-eslint/utils/ts-eslint").RuleModule<"remove" | "unexpected", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
53
88
  name: string;
54
89
  };
55
- "no-unnecessary-duplication": TSESLint.RuleModule<"duplicate" | "removeClock" | "removeSource", [], unknown, TSESLint.RuleListener> & {
90
+ "no-units-spawn-in-render": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noFactoryInRender" | "noOperatorInRender" | "noCustomFactoryInRender", [{
91
+ detectCustomFactories: true | false | {
92
+ allowlist: string[];
93
+ };
94
+ }], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
56
95
  name: string;
57
96
  };
58
- "no-useless-methods": TSESLint.RuleModule<"uselessMethod", [], unknown, TSESLint.RuleListener> & {
97
+ "no-unnecessary-combination": import("@typescript-eslint/utils/ts-eslint").RuleModule<"unnecessary", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
59
98
  name: string;
60
99
  };
61
- "no-watch": TSESLint.RuleModule<"restricted", [], unknown, TSESLint.RuleListener> & {
100
+ "no-unnecessary-duplication": import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicate" | "removeClock" | "removeSource", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
62
101
  name: string;
63
102
  };
64
- "prefer-useUnit": TSESLint.RuleModule<"useUseUnit", [], unknown, TSESLint.RuleListener> & {
103
+ "no-useless-methods": import("@typescript-eslint/utils/ts-eslint").RuleModule<"uselessMethod", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
65
104
  name: string;
66
105
  };
67
- "require-pickup-in-persist": TSESLint.RuleModule<"missing", [], unknown, TSESLint.RuleListener> & {
106
+ "no-watch": import("@typescript-eslint/utils/ts-eslint").RuleModule<"restricted", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
68
107
  name: string;
69
108
  };
70
- "strict-effect-handlers": TSESLint.RuleModule<"mixed", [], unknown, TSESLint.RuleListener> & {
109
+ "prefer-useUnit": import("@typescript-eslint/utils/ts-eslint").RuleModule<"useUseUnit", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
71
110
  name: string;
72
111
  };
73
- };
74
- };
75
- declare const legacyConfigs: {
76
- recommended: {
77
- rules: {
78
- "effector/enforce-effect-naming-convention": "error";
79
- "effector/enforce-store-naming-convention": "error";
80
- "effector/keep-options-order": "warn";
81
- "effector/no-ambiguity-target": "warn";
82
- "effector/no-duplicate-on": "error";
83
- "effector/no-forward": "error";
84
- "effector/no-getState": "error";
85
- "effector/no-guard": "error";
86
- "effector/no-unnecessary-combination": "warn";
87
- "effector/no-unnecessary-duplication": "warn";
88
- "effector/no-useless-methods": "error";
89
- "effector/no-watch": "warn";
90
- };
91
- };
92
- scope: {
93
- rules: {
94
- "effector/require-pickup-in-persist": "error";
95
- "effector/strict-effect-handlers": "error";
96
- };
97
- };
98
- react: {
99
- rules: {
100
- "effector/enforce-gate-naming-convention": "error";
101
- "effector/mandatory-scope-binding": "error";
102
- "effector/prefer-useUnit": "error";
103
- };
104
- };
105
- future: {
106
- rules: {
107
- "effector/no-domain-unit-creators": "warn";
112
+ "require-pickup-in-persist": import("@typescript-eslint/utils/ts-eslint").RuleModule<"missing", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
113
+ name: string;
108
114
  };
109
- };
110
- patronum: {
111
- rules: {
112
- "effector/no-patronum-debug": "warn";
115
+ "strict-effect-handlers": import("@typescript-eslint/utils/ts-eslint").RuleModule<"mixed", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
116
+ name: string;
113
117
  };
114
118
  };
115
119
  };
116
- declare const flatConfigs: {
120
+ declare const legacyConfigs: {
117
121
  recommended: {
118
- plugins: {
119
- effector: TSESLint.FlatConfig.Plugin;
120
- };
121
122
  rules: {
122
123
  "effector/enforce-effect-naming-convention": "error";
123
124
  "effector/enforce-store-naming-convention": "error";
@@ -134,44 +135,34 @@ declare const flatConfigs: {
134
135
  };
135
136
  };
136
137
  scope: {
137
- plugins: {
138
- effector: TSESLint.FlatConfig.Plugin;
139
- };
140
138
  rules: {
141
139
  "effector/require-pickup-in-persist": "error";
142
140
  "effector/strict-effect-handlers": "error";
143
141
  };
144
142
  };
145
143
  react: {
146
- plugins: {
147
- effector: TSESLint.FlatConfig.Plugin;
148
- };
149
144
  rules: {
150
145
  "effector/enforce-gate-naming-convention": "error";
146
+ "effector/enforce-exhaustive-useUnit-destructuring": "warn";
151
147
  "effector/mandatory-scope-binding": "error";
148
+ "effector/no-units-spawn-in-render": "error";
152
149
  "effector/prefer-useUnit": "error";
153
150
  };
154
151
  };
155
152
  future: {
156
- plugins: {
157
- effector: TSESLint.FlatConfig.Plugin;
158
- };
159
153
  rules: {
160
154
  "effector/no-domain-unit-creators": "warn";
161
155
  };
162
156
  };
163
157
  patronum: {
164
- plugins: {
165
- effector: TSESLint.FlatConfig.Plugin;
166
- };
167
158
  rules: {
168
159
  "effector/no-patronum-debug": "warn";
169
160
  };
170
161
  };
171
162
  };
163
+ declare const flatConfigs: Record<keyof typeof ruleset, Linter.Config>;
172
164
  declare const plugin: {
173
- flatConfigs: typeof flatConfigs;
174
- /** @deprecated Migrate to modern ESLint v9 Flat Config format */
165
+ flatConfigs: typeof flatConfigs; /** @deprecated Migrate to modern ESLint v9+ Flat Config format */
175
166
  configs: typeof legacyConfigs;
176
167
  } & typeof base;
177
168
  //#endregion