@pobammer-ts/eslint-cease-nonsense-rules 0.4.2 → 0.4.4
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 +4 -1
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { TSESTree } from "@typescript-eslint/types";
|
|
2
|
+
import * as S from "sury";
|
|
3
|
+
const FUNCTION_DECLARATIONS = new Set([
|
|
4
|
+
TSESTree.AST_NODE_TYPES.FunctionExpression,
|
|
5
|
+
TSESTree.AST_NODE_TYPES.ArrowFunctionExpression,
|
|
6
|
+
TSESTree.AST_NODE_TYPES.FunctionDeclaration,
|
|
7
|
+
]);
|
|
8
|
+
const UNSTABLE_VALUES = new Set([
|
|
9
|
+
...FUNCTION_DECLARATIONS,
|
|
10
|
+
TSESTree.AST_NODE_TYPES.ObjectExpression,
|
|
11
|
+
TSESTree.AST_NODE_TYPES.ArrayExpression,
|
|
12
|
+
]);
|
|
9
13
|
/**
|
|
10
14
|
* Internal metrics used for testing to ensure specific branches execute.
|
|
11
15
|
*/
|
|
@@ -146,7 +150,7 @@ function getMemberExpressionDepth(node) {
|
|
|
146
150
|
let depth = 0;
|
|
147
151
|
let current = node;
|
|
148
152
|
while (current.type === "MemberExpression") {
|
|
149
|
-
depth
|
|
153
|
+
depth += 1;
|
|
150
154
|
current = current.object;
|
|
151
155
|
}
|
|
152
156
|
return depth;
|
|
@@ -159,9 +163,8 @@ function getMemberExpressionDepth(node) {
|
|
|
159
163
|
*/
|
|
160
164
|
function getRootIdentifier(node) {
|
|
161
165
|
let current = node;
|
|
162
|
-
while (current.type === "MemberExpression")
|
|
166
|
+
while (current.type === "MemberExpression")
|
|
163
167
|
current = current.object;
|
|
164
|
-
}
|
|
165
168
|
return current.type === "Identifier" ? current : undefined;
|
|
166
169
|
}
|
|
167
170
|
/**
|
|
@@ -185,15 +188,13 @@ function nodeToDependencyString(node, sourceCode) {
|
|
|
185
188
|
function isStableArrayIndex(stableResult, node, identifierName) {
|
|
186
189
|
if (!stableResult)
|
|
187
190
|
return false;
|
|
188
|
-
if (!(stableResult instanceof Set) || node.type !== "VariableDeclarator" || node.id.type !== "ArrayPattern")
|
|
191
|
+
if (!(stableResult instanceof Set) || node.type !== "VariableDeclarator" || node.id.type !== "ArrayPattern")
|
|
189
192
|
return false;
|
|
190
|
-
}
|
|
191
193
|
const elements = node.id.elements;
|
|
192
|
-
for (let
|
|
193
|
-
const element = elements[
|
|
194
|
-
if (element
|
|
195
|
-
return stableResult.has(
|
|
196
|
-
}
|
|
194
|
+
for (let index = 0; index < elements.length; index += 1) {
|
|
195
|
+
const element = elements[index];
|
|
196
|
+
if (element?.type === "Identifier" && element.name === identifierName)
|
|
197
|
+
return stableResult.has(index);
|
|
197
198
|
}
|
|
198
199
|
return false;
|
|
199
200
|
}
|
|
@@ -241,15 +242,13 @@ function isStableValue(variable, identifierName, stableHooks) {
|
|
|
241
242
|
// Check for const declarations with constant initializers
|
|
242
243
|
if (type === "Variable" && node.type === "VariableDeclarator") {
|
|
243
244
|
const parent = node.parent;
|
|
244
|
-
if (!parent || parent.type !== "VariableDeclaration" || parent.kind !== "const")
|
|
245
|
+
if (!parent || parent.type !== "VariableDeclaration" || parent.kind !== "const")
|
|
245
246
|
continue;
|
|
246
|
-
}
|
|
247
247
|
const { init } = node;
|
|
248
248
|
// Check if it's from a stable hook first
|
|
249
249
|
// @ts-expect-error - Type mismatch between ESLint and TypeScript AST types
|
|
250
|
-
if (init && isStableHookValue(init, node, identifierName, stableHooks))
|
|
250
|
+
if (init && isStableHookValue(init, node, identifierName, stableHooks))
|
|
251
251
|
return true;
|
|
252
|
-
}
|
|
253
252
|
// Check for React Lua bindings - bindings are always stable
|
|
254
253
|
if (init?.type === "CallExpression") {
|
|
255
254
|
const { callee } = init;
|
|
@@ -258,25 +257,21 @@ function isStableValue(variable, identifierName, stableHooks) {
|
|
|
258
257
|
callee.object.type === "Identifier" &&
|
|
259
258
|
callee.object.name === "React" &&
|
|
260
259
|
callee.property.type === "Identifier" &&
|
|
261
|
-
callee.property.name === "joinBindings")
|
|
260
|
+
callee.property.name === "joinBindings")
|
|
262
261
|
return true;
|
|
263
|
-
}
|
|
264
262
|
// .map() on bindings returns a stable binding
|
|
265
263
|
// This covers: binding.map(...), React.joinBindings(...).map(...), etc.
|
|
266
264
|
if (callee.type === "MemberExpression" &&
|
|
267
265
|
callee.property.type === "Identifier" &&
|
|
268
|
-
callee.property.name === "map")
|
|
266
|
+
callee.property.name === "map")
|
|
269
267
|
return true;
|
|
270
|
-
}
|
|
271
268
|
}
|
|
272
269
|
// Check for literal values FIRST (stable regardless of scope)
|
|
273
270
|
if (init) {
|
|
274
|
-
if (init.type === "Literal" || init.type === "TemplateLiteral")
|
|
271
|
+
if (init.type === "Literal" || init.type === "TemplateLiteral")
|
|
275
272
|
return true;
|
|
276
|
-
|
|
277
|
-
if (init.type === "UnaryExpression" && init.argument.type === "Literal") {
|
|
273
|
+
if (init.type === "UnaryExpression" && init.argument.type === "Literal")
|
|
278
274
|
return true;
|
|
279
|
-
}
|
|
280
275
|
}
|
|
281
276
|
// For non-literal constants, only module-level is stable
|
|
282
277
|
// Component-scoped non-literal constants are recreated on every render
|
|
@@ -309,6 +304,12 @@ function findTopmostMemberExpression(node) {
|
|
|
309
304
|
}
|
|
310
305
|
return current;
|
|
311
306
|
}
|
|
307
|
+
const IS_CEASE_BOUNDARY = new Set([
|
|
308
|
+
TSESTree.AST_NODE_TYPES.FunctionDeclaration,
|
|
309
|
+
TSESTree.AST_NODE_TYPES.FunctionExpression,
|
|
310
|
+
TSESTree.AST_NODE_TYPES.ArrowFunctionExpression,
|
|
311
|
+
TSESTree.AST_NODE_TYPES.VariableDeclarator,
|
|
312
|
+
]);
|
|
312
313
|
/**
|
|
313
314
|
* Checks if an identifier is in a TypeScript type-only position.
|
|
314
315
|
* Type parameters and type annotations are compile-time only and should not be dependencies.
|
|
@@ -320,16 +321,11 @@ function isInTypePosition(identifier) {
|
|
|
320
321
|
let parent = identifier.parent;
|
|
321
322
|
while (parent) {
|
|
322
323
|
// Any TypeScript-specific node indicates a type-only position
|
|
323
|
-
if (parent.type.startsWith("TS"))
|
|
324
|
+
if (parent.type.startsWith("TS"))
|
|
324
325
|
return true;
|
|
325
|
-
}
|
|
326
326
|
// Stop searching at certain boundaries
|
|
327
|
-
if (parent.type
|
|
328
|
-
parent.type === "FunctionExpression" ||
|
|
329
|
-
parent.type === "ArrowFunctionExpression" ||
|
|
330
|
-
parent.type === "VariableDeclarator") {
|
|
327
|
+
if (IS_CEASE_BOUNDARY.has(parent.type))
|
|
331
328
|
return false;
|
|
332
|
-
}
|
|
333
329
|
parent = parent.parent;
|
|
334
330
|
}
|
|
335
331
|
return false;
|
|
@@ -348,9 +344,7 @@ function isDeclaredInComponentBody(variable, closureNode) {
|
|
|
348
344
|
// Find the parent component/hook function
|
|
349
345
|
let parent = closureNode.parent;
|
|
350
346
|
while (parent) {
|
|
351
|
-
const isFunction = parent.type
|
|
352
|
-
parent.type === "FunctionExpression" ||
|
|
353
|
-
parent.type === "ArrowFunctionExpression";
|
|
347
|
+
const isFunction = FUNCTION_DECLARATIONS.has(parent.type);
|
|
354
348
|
if (isFunction) {
|
|
355
349
|
// Capture parent in a const so TypeScript understands it's stable in closures
|
|
356
350
|
const functionParent = parent;
|
|
@@ -362,15 +356,13 @@ function isDeclaredInComponentBody(variable, closureNode) {
|
|
|
362
356
|
// Just check if the definition's node is the current function parent
|
|
363
357
|
return def.node === functionParent;
|
|
364
358
|
});
|
|
365
|
-
if (isParameter)
|
|
359
|
+
if (isParameter)
|
|
366
360
|
return true; // Props are reactive
|
|
367
|
-
}
|
|
368
361
|
// Check if variable is defined inside this function
|
|
369
362
|
return variable.defs.some((def) => {
|
|
370
363
|
let node = def.node.parent;
|
|
371
|
-
while (node && node !== functionParent)
|
|
364
|
+
while (node && node !== functionParent)
|
|
372
365
|
node = node.parent;
|
|
373
|
-
}
|
|
374
366
|
return node === functionParent;
|
|
375
367
|
});
|
|
376
368
|
}
|
|
@@ -401,15 +393,13 @@ function resolveFunctionReference(identifier, scope) {
|
|
|
401
393
|
for (const def of variable.defs) {
|
|
402
394
|
const { node } = def;
|
|
403
395
|
// Direct function declaration
|
|
404
|
-
if (node.type === "FunctionDeclaration")
|
|
396
|
+
if (node.type === "FunctionDeclaration")
|
|
405
397
|
return node;
|
|
406
|
-
}
|
|
407
398
|
// Variable declarator with function initializer
|
|
408
399
|
if (node.type === "VariableDeclarator" &&
|
|
409
400
|
node.init &&
|
|
410
|
-
(node.init.type === "ArrowFunctionExpression" || node.init.type === "FunctionExpression"))
|
|
401
|
+
(node.init.type === "ArrowFunctionExpression" || node.init.type === "FunctionExpression"))
|
|
411
402
|
return node.init;
|
|
412
|
-
}
|
|
413
403
|
}
|
|
414
404
|
return undefined;
|
|
415
405
|
}
|
|
@@ -422,7 +412,7 @@ function resolveFunctionReference(identifier, scope) {
|
|
|
422
412
|
* @returns Array of captured identifiers.
|
|
423
413
|
*/
|
|
424
414
|
function collectCaptures(node, scope, sourceCode) {
|
|
425
|
-
const captures =
|
|
415
|
+
const captures = new Array();
|
|
426
416
|
const captureSet = new Set();
|
|
427
417
|
/**
|
|
428
418
|
* Recursively visits nodes to find identifier references.
|
|
@@ -493,9 +483,8 @@ function collectCaptures(node, scope, sourceCode) {
|
|
|
493
483
|
// Traverse member expressions
|
|
494
484
|
if (current.type === "MemberExpression") {
|
|
495
485
|
visit(current.object);
|
|
496
|
-
if (current.computed)
|
|
486
|
+
if (current.computed)
|
|
497
487
|
visit(current.property);
|
|
498
|
-
}
|
|
499
488
|
return;
|
|
500
489
|
}
|
|
501
490
|
// Visit children
|
|
@@ -503,15 +492,12 @@ function collectCaptures(node, scope, sourceCode) {
|
|
|
503
492
|
for (const key of keys) {
|
|
504
493
|
const value = current[key];
|
|
505
494
|
if (Array.isArray(value)) {
|
|
506
|
-
for (const item of value)
|
|
507
|
-
if (item && typeof item === "object" && "type" in item)
|
|
495
|
+
for (const item of value)
|
|
496
|
+
if (item && typeof item === "object" && "type" in item)
|
|
508
497
|
visit(item);
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
498
|
}
|
|
512
|
-
else if (value && typeof value === "object" && "type" in value)
|
|
499
|
+
else if (value && typeof value === "object" && "type" in value)
|
|
513
500
|
visit(value);
|
|
514
|
-
}
|
|
515
501
|
}
|
|
516
502
|
}
|
|
517
503
|
visit(node);
|
|
@@ -525,7 +511,7 @@ function collectCaptures(node, scope, sourceCode) {
|
|
|
525
511
|
* @returns Array of dependency information.
|
|
526
512
|
*/
|
|
527
513
|
function parseDependencies(node, sourceCode) {
|
|
528
|
-
const dependencies =
|
|
514
|
+
const dependencies = new Array();
|
|
529
515
|
for (const element of node.elements) {
|
|
530
516
|
if (!element || element.type === "SpreadElement")
|
|
531
517
|
continue;
|
|
@@ -546,23 +532,12 @@ function parseDependencies(node, sourceCode) {
|
|
|
546
532
|
* @returns True if the node is an unstable value.
|
|
547
533
|
*/
|
|
548
534
|
function isUnstableValue(node) {
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
return true;
|
|
556
|
-
}
|
|
557
|
-
// Object literals
|
|
558
|
-
if (node.type === "ObjectExpression") {
|
|
559
|
-
return true;
|
|
560
|
-
}
|
|
561
|
-
// Array literals
|
|
562
|
-
if (node.type === "ArrayExpression") {
|
|
563
|
-
return true;
|
|
564
|
-
}
|
|
565
|
-
return false;
|
|
535
|
+
return node ? UNSTABLE_VALUES.has(node.type) : false;
|
|
536
|
+
}
|
|
537
|
+
const isNumberArray = S.array(S.number);
|
|
538
|
+
const isStringArray = S.array(S.string);
|
|
539
|
+
function validate(validator, value) {
|
|
540
|
+
return S.safe(() => S.parseOrThrow(value, validator)).success;
|
|
566
541
|
}
|
|
567
542
|
/**
|
|
568
543
|
* Converts stableResult configuration to internal format.
|
|
@@ -575,12 +550,10 @@ function convertStableResult(stableResult) {
|
|
|
575
550
|
return stableResult;
|
|
576
551
|
if (typeof stableResult === "number")
|
|
577
552
|
return new Set([stableResult]);
|
|
578
|
-
if (
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
}
|
|
553
|
+
if (validate(isNumberArray, stableResult) && stableResult.length > 0)
|
|
554
|
+
return new Set(stableResult);
|
|
555
|
+
if (validate(isStringArray, stableResult) && stableResult.length > 0)
|
|
582
556
|
return new Set(stableResult);
|
|
583
|
-
}
|
|
584
557
|
return false;
|
|
585
558
|
}
|
|
586
559
|
const useExhaustiveDependencies = {
|
|
@@ -644,7 +617,6 @@ const useExhaustiveDependencies = {
|
|
|
644
617
|
// Resolve the actual closure function (handles both inline and reference cases)
|
|
645
618
|
let closureFunction;
|
|
646
619
|
if (closureArg.type === "ArrowFunctionExpression" || closureArg.type === "FunctionExpression") {
|
|
647
|
-
// Inline function
|
|
648
620
|
closureFunction = closureArg;
|
|
649
621
|
}
|
|
650
622
|
else if (closureArg.type === "Identifier") {
|
|
@@ -656,18 +628,18 @@ const useExhaustiveDependencies = {
|
|
|
656
628
|
if (!closureFunction)
|
|
657
629
|
return;
|
|
658
630
|
// Get dependencies argument
|
|
659
|
-
const
|
|
631
|
+
const dependenciesArgument = args[dependenciesIndex];
|
|
660
632
|
// Report missing dependencies array if configured
|
|
661
|
-
if (!
|
|
633
|
+
if (!dependenciesArgument && options.reportMissingDependenciesArray) {
|
|
662
634
|
// Collect captures to see if any are needed
|
|
663
635
|
const scope = getScope(closureFunction);
|
|
664
636
|
const captures = collectCaptures(closureFunction, scope, context.sourceCode);
|
|
665
637
|
// Filter out stable values
|
|
666
638
|
const requiredCaptures = captures.filter((capture) => !isStableValue(capture.variable, capture.name, stableHooks));
|
|
667
639
|
if (requiredCaptures.length > 0) {
|
|
668
|
-
const missingNames = Array.from(new Set(requiredCaptures.map((
|
|
640
|
+
const missingNames = Array.from(new Set(requiredCaptures.map(({ name }) => name))).join(", ");
|
|
669
641
|
// Generate fix suggestion - add dependencies array
|
|
670
|
-
const usagePaths = requiredCaptures.map((
|
|
642
|
+
const usagePaths = requiredCaptures.map(({ usagePath }) => usagePath);
|
|
671
643
|
const uniqueDeps = Array.from(new Set(usagePaths)).toSorted();
|
|
672
644
|
const depsArrayString = `[${uniqueDeps.join(", ")}]`;
|
|
673
645
|
context.report({
|
|
@@ -689,38 +661,38 @@ const useExhaustiveDependencies = {
|
|
|
689
661
|
return;
|
|
690
662
|
}
|
|
691
663
|
// Early exit: no dependencies array
|
|
692
|
-
if (!
|
|
664
|
+
if (!dependenciesArgument)
|
|
693
665
|
return;
|
|
694
666
|
// Dependencies must be an array
|
|
695
|
-
if (
|
|
667
|
+
if (dependenciesArgument.type !== "ArrayExpression")
|
|
696
668
|
return;
|
|
697
|
-
const depsArray =
|
|
669
|
+
const depsArray = dependenciesArgument;
|
|
698
670
|
// Collect captures from closure
|
|
699
671
|
const scope = getScope(closureFunction);
|
|
700
672
|
const captures = collectCaptures(closureFunction, scope, context.sourceCode);
|
|
701
673
|
// Parse dependencies array
|
|
702
674
|
const dependencies = parseDependencies(depsArray, context.sourceCode);
|
|
703
675
|
// Check for unnecessary dependencies first (for consistent error ordering)
|
|
704
|
-
for (const
|
|
705
|
-
const
|
|
706
|
-
if (!
|
|
676
|
+
for (const dependency of dependencies) {
|
|
677
|
+
const dependencyRootIdentifier = getRootIdentifier(dependency.node);
|
|
678
|
+
if (!dependencyRootIdentifier)
|
|
707
679
|
continue;
|
|
708
|
-
const
|
|
680
|
+
const dependencyName = dependencyRootIdentifier.name;
|
|
709
681
|
// Find all captures with the same root identifier
|
|
710
|
-
const matchingCaptures = captures.filter((
|
|
682
|
+
const matchingCaptures = captures.filter(({ node }) => getRootIdentifier(node)?.name === dependencyName);
|
|
711
683
|
// If no captures use this identifier at all, it's unnecessary
|
|
712
684
|
if (matchingCaptures.length === 0) {
|
|
713
685
|
if (options.reportUnnecessaryDependencies) {
|
|
714
686
|
// Generate fix suggestion
|
|
715
|
-
const newDeps = dependencies.filter((d) => d.name !==
|
|
687
|
+
const newDeps = dependencies.filter((d) => d.name !== dependency.name).map((d) => d.name);
|
|
716
688
|
const newDepsString = `[${newDeps.join(", ")}]`;
|
|
717
689
|
context.report({
|
|
718
|
-
data: { name:
|
|
690
|
+
data: { name: dependency.name },
|
|
719
691
|
messageId: "unnecessaryDependency",
|
|
720
|
-
node:
|
|
692
|
+
node: dependency.node,
|
|
721
693
|
suggest: [
|
|
722
694
|
{
|
|
723
|
-
desc: `Remove '${
|
|
695
|
+
desc: `Remove '${dependency.name}' from dependencies array`,
|
|
724
696
|
fix(fixer) {
|
|
725
697
|
return fixer.replaceText(depsArray, newDepsString);
|
|
726
698
|
},
|
|
@@ -733,17 +705,17 @@ const useExhaustiveDependencies = {
|
|
|
733
705
|
// Check if dependency is more specific than any usage
|
|
734
706
|
// dep.depth > all capture depths means the dep is too specific
|
|
735
707
|
const maxCaptureDepth = Math.max(...matchingCaptures.map((c) => c.depth));
|
|
736
|
-
if (
|
|
708
|
+
if (dependency.depth > maxCaptureDepth && options.reportUnnecessaryDependencies) {
|
|
737
709
|
// Generate fix suggestion
|
|
738
|
-
const newDeps = dependencies.filter((d) => d.name !==
|
|
710
|
+
const newDeps = dependencies.filter((d) => d.name !== dependency.name).map((d) => d.name);
|
|
739
711
|
const newDepsString = `[${newDeps.join(", ")}]`;
|
|
740
712
|
context.report({
|
|
741
|
-
data: { name:
|
|
713
|
+
data: { name: dependency.name },
|
|
742
714
|
messageId: "unnecessaryDependency",
|
|
743
|
-
node:
|
|
715
|
+
node: dependency.node,
|
|
744
716
|
suggest: [
|
|
745
717
|
{
|
|
746
|
-
desc: `Remove '${
|
|
718
|
+
desc: `Remove '${dependency.name}' from dependencies array`,
|
|
747
719
|
fix(fixer) {
|
|
748
720
|
return fixer.replaceText(depsArray, newDepsString);
|
|
749
721
|
},
|
|
@@ -758,36 +730,36 @@ const useExhaustiveDependencies = {
|
|
|
758
730
|
if (isStableValue(capture.variable, capture.name, stableHooks))
|
|
759
731
|
continue;
|
|
760
732
|
// Check if the capture is in the dependencies
|
|
761
|
-
const
|
|
762
|
-
if (!
|
|
733
|
+
const rootIdentifier = getRootIdentifier(capture.node);
|
|
734
|
+
if (!rootIdentifier)
|
|
763
735
|
continue;
|
|
764
|
-
const captureName =
|
|
765
|
-
let
|
|
736
|
+
const captureName = rootIdentifier.name;
|
|
737
|
+
let isInDependencies = false;
|
|
766
738
|
// Check if capture is covered by dependencies
|
|
767
|
-
for (const
|
|
768
|
-
const
|
|
739
|
+
for (const dependency of dependencies) {
|
|
740
|
+
const dependencyRootIdentifier = getRootIdentifier(dependency.node);
|
|
769
741
|
// Check name match and depth: dependency should not be more specific than capture
|
|
770
|
-
if (
|
|
771
|
-
|
|
742
|
+
if (dependencyRootIdentifier?.name === captureName && dependency.depth <= capture.depth) {
|
|
743
|
+
isInDependencies = true;
|
|
772
744
|
break;
|
|
773
745
|
}
|
|
774
746
|
}
|
|
775
|
-
if (!
|
|
747
|
+
if (!isInDependencies) {
|
|
776
748
|
// Report on the last dependency in the array for better error positioning
|
|
777
|
-
const
|
|
749
|
+
const lastDependency = dependencies.at(-1);
|
|
778
750
|
// Generate fix suggestion
|
|
779
|
-
const
|
|
780
|
-
const
|
|
781
|
-
const
|
|
751
|
+
const dependencyNames = dependencies.map(({ name }) => name);
|
|
752
|
+
const newDependencies = [...dependencyNames, capture.usagePath].toSorted();
|
|
753
|
+
const newDependenciesString = `[${newDependencies.join(", ")}]`;
|
|
782
754
|
context.report({
|
|
783
755
|
data: { name: capture.usagePath },
|
|
784
756
|
messageId: "missingDependency",
|
|
785
|
-
node:
|
|
757
|
+
node: lastDependency?.node || depsArray,
|
|
786
758
|
suggest: [
|
|
787
759
|
{
|
|
788
760
|
desc: `Add '${capture.usagePath}' to dependencies array`,
|
|
789
761
|
fix(fixer) {
|
|
790
|
-
return fixer.replaceText(depsArray,
|
|
762
|
+
return fixer.replaceText(depsArray, newDependenciesString);
|
|
791
763
|
},
|
|
792
764
|
},
|
|
793
765
|
],
|
|
@@ -800,25 +772,25 @@ const useExhaustiveDependencies = {
|
|
|
800
772
|
if (isStableValue(capture.variable, capture.name, stableHooks))
|
|
801
773
|
continue;
|
|
802
774
|
// Check if this capture has a corresponding dependency
|
|
803
|
-
const
|
|
804
|
-
if (!
|
|
775
|
+
const rootIdentifier = getRootIdentifier(capture.node);
|
|
776
|
+
if (!rootIdentifier)
|
|
805
777
|
continue;
|
|
806
|
-
const captureName =
|
|
778
|
+
const captureName = rootIdentifier.name;
|
|
807
779
|
// Find if there's a matching dependency
|
|
808
|
-
for (const
|
|
809
|
-
const
|
|
810
|
-
const isMatch =
|
|
811
|
-
const isDirectIdentifier =
|
|
780
|
+
for (const dependency of dependencies) {
|
|
781
|
+
const dependencyRootIdentifier = getRootIdentifier(dependency.node);
|
|
782
|
+
const isMatch = dependencyRootIdentifier?.name === captureName && dependency.depth === capture.depth;
|
|
783
|
+
const isDirectIdentifier = dependency.depth === 0;
|
|
812
784
|
if (isMatch && isDirectIdentifier) {
|
|
813
|
-
const
|
|
814
|
-
const
|
|
815
|
-
? (
|
|
785
|
+
const variableDefinition = capture.variable?.defs[0];
|
|
786
|
+
const initialNode = variableDefinition?.node.type === "VariableDeclarator"
|
|
787
|
+
? (variableDefinition.node.init ?? undefined)
|
|
816
788
|
: undefined;
|
|
817
|
-
if (isUnstableValue(
|
|
789
|
+
if (isUnstableValue(initialNode)) {
|
|
818
790
|
context.report({
|
|
819
791
|
data: { name: capture.usagePath },
|
|
820
792
|
messageId: "unstableDependency",
|
|
821
|
-
node:
|
|
793
|
+
node: dependency.node,
|
|
822
794
|
});
|
|
823
795
|
}
|
|
824
796
|
break;
|
|
@@ -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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"}
|