@aroman22/codegraph-vba-darwin-arm64 1.10.0 → 1.12.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 (100) hide show
  1. package/lib/dist/bin/codegraph.js +68 -0
  2. package/lib/dist/bin/codegraph.js.map +1 -1
  3. package/lib/dist/cli/stats-vba-rules.d.ts +64 -0
  4. package/lib/dist/cli/stats-vba-rules.d.ts.map +1 -0
  5. package/lib/dist/cli/stats-vba-rules.js +71 -0
  6. package/lib/dist/cli/stats-vba-rules.js.map +1 -0
  7. package/lib/dist/db/queries.d.ts +37 -0
  8. package/lib/dist/db/queries.d.ts.map +1 -1
  9. package/lib/dist/db/queries.js +33 -0
  10. package/lib/dist/db/queries.js.map +1 -1
  11. package/lib/dist/extraction/frameworks/dysflow-export.d.ts +37 -0
  12. package/lib/dist/extraction/frameworks/dysflow-export.d.ts.map +1 -0
  13. package/lib/dist/extraction/frameworks/dysflow-export.js +121 -0
  14. package/lib/dist/extraction/frameworks/dysflow-export.js.map +1 -0
  15. package/lib/dist/extraction/frameworks/index.d.ts +20 -0
  16. package/lib/dist/extraction/frameworks/index.d.ts.map +1 -0
  17. package/lib/dist/extraction/frameworks/index.js +24 -0
  18. package/lib/dist/extraction/frameworks/index.js.map +1 -0
  19. package/lib/dist/extraction/index.d.ts.map +1 -1
  20. package/lib/dist/extraction/index.js +25 -5
  21. package/lib/dist/extraction/index.js.map +1 -1
  22. package/lib/dist/extraction/parse-pool.d.ts +10 -0
  23. package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
  24. package/lib/dist/extraction/parse-pool.js +2 -0
  25. package/lib/dist/extraction/parse-pool.js.map +1 -1
  26. package/lib/dist/extraction/parse-worker.js +6 -2
  27. package/lib/dist/extraction/parse-worker.js.map +1 -1
  28. package/lib/dist/extraction/tree-sitter.d.ts +9 -1
  29. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  30. package/lib/dist/extraction/tree-sitter.js +58 -5
  31. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  32. package/lib/dist/extraction/vba/call-sweep.d.ts +43 -0
  33. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  34. package/lib/dist/extraction/vba/call-sweep.js +155 -66
  35. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  36. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  37. package/lib/dist/extraction/vba/calls.js +6 -0
  38. package/lib/dist/extraction/vba/calls.js.map +1 -1
  39. package/lib/dist/extraction/vba/context.d.ts +109 -1
  40. package/lib/dist/extraction/vba/context.d.ts.map +1 -1
  41. package/lib/dist/extraction/vba/context.js +155 -2
  42. package/lib/dist/extraction/vba/context.js.map +1 -1
  43. package/lib/dist/extraction/vba/declarations.d.ts +38 -2
  44. package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
  45. package/lib/dist/extraction/vba/declarations.js +217 -129
  46. package/lib/dist/extraction/vba/declarations.js.map +1 -1
  47. package/lib/dist/extraction/vba/dims.d.ts +35 -1
  48. package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
  49. package/lib/dist/extraction/vba/dims.js +185 -109
  50. package/lib/dist/extraction/vba/dims.js.map +1 -1
  51. package/lib/dist/extraction/vba/enums-consts.d.ts +47 -7
  52. package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
  53. package/lib/dist/extraction/vba/enums-consts.js +215 -139
  54. package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
  55. package/lib/dist/extraction/vba/event-synth.d.ts +3 -0
  56. package/lib/dist/extraction/vba/event-synth.d.ts.map +1 -0
  57. package/lib/dist/extraction/vba/event-synth.js +176 -0
  58. package/lib/dist/extraction/vba/event-synth.js.map +1 -0
  59. package/lib/dist/extraction/vba/implements.d.ts +16 -0
  60. package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
  61. package/lib/dist/extraction/vba/implements.js +43 -12
  62. package/lib/dist/extraction/vba/implements.js.map +1 -1
  63. package/lib/dist/extraction/vba/procedures.d.ts +20 -0
  64. package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
  65. package/lib/dist/extraction/vba/procedures.js +48 -13
  66. package/lib/dist/extraction/vba/procedures.js.map +1 -1
  67. package/lib/dist/extraction/vba/rules.d.ts +129 -0
  68. package/lib/dist/extraction/vba/rules.d.ts.map +1 -0
  69. package/lib/dist/extraction/vba/rules.js +63 -0
  70. package/lib/dist/extraction/vba/rules.js.map +1 -0
  71. package/lib/dist/extraction/vba/text-utils.d.ts +1 -0
  72. package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
  73. package/lib/dist/extraction/vba/text-utils.js +4 -2
  74. package/lib/dist/extraction/vba/text-utils.js.map +1 -1
  75. package/lib/dist/extraction/vba-extractor.d.ts +77 -1
  76. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
  77. package/lib/dist/extraction/vba-extractor.js +182 -15
  78. package/lib/dist/extraction/vba-extractor.js.map +1 -1
  79. package/lib/dist/extraction/vba-preprocess.d.ts +11 -1
  80. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
  81. package/lib/dist/extraction/vba-preprocess.js +45 -16
  82. package/lib/dist/extraction/vba-preprocess.js.map +1 -1
  83. package/lib/dist/extraction/vba-timing.d.ts +38 -0
  84. package/lib/dist/extraction/vba-timing.d.ts.map +1 -0
  85. package/lib/dist/extraction/vba-timing.js +203 -0
  86. package/lib/dist/extraction/vba-timing.js.map +1 -0
  87. package/lib/dist/index.d.ts.map +1 -1
  88. package/lib/dist/index.js +22 -0
  89. package/lib/dist/index.js.map +1 -1
  90. package/lib/dist/project-config.d.ts +31 -0
  91. package/lib/dist/project-config.d.ts.map +1 -1
  92. package/lib/dist/project-config.js +75 -22
  93. package/lib/dist/project-config.js.map +1 -1
  94. package/lib/dist/resolution/frameworks/index.d.ts.map +1 -1
  95. package/lib/dist/resolution/frameworks/index.js +7 -0
  96. package/lib/dist/resolution/frameworks/index.js.map +1 -1
  97. package/lib/node_modules/.modules.yaml +1 -1
  98. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  99. package/lib/package.json +2 -1
  100. package/package.json +1 -1
