code-auditor-mcp 3.4.16 → 3.4.18

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 (54) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +39 -0
  3. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  4. package/dist/analyzers/reactAnalyzer.js +21 -1
  5. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  6. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  7. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +110 -4
  8. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  9. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +14 -0
  10. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  11. package/dist/applyDataDirEnv.js +1 -1
  12. package/dist/applyDataDirEnv.js.map +1 -1
  13. package/dist/auditRunner.d.ts.map +1 -1
  14. package/dist/auditRunner.js +4 -1
  15. package/dist/auditRunner.js.map +1 -1
  16. package/dist/cli.js +8 -5
  17. package/dist/cli.js.map +1 -1
  18. package/dist/codeIndexDB.js +1 -1
  19. package/dist/codeIndexDB.js.map +1 -1
  20. package/dist/componentScanner.d.ts.map +1 -1
  21. package/dist/componentScanner.js +5 -1
  22. package/dist/componentScanner.js.map +1 -1
  23. package/dist/config/defaults.js +1 -1
  24. package/dist/config/defaults.js.map +1 -1
  25. package/dist/dataPaths.d.ts +8 -1
  26. package/dist/dataPaths.d.ts.map +1 -1
  27. package/dist/dataPaths.js +57 -5
  28. package/dist/dataPaths.js.map +1 -1
  29. package/dist/languages/LanguageOrchestrator.d.ts +1 -1
  30. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  31. package/dist/languages/RuntimeManager.js +2 -2
  32. package/dist/languages/RuntimeManager.js.map +1 -1
  33. package/dist/mcp-tools/workflowGuide.js +3 -3
  34. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  35. package/dist/mcp-tools-shared.d.ts.map +1 -1
  36. package/dist/mcp-tools-shared.js +16 -11
  37. package/dist/mcp-tools-shared.js.map +1 -1
  38. package/dist/mcp.js +15 -11
  39. package/dist/mcp.js.map +1 -1
  40. package/dist/mcpAutoIndex.js +1 -1
  41. package/dist/mcpAutoIndex.js.map +1 -1
  42. package/dist/pipelineAdapters.d.ts.map +1 -1
  43. package/dist/pipelineAdapters.js +9 -4
  44. package/dist/pipelineAdapters.js.map +1 -1
  45. package/dist/utils/fileDiscovery.d.ts +2 -2
  46. package/dist/utils/fileDiscovery.js +5 -5
  47. package/dist/utils/fileDiscovery.js.map +1 -1
  48. package/dist/utils/reactDetection.d.ts.map +1 -1
  49. package/dist/utils/reactDetection.js +59 -44
  50. package/dist/utils/reactDetection.js.map +1 -1
  51. package/package.json +1 -1
  52. package/plugin/.claude-plugin/plugin.json +1 -1
  53. package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +4 -2
  54. package/plugin/skills/code-auditor/SKILL.md +4 -4
@@ -10,7 +10,7 @@
10
10
  "name": "code-auditor",
11
11
  "source": "./plugin",
12
12
  "description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
13
- "version": "3.4.16",
13
+ "version": "3.4.18",
14
14
  "author": {
15
15
  "name": "Ben Hammond"
16
16
  },
package/CHANGELOG.md CHANGED
@@ -2,6 +2,45 @@
2
2
 
3
3
  All notable changes to the Code Auditor MCP project.
4
4
 
