@pobammer-ts/eslint-cease-nonsense-rules 0.4.0 → 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.
@@ -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":"AAsBA;;GAEG;AACH,MAAM,cAAc,GAAqB;IACxC,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,EAAE;CACjB,CAAC;AAEF;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAA0D;IACpF,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,gBAAgB,IAAI,IAAI,CAAC,EAAE;QAC9G,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAmB;IACvC,OAAO,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAG3B;IACA,OAAO,CACN,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,kBAAkB;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,YAAY;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CACrC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,cAAiC;IAC9D,IAAI,WAAW,GAAG,cAAc,CAAC;IAEjC,+BAA+B;IAC/B,IACC,WAAW,CAAC,IAAI,KAAK,iBAAiB;QACtC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;QAC1C,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;QACxC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAEpC,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnD,uCAAuC;IACvC,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAEzD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAChD,MAAM,UAAU,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,CACN,QAAQ,CAAC,IAAI,KAAK,iBAAiB;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;QACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;QAChC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;QACpC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QAChC,UAAU,EAAE,IAAI,KAAK,aAAa,CAClC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,IAMnC;IACA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,MAAM,EAAE,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpC,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,UAAU,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,CAAC,CAAC;QAEV,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK;YACT,OAAO,CAAC,CAAC;QAEV,KAAK,OAAO,CAAC;QACb,KAAK,cAAc;YAClB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1C,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACb,OAAO,CAAC,CAAC;QAEV;YACC,OAAO,CAAC,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,uBAAuB,GAAoB;IAChD;;;;;OAKG;IACH,MAAM,CAAC,OAAO;QACb,MAAM,MAAM,GAAqB,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAoB;YAC9B,SAAS,EAAE,IAAI,OAAO,EAAE;YACxB,YAAY,EAAE,IAAI,OAAO,EAAE;SAC3B,CAAC;QACF,uEAAuE;QACvE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;QACjD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvD,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QAEpD;;;;;WAKG;QACH,SAAS,kBAAkB,CAAC,KAAa;YACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACtC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED;;;;;;WAMG;QACH,SAAS,QAAQ,CAAC,OAAe,EAAE,QAAgB;YAClD,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,eAAe;gBAAE,OAAO,SAAS,CAAC;YAC9C,OAAO,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,CAAC;QAED;;;;;WAKG;QACH,uDAAuD;QACvD,SAAS,4BAA4B,CAAC,cAAiC;YACtE,IAAI,WAAW,GAAG,cAAc,CAAC;YAEjC,+BAA+B;YAC/B,IACC,WAAW,CAAC,IAAI,KAAK,iBAAiB;gBACtC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAC1C,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;gBACxC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;gBAEpC,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEnD,2CAA2C;YAC3C,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB;gBAAE,OAAO,IAAI,CAAC;YAExD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;YAChD,MAAM,UAAU,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5C,IACC,QAAQ,CAAC,IAAI,KAAK,iBAAiB;gBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;gBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBAChC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;gBACpC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAChC,UAAU,EAAE,IAAI,KAAK,aAAa;gBAClC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAEzC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEjC,OAAO,IAAI,CAAC;QACb,CAAC;QAED;;;;;;WAMG;QACH,SAAS,6BAA6B,CAAC,IAAmB,EAAE,KAAK,GAAG,CAAC;YACpE,gCAAgC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAExC,sCAAsC;YACtC,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAE5C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,aAAa;gBACb,KAAK,iBAAiB,CAAC;gBACvB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,eAAe,CAAC;gBACrB,KAAK,oBAAoB,CAAC;gBAC1B,KAAK,eAAe,CAAC;gBACrB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,iBAAiB;oBACrB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;gBAEP,iBAAiB;gBACjB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,cAAc;oBAClB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;gBAEP,8BAA8B;gBAC9B,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC;oBACnB,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBAChC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;oBAC5C,IAAI,aAAa;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;oBAE9D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5B,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;wBAC3B,MAAM,cAAc,GAAG,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;wBACtF,IAAI,cAAc;4BACjB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CACvE,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED,+BAA+B;gBAC/B,KAAK,eAAe,CAAC,CAAC,CAAC;oBACtB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;oBACzB,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;oBACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC9B,MAAM,cAAc,GAAG,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;wBACtF,IAAI,cAAc;4BACjB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CACvE,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED,SAAS;gBACT,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClG,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChD,MAAM;gBACP,CAAC;gBAED,gBAAgB;gBAChB,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClG,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC1C,MAAM;gBACP,CAAC;gBAED,SAAS;gBACT,KAAK,aAAa;oBACjB,KAAK,GAAG,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChF,MAAM;gBAEP,SAAS;gBACT,KAAK,aAAa,CAAC,CAAC,CAAC;oBACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;oBAC9B,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;wBACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;wBACjC,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,gBAAgB;4BACnE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC7E,CAAC;oBACD,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;oBACnD,MAAM;gBACP,CAAC;gBAED,uCAAuC;gBACvC,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACxB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;oBAC/B,IAAI,aAAa,EAAE,CAAC;wBACnB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM;4BACvC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/E,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED,oBAAoB;gBACpB,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBAC1B,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClF,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpF,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;oBACjF,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClF,MAAM;gBACP,CAAC;gBAED,eAAe;gBACf,KAAK,cAAc,CAAC,CAAC,CAAC;oBACrB,KAAK,GAAG,CAAC,CAAC;oBACV,IAAI,IAAI,CAAC,UAAU;wBAClB,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpF,IAAI,IAAI,CAAC,cAAc;wBACtB,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;oBACxF,MAAM;gBACP,CAAC;gBAED,iBAAiB;gBACjB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,IAA4D,CAAC;oBAC1E,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACjC,MAAM,cAAc,GAAG,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpF,IAAI,cAAc;4BACjB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CACvE,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,UAAU;wBAClB,KAAK,GAAG,QAAQ,CACf,KAAK,EACL,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CACxE,CAAC;oBACH,MAAM;gBACP,CAAC;gBAED;oBACC,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;YAED,4DAA4D;YAC5D,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAEnC,mBAAmB;YACnB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACd,CAAC;QAED,sFAAsF;QACtF,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAmC,CAAC;QAE9E,OAAO;YACN,iCAAiC;YACjC,sBAAsB,CAAC,IAAqC;gBAC3D,iFAAiF;gBACjF,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClE,IAAI,OAAO;oBAAE,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEjD,4EAA4E;gBAC5E,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC;oBAAE,OAAO;gBAEtD,qCAAqC;gBACrC,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtE,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa;oBAAE,OAAO;gBAE9C,OAAO,CAAC,MAAM,CAAC;oBACd,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACtC,SAAS,EAAE,yBAAyB;oBACpC,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,sBAAsB,CAAC,IAAI;gBAC1B,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE/B,IAAI,UAAU,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC;wBACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,SAAS,EAAE;wBACjC,SAAS,EAAE,4BAA4B;wBACvC,IAAI;qBACJ,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,wDAAwD;YACxD,kBAAkB,CAAC,IAAI;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO;gBAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAC3C,IAAI,iBAAiB,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAEpC,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa;oBAAE,OAAO;gBAE9C,2CAA2C;gBAC3C,0BAA0B,CAAC,GAAG,CAAC,IAAe,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,wEAAwE;YACxE,cAAc;gBACb,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC;oBACpE,MAAM,IAAI,GAAG,OAAsC,CAAC;oBAEpD,yEAAyE;oBACzE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAExF,OAAO,CAAC,MAAM,CAAC;wBACd,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC3C,SAAS,EAAE,yBAAyB;wBACpC,IAAI,EAAE,IAAI,CAAC,EAAE;qBACb,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;SACD,CAAC;IACH,CAAC;IACD,IAAI,EAAE;QACL,IAAI,EAAE;YACL,WAAW,EAAE,uEAAuE;YACpF,WAAW,EAAE,KAAK;SAClB;QACD,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE;YACT,0BAA0B,EACzB,sGAAsG;YACvG,uBAAuB,EACtB,sFAAsF;SACvF;QACD,MAAM,EAAE;YACP;gBACC,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACX,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7C,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC9C,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7C;gBACD,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,SAAS;KACf;CACD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
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
  *