@@ -6421,8 +6421,16 @@ exports.TreeSitterExtractor = TreeSitterExtractor;
6421
6421
  * If `frameworkNames` is provided, framework-specific extractors matching
6422
6422
  * those names and the file's language are run after the tree-sitter pass.
6423
6423
  * Their nodes/references/errors are merged into the returned result.
6424
+ *
6425
+ * `dysflowExport` (issue #154) gates the 3 Dysflow-specific VBA
6426
+ * sub-extractors (form/report SaveAsText, test manifests, test sequences).
6427
+ * `true` (the default) preserves the pre-refactor behavior; `false` opts
6428
+ * out so `.form.txt`/`.report.txt`/manifest/sequence files are tracked as
6429
+ * just a `file` node. Read from `codegraph.json` via
6430
+ * `loadDysflowExportConfig(rootDir)` at the call site and threaded in here
6431
+ * so this function stays project-config-agnostic.
6424
6432
  */
6425
- function extractFromSource(filePath, source, language, frameworkNames, vbaTargets) {
6433
+ function extractFromSource(filePath, source, language, frameworkNames, vbaTargets, maxRaiseFanout, dysflowExport = true) {
6426
6434
  const detectedLanguage = language || (0, grammars_1.detectLanguage)(filePath, source);
6427
6435
  const fileExtension = path.extname(filePath).toLowerCase();
6428
6436
  let result;
@@ -6481,7 +6489,45 @@ function extractFromSource(filePath, source, language, frameworkNames, vbaTarget
6481
6489
  const extractor = new dfm_extractor_1.DfmExtractor(filePath, source);
6482
6490
  result = extractor.extract();
6483
6491
  }
6484
- else if (detectedLanguage === 'vba' && (0, grammars_1.detectVbaFormFile)(filePath)) {
6492
+ else if (detectedLanguage === 'vba' &&
6493
+ !dysflowExport &&
6494
+ ((0, grammars_1.detectVbaFormFile)(filePath) ||
6495
+ (0, grammars_1.isVbaTestSequenceFile)(filePath) ||
6496
+ (0, grammars_1.isVbaTestManifestFile)(filePath))) {
6497
+ // Issue #154 — `vba.dysflowExport: false` opt-out. The 3 Dysflow
6498
+ // extractors (form, test manifest, test sequence) are skipped, so the
6499
+ // file is tracked as a `file`-only node. We emit it here directly
6500
+ // (vs. falling through to `VbaExtractor`) because the base extractor
6501
+ // would otherwise produce nothing for `.json` files — its regex
6502
+ // pipeline expects VBA token shapes, and a JSON body yields zero
6503
+ // declarations. For `.form.txt`/`.report.txt` the base would also
6504
+ // produce a file node via its `isFormOrReportFile` check, so the
6505
+ // shape matches either way; we centralize the opt-out emission here
6506
+ // so the behavior is identical for all 3 Dysflow file shapes.
6507
+ const fileNode = {
6508
+ id: (0, tree_sitter_helpers_1.generateNodeId)(filePath, 'file', filePath, 1),
6509
+ kind: 'file',
6510
+ name: path.basename(filePath),
6511
+ qualifiedName: filePath,
6512
+ filePath,
6513
+ language: 'vba',
6514
+ startLine: 1,
6515
+ endLine: source.split('\n').length,
6516
+ startColumn: 0,
6517
+ endColumn: source.split('\n').pop()?.length ?? 0,
6518
+ updatedAt: Date.now(),
6519
+ };
6520
+ result = {
6521
+ nodes: [fileNode],
6522
+ edges: [],
6523
+ unresolvedReferences: [],
6524
+ errors: [],
6525
+ durationMs: 0,
6526
+ };
6527
+ }
6528
+ else if (detectedLanguage === 'vba' &&
6529
+ dysflowExport &&
6530
+ (0, grammars_1.detectVbaFormFile)(filePath)) {
6485
6531
  // VBA form/report UI — Dysflow SaveAsText format. Two-segment
6486
6532
  // extensions (`.form.txt`/`.report.txt`) collapse to `.txt` under
6487
6533
  // `path.extname()`, so the dispatch uses `detectVbaFormFile()` rather
@@ -6491,7 +6537,9 @@ function extractFromSource(filePath, source, language, frameworkNames, vbaTarget
6491
6537
  const extractor = new vba_form_extractor_1.VbaFormExtractor(filePath, source);
6492
6538
  result = extractor.extract();
6493
6539
  }
6494
- else if (detectedLanguage === 'vba' && (0, grammars_1.isVbaTestSequenceFile)(filePath)) {
6540
+ else if (detectedLanguage === 'vba' &&
6541
+ dysflowExport &&
6542
+ (0, grammars_1.isVbaTestSequenceFile)(filePath)) {
6495
6543
  // Dysflow VBA test sequences — `<root>/sequences/*.json` (SUB-6 of #91,
6496
6544
  // #97). Classified `vba` by `detectLanguage`, narrowed here by the
6497
6545
  // `sequences/`-directory path gate. Guarded JSON parse + content-shape
@@ -6505,7 +6553,9 @@ function extractFromSource(filePath, source, language, frameworkNames, vbaTarget
6505
6553
  const extractor = new vba_test_sequence_extractor_1.VbaTestSequenceExtractor(filePath, source);
6506
6554
  result = extractor.extract();
6507
6555
  }
6508
- else if (detectedLanguage === 'vba' && (0, grammars_1.isVbaTestManifestFile)(filePath)) {
6556
+ else if (detectedLanguage === 'vba' &&
6557
+ dysflowExport &&
6558
+ (0, grammars_1.isVbaTestManifestFile)(filePath)) {
6509
6559
  // Dysflow VBA test manifests — `tests(.<slice>)*.json`. Classified `vba`
6510
6560
  // by `detectLanguage`, narrowed here by basename. Guarded JSON parse +
6511
6561
  // content-shape gate; emits a `file` node (SUB-2 adds the per-entry
@@ -6516,7 +6566,10 @@ function extractFromSource(filePath, source, language, frameworkNames, vbaTarget
6516
6566
  else if (detectedLanguage === 'vba') {
6517
6567
  // VBA standard/class/legacy modules — `.bas`, `.cls`, `.frm`, `.dsr`.
6518
6568
  // See `vba-code-extraction` spec (REQ-CODE-1..11).
6519
- const extractor = new vba_extractor_1.VbaExtractor(filePath, source, vbaTargets);
6569
+ // Issue #152: `maxRaiseFanout` is threaded from the project's
6570
+ // `codegraph.json` → `vba.maxRaiseFanout` and gates `raises-event`
6571
+ // edges for events with high per-file fanout.
6572
+ const extractor = new vba_extractor_1.VbaExtractor(filePath, source, vbaTargets, maxRaiseFanout);
6520
6573
  result = extractor.extract();
6521
6574
  }
6522
6575
  else if (detectedLanguage === 'sql') {