5
+ ## [3.4.18] — 2026-09-03
6
+
7
+ ### Index relocation
8
+ - The persisted code index now lives under `node_modules/.cache/code-auditor`
9
+ (gitignored by universal convention) instead of a project-local `.code-index`
10
+ directory — consumers no longer touch their own `.gitignore` for an internal
11
+ detail. When `node_modules` is hoisted (monorepo), the path is scoped by a
12
+ project hash; without `node_modules` it falls back to the OS cache dir.
13
+
14
+ ### False-positive fixes
15
+ - `data-access/unfiltered-query` now treats reads scoped by `WHERE`, `HAVING`,
16
+ `LIMIT`, or `ON` as filtered, so only genuinely unbound reads are flagged.
17
+ Drops three false positives in the data-access fixture (baseline 12 → 9).
18
+ - React analyzer flags `rawElementCheck` and `requireErrorBoundaries` are now
19
+ honored when set to `false` in `.codeauditor.json`, instead of being ignored.
20
+ - React class-component detection is fixed across `class_heritage` /
21
+ `extends_clause` / `generic_type` tree-sitter nesting, and error-boundary
22
+ method detection now covers `property_identifier` and
23
+ `private_property_identifier` nodes.
24
+
25
+ ### Defaults
26
+ - `minSeverity` now defaults to `suggestion` (was `warning`) across the MCP
27
+ server, CLI, and pipeline surfaces.
28
+ - Plugin docs clarify the severity model: severity controls the edit gate, never
29
+ the obligation to fix.
30
+
31
+ ## [3.4.17] — 2026-08-26
32
+
33
+ ### False-positive fixes
34
+ - `react/no-error-boundary` now recognizes Next.js App Router convention
35
+ error-boundary files (`app/error.tsx`, `app/global-error.tsx`, and `.js`/`.jsx`/`.ts`
36
+ variants) by basename. These are function components, so the class-only
37
+ `hasErrorBoundary` check never fired for them, wrongly reporting "No error
38
+ boundaries found" on projects that already define boundaries by convention.
39
+ - `documentation/parameter-documentation` no longer flags destructured
40
+ object/array-pattern parameters (e.g. `({ children })`). Their parameter name
41
+ is the raw pattern text, which can never match an `@param` tag, so they are
42
+ skipped instead of reported as undocumented.
43
+
5
44
  ## [3.4.16] — 2026-08-19
6
45
 
7
46
  ### Close the 3.4.15 findings (Spec 45)
@@ -1 +1 @@
1
- {"version":3,"file":"reactAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/reactAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,mBAyBlC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,mBAAmB,GAC9B,cAAc,EAAE,CAgClB;AA8RD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GACtC,cAAc,EAAE,CA2BlB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE,CA+B5F;AAyID;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,mBAAmB,EAAE,EAClC,MAAM,EAAE,mBAAmB,GAC1B,cAAc,EAAE,CA4ClB"}
1
+ {"version":3,"file":"reactAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/reactAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,mBAyBlC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,mBAAmB,GAC9B,cAAc,EAAE,CAgClB;AA8RD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GACtC,cAAc,EAAE,CA2BlB;AAkBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE,CAsC5F;AAyID;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,mBAAmB,EAAE,EAClC,MAAM,EAAE,mBAAmB,GAC1B,cAAc,EAAE,CA4ClB"}
@@ -3,6 +3,7 @@
3
3
  * Analyzes React components for best practices, performance issues, and common violations
4
4
  */
5
5
  import { withRuleTiming } from './ruleTiming.js';
6
+ import { basename } from 'node:path';
6
7
  /**
7
8
  * Default configuration for React analyzer
8
9
  */
@@ -322,6 +323,21 @@ export function checkCircularDependencies(componentTree) {
322
323
  }
323
324
  return violations;
324
325
  }