@@ -18,6 +44,79 @@ function hasKeyAttribute(node) {
18
44
  }
19
45
  return false;
20
46
  }
47
+ /**
48
+ * Checks if a CallExpression is for React.forwardRef or React.memo.
49
+ *
50
+ * @param callExpr - The CallExpression to check.
51
+ * @returns True if the call is for forwardRef or memo.
52
+ */
53
+ function isReactComponentHOC(callExpr) {
54
+ const { callee } = callExpr;
55
+ // Simple identifier: forwardRef(...) or memo(...)
56
+ if (callee.type === "Identifier") {
57
+ return callee.name === "forwardRef" || callee.name === "memo";
58
+ }
59
+ // Member expression: React.forwardRef(...) or React.memo(...)
60
+ if (callee.type === "MemberExpression" &&
61
+ callee.object.type === "Identifier" &&
62
+ callee.object.name === "React" &&
63
+ callee.property.type === "Identifier") {
64
+ return callee.property.name === "forwardRef" || callee.property.name === "memo";
65
+ }
66
+ return false;
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
+ }
21
120
  /**
22
121
  * Checks if a JSX element is a top-level return from a component.
23
122
  *
@@ -25,42 +124,58 @@ function hasKeyAttribute(node) {
25
124
  * @returns True if the element is directly returned from a component.
26
125
  */
