@pobammer-ts/eslint-cease-nonsense-rules 0.4.1 → 0.4.2
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/rules/enforce-ianitor-check-type.js +26 -26
- package/dist/rules/enforce-ianitor-check-type.js.map +1 -1
- package/dist/rules/no-shorthand-names.js +1 -1
- package/dist/rules/no-shorthand-names.js.map +1 -1
- package/dist/rules/require-react-component-keys.js +93 -9
- package/dist/rules/require-react-component-keys.js.map +1 -1
- package/dist/rules/use-exhaustive-dependencies.d.ts +96 -1
- package/dist/rules/use-exhaustive-dependencies.js +145 -10
- package/dist/rules/use-exhaustive-dependencies.js.map +1 -1
- package/dist/rules/use-hook-at-top-level.js +75 -75
- package/dist/rules/use-hook-at-top-level.js.map +1 -1
- package/package.json +4 -4
|
@@ -328,6 +328,32 @@ const enforceIanitorCheckType = {
|
|
|
328
328
|
// Track which VariableDeclarator nodes need checking after type aliases are collected
|
|
329
329
|
const variableDeclaratorsToCheck = new Map();
|
|
330
330
|
return {
|
|
331
|
+
// After all nodes are visited, check the collected variable declarators
|
|
332
|
+
"Program:exit"() {
|
|
333
|
+
for (const [nodeKey, data] of variableDeclaratorsToCheck.entries()) {
|
|
334
|
+
const node = nodeKey;
|
|
335
|
+
// Skip if this variable is used in an Ianitor.Static<typeof ...> pattern
|
|
336
|
+
if (node.id.type === "Identifier" && ianitorStaticVariables.has(node.id.name))
|
|
337
|
+
continue;
|
|
338
|
+
context.report({
|
|
339
|
+
data: { score: data.complexity.toFixed(1) },
|
|
340
|
+
messageId: "missingIanitorCheckType",
|
|
341
|
+
node: node.id,
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
// Check interface declarations
|
|
346
|
+
TSInterfaceDeclaration(node) {
|
|
347
|
+
const complexity = calculateStructuralComplexity(node);
|
|
348
|
+
const name = getTypeName(node);
|
|
349
|
+
if (complexity >= config.interfacePenalty) {
|
|
350
|
+
context.report({
|
|
351
|
+
data: { name: name || "unknown" },
|
|
352
|
+
messageId: "complexInterfaceNeedsCheck",
|
|
353
|
+
node,
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
},
|
|
331
357
|
// Handle type alias declarations
|
|
332
358
|
TSTypeAliasDeclaration(node) {
|
|
333
359
|
// First, check if this uses Ianitor.Static pattern and collect the variable name
|
|
@@ -347,18 +373,6 @@ const enforceIanitorCheckType = {
|
|
|
347
373
|
node,
|
|
348
374
|
});
|
|
349
375
|
},
|
|
350
|
-
// Check interface declarations
|
|
351
|
-
TSInterfaceDeclaration(node) {
|
|
352
|
-
const complexity = calculateStructuralComplexity(node);
|
|
353
|
-
const name = getTypeName(node);
|
|
354
|
-
if (complexity >= config.interfacePenalty) {
|
|
355
|
-
context.report({
|
|
356
|
-
data: { name: name || "unknown" },
|
|
357
|
-
messageId: "complexInterfaceNeedsCheck",
|
|
358
|
-
node,
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
},
|
|
362
376
|
// Collect variable declarators that might need checking
|
|
363
377
|
VariableDeclarator(node) {
|
|
364
378
|
if (!node.init || node.init.type !== "CallExpression")
|
|
@@ -373,20 +387,6 @@ const enforceIanitorCheckType = {
|
|
|
373
387
|
// Store for later checking in Program:exit
|
|
374
388
|
variableDeclaratorsToCheck.set(node, { complexity });
|
|
375
389
|
},
|
|
376
|
-
// After all nodes are visited, check the collected variable declarators
|
|
377
|
-
"Program:exit"() {
|
|
378
|
-
for (const [nodeKey, data] of variableDeclaratorsToCheck.entries()) {
|
|
379
|
-
const node = nodeKey;
|
|
380
|
-
// Skip if this variable is used in an Ianitor.Static<typeof ...> pattern
|
|
381
|
-
if (node.id.type === "Identifier" && ianitorStaticVariables.has(node.id.name))
|
|
382
|
-
continue;
|
|
383
|
-
context.report({
|
|
384
|
-
data: { score: data.complexity.toFixed(1) },
|
|
385
|
-
messageId: "missingIanitorCheckType",
|
|
386
|
-
node: node.id,
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
},
|
|
390
390
|
};
|
|
391
391
|
},
|
|
392
392
|
meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforce-ianitor-check-type.js","sourceRoot":"","sources":["../../src/rules/enforce-ianitor-check-type.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enforce-ianitor-check-type.js","sourceRoot":"","sources":["../../src/rules/enforce-ianitor-check-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -154,9 +154,9 @@ const noShorthandNames = {
|
|
|
154
154
|
type: "array",
|
|
155
155
|
},
|
|
156
156
|
shorthands: {
|
|
157
|
+
additionalProperties: { type: "string" },
|
|
157
158
|
description: "Map of shorthand names to their full replacements",
|
|
158
159
|
type: "object",
|
|
159
|
-
additionalProperties: { type: "string" },
|
|
160
160
|
},
|
|
161
161
|
},
|
|
162
162
|
type: "object",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-shorthand-names.js","sourceRoot":"","sources":["../../src/rules/no-shorthand-names.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"no-shorthand-names.js","sourceRoot":"","sources":["../../src/rules/no-shorthand-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,32 @@ const DEFAULT_OPTIONS = {
|
|
|
5
5
|
allowRootKeys: false,
|
|
6
6
|
ignoreCallExpressions: ["ReactTree.mount", "CreateReactStory"],
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Parent node types that simply wrap another expression without changing its semantics.
|
|
10
|
+
* These should be skipped when walking up the AST to analyze structural context.
|
|
11
|
+
*/
|
|
12
|
+
const WRAPPER_PARENT_TYPES = new Set([
|
|
13
|
+
"ParenthesizedExpression",
|
|
14
|
+
"TSAsExpression",
|
|
15
|
+
"TSSatisfiesExpression",
|
|
16
|
+
"TSTypeAssertion",
|
|
17
|
+
"TSNonNullExpression",
|
|
18
|
+
"TSInstantiationExpression",
|
|
19
|
+
"ChainExpression",
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Walks up the AST from a starting node, skipping wrapper expressions that do not
|
|
23
|
+
* materially affect JSX placement (e.g. parentheses, type assertions).
|
|
24
|
+
*
|
|
25
|
+
* @param node - The starting node whose wrappers should be skipped.
|
|
26
|
+
* @returns The first ancestor node that is not a simple wrapper, or undefined.
|
|
27
|
+
*/
|
|
28
|
+
function ascendPastWrappers(node) {
|
|
29
|
+
let current = node;
|
|
30
|
+
while (current && WRAPPER_PARENT_TYPES.has(current.type))
|
|
31
|
+
current = current.parent;
|
|
32
|
+
return current;
|
|
33
|
+
}
|
|
8
34
|
/**
|
|
9
35
|
* Checks if a JSX element has a key attribute.
|
|
10
36
|
*
|
|
@@ -39,6 +65,58 @@ function isReactComponentHOC(callExpr) {
|
|
|
39
65
|
}
|
|
40
66
|
return false;
|
|
41
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Checks if a JSX element is inside a conditional or logical expression that is a JSX child,
|
|
70
|
+
* and is the ONLY child (no siblings).
|
|
71
|
+
*
|
|
72
|
+
* @param node - The JSX element or fragment to check.
|
|
73
|
+
* @returns True if inside a ternary/logical expression as the only JSX child.
|
|
74
|
+
*/
|
|
75
|
+
function isInConditionalJSXChild(node) {
|
|
76
|
+
let parent = node.parent;
|
|
77
|
+
if (!parent)
|
|
78
|
+
return false;
|
|
79
|
+
// Check if the immediate parent is a conditional or logical expression
|
|
80
|
+
const hasConditional = parent.type === "ConditionalExpression" || parent.type === "LogicalExpression";
|
|
81
|
+
if (!hasConditional)
|
|
82
|
+
return false;
|
|
83
|
+
// Traverse up through conditional/logical expressions
|
|
84
|
+
while (parent && (parent.type === "ConditionalExpression" || parent.type === "LogicalExpression")) {
|
|
85
|
+
parent = parent.parent;
|
|
86
|
+
}
|
|
87
|
+
if (!parent)
|
|
88
|
+
return false;
|
|
89
|
+
// If the conditional/logical is inside a JSXExpressionContainer, check for siblings
|
|
90
|
+
// Example: <div>{cond ? <A/> : <B/>}</div> - A and B don't need keys (only child)
|
|
91
|
+
// Example: <div><X key="x"/>{cond && <A/>}</div> - A needs a key (has siblings)
|
|
92
|
+
if (parent.type === "JSXExpressionContainer") {
|
|
93
|
+
const jsxExprContainer = parent;
|
|
94
|
+
const containerParent = jsxExprContainer.parent;
|
|
95
|
+
if (!containerParent)
|
|
96
|
+
return false;
|
|
97
|
+
// Check if the parent is a JSX element or fragment
|
|
98
|
+
if (containerParent.type === "JSXElement" || containerParent.type === "JSXFragment") {
|
|
99
|
+
const children = containerParent.children;
|
|
100
|
+
// Count non-whitespace children
|
|
101
|
+
const significantChildren = children.filter((child) => {
|
|
102
|
+
// JSXText nodes that are just whitespace don't count as siblings
|
|
103
|
+
if (child.type === "JSXText") {
|
|
104
|
+
return child.value.trim().length > 0;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
});
|
|
108
|
+
// If there's more than one significant child, elements inside need keys
|
|
109
|
+
if (significantChildren.length > 1) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
// If it's the only child, elements inside don't need keys
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
// For other parent types, default to requiring keys
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
42
120
|
/**
|
|
43
121
|
* Checks if a JSX element is a top-level return from a component.
|
|
44
122
|
*
|
|
@@ -46,38 +124,39 @@ function isReactComponentHOC(callExpr) {
|
|
|
46
124
|
* @returns True if the element is directly returned from a component.
|
|
47
125
|
*/
|
|
48
126
|
function isTopLevelReturn(node) {
|
|
49
|
-
let parent = node.parent;
|
|
127
|
+
let parent = ascendPastWrappers(node.parent);
|
|
50
128
|
if (!parent)
|
|
51
129
|
return false;
|
|
52
130
|
// Handle return with parentheses: return (<div>...)
|
|
53
131
|
if (parent.type === "JSXExpressionContainer")
|
|
54
|
-
parent = parent.parent;
|
|
132
|
+
parent = ascendPastWrappers(parent.parent);
|
|
55
133
|
if (!parent)
|
|
56
134
|
return false;
|
|
57
135
|
// Traverse through conditional and logical expressions
|
|
58
136
|
// Example: return condition ? <A/> : <B/>
|
|
59
137
|
// Example: return condition && <Component/>
|
|
60
138
|
while (parent && (parent.type === "ConditionalExpression" || parent.type === "LogicalExpression")) {
|
|
61
|
-
parent = parent.parent;
|
|
139
|
+
parent = ascendPastWrappers(parent.parent);
|
|
62
140
|
}
|
|
63
141
|
if (!parent)
|
|
64
142
|
return false;
|
|
65
143
|
// Handle direct return
|
|
66
144
|
if (parent.type === "ReturnStatement") {
|
|
67
145
|
// Walk up to find the containing function
|
|
68
|
-
let currentNode = parent.parent;
|
|
146
|
+
let currentNode = ascendPastWrappers(parent.parent);
|
|
69
147
|
// Skip through block statement to get to function
|
|
70
148
|
if (currentNode?.type === "BlockStatement") {
|
|
71
|
-
currentNode = currentNode.parent;
|
|
149
|
+
currentNode = ascendPastWrappers(currentNode.parent);
|
|
72
150
|
}
|
|
73
151
|
if (!currentNode)
|
|
74
152
|
return false;
|
|
75
153
|
// Check if this is a callback (arrow/function expression inside a call expression)
|
|
76
154
|
if (currentNode.type === "ArrowFunctionExpression" || currentNode.type === "FunctionExpression") {
|
|
77
155
|
// If the function is an argument to a call expression, check if it's a React HOC
|
|
78
|
-
|
|
156
|
+
const functionParent = ascendPastWrappers(currentNode.parent);
|
|
157
|
+
if (functionParent?.type === "CallExpression") {
|
|
79
158
|
// React.forwardRef and React.memo callbacks are component definitions, treat as top-level
|
|
80
|
-
return isReactComponentHOC(
|
|
159
|
+
return isReactComponentHOC(functionParent);
|
|
81
160
|
}
|
|
82
161
|
// Not inside a call expression, so it's a top-level component
|
|
83
162
|
return true;
|
|
@@ -88,9 +167,10 @@ function isTopLevelReturn(node) {
|
|
|
88
167
|
// Handle arrow function direct return: () => <div>
|
|
89
168
|
if (parent.type === "ArrowFunctionExpression") {
|
|
90
169
|
// Check if this arrow function is inside a call expression
|
|
91
|
-
|
|
170
|
+
const functionParent = ascendPastWrappers(parent.parent);
|
|
171
|
+
if (functionParent?.type === "CallExpression") {
|
|
92
172
|
// React.forwardRef and React.memo callbacks are component definitions, treat as top-level
|
|
93
|
-
return isReactComponentHOC(
|
|
173
|
+
return isReactComponentHOC(functionParent);
|
|
94
174
|
}
|
|
95
175
|
// Not inside a call expression, so it's a top-level component
|
|
96
176
|
return true;
|
|
@@ -197,6 +277,10 @@ const requireReactComponentKeys = {
|
|
|
197
277
|
// Skip key requirement for JSX passed as props
|
|
198
278
|
if (isJSXPropValue(node))
|
|
199
279
|
return;
|
|
280
|
+
// Skip key requirement for elements in conditional/logical expressions as JSX children
|
|
281
|
+
// Example: <div>{cond ? <A/> : <B/>}</div> - A and B don't need keys
|
|
282
|
+
if (isInConditionalJSXChild(node))
|
|
283
|
+
return;
|
|
200
284
|
// Fragments always need keys when not top-level
|
|
201
285
|
if (node.type === "JSXFragment") {
|
|
202
286
|
context.report({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-react-component-keys.js","sourceRoot":"","sources":["../../src/rules/require-react-component-keys.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,eAAe,GAA0B;IAC9C,aAAa,EAAE,KAAK;IACpB,qBAAqB,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CAC9D,CAAC;AAEF;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAyB;IACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,QAAiC;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,kDAAkD;IAClD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;IAC/D,CAAC;IAED,8DAA8D;IAC9D,IACC,MAAM,CAAC,IAAI,KAAK,kBAAkB;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;QAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EACpC,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;IACjF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,IAAgD;IACzE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"require-react-component-keys.js","sourceRoot":"","sources":["../../src/rules/require-react-component-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,98 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TSESTree } from "@typescript-eslint/types";
|
|
2
|
+
import type { Rule, Scope } from "eslint";
|
|
3
|
+
/**
|
|
4
|
+
* Stable result configuration.
|
|
5
|
+
*/
|
|
6
|
+
type StableResult = boolean | ReadonlySet<number> | ReadonlySet<string>;
|
|
7
|
+
declare function resetTestingMetrics(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Minimal definition information used for stability analysis.
|
|
10
|
+
*/
|
|
11
|
+
interface VariableDefinitionLike {
|
|
12
|
+
readonly node: TSESTree.Node | Rule.Node;
|
|
13
|
+
readonly type: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Minimal variable interface compatible with ESLint scope variables.
|
|
17
|
+
*/
|
|
18
|
+
interface VariableLike {
|
|
19
|
+
readonly defs: ReadonlyArray<VariableDefinitionLike>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Capture information from closure analysis.
|
|
23
|
+
*/
|
|
24
|
+
interface CaptureInfo {
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly node: TSESTree.Node;
|
|
27
|
+
readonly usagePath: string;
|
|
28
|
+
readonly variable: VariableLike | undefined;
|
|
29
|
+
readonly depth: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Checks if a stable array index is being accessed.
|
|
33
|
+
*
|
|
34
|
+
* @param stableResult - The stable result set.
|
|
35
|
+
* @param node - The variable declarator node.
|
|
36
|
+
* @param identifierName - The identifier name being accessed.
|
|
37
|
+
* @returns True if accessing a stable array index.
|
|
38
|
+
*/
|
|
39
|
+
declare function isStableArrayIndex(stableResult: StableResult | undefined, node: Scope.Definition["node"], identifierName: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Checks if a value is stable (doesn't need to be in dependencies).
|
|
42
|
+
*
|
|
43
|
+
* @param variable - The variable to check.
|
|
44
|
+
* @param identifierName - The identifier name being accessed.
|
|
45
|
+
* @param stableHooks - Map of stable hooks.
|
|
46
|
+
* @returns True if the value is stable.
|
|
47
|
+
*/
|
|
48
|
+
declare function isStableValue(variable: VariableLike | undefined, identifierName: string, stableHooks: Map<string, StableResult>): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Checks if an identifier is in a TypeScript type-only position.
|
|
51
|
+
* Type parameters and type annotations are compile-time only and should not be dependencies.
|
|
52
|
+
*
|
|
53
|
+
* @param identifier - The identifier node to check.
|
|
54
|
+
* @returns True if the identifier is in a type-only position.
|
|
55
|
+
*/
|
|
56
|
+
declare function isInTypePosition(identifier: TSESTree.Identifier): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Checks if a variable is declared directly in the component/hook body OR is a prop (parameter).
|
|
59
|
+
* Per React rules, only variables "declared directly inside the component body" are reactive.
|
|
60
|
+
* This includes props (function parameters).
|
|
61
|
+
* Variables from outer scopes (module-level, parent functions) are non-reactive.
|
|
62
|
+
*
|
|
63
|
+
* @param variable - The variable to check.
|
|
64
|
+
* @param closureNode - The closure node (useEffect callback, etc.).
|
|
65
|
+
* @returns True if the variable is declared in the component body or is a prop.
|
|
66
|
+
*/
|
|
67
|
+
declare function isDeclaredInComponentBody(variable: VariableLike, closureNode: TSESTree.Node): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Collects all captured identifiers from a closure.
|
|
70
|
+
*
|
|
71
|
+
* @param node - The closure node (function/arrow function).
|
|
72
|
+
* @param scope - The scope of the closure.
|
|
73
|
+
* @param sourceCode - The source code instance.
|
|
74
|
+
* @returns Array of captured identifiers.
|
|
75
|
+
*/
|
|
76
|
+
declare function collectCaptures(node: TSESTree.Node, scope: Scope.Scope, sourceCode: Rule.RuleContext["sourceCode"]): CaptureInfo[];
|
|
77
|
+
/**
|
|
78
|
+
* Converts stableResult configuration to internal format.
|
|
79
|
+
*
|
|
80
|
+
* @param stableResult - The stable result configuration.
|
|
81
|
+
* @returns The internal stable result format.
|
|
82
|
+
*/
|
|
83
|
+
declare function convertStableResult(stableResult: boolean | number | ReadonlyArray<number> | ReadonlyArray<string>): StableResult;
|
|
2
84
|
declare const useExhaustiveDependencies: Rule.RuleModule;
|
|
85
|
+
export declare const __testing: {
|
|
86
|
+
collectCaptures: typeof collectCaptures;
|
|
87
|
+
convertStableResult: typeof convertStableResult;
|
|
88
|
+
isDeclaredInComponentBody: typeof isDeclaredInComponentBody;
|
|
89
|
+
isInTypePosition: typeof isInTypePosition;
|
|
90
|
+
isStableArrayIndex: typeof isStableArrayIndex;
|
|
91
|
+
isStableValue: typeof isStableValue;
|
|
92
|
+
metrics: {
|
|
93
|
+
moduleLevelStableConst: number;
|
|
94
|
+
outerScopeSkip: number;
|
|
95
|
+
};
|
|
96
|
+
resetMetrics: typeof resetTestingMetrics;
|
|
97
|
+
};
|
|
3
98
|
export default useExhaustiveDependencies;
|
|
@@ -4,6 +4,19 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
6
6
|
/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
9
|
+
/**
|
|
10
|
+
* Internal metrics used for testing to ensure specific branches execute.
|
|
11
|
+
*/
|
|
12
|
+
const testingMetrics = {
|
|
13
|
+
moduleLevelStableConst: 0,
|
|
14
|
+
outerScopeSkip: 0,
|
|
15
|
+
};
|
|
16
|
+
function resetTestingMetrics() {
|
|
17
|
+
testingMetrics.moduleLevelStableConst = 0;
|
|
18
|
+
testingMetrics.outerScopeSkip = 0;
|
|
19
|
+
}
|
|
7
20
|
/**
|
|
8
21
|
* Default hooks to check for exhaustive dependencies.
|
|
9
22
|
*/
|
|
@@ -14,6 +27,12 @@ const DEFAULT_HOOKS = new Map([
|
|
|
14
27
|
["useCallback", { closureIndex: 0, dependenciesIndex: 1 }],
|
|
15
28
|
["useMemo", { closureIndex: 0, dependenciesIndex: 1 }],
|
|
16
29
|
["useImperativeHandle", { closureIndex: 1, dependenciesIndex: 2 }],
|
|
30
|
+
// React Spring hooks (function factory pattern)
|
|
31
|
+
// Note: These hooks support both function and object patterns.
|
|
32
|
+
// Only the function pattern is analyzed for dependencies.
|
|
33
|
+
["useSpring", { closureIndex: 0, dependenciesIndex: 1 }],
|
|
34
|
+
["useSprings", { closureIndex: 1, dependenciesIndex: 2 }],
|
|
35
|
+
["useTrail", { closureIndex: 1, dependenciesIndex: 2 }],
|
|
17
36
|
]);
|
|
18
37
|
/**
|
|
19
38
|
* Hooks with stable results that don't need to be in dependencies.
|
|
@@ -266,6 +285,7 @@ function isStableValue(variable, identifierName, stableHooks) {
|
|
|
266
285
|
const declParent = varDef.node.parent?.parent;
|
|
267
286
|
// Module-level (Program or ExportNamedDeclaration)
|
|
268
287
|
if (declParent && (declParent.type === "Program" || declParent.type === "ExportNamedDeclaration")) {
|
|
288
|
+
testingMetrics.moduleLevelStableConst += 1;
|
|
269
289
|
return true;
|
|
270
290
|
}
|
|
271
291
|
}
|
|
@@ -358,6 +378,41 @@ function isDeclaredInComponentBody(variable, closureNode) {
|
|
|
358
378
|
}
|
|
359
379
|
return false;
|
|
360
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* Resolves an identifier to its function definition if it references a function.
|
|
383
|
+
*
|
|
384
|
+
* @param identifier - The identifier node.
|
|
385
|
+
* @param scope - The scope to search in.
|
|
386
|
+
* @returns The function node if found, undefined otherwise.
|
|
387
|
+
*/
|
|
388
|
+
function resolveFunctionReference(identifier, scope) {
|
|
389
|
+
// Look up the variable in the scope chain
|
|
390
|
+
let variable;
|
|
391
|
+
let currentScope = scope;
|
|
392
|
+
while (currentScope) {
|
|
393
|
+
variable = currentScope.set.get(identifier.name);
|
|
394
|
+
if (variable)
|
|
395
|
+
break;
|
|
396
|
+
currentScope = currentScope.upper;
|
|
397
|
+
}
|
|
398
|
+
if (!variable || variable.defs.length === 0)
|
|
399
|
+
return undefined;
|
|
400
|
+
// Check all definitions for a function
|
|
401
|
+
for (const def of variable.defs) {
|
|
402
|
+
const { node } = def;
|
|
403
|
+
// Direct function declaration
|
|
404
|
+
if (node.type === "FunctionDeclaration") {
|
|
405
|
+
return node;
|
|
406
|
+
}
|
|
407
|
+
// Variable declarator with function initializer
|
|
408
|
+
if (node.type === "VariableDeclarator" &&
|
|
409
|
+
node.init &&
|
|
410
|
+
(node.init.type === "ArrowFunctionExpression" || node.init.type === "FunctionExpression")) {
|
|
411
|
+
return node.init;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
return undefined;
|
|
415
|
+
}
|
|
361
416
|
/**
|
|
362
417
|
* Collects all captured identifiers from a closure.
|
|
363
418
|
*
|
|
@@ -411,6 +466,7 @@ function collectCaptures(node, scope, sourceCode) {
|
|
|
411
466
|
// Per React rules, only "variables declared directly inside the component body" are reactive
|
|
412
467
|
// Variables from outer scopes (module-level, parent functions) are non-reactive and stable
|
|
413
468
|
if (!isDeclaredInComponentBody(variable, node)) {
|
|
469
|
+
testingMetrics.outerScopeSkip += 1;
|
|
414
470
|
return; // From outer scope - skip
|
|
415
471
|
}
|
|
416
472
|
captureSet.add(name);
|
|
@@ -421,11 +477,19 @@ function collectCaptures(node, scope, sourceCode) {
|
|
|
421
477
|
name,
|
|
422
478
|
node: depthNode,
|
|
423
479
|
usagePath,
|
|
424
|
-
variable,
|
|
480
|
+
variable: variable,
|
|
425
481
|
});
|
|
426
482
|
}
|
|
427
483
|
}
|
|
428
484
|
}
|
|
485
|
+
// Unwrap TypeScript type expressions to visit the actual expression
|
|
486
|
+
if (current.type === "TSSatisfiesExpression" ||
|
|
487
|
+
current.type === "TSAsExpression" ||
|
|
488
|
+
current.type === "TSTypeAssertion" ||
|
|
489
|
+
current.type === "TSNonNullExpression") {
|
|
490
|
+
visit(current.expression);
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
429
493
|
// Traverse member expressions
|
|
430
494
|
if (current.type === "MemberExpression") {
|
|
431
495
|
visit(current.object);
|
|
@@ -577,25 +641,49 @@ const useExhaustiveDependencies = {
|
|
|
577
641
|
const closureArg = args[closureIndex];
|
|
578
642
|
if (!closureArg)
|
|
579
643
|
return;
|
|
580
|
-
//
|
|
581
|
-
|
|
582
|
-
|
|
644
|
+
// Resolve the actual closure function (handles both inline and reference cases)
|
|
645
|
+
let closureFunction;
|
|
646
|
+
if (closureArg.type === "ArrowFunctionExpression" || closureArg.type === "FunctionExpression") {
|
|
647
|
+
// Inline function
|
|
648
|
+
closureFunction = closureArg;
|
|
649
|
+
}
|
|
650
|
+
else if (closureArg.type === "Identifier") {
|
|
651
|
+
// Function reference - try to resolve it
|
|
652
|
+
const scope = getScope(callNode);
|
|
653
|
+
closureFunction = resolveFunctionReference(closureArg, scope);
|
|
583
654
|
}
|
|
655
|
+
// Early exit: check if we have a valid closure function
|
|
656
|
+
if (!closureFunction)
|
|
657
|
+
return;
|
|
584
658
|
// Get dependencies argument
|
|
585
659
|
const depsArg = args[dependenciesIndex];
|
|
586
660
|
// Report missing dependencies array if configured
|
|
587
661
|
if (!depsArg && options.reportMissingDependenciesArray) {
|
|
588
662
|
// Collect captures to see if any are needed
|
|
589
|
-
const scope = getScope(
|
|
590
|
-
const captures = collectCaptures(
|
|
663
|
+
const scope = getScope(closureFunction);
|
|
664
|
+
const captures = collectCaptures(closureFunction, scope, context.sourceCode);
|
|
591
665
|
// Filter out stable values
|
|
592
666
|
const requiredCaptures = captures.filter((capture) => !isStableValue(capture.variable, capture.name, stableHooks));
|
|
593
667
|
if (requiredCaptures.length > 0) {
|
|
594
668
|
const missingNames = Array.from(new Set(requiredCaptures.map((c) => c.name))).join(", ");
|
|
669
|
+
// Generate fix suggestion - add dependencies array
|
|
670
|
+
const usagePaths = requiredCaptures.map((c) => c.usagePath);
|
|
671
|
+
const uniqueDeps = Array.from(new Set(usagePaths)).toSorted();
|
|
672
|
+
const depsArrayString = `[${uniqueDeps.join(", ")}]`;
|
|
595
673
|
context.report({
|
|
596
674
|
data: { deps: missingNames },
|
|
597
675
|
messageId: "missingDependenciesArray",
|
|
598
676
|
node: callNode,
|
|
677
|
+
suggest: [
|
|
678
|
+
{
|
|
679
|
+
desc: `Add dependencies array: ${depsArrayString}`,
|
|
680
|
+
fix(fixer) {
|
|
681
|
+
// Insert the dependencies array after the closure argument
|
|
682
|
+
const closureArgNode = args[closureIndex];
|
|
683
|
+
return fixer.insertTextAfter(closureArgNode, `, ${depsArrayString}`);
|
|
684
|
+
},
|
|
685
|
+
},
|
|
686
|
+
],
|
|
599
687
|
});
|
|
600
688
|
}
|
|
601
689
|
return;
|
|
@@ -608,8 +696,8 @@ const useExhaustiveDependencies = {
|
|
|
608
696
|
return;
|
|
609
697
|
const depsArray = depsArg;
|
|
610
698
|
// Collect captures from closure
|
|
611
|
-
const scope = getScope(
|
|
612
|
-
const captures = collectCaptures(
|
|
699
|
+
const scope = getScope(closureFunction);
|
|
700
|
+
const captures = collectCaptures(closureFunction, scope, context.sourceCode);
|
|
613
701
|
// Parse dependencies array
|
|
614
702
|
const dependencies = parseDependencies(depsArray, context.sourceCode);
|
|
615
703
|
// Check for unnecessary dependencies first (for consistent error ordering)
|
|
@@ -623,10 +711,21 @@ const useExhaustiveDependencies = {
|
|
|
623
711
|
// If no captures use this identifier at all, it's unnecessary
|
|
624
712
|
if (matchingCaptures.length === 0) {
|
|
625
713
|
if (options.reportUnnecessaryDependencies) {
|
|
714
|
+
// Generate fix suggestion
|
|
715
|
+
const newDeps = dependencies.filter((d) => d.name !== dep.name).map((d) => d.name);
|
|
716
|
+
const newDepsString = `[${newDeps.join(", ")}]`;
|
|
626
717
|
context.report({
|
|
627
718
|
data: { name: dep.name },
|
|
628
719
|
messageId: "unnecessaryDependency",
|
|
629
720
|
node: dep.node,
|
|
721
|
+
suggest: [
|
|
722
|
+
{
|
|
723
|
+
desc: `Remove '${dep.name}' from dependencies array`,
|
|
724
|
+
fix(fixer) {
|
|
725
|
+
return fixer.replaceText(depsArray, newDepsString);
|
|
726
|
+
},
|
|
727
|
+
},
|
|
728
|
+
],
|
|
630
729
|
});
|
|
631
730
|
}
|
|
632
731
|
continue;
|
|
@@ -635,10 +734,21 @@ const useExhaustiveDependencies = {
|
|
|
635
734
|
// dep.depth > all capture depths means the dep is too specific
|
|
636
735
|
const maxCaptureDepth = Math.max(...matchingCaptures.map((c) => c.depth));
|
|
637
736
|
if (dep.depth > maxCaptureDepth && options.reportUnnecessaryDependencies) {
|
|
737
|
+
// Generate fix suggestion
|
|
738
|
+
const newDeps = dependencies.filter((d) => d.name !== dep.name).map((d) => d.name);
|
|
739
|
+
const newDepsString = `[${newDeps.join(", ")}]`;
|
|
638
740
|
context.report({
|
|
639
741
|
data: { name: dep.name },
|
|
640
742
|
messageId: "unnecessaryDependency",
|
|
641
743
|
node: dep.node,
|
|
744
|
+
suggest: [
|
|
745
|
+
{
|
|
746
|
+
desc: `Remove '${dep.name}' from dependencies array`,
|
|
747
|
+
fix(fixer) {
|
|
748
|
+
return fixer.replaceText(depsArray, newDepsString);
|
|
749
|
+
},
|
|
750
|
+
},
|
|
751
|
+
],
|
|
642
752
|
});
|
|
643
753
|
}
|
|
644
754
|
}
|
|
@@ -664,11 +774,23 @@ const useExhaustiveDependencies = {
|
|
|
664
774
|
}
|
|
665
775
|
if (!isInDeps) {
|
|
666
776
|
// Report on the last dependency in the array for better error positioning
|
|
667
|
-
const lastDep = dependencies
|
|
777
|
+
const lastDep = dependencies.at(-1);
|
|
778
|
+
// Generate fix suggestion
|
|
779
|
+
const depNames = dependencies.map((d) => d.name);
|
|
780
|
+
const newDeps = [...depNames, capture.usagePath].toSorted();
|
|
781
|
+
const newDepsString = `[${newDeps.join(", ")}]`;
|
|
668
782
|
context.report({
|
|
669
783
|
data: { name: capture.usagePath },
|
|
670
784
|
messageId: "missingDependency",
|
|
671
785
|
node: lastDep?.node || depsArray,
|
|
786
|
+
suggest: [
|
|
787
|
+
{
|
|
788
|
+
desc: `Add '${capture.usagePath}' to dependencies array`,
|
|
789
|
+
fix(fixer) {
|
|
790
|
+
return fixer.replaceText(depsArray, newDepsString);
|
|
791
|
+
},
|
|
792
|
+
},
|
|
793
|
+
],
|
|
672
794
|
});
|
|
673
795
|
}
|
|
674
796
|
}
|
|
@@ -689,7 +811,9 @@ const useExhaustiveDependencies = {
|
|
|
689
811
|
const isDirectIdentifier = dep.depth === 0;
|
|
690
812
|
if (isMatch && isDirectIdentifier) {
|
|
691
813
|
const def = capture.variable?.defs[0];
|
|
692
|
-
const initNode = def?.node.type === "VariableDeclarator"
|
|
814
|
+
const initNode = def?.node.type === "VariableDeclarator"
|
|
815
|
+
? (def.node.init ?? undefined)
|
|
816
|
+
: undefined;
|
|
693
817
|
if (isUnstableValue(initNode)) {
|
|
694
818
|
context.report({
|
|
695
819
|
data: { name: capture.usagePath },
|
|
@@ -713,6 +837,7 @@ const useExhaustiveDependencies = {
|
|
|
713
837
|
url: "https://biomejs.dev/linter/rules/use-exhaustive-dependencies/",
|
|
714
838
|
},
|
|
715
839
|
fixable: "code",
|
|
840
|
+
hasSuggestions: true,
|
|
716
841
|
messages: {
|
|
717
842
|
missingDependenciesArray: "This hook does not specify its dependencies array. Missing: {{deps}}",
|
|
718
843
|
missingDependency: "This hook does not specify its dependency on {{name}}.",
|
|
@@ -772,5 +897,15 @@ const useExhaustiveDependencies = {
|
|
|
772
897
|
type: "problem",
|
|
773
898
|
},
|
|
774
899
|
};
|
|
900
|
+
export const __testing = {
|
|
901
|
+
collectCaptures,
|
|
902
|
+
convertStableResult,
|
|
903
|
+
isDeclaredInComponentBody,
|
|
904
|
+
isInTypePosition,
|
|
905
|
+
isStableArrayIndex,
|
|
906
|
+
isStableValue,
|
|
907
|
+
metrics: testingMetrics,
|
|
908
|
+
resetMetrics: resetTestingMetrics,
|
|
909
|
+
};
|
|
775
910
|
export default useExhaustiveDependencies;
|
|
776
911
|
//# sourceMappingURL=use-exhaustive-dependencies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-exhaustive-dependencies.js","sourceRoot":"","sources":["../../src/rules/use-exhaustive-dependencies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-exhaustive-dependencies.js","sourceRoot":"","sources":["../../src/rules/use-exhaustive-dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,7 +135,7 @@ const useHookAtTopLevel = {
|
|
|
135
135
|
* @returns The current context or undefined if not in a component/hook.
|
|
136
136
|
*/
|
|
137
137
|
function getCurrentContext() {
|
|
138
|
-
return contextStack.length > 0 ? contextStack
|
|
138
|
+
return contextStack.length > 0 ? contextStack.at(-1) : undefined;
|
|
139
139
|
}
|
|
140
140
|
/**
|
|
141
141
|
* Pushes a new context onto the stack.
|
|
@@ -216,82 +216,8 @@ const useHookAtTopLevel = {
|
|
|
216
216
|
currentFunctionName = undefined;
|
|
217
217
|
}
|
|
218
218
|
return {
|
|
219
|
-
// Function entry
|
|
220
|
-
FunctionDeclaration: handleFunctionEnter,
|
|
221
|
-
FunctionExpression: handleFunctionEnter,
|
|
222
219
|
ArrowFunctionExpression: handleFunctionEnter,
|
|
223
|
-
// Function exit
|
|
224
|
-
"FunctionDeclaration:exit": handleFunctionExit,
|
|
225
|
-
"FunctionExpression:exit": handleFunctionExit,
|
|
226
220
|
"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
221
|
// Hook calls
|
|
296
222
|
CallExpression(node) {
|
|
297
223
|
const callNode = node;
|
|
@@ -356,6 +282,80 @@ const useHookAtTopLevel = {
|
|
|
356
282
|
});
|
|
357
283
|
}
|
|
358
284
|
},
|
|
285
|
+
ConditionalExpression() {
|
|
286
|
+
updateContext({ inConditional: true });
|
|
287
|
+
},
|
|
288
|
+
"ConditionalExpression:exit"() {
|
|
289
|
+
updateContext({ inConditional: false });
|
|
290
|
+
},
|
|
291
|
+
DoWhileStatement() {
|
|
292
|
+
updateContext({ inLoop: true });
|
|
293
|
+
},
|
|
294
|
+
"DoWhileStatement:exit"() {
|
|
295
|
+
updateContext({ inLoop: false });
|
|
296
|
+
},
|
|
297
|
+
ForInStatement() {
|
|
298
|
+
updateContext({ inLoop: true });
|
|
299
|
+
},
|
|
300
|
+
"ForInStatement:exit"() {
|
|
301
|
+
updateContext({ inLoop: false });
|
|
302
|
+
},
|
|
303
|
+
ForOfStatement() {
|
|
304
|
+
updateContext({ inLoop: true });
|
|
305
|
+
},
|
|
306
|
+
"ForOfStatement:exit"() {
|
|
307
|
+
updateContext({ inLoop: false });
|
|
308
|
+
},
|
|
309
|
+
// Loops
|
|
310
|
+
ForStatement() {
|
|
311
|
+
updateContext({ inLoop: true });
|
|
312
|
+
},
|
|
313
|
+
"ForStatement:exit"() {
|
|
314
|
+
updateContext({ inLoop: false });
|
|
315
|
+
},
|
|
316
|
+
// Function entry
|
|
317
|
+
FunctionDeclaration: handleFunctionEnter,
|
|
318
|
+
// Function exit
|
|
319
|
+
"FunctionDeclaration:exit": handleFunctionExit,
|
|
320
|
+
FunctionExpression: handleFunctionEnter,
|
|
321
|
+
"FunctionExpression:exit": handleFunctionExit,
|
|
322
|
+
// Conditional statements
|
|
323
|
+
IfStatement() {
|
|
324
|
+
updateContext({ inConditional: true });
|
|
325
|
+
},
|
|
326
|
+
"IfStatement:exit"() {
|
|
327
|
+
updateContext({ inConditional: false });
|
|
328
|
+
},
|
|
329
|
+
LogicalExpression() {
|
|
330
|
+
updateContext({ inConditional: true });
|
|
331
|
+
},
|
|
332
|
+
"LogicalExpression:exit"() {
|
|
333
|
+
updateContext({ inConditional: false });
|
|
334
|
+
},
|
|
335
|
+
// Early returns - set flag on exit so hooks IN the return expression aren't flagged
|
|
336
|
+
"ReturnStatement:exit"() {
|
|
337
|
+
updateContext({ afterEarlyReturn: true });
|
|
338
|
+
},
|
|
339
|
+
SwitchStatement() {
|
|
340
|
+
updateContext({ inConditional: true });
|
|
341
|
+
},
|
|
342
|
+
"SwitchStatement:exit"() {
|
|
343
|
+
updateContext({ inConditional: false });
|
|
344
|
+
},
|
|
345
|
+
// Try blocks
|
|
346
|
+
TryStatement() {
|
|
347
|
+
// Mark entering try block (but not finally)
|
|
348
|
+
updateContext({ inTryBlock: true });
|
|
349
|
+
},
|
|
350
|
+
"TryStatement:exit"() {
|
|
351
|
+
updateContext({ inTryBlock: false });
|
|
352
|
+
},
|
|
353
|
+
WhileStatement() {
|
|
354
|
+
updateContext({ inLoop: true });
|
|
355
|
+
},
|
|
356
|
+
"WhileStatement:exit"() {
|
|
357
|
+
updateContext({ inLoop: false });
|
|
358
|
+
},
|
|
359
359
|
};
|
|
360
360
|
},
|
|
361
361
|
meta: {
|
|
@@ -1 +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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
|
|
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
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"author": "HowManySmall",
|
|
3
3
|
"description": "A bunch of lints to prevent idiot mistakes I encounter with frequency.",
|
|
4
4
|
"devDependencies": {
|
|
5
|
-
"@biomejs/biome": "^2.2.
|
|
5
|
+
"@biomejs/biome": "^2.2.6",
|
|
6
6
|
"@mitata/counters": "^0.0.8",
|
|
7
|
-
"@types/bun": "
|
|
7
|
+
"@types/bun": "latest",
|
|
8
8
|
"@types/node": "^20.14.11",
|
|
9
9
|
"@typescript-eslint/parser": "^8.0.0",
|
|
10
10
|
"@typescript-eslint/types": "^8.0.0",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"jiti": "^2.4.2",
|
|
14
14
|
"knip": "^5.63.1",
|
|
15
15
|
"mitata": "^1.0.34",
|
|
16
|
-
"oxlint": "^1.
|
|
16
|
+
"oxlint": "^1.23.0",
|
|
17
17
|
"oxlint-tsgolint": "^0.2.0",
|
|
18
18
|
"typescript": "^5.6.3"
|
|
19
19
|
},
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"sideEffects": false,
|
|
61
61
|
"type": "module",
|
|
62
62
|
"types": "./dist/index.d.ts",
|
|
63
|
-
"version": "0.4.
|
|
63
|
+
"version": "0.4.2"
|
|
64
64
|
}
|