@pobammer-ts/eslint-cease-nonsense-rules 0.4.2 → 0.4.3
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.ts +39 -3
- package/dist/index.js.map +1 -1
- package/dist/rules/require-react-component-keys.d.ts +14 -2
- package/dist/rules/require-react-component-keys.js +126 -6
- package/dist/rules/require-react-component-keys.js.map +1 -1
- package/dist/rules/use-exhaustive-dependencies.d.ts +2 -2
- package/dist/rules/use-exhaustive-dependencies.js +101 -129
- package/dist/rules/use-exhaustive-dependencies.js.map +1 -1
- package/dist/rules/use-hook-at-top-level.js +13 -15
- package/dist/rules/use-hook-at-top-level.js.map +1 -1
- package/dist/stricty +3303 -0
- package/package.json +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TSESTree } from "@typescript-eslint/types";
|
|
1
2
|
/**
|
|
2
3
|
* Pre-compiled regex for hook name detection (performance optimization).
|
|
3
4
|
*/
|
|
@@ -68,15 +69,18 @@ function isComponentOrHook(node) {
|
|
|
68
69
|
function isHookCall(node) {
|
|
69
70
|
const { callee } = node;
|
|
70
71
|
// Direct call: useEffect(...)
|
|
71
|
-
if (callee.type === "Identifier")
|
|
72
|
+
if (callee.type === "Identifier")
|
|
72
73
|
return isReactHook(callee.name);
|
|
73
|
-
}
|
|
74
74
|
// Member expression: React.useEffect(...)
|
|
75
|
-
if (callee.type === "MemberExpression" && callee.property.type === "Identifier")
|
|
75
|
+
if (callee.type === "MemberExpression" && callee.property.type === "Identifier")
|
|
76
76
|
return isReactHook(callee.property.name);
|
|
77
|
-
}
|
|
78
77
|
return false;
|
|
79
78
|
}
|
|
79
|
+
const FUNCTION_BOUNDARIES = new Set([
|
|
80
|
+
TSESTree.AST_NODE_TYPES.FunctionDeclaration,
|
|
81
|
+
TSESTree.AST_NODE_TYPES.FunctionExpression,
|
|
82
|
+
TSESTree.AST_NODE_TYPES.ArrowFunctionExpression,
|
|
83
|
+
]);
|
|
80
84
|
/**
|
|
81
85
|
* Checks if a node is inside a finally block.
|
|
82
86
|
*
|
|
@@ -88,11 +92,8 @@ function isInFinallyBlock(node) {
|
|
|
88
92
|
const maxDepth = 20;
|
|
89
93
|
for (let depth = 0; depth < maxDepth && current; depth++) {
|
|
90
94
|
// Stop at function boundaries
|
|
91
|
-
if (current.type
|
|
92
|
-
current.type === "FunctionExpression" ||
|
|
93
|
-
current.type === "ArrowFunctionExpression") {
|
|
95
|
+
if (FUNCTION_BOUNDARIES.has(current.type))
|
|
94
96
|
return false;
|
|
95
|
-
}
|
|
96
97
|
// Found try statement - check if we're in the finalizer
|
|
97
98
|
if (current.type === "TryStatement") {
|
|
98
99
|
// Walk back down to see which block we're in
|
|
@@ -119,15 +120,14 @@ function isRecursiveCall(node, functionName) {
|
|
|
119
120
|
if (!functionName)
|
|
120
121
|
return false;
|
|
121
122
|
const { callee } = node;
|
|
122
|
-
if (callee.type === "Identifier")
|
|
123
|
+
if (callee.type === "Identifier")
|
|
123
124
|
return callee.name === functionName;
|
|
124
|
-
}
|
|
125
125
|
return false;
|
|
126
126
|
}
|
|
127
127
|
const useHookAtTopLevel = {
|
|
128
128
|
create(context) {
|
|
129
129
|
// Context stack for tracking control flow
|
|
130
|
-
const contextStack =
|
|
130
|
+
const contextStack = new Array();
|
|
131
131
|
let currentFunctionName;
|
|
132
132
|
/**
|
|
133
133
|
* Gets the current control flow context.
|
|
@@ -177,9 +177,8 @@ const useHookAtTopLevel = {
|
|
|
177
177
|
// Check if this is a component or hook
|
|
178
178
|
const isComp = isComponentOrHook(funcNode);
|
|
179
179
|
// Store function name for recursion detection
|
|
180
|
-
if (funcNode.type === "FunctionDeclaration" && funcNode.id)
|
|
180
|
+
if (funcNode.type === "FunctionDeclaration" && funcNode.id)
|
|
181
181
|
currentFunctionName = funcNode.id.name;
|
|
182
|
-
}
|
|
183
182
|
// If we're already inside a component/hook, this is a nested function
|
|
184
183
|
if (current?.isComponentOrHook) {
|
|
185
184
|
pushContext({
|
|
@@ -210,9 +209,8 @@ const useHookAtTopLevel = {
|
|
|
210
209
|
*/
|
|
211
210
|
function handleFunctionExit() {
|
|
212
211
|
const current = getCurrentContext();
|
|
213
|
-
if (current)
|
|
212
|
+
if (current)
|
|
214
213
|
popContext();
|
|
215
|
-
}
|
|
216
214
|
currentFunctionName = undefined;
|
|
217
215
|
}
|
|
218
216
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-hook-at-top-level.js","sourceRoot":"","sources":["../../src/rules/use-hook-at-top-level.ts"],"names":[],"mappings":"
|
|
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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"}
|