27
126
  function isTopLevelReturn(node) {
28
- let parent = node.parent;
127
+ let parent = ascendPastWrappers(node.parent);
29
128
  if (!parent)
30
129
  return false;
31
130
  // Handle return with parentheses: return (<div>...)
32
131
  if (parent.type === "JSXExpressionContainer")
33
- parent = parent.parent;
132
+ parent = ascendPastWrappers(parent.parent);
34
133
  if (!parent)
35
134
  return false;
36
135
  // Traverse through conditional and logical expressions
37
136
  // Example: return condition ? <A/> : <B/>
38
137
  // Example: return condition && <Component/>
39
138
  while (parent && (parent.type === "ConditionalExpression" || parent.type === "LogicalExpression")) {
40
- parent = parent.parent;
139
+ parent = ascendPastWrappers(parent.parent);
41
140
  }
42
141
  if (!parent)
43
142
  return false;
44
143
  // Handle direct return
45
144
  if (parent.type === "ReturnStatement") {
46
145
  // Walk up to find the containing function
47
- let currentNode = parent.parent;
146
+ let currentNode = ascendPastWrappers(parent.parent);
48
147
  // Skip through block statement to get to function
49
148
  if (currentNode?.type === "BlockStatement") {
50
- currentNode = currentNode.parent;
149
+ currentNode = ascendPastWrappers(currentNode.parent);
51
150
  }
52
151
  if (!currentNode)
53
152
  return false;
54
153
  // Check if this is a callback (arrow/function expression inside a call expression)
55
154
  if (currentNode.type === "ArrowFunctionExpression" || currentNode.type === "FunctionExpression") {
56
- // If the function is an argument to a call expression (like useCallback), it's a callback, not a top-level return
57
- return currentNode.parent?.type !== "CallExpression";
155
+ // If the function is an argument to a call expression, check if it's a React HOC
156
+ const functionParent = ascendPastWrappers(currentNode.parent);
157
+ if (functionParent?.type === "CallExpression") {
158
+ // React.forwardRef and React.memo callbacks are component definitions, treat as top-level
159
+ return isReactComponentHOC(functionParent);
160
+ }
161
+ // Not inside a call expression, so it's a top-level component
162
+ return true;
58
163
  }
59
164
  // Function declarations are always top-level
60
165
  return currentNode.type === "FunctionDeclaration";
61
166
  }
62
167
  // Handle arrow function direct return: () => <div>
63
- return parent.type === "ArrowFunctionExpression" && parent.parent?.type !== "CallExpression";
168
+ if (parent.type === "ArrowFunctionExpression") {
169
+ // Check if this arrow function is inside a call expression
170
+ const functionParent = ascendPastWrappers(parent.parent);
171
+ if (functionParent?.type === "CallExpression") {
172
+ // React.forwardRef and React.memo callbacks are component definitions, treat as top-level
173
+ return isReactComponentHOC(functionParent);
174
+ }
175
+ // Not inside a call expression, so it's a top-level component
176
+ return true;
177
+ }
178
+ return false;
64
179
  }
65
180
  /**
66
181
  * Checks if a JSX element is an argument to an ignored call expression.
@@ -162,6 +277,10 @@ const requireReactComponentKeys = {
162
277
  // Skip key requirement for JSX passed as props
163
278
  if (isJSXPropValue(node))
164
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;
165
284
  // Fragments always need keys when not top-level
166
285
  if (node.type === "JSXFragment") {
167
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":"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"}
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 { Rule } from "eslint";
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
- // Early exit: check if closure is a function
581
- if (closureArg.type !== "ArrowFunctionExpression" && closureArg.type !== "FunctionExpression") {
582
- return;
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(closureArg);
590
- const captures = collectCaptures(closureArg, scope, context.sourceCode);
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(closureArg);
612
- const captures = collectCaptures(closureArg, scope, context.sourceCode);
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[dependencies.length - 1];
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" ? def.node.init : undefined;
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[contextStack.length - 1] : undefined;
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.4",
5
+ "@biomejs/biome": "^2.2.6",
6
6
  "@mitata/counters": "^0.0.8",
7
- "@types/bun": "1.2.22",
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.15.0",
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.0"
63
+ "version": "0.4.2"
64
64
  }