326
+ /**
327
+ * Next.js App Router convention-based error boundary files. These are function
328
+ * components (not class components), so `component.hasErrorBoundary` is never
329
+ * true for them — but they ARE error boundaries by convention.
330
+ */
331
+ const NEXT_ERROR_BOUNDARY_BASENAMES = new Set([
332
+ 'error.tsx',
333
+ 'error.js',
334
+ 'error.jsx',
335
+ 'error.ts',
336
+ 'global-error.tsx',
337
+ 'global-error.js',
338
+ 'global-error.jsx',
339
+ 'global-error.ts'
340
+ ]);
325
341
  /**
326
342
  * Check for proper error boundary usage
327
343
  * @param scanResults
@@ -338,8 +354,12 @@ export function checkErrorBoundaryUsage(scanResults) {
338
354
  }
339
355
  }
340
356
  }
357
+ // Next.js App Router convention error boundaries (app/error.tsx,
358
+ // app/global-error.tsx, etc.) are function components, so they are never
359
+ // flagged via `hasErrorBoundary`. Detect them by convention filename.
360
+ const hasConventionErrorBoundary = scanResults.some((result) => NEXT_ERROR_BOUNDARY_BASENAMES.has(basename(result.filePath)));
341
361
  // Check if there's at least one error boundary in the app
342
- if (componentsWithErrorBoundary.size === 0) {
362
+ if (componentsWithErrorBoundary.size === 0 && !hasConventionErrorBoundary) {
343
363
  const totalComponents = scanResults.reduce((sum, r) => sum + r.components.length, 0);
344
364
  if (totalComponents > 10) { // Only warn for apps with significant components
345
365
  violations.push({
@@ -1 +1 @@
1
- {"version":3,"file":"reactAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/reactAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,sBAAsB;IACtB,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,IAAI;IAE1B,iBAAiB;IACjB,gBAAgB,EAAE,KAAK,EAAE,kCAAkC;IAC3D,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,EAAE;IAE1B,cAAc;IACd,yBAAyB,EAAE,IAAI;IAC/B,kBAAkB,EAAE,KAAK,EAAE,8BAA8B;IAEzD,iBAAiB;IACjB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,IAAI;IAErB,qCAAqC;IACrC,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,CAAC;IACnB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC;CACxE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA4B,EAC5B,MAA2B,EAC3B,UAA+B;IAE/B,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhE,8CAA8C;IAC9C,IAAI,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,wEAAwE;IACxE,UAAU,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5D,yDAAyD;IACzD,UAAU,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1D,+BAA+B;IAC/B,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACvD,UAAU,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2EAA2E;AAC3E,SAAS,wBAAwB,CAC/B,SAA4B,EAC5B,MAA2B;IAE3B,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC;YACN,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,0BAA0B,SAAS,CAAC,UAAU,GAAG;YACtF,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE;gBACP,iBAAiB,EAAE,SAAS,CAAC,UAAU;gBACvC,aAAa,EAAE,MAAM,CAAC,sBAAsB;aAC7C;YACD,UAAU,EAAE,wEAAwE;SACrF,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,SAAS,oBAAoB,CAC3B,SAA4B,EAC5B,MAA2B;IAE3B,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC;YACN,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,oCAAoC;YACzE,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,eAAe;YACrB,aAAa,EAAE,eAAe;YAC9B,UAAU,EAAE,2DAA2D;SACxE,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,SAAS,kBAAkB,CACzB,SAA4B,EAC5B,MAA2B;IAE3B,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC;YACN,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,sBAAsB,SAAS,CAAC,IAAI,0CAA0C;YACvF,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,mBAAmB;YACzB,aAAa,EAAE,mBAAmB;YAClC,UAAU,EAAE,8EAA8E;SAC3F,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,SAA4B;IACnD,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAExC,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,kDAAkD;IAClD,wCAAwC;IAExC,iDAAiD;IACjD,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACvD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAChD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,2BAA2B;YAC7D,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,cAAc;YAC7B,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;aACpB;YACD,UAAU,EAAE,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;SACvF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAA4B;IACtD,yDAAyD;IACzD,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,SAA4B;IAC3D,sFAAsF;IACtF,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;QAC1D,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,SAA4B,EAC5B,MAA2B;IAE3B,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,iEAAiE;IACjE,IAAI,MAAM,CAAC,kBAAkB;QACzB,SAAS,CAAC,aAAa,KAAK,YAAY;QACxC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,iCAAiC,SAAS,CAAC,IAAI,0BAA0B;YAClF,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE;gBACP,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,aAAa,EAAE,SAAS,CAAC,aAAa;aACvC;YACD,UAAU,EAAE,+DAA+D;SAC5E,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC1D,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACvD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,iEAAiE;YACtG,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,2DAA2D;SACxE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAA4B;IACtD,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,CAAC,WAAW;QAAE,OAAO,UAAU,CAAC;IAE9C,4BAA4B;IAC5B,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrC,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,kDAAkD;YACvF,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,eAAe;YACrB,aAAa,EAAE,eAAe;YAC9B,UAAU,EAAE,8EAA8E;SAC3F,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;YAC1C,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS,CAAC,QAAQ;gBACxB,IAAI,EAAE,SAAS,CAAC,UAAU;gBAC1B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,6CAA6C,OAAO,GAAG;gBAC5F,aAAa,EAAE,SAAS,CAAC,IAAI;gBAC7B,IAAI,EAAE,eAAe;gBACrB,aAAa,EAAE,eAAe;gBAC9B,UAAU,EAAE,iFAAiF;aAC9F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAA4B;IACpD,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,iFAAiF;IACjF,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QACpC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,cAAc,SAAS,CAAC,IAAI,uCAAuC;YAC5E,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,4DAA4D;SACzE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AASD,iEAAiE;AACjE,SAAS,SAAS,CAChB,GAA0B,EAC1B,SAAiB,EACjB,IAAI,GAAa,EAAE;IAEnB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAuC;IAEvC,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,GAAG,GAA0B;QACjC,aAAa;QACb,OAAO,EAAE,IAAI,GAAG,EAAU;QAC1B,cAAc,EAAE,IAAI,GAAG,EAAU;KAClC,CAAC;IAEF,kCAAkC;IAClC,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,iCAAiC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC7D,IAAI,EAAE,YAAY;gBAClB,aAAa,EAAE,YAAY;gBAC3B,UAAU,EAAE,qDAAqD;aAClE,CAAC,CAAC;YAEH,qEAAqE;YACrE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAkC;IACxE,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,4CAA4C;IAC5C,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAU,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,2BAA2B,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAErF,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC,iDAAiD;YAC3E,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,8CAA8C;gBACvD,IAAI,EAAE,mBAAmB;gBACzB,aAAa,EAAE,mBAAmB;gBAClC,UAAU,EAAE,kFAAkF;aAC/F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAkBD;;;;GAIG;AACH,SAAS,yBAAyB,CAChC,WAAkC,EAClC,MAA2B,EAC3B,QAAqB;IAErB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,uDAAuD;QACvD,OAAO,yBAAyB,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,4EAA4E;IAC5E,0DAA0D;IAC1D,OAAO,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,yFAAyF;AACzF,SAAS,yBAAyB,CAChC,WAAkC,EAClC,YAAoC;IAEpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IAExD,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,6DAA6D;QAC7D,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YAClE,IAAI,KAAK,EAAE,CAAC;gBAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAAC,MAAM;YAAC,CAAC;QACrD,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2FAA2F;AAC3F,SAAS,oBAAoB,CAC3B,WAAkC,EAClC,QAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IAExD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,UAAU;gBAAE,SAAS;YACpC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE3E,qEAAqE;YACrE,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,IAAI,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACxF,CAAC,CAAC,CAAC;YAEH,6DAA6D;YAC7D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACrC,gEAAgE;gBAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBACrE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE;wBACtB,WAAW,EAAE,SAAS,CAAC,IAAI;wBAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,WAAkC,EAClC,QAAqB,EACrB,UAA0C;IAE1C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IAEjD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,WAAW;gBAAE,SAAS;YAErC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAE7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;gBAEvC,0CAA0C;gBAC1C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW;oBACtC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC/C,SAAS;gBACX,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,iBAAiB,CAAC,IAAI,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,SAAS,CAAC,IAAI;oBAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,IAAI,EAAE,SAAS,CAAC,UAAU,IAAI,CAAC;oBAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAkC,EAClC,MAA2B;IAE3B,OAAO,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpC,0EAA0E;QAC1E,MAAM,UAAU,GAAG,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5E,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAE7C,0EAA0E;QAC1E,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GACzC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE7D,yEAAyE;QACzE,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAA6B,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QAE1F,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,SAAS;gBAAE,SAAS;YAEhC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ;gBACR,OAAO,EAAE,UAAU,GAAG,CAAC,OAAO,6BAA6B,GAAG,CAAC,WAAW,OAAO,GAAG,CAAC,WAAW,GAAG;gBACnG,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,IAAI,EAAE,aAAa;gBACnB,aAAa,EAAE,aAAa;gBAC5B,UAAU,EAAE,gBAAgB,GAAG,CAAC,OAAO,yBAAyB,GAAG,CAAC,WAAW,aAAa;gBAC5F,UAAU,EAAE;oBACV,MAAM,EAAE,aAAa;oBACrB,OAAO,EAAE,gBAAgB,GAAG,CAAC,OAAO,QAAQ,GAAG,CAAC,aAAa,wBAAwB,GAAG,CAAC,WAAW,gBAAgB,GAAG,CAAC,WAAW,IAAI;oBACvI,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;oBAC1B,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;oBACtC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"reactAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/reactAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAwB,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAsB1B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAEvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAI5B,SAAS,CAAC,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;IAGF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAC;aAAE,CAAC,CAAC;SACjD,CAAC,CAAC;KACJ,CAAC,CAAC;IAGH,aAAa,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAGF,qBAAqB,CAAC,EAAE;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,gBAAgB,CAAC,EAAE;QACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IAEF;;gGAE4F;IAC5F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;qFAEiF;IACjF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,kGAAkG;IAClG,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,oEAAoE;IACpE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC;IAEpC;;+FAE2F;IAC3F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,0BAA0B,EAAE,wBA4DxC,CAAC;AAw2CF;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,mEAAmE;IACvF,QAAQ,CAAC,QAAQ,cAAc;IAE/B,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA0CtB;CACF"}
1
+ {"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAwB,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAsB1B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAEvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAI5B,SAAS,CAAC,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;IAGF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAC;aAAE,CAAC,CAAC;SACjD,CAAC,CAAC;KACJ,CAAC,CAAC;IAGH,aAAa,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAGF,qBAAqB,CAAC,EAAE;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,gBAAgB,CAAC,EAAE;QACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IAEF;;gGAE4F;IAC5F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;qFAEiF;IACjF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,kGAAkG;IAClG,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,oEAAoE;IACpE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC;IAEpC;;+FAE2F;IAC3F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,0BAA0B,EAAE,wBA4DxC,CAAC;AAk+CF;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,mEAAmE;IACvF,QAAQ,CAAC,QAAQ,cAAc;IAE/B,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA0CtB;CACF"}
@@ -123,7 +123,7 @@ function mapDatabaseImports(imports, config) {
123
123
  * text (Spec 17 R2 — content scanning is removed in favour of provenance).
124
124
  */
