@pobammer-ts/eslint-cease-nonsense-rules 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-exhaustive-dependencies.js","sourceRoot":"","sources":["../../src/rules/use-exhaustive-dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Rule } from "eslint";
2
+ declare const useHookAtTopLevel: Rule.RuleModule;
3
+ export default useHookAtTopLevel;
@@ -0,0 +1,392 @@
1
+ /**
2
+ * Pre-compiled regex for hook name detection (performance optimization).
3
+ */
4
+ const HOOK_NAME_PATTERN = /^use[A-Z]/;
5
+ /**
6
+ * Pre-compiled regex for component name detection (performance optimization).
7
+ */
8
+ const COMPONENT_NAME_PATTERN = /^[A-Z]/;
9
+ /**
10
+ * Checks if a function name matches the React hook naming convention.
11
+ *
12
+ * @param name - The function name to check.
13
+ * @returns True if the name starts with "use" followed by an uppercase letter.
14
+ */
15
+ function isReactHook(name) {
16
+ return HOOK_NAME_PATTERN.test(name);
17
+ }
18
+ /**
19
+ * Checks if a function name matches the React component naming convention.
20
+ *
21
+ * @param name - The function name to check.
22
+ * @returns True if the name starts with an uppercase letter.
23
+ */
24
+ function isComponent(name) {
25
+ return COMPONENT_NAME_PATTERN.test(name);
26
+ }
27
+ /**
28
+ * Determines if a function is a React component or custom hook.
29
+ *
30
+ * @param node - The function node to check.
31
+ * @returns True if the function is a component or hook.
32
+ */
33
+ function isComponentOrHook(node) {
34
+ // Function declarations with names
35
+ if (node.type === "FunctionDeclaration" && node.id) {
36
+ const { name } = node.id;
37
+ return isComponent(name) || isReactHook(name);
38
+ }
39
+ // Function expressions and arrow functions: check parent context
40
+ if (node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") {
41
+ const { parent } = node;
42
+ if (!parent)
43
+ return false;
44
+ // Variable declarator: const Component = () => {}
45
+ if (parent.type === "VariableDeclarator" && parent.id.type === "Identifier") {
46
+ const { name } = parent.id;
47
+ return isComponent(name) || isReactHook(name);
48
+ }
49
+ // Property: { Component: () => {} }
50
+ if (parent.type === "Property" && parent.key.type === "Identifier") {
51
+ const { name } = parent.key;
52
+ return isComponent(name) || isReactHook(name);
53
+ }
54
+ // Method definition: class { Component() {} }
55
+ if (parent.type === "MethodDefinition" && parent.key.type === "Identifier") {
56
+ const { name } = parent.key;
57
+ return isComponent(name) || isReactHook(name);
58
+ }
59
+ }
60
+ return false;
61
+ }
62
+ /**
63
+ * Checks if a call expression is a hook call.
64
+ *
65
+ * @param node - The call expression node.
66
+ * @returns True if the call is a hook.
67
+ */
68
+ function isHookCall(node) {
69
+ const { callee } = node;
70
+ // Direct call: useEffect(...)
71
+ if (callee.type === "Identifier") {
72
+ return isReactHook(callee.name);
73
+ }
74
+ // Member expression: React.useEffect(...)
75
+ if (callee.type === "MemberExpression" && callee.property.type === "Identifier") {
76
+ return isReactHook(callee.property.name);
77
+ }
78
+ return false;
79
+ }
80
+ /**
81
+ * Checks if a node is inside a finally block.
82
+ *
83
+ * @param node - The node to check.
84
+ * @returns True if the node is in a finally block.
85
+ */
86
+ function isInFinallyBlock(node) {
87
+ let current = node.parent;
88
+ const maxDepth = 20;
89
+ for (let depth = 0; depth < maxDepth && current; depth++) {
90
+ // Stop at function boundaries
91
+ if (current.type === "FunctionDeclaration" ||
92
+ current.type === "FunctionExpression" ||
93
+ current.type === "ArrowFunctionExpression") {
94
+ return false;
95
+ }
96
+ // Found try statement - check if we're in the finalizer
97
+ if (current.type === "TryStatement") {
98
+ // Walk back down to see which block we're in
99
+ let checkNode = node;
100
+ while (checkNode && checkNode !== current) {
101
+ if (checkNode === current.finalizer)
102
+ return true;
103
+ checkNode = checkNode.parent;
104
+ }
105
+ return false;
106
+ }
107
+ current = current.parent;
108
+ }
109
+ return false;
110
+ }
111
+ /**
112
+ * Checks if a call expression is recursive (calls itself).
113
+ *
114
+ * @param node - The call expression node.
115
+ * @param functionName - The name of the containing function.
116
+ * @returns True if the call is recursive.
117
+ */
118
+ function isRecursiveCall(node, functionName) {
119
+ if (!functionName)
120
+ return false;
121
+ const { callee } = node;
122
+ if (callee.type === "Identifier") {
123
+ return callee.name === functionName;
124
+ }
125
+ return false;
126
+ }
127
+ const useHookAtTopLevel = {
128
+ create(context) {
129
+ // Context stack for tracking control flow
130
+ const contextStack = [];
131
+ let currentFunctionName;
132
+ /**
133
+ * Gets the current control flow context.
134
+ *
135
+ * @returns The current context or undefined if not in a component/hook.
136
+ */
137
+ function getCurrentContext() {
138
+ return contextStack.length > 0 ? contextStack[contextStack.length - 1] : undefined;
139
+ }
140
+ /**
141
+ * Pushes a new context onto the stack.
142
+ *
143
+ * @param newContext - The context to push.
144
+ */
145
+ function pushContext(newContext) {
146
+ contextStack.push(newContext);
147
+ }
148
+ /**
149
+ * Pops the top context from the stack.
150
+ */
151
+ function popContext() {
152
+ contextStack.pop();
153
+ }
154
+ /**
155
+ * Updates the current context with new flags.
156
+ *
157
+ * @param updates - Partial context updates.
158
+ */
159
+ function updateContext(updates) {
160
+ const current = getCurrentContext();
161
+ if (!current)
162
+ return;
163
+ contextStack[contextStack.length - 1] = {
164
+ ...current,
165
+ ...updates,
166
+ };
167
+ }
168
+ /**
169
+ * Handles function entry (component or hook).
170
+ *
171
+ * @param node - The function node.
172
+ */
173
+ function handleFunctionEnter(node) {
174
+ const funcNode = node;
175
+ const current = getCurrentContext();
176
+ const depth = current ? current.functionDepth + 1 : 0;
177
+ // Check if this is a component or hook
178
+ const isComp = isComponentOrHook(funcNode);
179
+ // Store function name for recursion detection
180
+ if (funcNode.type === "FunctionDeclaration" && funcNode.id) {
181
+ currentFunctionName = funcNode.id.name;
182
+ }
183
+ // If we're already inside a component/hook, this is a nested function
184
+ if (current?.isComponentOrHook) {
185
+ pushContext({
186
+ afterEarlyReturn: false,
187
+ functionDepth: depth,
188
+ inConditional: false,
189
+ inLoop: false,
190
+ inNestedFunction: true,
191
+ inTryBlock: false,
192
+ isComponentOrHook: false,
193
+ });
194
+ }
195
+ else if (isComp) {
196
+ // This is a top-level component or hook
197
+ pushContext({
198
+ afterEarlyReturn: false,
199
+ functionDepth: depth,
200
+ inConditional: false,
201
+ inLoop: false,
202
+ inNestedFunction: false,
203
+ inTryBlock: false,
204
+ isComponentOrHook: true,
205
+ });
206
+ }
207
+ }
208
+ /**
209
+ * Handles function exit.
210
+ */
211
+ function handleFunctionExit() {
212
+ const current = getCurrentContext();
213
+ if (current) {
214
+ popContext();
215
+ }
216
+ currentFunctionName = undefined;
217
+ }
218
+ return {
219
+ // Function entry
220
+ FunctionDeclaration: handleFunctionEnter,
221
+ FunctionExpression: handleFunctionEnter,
222
+ ArrowFunctionExpression: handleFunctionEnter,
223
+ // Function exit
224
+ "FunctionDeclaration:exit": handleFunctionExit,
225
+ "FunctionExpression:exit": handleFunctionExit,
226
+ "ArrowFunctionExpression:exit": handleFunctionExit,
227
+ // Conditional statements
228
+ IfStatement() {
229
+ updateContext({ inConditional: true });
230
+ },
231
+ "IfStatement:exit"() {
232
+ updateContext({ inConditional: false });
233
+ },
234
+ SwitchStatement() {
235
+ updateContext({ inConditional: true });
236
+ },
237
+ "SwitchStatement:exit"() {
238
+ updateContext({ inConditional: false });
239
+ },
240
+ ConditionalExpression() {
241
+ updateContext({ inConditional: true });
242
+ },
243
+ "ConditionalExpression:exit"() {
244
+ updateContext({ inConditional: false });
245
+ },
246
+ LogicalExpression() {
247
+ updateContext({ inConditional: true });
248
+ },
249
+ "LogicalExpression:exit"() {
250
+ updateContext({ inConditional: false });
251
+ },
252
+ // Early returns - set flag on exit so hooks IN the return expression aren't flagged
253
+ "ReturnStatement:exit"() {
254
+ updateContext({ afterEarlyReturn: true });
255
+ },
256
+ // Loops
257
+ ForStatement() {
258
+ updateContext({ inLoop: true });
259
+ },
260
+ "ForStatement:exit"() {
261
+ updateContext({ inLoop: false });
262
+ },
263
+ WhileStatement() {
264
+ updateContext({ inLoop: true });
265
+ },
266
+ "WhileStatement:exit"() {
267
+ updateContext({ inLoop: false });
268
+ },
269
+ DoWhileStatement() {
270
+ updateContext({ inLoop: true });
271
+ },
272
+ "DoWhileStatement:exit"() {
273
+ updateContext({ inLoop: false });
274
+ },
275
+ ForInStatement() {
276
+ updateContext({ inLoop: true });
277
+ },
278
+ "ForInStatement:exit"() {
279
+ updateContext({ inLoop: false });
280
+ },
281
+ ForOfStatement() {
282
+ updateContext({ inLoop: true });
283
+ },
284
+ "ForOfStatement:exit"() {
285
+ updateContext({ inLoop: false });
286
+ },
287
+ // Try blocks
288
+ TryStatement() {
289
+ // Mark entering try block (but not finally)
290
+ updateContext({ inTryBlock: true });
291
+ },
292
+ "TryStatement:exit"() {
293
+ updateContext({ inTryBlock: false });
294
+ },
295
+ // Hook calls
296
+ CallExpression(node) {
297
+ const callNode = node;
298
+ // Early exit: not a hook call
299
+ if (!isHookCall(callNode))
300
+ return;
301
+ const current = getCurrentContext();
302
+ // Early exit: not in any tracked context
303
+ if (!current)
304
+ return;
305
+ // Early exit: not in a component/hook and not in a nested function
306
+ if (!current.isComponentOrHook && !current.inNestedFunction)
307
+ return;
308
+ // Allow hooks in finally blocks (they always execute)
309
+ if (isInFinallyBlock(callNode))
310
+ return;
311
+ // Check for recursion
312
+ if (isRecursiveCall(callNode, currentFunctionName)) {
313
+ context.report({
314
+ messageId: "recursiveHookCall",
315
+ node: callNode,
316
+ });
317
+ return;
318
+ }
319
+ // Check for nested function
320
+ if (current.inNestedFunction) {
321
+ context.report({
322
+ messageId: "nestedFunction",
323
+ node: callNode,
324
+ });
325
+ return;
326
+ }
327
+ // Check for conditional execution
328
+ if (current.inConditional) {
329
+ context.report({
330
+ messageId: "conditionalHook",
331
+ node: callNode,
332
+ });
333
+ return;
334
+ }
335
+ // Check for loops
336
+ if (current.inLoop) {
337
+ context.report({
338
+ messageId: "loopHook",
339
+ node: callNode,
340
+ });
341
+ return;
342
+ }
343
+ // Check for try blocks
344
+ if (current.inTryBlock) {
345
+ context.report({
346
+ messageId: "tryBlockHook",
347
+ node: callNode,
348
+ });
349
+ return;
350
+ }
351
+ // Check for early return (this should be caught by conditional, but double-check)
352
+ if (current.afterEarlyReturn) {
353
+ context.report({
354
+ messageId: "afterEarlyReturn",
355
+ node: callNode,
356
+ });
357
+ }
358
+ },
359
+ };
360
+ },
361
+ meta: {
362
+ docs: {
363
+ description: "Enforce that React hooks are only called at the top level of components or custom hooks, never conditionally or in nested functions",
364
+ recommended: true,
365
+ url: "https://react.dev/reference/rules/rules-of-hooks",
366
+ },
367
+ messages: {
368
+ afterEarlyReturn: "This hook is being called after an early return. Hooks must be called unconditionally and in the same order every render.",
369
+ conditionalHook: "This hook is being called conditionally. All hooks must be called in the exact same order in every component render.",
370
+ loopHook: "This hook is being called inside a loop. All hooks must be called in the exact same order in every component render.",
371
+ nestedFunction: "This hook is being called from a nested function. All hooks must be called unconditionally from the top-level component.",
372
+ recursiveHookCall: "This hook is being called recursively. Recursive calls require a condition to terminate, which violates hook rules.",
373
+ tryBlockHook: "This hook is being called inside a try block. Hooks must be called unconditionally at the top level.",
374
+ },
375
+ schema: [
376
+ {
377
+ additionalProperties: false,
378
+ properties: {
379
+ hooks: {
380
+ description: "Additional custom hook names to check",
381
+ items: { type: "string" },
382
+ type: "array",
383
+ },
384
+ },
385
+ type: "object",
386
+ },
387
+ ],
388
+ type: "problem",
389
+ },
390
+ };
391
+ export default useHookAtTopLevel;
392
+ //# sourceMappingURL=use-hook-at-top-level.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-hook-at-top-level.js","sourceRoot":"","sources":["../../src/rules/use-hook-at-top-level.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -60,5 +60,5 @@
60
60
  "sideEffects": false,
61
61
  "type": "module",
62
62
  "types": "./dist/index.d.ts",
63
- "version": "0.3.0"
63
+ "version": "0.4.1"
64
64
  }