code-auditor-mcp 3.0.7 → 3.1.0

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.
Files changed (128) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +245 -0
  3. package/README.md +24 -0
  4. package/dist/analyzers/__tests__/fixtures/spec-17/anonymous-callback-map.d.ts +21 -0
  5. package/dist/analyzers/__tests__/fixtures/spec-17/anonymous-callback-map.d.ts.map +1 -0
  6. package/dist/analyzers/__tests__/fixtures/spec-17/anonymous-callback-map.js +21 -0
  7. package/dist/analyzers/__tests__/fixtures/spec-17/anonymous-callback-map.js.map +1 -0
  8. package/dist/analyzers/__tests__/fixtures/spec-17/barrel-test-migration.d.ts +13 -0
  9. package/dist/analyzers/__tests__/fixtures/spec-17/barrel-test-migration.d.ts.map +1 -0
  10. package/dist/analyzers/__tests__/fixtures/spec-17/barrel-test-migration.js +12 -0
  11. package/dist/analyzers/__tests__/fixtures/spec-17/barrel-test-migration.js.map +1 -0
  12. package/dist/analyzers/__tests__/fixtures/spec-17/direct-access-allow-config.d.ts +11 -0
  13. package/dist/analyzers/__tests__/fixtures/spec-17/direct-access-allow-config.d.ts.map +1 -0
  14. package/dist/analyzers/__tests__/fixtures/spec-17/direct-access-allow-config.js +22 -0
  15. package/dist/analyzers/__tests__/fixtures/spec-17/direct-access-allow-config.js.map +1 -0
  16. package/dist/analyzers/__tests__/fixtures/spec-17/exported-undocumented.d.ts +9 -0
  17. package/dist/analyzers/__tests__/fixtures/spec-17/exported-undocumented.d.ts.map +1 -0
  18. package/dist/analyzers/__tests__/fixtures/spec-17/exported-undocumented.js +13 -0
  19. package/dist/analyzers/__tests__/fixtures/spec-17/exported-undocumented.js.map +1 -0
  20. package/dist/analyzers/__tests__/fixtures/spec-17/for-loop-query.d.ts +13 -0
  21. package/dist/analyzers/__tests__/fixtures/spec-17/for-loop-query.d.ts.map +1 -0
  22. package/dist/analyzers/__tests__/fixtures/spec-17/for-loop-query.js +18 -0
  23. package/dist/analyzers/__tests__/fixtures/spec-17/for-loop-query.js.map +1 -0
  24. package/dist/analyzers/__tests__/fixtures/spec-17/import-node-builtin.d.ts +10 -0
  25. package/dist/analyzers/__tests__/fixtures/spec-17/import-node-builtin.d.ts.map +1 -0
  26. package/dist/analyzers/__tests__/fixtures/spec-17/import-node-builtin.js +16 -0
  27. package/dist/analyzers/__tests__/fixtures/spec-17/import-node-builtin.js.map +1 -0
  28. package/dist/analyzers/__tests__/fixtures/spec-17/jsx-event-handler.d.ts +14 -0
  29. package/dist/analyzers/__tests__/fixtures/spec-17/jsx-event-handler.d.ts.map +1 -0
  30. package/dist/analyzers/__tests__/fixtures/spec-17/jsx-event-handler.js +18 -0
  31. package/dist/analyzers/__tests__/fixtures/spec-17/jsx-event-handler.js.map +1 -0
  32. package/dist/analyzers/__tests__/fixtures/spec-17/nested-loops-query.d.ts +13 -0
  33. package/dist/analyzers/__tests__/fixtures/spec-17/nested-loops-query.d.ts.map +1 -0
  34. package/dist/analyzers/__tests__/fixtures/spec-17/nested-loops-query.js +22 -0
  35. package/dist/analyzers/__tests__/fixtures/spec-17/nested-loops-query.js.map +1 -0
  36. package/dist/analyzers/__tests__/fixtures/spec-17/nine-line-repeated.d.ts +10 -0
  37. package/dist/analyzers/__tests__/fixtures/spec-17/nine-line-repeated.d.ts.map +1 -0
  38. package/dist/analyzers/__tests__/fixtures/spec-17/nine-line-repeated.js +20 -0
  39. package/dist/analyzers/__tests__/fixtures/spec-17/nine-line-repeated.js.map +1 -0
  40. package/dist/analyzers/__tests__/fixtures/spec-17/private-methods.d.ts +18 -0
  41. package/dist/analyzers/__tests__/fixtures/spec-17/private-methods.d.ts.map +1 -0
  42. package/dist/analyzers/__tests__/fixtures/spec-17/private-methods.js +28 -0
  43. package/dist/analyzers/__tests__/fixtures/spec-17/private-methods.js.map +1 -0
  44. package/dist/analyzers/__tests__/fixtures/spec-17/scope-all-config.d.ts +11 -0
  45. package/dist/analyzers/__tests__/fixtures/spec-17/scope-all-config.d.ts.map +1 -0
  46. package/dist/analyzers/__tests__/fixtures/spec-17/scope-all-config.js +31 -0
  47. package/dist/analyzers/__tests__/fixtures/spec-17/scope-all-config.js.map +1 -0
  48. package/dist/analyzers/__tests__/fixtures/spec-17/sql-tagged-template.d.ts +11 -0
  49. package/dist/analyzers/__tests__/fixtures/spec-17/sql-tagged-template.d.ts.map +1 -0
  50. package/dist/analyzers/__tests__/fixtures/spec-17/sql-tagged-template.js +18 -0
  51. package/dist/analyzers/__tests__/fixtures/spec-17/sql-tagged-template.js.map +1 -0
  52. package/dist/analyzers/__tests__/fixtures/spec-17/structural-similar-methods.d.ts +13 -0
  53. package/dist/analyzers/__tests__/fixtures/spec-17/structural-similar-methods.d.ts.map +1 -0
  54. package/dist/analyzers/__tests__/fixtures/spec-17/structural-similar-methods.js +61 -0
  55. package/dist/analyzers/__tests__/fixtures/spec-17/structural-similar-methods.js.map +1 -0
  56. package/dist/analyzers/__tests__/fixtures/spec-17/template-prefix-table.d.ts +10 -0
  57. package/dist/analyzers/__tests__/fixtures/spec-17/template-prefix-table.d.ts.map +1 -0
  58. package/dist/analyzers/__tests__/fixtures/spec-17/template-prefix-table.js +15 -0
  59. package/dist/analyzers/__tests__/fixtures/spec-17/template-prefix-table.js.map +1 -0
  60. package/dist/analyzers/__tests__/fixtures/spec-17/token-identical-20-lines.d.ts +11 -0
  61. package/dist/analyzers/__tests__/fixtures/spec-17/token-identical-20-lines.d.ts.map +1 -0
  62. package/dist/analyzers/__tests__/fixtures/spec-17/token-identical-20-lines.js +49 -0
  63. package/dist/analyzers/__tests__/fixtures/spec-17/token-identical-20-lines.js.map +1 -0
  64. package/dist/analyzers/__tests__/fixtures/spec-17/tsx-no-db-usage.d.ts +10 -0
  65. package/dist/analyzers/__tests__/fixtures/spec-17/tsx-no-db-usage.d.ts.map +1 -0
  66. package/dist/analyzers/__tests__/fixtures/spec-17/tsx-no-db-usage.js +19 -0
  67. package/dist/analyzers/__tests__/fixtures/spec-17/tsx-no-db-usage.js.map +1 -0
  68. package/dist/analyzers/__tests__/fixtures/spec-17/twenty-methods-vs-complex.d.ts +37 -0
  69. package/dist/analyzers/__tests__/fixtures/spec-17/twenty-methods-vs-complex.d.ts.map +1 -0
  70. package/dist/analyzers/__tests__/fixtures/spec-17/twenty-methods-vs-complex.js +73 -0
  71. package/dist/analyzers/__tests__/fixtures/spec-17/twenty-methods-vs-complex.js.map +1 -0
  72. package/dist/analyzers/__tests__/fixtures/spec-17/unique-method-74-lines.d.ts +12 -0
  73. package/dist/analyzers/__tests__/fixtures/spec-17/unique-method-74-lines.d.ts.map +1 -0
  74. package/dist/analyzers/__tests__/fixtures/spec-17/unique-method-74-lines.js +82 -0
  75. package/dist/analyzers/__tests__/fixtures/spec-17/unique-method-74-lines.js.map +1 -0
  76. package/dist/analyzers/__tests__/fixtures/spec-17/word-the-in-comment.d.ts +10 -0
  77. package/dist/analyzers/__tests__/fixtures/spec-17/word-the-in-comment.d.ts.map +1 -0
  78. package/dist/analyzers/__tests__/fixtures/spec-17/word-the-in-comment.js +15 -0
  79. package/dist/analyzers/__tests__/fixtures/spec-17/word-the-in-comment.js.map +1 -0
  80. package/dist/analyzers/cross-language/APIContractAnalyzer.js +3 -3
  81. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  82. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +1 -1
  83. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -1
  84. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +2 -2
  85. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  86. package/dist/analyzers/cross-language/SchemaValidator.js +2 -2
  87. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  88. package/dist/analyzers/reactAnalyzer.js +7 -22
  89. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  90. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +40 -2
  91. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  92. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +186 -29
  93. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  94. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +30 -0
  95. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  96. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +164 -11
  97. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  98. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +51 -7
  99. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  100. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +354 -48
  101. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  102. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +8 -4
  103. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  104. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +51 -38
  105. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  106. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +59 -39
  107. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  108. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +412 -153
  109. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  110. package/dist/auditRunner.d.ts.map +1 -1
  111. package/dist/auditRunner.js +26 -2
  112. package/dist/auditRunner.js.map +1 -1
  113. package/dist/cli.js.map +1 -1
  114. package/dist/config/defaults.d.ts +32 -0
  115. package/dist/config/defaults.d.ts.map +1 -1
  116. package/dist/config/defaults.js +62 -4
  117. package/dist/config/defaults.js.map +1 -1
  118. package/dist/index.d.ts +0 -3
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +2 -4
  121. package/dist/index.js.map +1 -1
  122. package/dist/languages/UniversalAnalyzer.d.ts +7 -0
  123. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  124. package/dist/languages/UniversalAnalyzer.js +16 -1
  125. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  126. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  127. package/package.json +2 -1
  128. package/plugin/.claude-plugin/plugin.json +1 -1