125
125
  function isDbCallCandidate(node, adapter, sourceCode, provenanceContext) {
126
- const nodeText = adapter.getNodeText(node, sourceCode);
126
+ const nodeText = stripComments(adapter.getNodeText(node, sourceCode));
127
127
  // Check if it's a function call whose callee is DB-related
128
128
  if (isFunctionCall(node, adapter)) {
129
129
  // Spec 21: Use provenance when available, fall back to name-based check
@@ -183,7 +183,7 @@ function dedupeCandidateNodes(nodes, adapter) {
183
183
  */
184
184
  function buildDatabaseCall(node, ast, scan) {
185
185
  const { adapter, sourceCode, dbImports, config } = scan;
186
- const nodeText = adapter.getNodeText(node, sourceCode);
186
+ const nodeText = stripComments(adapter.getNodeText(node, sourceCode));
187
187
  if (!nodeText || nodeText.trim().length < 10)
188
188
  return null;
189
189
  // Skip when a call_expression like db.prepare(`...`) is rediscovered via
@@ -196,6 +196,7 @@ function buildDatabaseCall(node, ast, scan) {
196
196
  return null;
197
197
  const tables = extractTables(nodeText, config);
198
198
  const hasOrgFilter = hasOrganizationFilter(nodeText, config);
199
+ const { hasFilter, hasSelectSource } = detectQueryFiltering(nodeText);
199
200
  const security = withRuleTiming('sql-injection-risk', () => checkQuerySecurity(node, nodeText, ast, scan));
200
201
  let callType = 'unknown';
201
202
  if (isSqlQuery) {
@@ -217,6 +218,8 @@ function buildDatabaseCall(node, ast, scan) {
217
218
  column: node.location.start.column,
218
219
  tables,
219
220
  hasOrganizationFilter: hasOrgFilter,
221
+ hasFilter,
222
+ hasSelectSource,
220
223
  hasParameterizedQuery: security.parameterized,
221
224
  hasSqlInjectionRisk: security.injectionRisk,
222
225
  enclosingFunction: findEnclosingFunctionName(node, adapter),
@@ -269,7 +272,7 @@ function analyzeQuery(call, sourceCode, config) {
269
272
  if (call.tables.length > (config.performanceThresholds?.joinedTableCount || 4)) {
270
273
  performanceRisk = 'high';
271
274
  }
272
- else if (!call.hasOrganizationFilter && call.tables.length > 0) {
275
+ else if (isUnfilteredQuery(call) && call.tables.length > 0) {
273
276
  performanceRisk = 'medium';
274
277
  }
275
278
  return {
@@ -278,6 +281,7 @@ function analyzeQuery(call, sourceCode, config) {
278
281
  hasJoins,
279
282
  hasSubquery,
280
283
  hasOrganizationFilter: call.hasOrganizationFilter,
284
+ hasFilter: call.hasFilter,
281
285
  performanceRisk
282
286
  };
283
287
  }
@@ -313,7 +317,7 @@ function checkViolations(call, analysis, ctx) {
313
317
  push(`Complex query with ${call.tables.length} tables may have performance issues`, { severity: 'warning', rule: 'complex-query' });
314
318
  }
315
319
  // Performance: Unfiltered Query
316
- if (!call.hasOrganizationFilter && analysis.performanceRisk === 'medium') {
320
+ if (isUnfilteredQuery(call) && analysis.performanceRisk === 'medium') {
317
321
  push(`Unfiltered query on ${call.tables.join(', ')} may cause performance issues`, { severity: 'suggestion', rule: 'unfiltered-query' });
318
322
  }
319
323
  return violations;
@@ -368,6 +372,63 @@ function containsSQLKeywords(text) {
368
372
  const upperText = text.toUpperCase();
369
373
  return SQL_KEYWORDS.some(keyword => upperText.includes(keyword));
370
374
  }
375
+ /**
376
+ * Strip `//` line and `/* *`/ block comments from a source slice before SQL
377
+ * analysis. Comments inside a node's byte range (e.g. a doc comment placed
378
+ * inside a `pgEnum(...)` array literal) otherwise leak prose words like
379
+ * "from under the submission" into `containsSQLStructure`/`extractTables`,
380
+ * fabricating a phantom table and an `unfiltered-query` finding.
381
+ *
382
+ * String/template-literal contents are preserved so a URL or a `//` inside a
383
+ * quoted SQL string is not mangled — only comments proper are removed.
384
+ */
385
+ function stripComments(text) {
386
+ if (!text)
387
+ return text;
388
+ let out = '';
389
+ let i = 0;
390
+ const n = text.length;
391
+ let quote = null; // ', ", or ` when inside a quoted span
392
+ while (i < n) {
393
+ const ch = text[i];
394
+ const next = text[i + 1];
395
+ if (quote) {
396
+ out += ch;
397
+ if (ch === '\\' && i + 1 < n) {
398
+ out += next;
399
+ i += 2;
400
+ continue;
401
+ }
402
+ if (ch === quote)
403
+ quote = null;
404
+ i += 1;
405
+ continue;
406
+ }
407
+ if (ch === '"' || ch === "'" || ch === '`') {
408
+ quote = ch;
409
+ out += ch;
410
+ i += 1;
411
+ continue;
412
+ }
413
+ if (ch === '/' && next === '/') {
414
+ // Line comment — drop until end of line.
415
+ while (i < n && text[i] !== '\n')
416
+ i += 1;
417
+ continue;
418
+ }
419
+ if (ch === '/' && next === '*') {
420
+ // Block comment — drop until closing */
421
+ i += 2;
422
+ while (i < n && !(text[i] === '*' && text[i + 1] === '/'))
423
+ i += 1;
424
+ i += 2;
425
+ continue;
426
+ }
427
+ out += ch;
428
+ i += 1;
429
+ }
430
+ return out;
431
+ }
371
432
  /**
372
433
  * Spec 22 R4.2: Requires ≥2 SQL keywords for variable-assignment detection.
373
434
  *
@@ -742,6 +803,51 @@ function matchesOrganizationPattern(lowerText, p) {
742
803
  lowerText.includes(`where ${p} =`) || lowerText.includes(`where ${p}=`) ||
743
804
  lowerText.includes(`and ${p} =`) || lowerText.includes(`and ${p}=`));
744
805
  }
806
+ /**
807
+ * True when a query applies *any* row-limiting filter, not merely a tenant/
808
+ * organization predicate. The `unfiltered-query` rule is about reads that
809
+ * sweep an unbounded result set; a WHERE/HAVING/LIMIT clause, or a JOIN ... ON
810
+ * predicate (which the organization-pattern heuristic never sees), is enough
811
+ * to show the query is deliberately scoped. Evaluated on comment-stripped
812
+ * text so prose in `//` or `/* *`/ comments cannot fabricate a filter.
813
+ */
814
+ function hasQueryFilter(text) {
815
+ const upper = text.toUpperCase();
816
+ return /\bWHERE\b/.test(upper)
817
+ || /\bHAVING\b/.test(upper)
818
+ || /\bLIMIT\b/.test(upper)
819
+ || /\bON\b/.test(upper);
820
+ }
821
+ /**
822
+ * True when a SQL statement contains a SELECT — a read component. This is true
823
+ * for a bare `SELECT`, an `INSERT ... SELECT`, and a `WITH ... SELECT`, whose
824
+ * source rows are read and therefore subject to the WHERE/HAVING/LIMIT/ON filter
825
+ * gate. It is false for pure writes (`INSERT ... VALUES`, `DELETE`, `UPDATE`),
826
+ * which have no read component. Text with no DML verb (ORM fragments, raw
827
+ * query-builder text) has no SELECT and is therefore treated as a pure write.
828
+ */
829
+ function hasSelectComponent(text) {
830
+ return /\bSELECT\b/.test(text.toUpperCase());
831
+ }
832
+ /**
833
+ * Filter/read shape of a SQL statement, computed together for the
834
+ * `unfiltered-query` gate (keeps `buildDatabaseCall` under its line budget).
835
+ */
836
+ function detectQueryFiltering(text) {
837
+ return { hasFilter: hasQueryFilter(text), hasSelectSource: hasSelectComponent(text) };
838
+ }
839
+ /**
840
+ * True when a call should be surfaced by the `unfiltered-query` rule. Pure
841
+ * writes (`INSERT ... VALUES`, `DELETE`, `UPDATE`) are always surfaced — they
842
+ * have no read component for the WHERE/HAVING/LIMIT/ON gate to scope, so a
843
+ * scoped DELETE still surfaces its table, which the INSERT-only / DELETE-only
844
+ * table-extraction path depends on. Statements with a SELECT component (a bare
845
+ * `SELECT`, or an `INSERT ... SELECT`) are surfaced only when that read lacks a
846
+ * limiting clause.
847
+ */
848
+ function isUnfilteredQuery(call) {
849
+ return !call.hasSelectSource || !call.hasFilter;
850
+ }
745
851
  /**
746
852
  * True when the query is already parameterized by one of the four chain
747
853
  * shapes (.prepare().bind(), .exec() spread, D1 convenience call, or a DB
@@ -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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"}
@@ -511,12 +511,26 @@ function findNodeByLocation(root, location) {
511
511
  }
512
512
  return null;
513
513
  }
514
+ /**
515
+ * True when `name` is a plain identifier (valid @param target). Destructured
516
+ * parameters surface in `ParameterInfo.name` as their raw pattern text (e.g.
517
+ * `{ children }` or `[first, second]`), which cannot match an `@param` tag and
518
+ * is never a legitimately documentable parameter name — so skip them.
519
+ */
520
+ function isPlainIdentifierName(name) {
521
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name);
522
+ }
514
523
  /**
515
524
  * Check which parameters are missing documentation.
516
525
  */
517
526
  function checkParameterDocumentation(doc, paramNames) {
518
527
  const missingParams = [];
519
528
  for (const param of paramNames) {
529
+ // Destructured object/array-pattern params (e.g. `({ children })`) have no
530
+ // single name to document via @param — skip rather than flag a false positive.
531
+ if (!isPlainIdentifierName(param)) {
532
+ continue;
533
+ }
520
534
  const paramRegex = new RegExp(`@param\\s+(?:\\{[^}]+\\}\\s+)?${param}\\b`, 'i');
521
535
  if (!paramRegex.test(doc)) {
522
536
  missingParams.push(param);