@@ -8,6 +8,8 @@ import { IS_DEV_MODE } from '../../constants.js';
8
8
  export const DEFAULT_DATA_ACCESS_CONFIG = {
9
9
  checkOrgFilters: true,
10
10
  checkSQLInjection: true,
11
+ // R4.3: default "flag" — report direct-access violations
12
+ directAccess: 'flag',
11
13
  databases: {
12
14
  'primary': {
13
15
  name: 'Primary Database',
@@ -74,6 +76,8 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
74
76
  // Check for violations
75
77
  violations.push(...this.checkViolations(call, analysis, ast.filePath, finalConfig));
76
78
  }
79
+ // R4.1: Check for database queries inside loops (N+1 detection)
80
+ violations.push(...this.checkLoopQueries(ast, adapter, sourceCode, finalConfig));
77
81
  // Check for general data access patterns
78
82
  violations.push(...this.checkGeneralPatterns(ast, adapter, sourceCode, finalConfig));
79
83
  return violations;
@@ -250,8 +254,14 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
250
254
  checkViolations(call, analysis, filePath, config) {
251
255
  const violations = [];
252
256
  // Security: SQL Injection Risk
257
+ // Spec 11 (calibration): Detection uses AST-level heuristics (string
258
+ // concatenation in query construction) without type information. Findings
259
+ // are high-signal but not proof of exploitable injection. Severity demoted
260
+ // from critical → warning in Spec 17. Spec 11 will measure true-positive
261
+ // rate on ExcAlDraw and Gin corpora to decide whether heuristics should be
262
+ // tightened or severity re-escalated.
253
263
  if (config.checkSQLInjection && call.hasSqlInjectionRisk) {
254
- violations.push(this.createViolation(filePath, { line: call.line, column: call.column }, `Potential SQL injection risk in ${call.method}. Use parameterized queries.`, 'critical', 'sql-injection-risk'));
264
+ violations.push(this.createViolation(filePath, { line: call.line, column: call.column }, `Potential SQL injection risk in ${call.method}. Use parameterized queries.`, 'warning', 'sql-injection-risk'));
255
265
  }
256
266
  // Security: Missing Organization Filter
257
267
  if (config.checkOrgFilters && !call.hasOrganizationFilter && call.tables.length > 0 && this.requiresOrgFilter(call.tables)) {
@@ -272,6 +282,10 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
272
282
  */
273
283
  checkGeneralPatterns(ast, adapter, sourceCode, config) {
274
284
  const violations = [];
285
+ // R4.3: Skip direct-access violations when directAccess is "allow"
286
+ if (config.directAccess === 'allow') {
287
+ return violations;
288
+ }
275
289
  // Check for hardcoded connection strings
276
290
  const stringNodes = adapter.findNodes(ast, {
277
291
  custom: (node) => this.isStringLiteral(node, adapter)
@@ -279,14 +293,16 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
279
293
  for (const node of stringNodes) {
280
294
  const text = adapter.getNodeText(node, sourceCode);
281
295
  if (this.isConnectionString(text)) {
282
- violations.push(this.createViolation(ast.filePath, node.location.start, 'Hardcoded database connection string detected. Use environment variables.', 'critical', 'hardcoded-connection'));
296
+ violations.push(this.createViolation(ast.filePath, node.location.start, 'Hardcoded database connection string detected. Use environment variables. (On Cloudflare Workers/D1, connection strings are injected via bindings.)', 'suggestion', // R7: direct-access → suggestion
297
+ 'hardcoded-connection'));
283
298
  }
284
299
  }
285
300
  // Check for direct SQL execution without ORM
286
301
  const sqlPatterns = [/execute\s*\(\s*['"`]SELECT/i, /query\s*\(\s*['"`]SELECT/i];
287
302
  for (const pattern of sqlPatterns) {
288
303
  if (pattern.test(sourceCode)) {
289
- violations.push(this.createViolation(ast.filePath, { line: 1, column: 1 }, 'Direct SQL execution detected. Consider using an ORM or query builder.', 'suggestion', 'direct-sql'));
304
+ violations.push(this.createViolation(ast.filePath, { line: 1, column: 1 }, 'Direct SQL execution detected. Consider using an ORM or query builder.', 'suggestion', // R7: direct-access → suggestion
305
+ 'direct-sql'));
290
306
  break;
291
307
  }
292
308
  }
@@ -296,18 +312,16 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
296
312
  * Helper methods
297
313
  */
298
314
  isFunctionCall(node, adapter) {
299
- return node.type === 'CallExpression' ||
300
- node.type === 'MethodCallExpression' ||
301
- node.type === 'NewExpression';
315
+ return node.type === 'call_expression' ||
316
+ node.type === 'new_expression';
302
317
  }
303
318
  isTemplateLiteral(node, adapter) {
304
- return node.type === 'TemplateExpression' ||
305
- node.type === 'NoSubstitutionTemplateLiteral';
319
+ return node.type === 'template_string';
306
320
  }
307
321
  isVariableAssignment(node, adapter) {
308
322
  // Only get the actual variable declaration, not the statement
309
- return node.type === 'VariableDeclaration' ||
310
- node.type === 'BinaryExpression' && (node.children?.some(child => adapter.getNodeText(child, '').includes('=')) ?? false);
323
+ return node.type === 'variable_declaration' ||
324
+ node.type === 'binary_expression' && (node.children?.some(child => adapter.getNodeText(child, '').includes('=')) ?? false);
311
325
  }
312
326
  containsSQLKeywords(text) {
313
327
  const sqlKeywords = ['SELECT', 'INSERT', 'UPDATE', 'DELETE', 'FROM', 'WHERE', 'JOIN'];
@@ -488,7 +502,7 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
488
502
  });
489
503
  }
490
504
  isStringLiteral(node, adapter) {
491
- return node.type.includes('StringLiteral') || node.type.includes('TemplateLiteral');
505
+ return node.type === 'string' || node.type === 'template_string';
492
506
  }
493
507
  isConnectionString(text) {
494
508
  const patterns = [
@@ -500,5 +514,144 @@ export class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
500
514
  ];
501
515
  return patterns.some(pattern => pattern.test(text));
502
516
  }
517
+ // ── R4.1: Loop-query detection ──────────────────────────────────────
518
+ /**
519
+ * R4.1: Find database queries inside loops and flag them as N+1 risks.
520
+ * Each finding carries the query call location (never line 1).
521
+ */
522
+ checkLoopQueries(ast, adapter, sourceCode, config) {
523
+ const violations = [];
524
+ // Find all nodes that look like database calls
525
+ const dbNodes = adapter.findNodes(ast, {
526
+ custom: (node) => this.isDbCallNode(node, adapter, sourceCode),
527
+ });
528
+ // Track reported line+loop combos to avoid duplicates
529
+ const reported = new Set();
530
+ for (const node of dbNodes) {
531
+ const nodeText = adapter.getNodeText(node, sourceCode);
532
+ if (!nodeText || nodeText.trim().length < 10)
533
+ continue;
534
+ const loopInfo = this.findEnclosingLoop(node, adapter);
535
+ if (!loopInfo)
536
+ continue;
537
+ // R4.1: Use query node's actual location (never line 1)
538
+ const queryLine = node.location.start.line;
539
+ // Deduplicate: same line + same loop line = already reported
540
+ const dedupKey = `${queryLine}:${loopInfo.loopNode.location.start.line}`;
541
+ if (reported.has(dedupKey))
542
+ continue;
543
+ reported.add(dedupKey);
544
+ // R4.2: Nested-loop attribution
545
+ const depthMsg = loopInfo.depth > 1
546
+ ? ` (nested ${loopInfo.depth} levels deep)`
547
+ : '';
548
+ violations.push(this.createViolation(ast.filePath, node.location.start, // query-call line, never line 1
549
+ `Database query inside loop${depthMsg} ` +
550
+ `(loop at line ${loopInfo.loopNode.location.start.line}). ` +
551
+ `This may cause N+1 performance issues. Consider batching queries or using a join.`, 'warning', // R7: loop-query → warning
552
+ 'loop-query'));
553
+ }
554
+ return violations;
555
+ }
556
+ /**
557
+ * R4.1: Determine if a node is a database call expression.
558
+ * Lightweight check — reused from extractDatabaseCalls logic.
559
+ */
560
+ isDbCallNode(node, adapter, sourceCode) {
561
+ const nodeText = adapter.getNodeText(node, sourceCode);
562
+ // Call-expression with DB patterns
563
+ if (this.isFunctionCall(node, adapter)) {
564
+ const dbPatterns = ['select', 'insert', 'update', 'delete', 'from', 'where', 'execute', 'query', 'find', 'aggregate', 'count', 'distinct'];
565
+ if (dbPatterns.some(pattern => nodeText.toLowerCase().includes(pattern))) {
566
+ return true;
567
+ }
568
+ }
569
+ // Template literal with SQL keywords
570
+ if (this.isTemplateLiteral(node, adapter)) {
571
+ return this.containsSQLKeywords(nodeText);
572
+ }
573
+ return false;
574
+ }
575
+ /**
576
+ * R4.1/R4.2: Walk the parent chain to find the innermost enclosing loop.
577
+ * Returns the loop node and nesting depth.
578
+ *
579
+ * Detects:
580
+ * - for / while / do loops via adapter.isLoop()
581
+ * - .forEach / .map / .filter callbacks via AST pattern matching
582
+ */
583
+ findEnclosingLoop(node, adapter) {
584
+ let current = node;
585
+ let depth = 0;
586
+ const foundLoops = [];
587
+ while (current) {
588
+ const parent = adapter.getParent(current);
589
+ if (!parent)
590
+ break;
591
+ // Check for language-level loops (for, while, do)
592
+ if (adapter.isLoop(parent)) {
593
+ foundLoops.push(parent);
594
+ }
595
+ // Check for iterator callbacks (.forEach, .map, .filter, etc.)
596
+ if (this.isIteratorCallback(parent, adapter)) {
597
+ foundLoops.push(parent);
598
+ }
599
+ current = parent;
600
+ }
601
+ if (foundLoops.length === 0)
602
+ return null;
603
+ // R4.1: Innermost is the first one we found (closest to node)
604
+ // R4.2: Total count is the nesting depth
605
+ return {
606
+ loopNode: foundLoops[0],
607
+ depth: foundLoops.length,
608
+ };
609
+ }
610
+ /**
611
+ * R4.1: Check if a node is a call_expression invoking an iterator method
612
+ * (.forEach, .map, .filter, .reduce, .some, .every) — these create
613
+ * implicit loops where a DB query inside the callback is an N+1 risk.
614
+ */
615
+ isIteratorCallback(node, adapter) {
616
+ // Must be a call_expression
617
+ if (node.type !== 'call_expression')
618
+ return false;
619
+ // Callee must be a member_expression whose property matches iterator method names
620
+ const children = adapter.getChildren(node);
621
+ const callee = children.find(c => c.type === 'member_expression');
622
+ if (!callee)
623
+ return false;
624
+ const calleeChildren = adapter.getChildren(callee);
625
+ const propertyNode = calleeChildren.find(c => c.type === 'property_identifier' || c.type === 'string');
626
+ if (!propertyNode)
627
+ return false;
628
+ const methodName = adapter.getNodeType(propertyNode) === 'property_identifier'
629
+ ? propertyNode.text ?? adapter.getNodeText(propertyNode, '')
630
+ : '';
631
+ // Normalize: the method name might come from the node type or need text extraction
632
+ const iteratorMethods = ['forEach', 'map', 'filter', 'reduce', 'some', 'every', 'find', 'findIndex', 'flatMap'];
633
+ // Try multiple ways to get the method name
634
+ const propText = methodName || this.getPropertyName(propertyNode, adapter);
635
+ return iteratorMethods.includes(propText);
636
+ }
637
+ /**
638
+ * Extract the property name from a property_identifier node.
639
+ */
640
+ getPropertyName(node, adapter) {
641
+ // Try named children
642
+ if (node.name)
643
+ return node.name;
644
+ if (node.text)
645
+ return node.text;
646
+ // Try to get it from children
647
+ const children = adapter.getChildren(node);
648
+ for (const child of children) {
649
+ if (child.name)
650
+ return child.name;
651
+ if (child.text)
652
+ return child.text;
653
+ }
654
+ return '';
655
+ }
503
656
  }
504
657
  //# sourceMappingURL=UniversalDataAccessAnalyzer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalDataAccessAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalDataAccessAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  /**
2
- * Universal Documentation Analyzer
3
- * Works across multiple programming languages using the adapter pattern
2
+ * Universal Documentation Analyzer — Spec 17 R1
3
+ *
4
+ * R1.1: Anonymous/inline callables are skipped entirely (not downgraded).
5
+ * R1.2: Default scope is public API surface only.
6
+ * R1.3: Minimum-size gate (docsMinLines, default 5).
7
+ * R1.4: scope: "all" restores pre-spec-17 behaviour minus R1.1 skips.
8
+ * R1.5: File-header checks default OFF (fileHeaders replaces requireFileDocs).
9
+ * R1.6: Finding messages name the audience reason.
10
+ * R7: All documentation/* severities are "suggestion".
4
11
  */
5
12
  import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js';
6
13
  import type { Violation } from '../../types.js';
@@ -17,6 +24,10 @@ export interface DocumentationAnalyzerConfig {
17
24
  minDescriptionLength: number;
18
25
  checkExportedOnly: boolean;
19
26
  exemptPatterns: string[];
27
+ scope?: 'public' | 'all';
28
+ docsMinLines?: number;
29
+ fileHeaders?: boolean;
30
+ headerSkipGlobs?: string[];
20
31
  }
21
32
  export declare const DEFAULT_DOCUMENTATION_CONFIG: DocumentationAnalyzerConfig;
22
33
  export declare class UniversalDocumentationAnalyzer extends UniversalAnalyzer {
@@ -25,23 +36,56 @@ export declare class UniversalDocumentationAnalyzer extends UniversalAnalyzer {
25
36
  readonly category = "documentation";
26
37
  protected analyzeAST(ast: AST, adapter: LanguageAdapter, config: DocumentationAnalyzerConfig, sourceCode: string): Promise<Violation[]>;
27
38
  /**
28
- * Check if a name matches any exempt patterns
39
+ * Returns true if the node is an anonymous arrow/function expression used as:
40
+ * (a) a call argument (any callee — no name whitelist)
41
+ * (b) a JSX attribute value
42
+ * (c) an object-literal property value or array element passed as an argument
43
+ * (d) an IIFE
44
+ */
45
+ private isAnonymousOrCallback;
46
+ /**
47
+ * Returns true if a function_declaration node is nested inside another function/method
48
+ * (a helper by construction — R1.1).
49
+ */
50
+ private isNestedFunction;
51
+ /**
52
+ * A method is non-public if it is private, protected, #-named, or _-prefixed.
53
+ */
54
+ private isNonPublicMethod;
55
+ /**
56
+ * Check if a method's enclosing class is exported.
57
+ */
58
+ private isMethodOfExportedClass;
59
+ /**
60
+ * Check if a file path matches any picomatch glob pattern.
61
+ */
62
+ private matchesAnyGlob;
63
+ /**
64
+ * Check if a name or path matches any exempt regex patterns.
29
65
  */
30
66
  private isExempt;
31
67
  /**
32
- * Get file-level documentation (usually at the top)
68
+ * Get the name of a method definition node.
69
+ */
70
+ private getMethodName;
71
+ /**
72
+ * Get the first child node matching one of the given types.
73
+ */
74
+ private getFirstChildOfType;
75
+ /**
76
+ * Get file-level documentation (usually at the top).
33
77
  */
34
78
  private getFileDocumentation;
35
79
  /**
36
- * Find a node by its location
80
+ * Find a node by its location via BFS.
37
81
  */
38
82
  private findNodeByLocation;
39
83
  /**
40
- * Check which parameters are missing documentation
84
+ * Check which parameters are missing documentation.
41
85
  */
42
86
  private checkParameterDocumentation;
43
87
  /**
44
- * Check if documentation contains return value documentation
88
+ * Check if documentation contains return value documentation.
45
89
  */
46
90
  private hasReturnDocumentation;
47
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalDocumentationAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDocumentationAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAW,MAAM,0BAA0B,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,4BAA4B,EAAE,2BAiB1C,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,wDAAwD;IAC5E,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,2BAA2B,EACnC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAkItB;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAcnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAI/B"}
1
+ {"version":3,"file":"UniversalDocumentationAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDocumentationAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAW,MAAM,0BAA0B,CAAC;AAG9E;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,4BAA4B,EAAE,2BAgC1C,CAAC;AAcF,qBAAa,8BAA+B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,wDAAwD;IAC5E,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,2BAA2B,EACnC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA8LtB;IAMD;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA6E7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyD/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAanC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAG/B"}