@vyuhlabs/dxkit 2.4.3 → 2.4.5

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 (78) hide show
  1. package/CHANGELOG.md +347 -0
  2. package/README.md +15 -11
  3. package/dist/analyzers/health.js +9 -9
  4. package/dist/analyzers/health.js.map +1 -1
  5. package/dist/analyzers/licenses/gather.js +1 -1
  6. package/dist/analyzers/licenses/gather.js.map +1 -1
  7. package/dist/analyzers/quality/gather.js +2 -2
  8. package/dist/analyzers/quality/gather.js.map +1 -1
  9. package/dist/analyzers/security/gather.d.ts.map +1 -1
  10. package/dist/analyzers/security/gather.js +11 -2
  11. package/dist/analyzers/security/gather.js.map +1 -1
  12. package/dist/analyzers/tests/import-graph.d.ts.map +1 -1
  13. package/dist/analyzers/tests/import-graph.js +5 -0
  14. package/dist/analyzers/tests/import-graph.js.map +1 -1
  15. package/dist/analyzers/tests/index.d.ts.map +1 -1
  16. package/dist/analyzers/tests/index.js +2 -0
  17. package/dist/analyzers/tests/index.js.map +1 -1
  18. package/dist/analyzers/tests/types.d.ts +12 -2
  19. package/dist/analyzers/tests/types.d.ts.map +1 -1
  20. package/dist/analyzers/tools/coverage.d.ts +1 -1
  21. package/dist/analyzers/tools/coverage.d.ts.map +1 -1
  22. package/dist/analyzers/tools/coverage.js.map +1 -1
  23. package/dist/analyzers/tools/jacoco.d.ts +76 -0
  24. package/dist/analyzers/tools/jacoco.d.ts.map +1 -0
  25. package/dist/analyzers/tools/jacoco.js +228 -0
  26. package/dist/analyzers/tools/jacoco.js.map +1 -0
  27. package/dist/analyzers/tools/jscpd.d.ts +8 -7
  28. package/dist/analyzers/tools/jscpd.d.ts.map +1 -1
  29. package/dist/analyzers/tools/jscpd.js +30 -13
  30. package/dist/analyzers/tools/jscpd.js.map +1 -1
  31. package/dist/analyzers/tools/osv-scanner-fix.d.ts +20 -0
  32. package/dist/analyzers/tools/osv-scanner-fix.d.ts.map +1 -1
  33. package/dist/analyzers/tools/osv-scanner-fix.js +45 -20
  34. package/dist/analyzers/tools/osv-scanner-fix.js.map +1 -1
  35. package/dist/analyzers/tools/osv-scanner-maven.d.ts +42 -0
  36. package/dist/analyzers/tools/osv-scanner-maven.d.ts.map +1 -0
  37. package/dist/analyzers/tools/osv-scanner-maven.js +161 -0
  38. package/dist/analyzers/tools/osv-scanner-maven.js.map +1 -0
  39. package/dist/analyzers/tools/runner.d.ts +47 -0
  40. package/dist/analyzers/tools/runner.d.ts.map +1 -1
  41. package/dist/analyzers/tools/runner.js +79 -0
  42. package/dist/analyzers/tools/runner.js.map +1 -1
  43. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  44. package/dist/analyzers/tools/tool-registry.js +47 -0
  45. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +36 -2
  48. package/dist/cli.js.map +1 -1
  49. package/dist/constants.d.ts +3 -0
  50. package/dist/constants.d.ts.map +1 -1
  51. package/dist/languages/capabilities/index.d.ts +21 -12
  52. package/dist/languages/capabilities/index.d.ts.map +1 -1
  53. package/dist/languages/capabilities/index.js +47 -13
  54. package/dist/languages/capabilities/index.js.map +1 -1
  55. package/dist/languages/index.d.ts.map +1 -1
  56. package/dist/languages/index.js +11 -1
  57. package/dist/languages/index.js.map +1 -1
  58. package/dist/languages/java.d.ts +67 -0
  59. package/dist/languages/java.d.ts.map +1 -0
  60. package/dist/languages/java.js +419 -0
  61. package/dist/languages/java.js.map +1 -0
  62. package/dist/languages/kotlin.d.ts +52 -0
  63. package/dist/languages/kotlin.d.ts.map +1 -0
  64. package/dist/languages/kotlin.js +404 -0
  65. package/dist/languages/kotlin.js.map +1 -0
  66. package/dist/languages/types.d.ts +9 -1
  67. package/dist/languages/types.d.ts.map +1 -1
  68. package/dist/tools-cli.d.ts +16 -1
  69. package/dist/tools-cli.d.ts.map +1 -1
  70. package/dist/tools-cli.js +69 -6
  71. package/dist/tools-cli.js.map +1 -1
  72. package/dist/types.d.ts +12 -10
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +2 -1
  75. package/templates/.claude/rules/java.md +11 -0
  76. package/templates/.claude/rules/kotlin.md +11 -0
  77. package/templates/configs/java/README.md +6 -0
  78. package/templates/configs/kotlin/README.md +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"import-graph.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/import-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA0BtB"}
1
+ {"version":3,"file":"import-graph.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/import-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA8BtB"}
@@ -33,8 +33,13 @@ const languages_1 = require("../../languages");
33
33
  * following import edges up to maxHops. Paths are project-relative.
34
34
  */
35
35
  async function buildReachable(seeds, cwd, options = {}) {
36
+ // D010 fix: filter to packs active for this cwd. Imports gather is
37
+ // expensive (find subprocess + per-file regex extraction); inactive
38
+ // packs would walk the tree only to emit zero results.
36
39
  const providers = [];
37
40
  for (const lang of languages_1.LANGUAGES) {
41
+ if (!lang.detect(cwd))
42
+ continue;
38
43
  const p = lang.capabilities?.imports;
39
44
  if (p)
40
45
  providers.push(p);
@@ -1 +1 @@
1
- {"version":3,"file":"import-graph.js","sourceRoot":"","sources":["../../../src/analyzers/tests/import-graph.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;AAiBH,wCA8BC;AA7CD,8CAAkD;AAClD,0EAAmE;AACnE,+CAA4C;AAS5C;;;GAGG;AACI,KAAK,UAAU,cAAc,CAClC,KAAe,EACf,GAAW,EACX,UAA8B,EAAE;IAEhC,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,qBAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QACrC,IAAI,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,qBAAO,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAA+B,CAAC;IAEtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"import-graph.js","sourceRoot":"","sources":["../../../src/analyzers/tests/import-graph.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;AAiBH,wCAkCC;AAjDD,8CAAkD;AAClD,0EAAmE;AACnE,+CAA4C;AAS5C;;;GAGG;AACI,KAAK,UAAU,cAAc,CAClC,KAAe,EACf,GAAW,EACX,UAA8B,EAAE;IAEhC,mEAAmE;IACnE,oEAAoE;IACpE,uDAAuD;IACvD,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,qBAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,SAAS;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QACrC,IAAI,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,qBAAO,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAA+B,CAAC;IAEtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAA8B,MAAM,SAAS,CAAC;AAErE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,CA0GzB;AAsBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqFpF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAA8B,MAAM,SAAS,CAAC;AAErE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,CA0GzB;AAwBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqFpF"}
@@ -162,6 +162,8 @@ function coverageSourceLabel(source, file) {
162
162
  return `from ${file ?? 'cobertura.xml'}`;
163
163
  case 'lcov':
164
164
  return `from ${file ?? 'lcov.info'}`;
165
+ case 'jacoco':
166
+ return `from ${file ?? 'jacocoTestReport.xml'}`;
165
167
  }
166
168
  }
167
169
  function formatTestGapsReport(report, elapsed) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyzers/tests/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyzers/tests/index.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,18 @@ export interface SourceFile {
14
14
  risk: RiskTier;
15
15
  hasMatchingTest: boolean;
16
16
  }
17
- /** Where the `effectiveCoverage` number came from. */
18
- export type CoverageSource = 'filename-match' | 'import-graph' | 'istanbul-summary' | 'istanbul-final' | 'coverage-py' | 'go' | 'cobertura' | 'lcov';
17
+ /**
18
+ * Where the `effectiveCoverage` number came from.
19
+ *
20
+ * Single source of truth: `tools/coverage.ts:CoverageSource` enumerates
21
+ * artifact-derived sources (one per coverage tool format). We extend it
22
+ * here with two test-only "derived" sources (`filename-match`,
23
+ * `import-graph`) that the test-gaps analyzer falls back to when no
24
+ * coverage artifact is available. Adding a new pack-owned coverage
25
+ * format means editing one place: `tools/coverage.ts`.
26
+ */
27
+ import type { CoverageSource as ArtifactCoverageSource } from '../tools/coverage';
28
+ export type CoverageSource = ArtifactCoverageSource | 'filename-match' | 'import-graph';
19
29
  export interface TestGapsReport {
20
30
  repo: string;
21
31
  analyzedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,aAAa,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,CAAC;IAClF,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,GACb,IAAI,GACJ,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iDAAiD;QACjD,cAAc,EAAE,cAAc,CAAC;QAC/B,gEAAgE;QAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tests/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,aAAa,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,CAAC;IAClF,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,cAAc,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iDAAiD;QACjD,cAAc,EAAE,cAAc,CAAC;QAC/B,gEAAgE;QAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
@@ -19,7 +19,7 @@
19
19
  * artifact exists or parsing fails; callers (tests analyzer) should
20
20
  * treat a null return as "fall back to filename matching."
21
21
  */
22
- export type CoverageSource = 'istanbul-summary' | 'istanbul-final' | 'coverage-py' | 'go' | 'cobertura' | 'lcov';
22
+ export type CoverageSource = 'istanbul-summary' | 'istanbul-final' | 'coverage-py' | 'go' | 'cobertura' | 'lcov' | 'jacoco';
23
23
  export interface FileCoverage {
24
24
  /** Project-relative path (normalized to forward slashes). */
25
25
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,GACb,IAAI,GACJ,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQxE;AAUD,8FAA8F;AAC9F,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUzD"}
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,GACb,IAAI,GACJ,WAAW,GACX,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQxE;AAUD,8FAA8F;AAC9F,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../../src/analyzers/tools/coverage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAgDH,oCAQC;AAWD,wBAEC;AAGD,gCAUC;AAhFD,+CAAwD;AACxD,0EAAoE;AAGpE,8CAAkD;AAgClD;;;;;;;;;GASG;AACI,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,MAAM,SAAS,GAAyC,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,IAAA,iCAAqB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,sBAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,qEAAqE;AACrE,kEAAkE;AAClE,oEAAoE;AACpE,kEAAkE;AAElE,8FAA8F;AAC9F,SAAgB,MAAM,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACjC,CAAC;AAED,+EAA+E;AAC/E,SAAgB,UAAU,CAAC,CAAS,EAAE,GAAW;IAC/C,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,GAAG,EAAE,CAAC;IACX,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../../src/analyzers/tools/coverage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAiDH,oCAQC;AAWD,wBAEC;AAGD,gCAUC;AAjFD,+CAAwD;AACxD,0EAAoE;AAGpE,8CAAkD;AAiClD;;;;;;;;;GASG;AACI,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,MAAM,SAAS,GAAyC,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,IAAA,iCAAqB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,sBAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,qEAAqE;AACrE,kEAAkE;AAClE,oEAAoE;AACpE,kEAAkE;AAElE,8FAA8F;AAC9F,SAAgB,MAAM,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACjC,CAAC;AAED,+EAA+E;AAC/E,SAAgB,UAAU,CAAC,CAAS,EAAE,GAAW;IAC/C,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,GAAG,EAAE,CAAC;IACX,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { type Coverage } from './coverage';
2
+ import type { CoverageResult } from '../../languages/capabilities/types';
3
+ /**
4
+ * Pure parser for JaCoCo's XML report (DTD: `report.dtd`). The structure:
5
+ *
6
+ * <report name="...">
7
+ * <package name="com/example">
8
+ * <class name="com/example/Foo" sourcefilename="Foo.kt">...</class>
9
+ * <sourcefile name="Foo.kt">
10
+ * <line nr="N" mi="..." ci="..." mb="..." cb="..."/>
11
+ * <counter type="LINE" missed="X" covered="Y"/>
12
+ * </sourcefile>
13
+ * <counter type="LINE" missed="X" covered="Y"/>
14
+ * </package>
15
+ * <counter type="LINE" missed="X" covered="Y"/>
16
+ * </report>
17
+ *
18
+ * Per-file coverage comes from `<sourcefile>` blocks: their LINE counter
19
+ * holds the file's missed/covered totals. Project-level total comes from
20
+ * the top-level `<counter type="LINE">` (last in the document).
21
+ *
22
+ * Path attribution joins `<package name>` (forward-slashed, JVM-style)
23
+ * with `<sourcefile name>` to produce the canonical relative path the
24
+ * downstream consumers expect (`com/example/Foo.kt` or
25
+ * `com/example/Foo.java`). JVM bytecode namespacing isn't 1:1 with
26
+ * on-disk source paths in multi-module projects — accepted limitation
27
+ * (matches C#'s cobertura attribution).
28
+ *
29
+ * Returns null when no `<counter type="LINE">` exists at the top level
30
+ * — that's JaCoCo's "no coverage data" signal, distinct from "0%
31
+ * coverage" (where the counter exists with covered=0).
32
+ *
33
+ * Language-agnostic: works for Kotlin (.kt), Java (.java), and any
34
+ * other JVM language whose JaCoCo output respects the `<package>` /
35
+ * `<sourcefile>` shape — `<sourcefile name>` carries the on-disk
36
+ * filename verbatim so the parser doesn't need to know the language.
37
+ */
38
+ export declare function parseJaCoCoXml(raw: string, sourceFile: string, _cwd: string): Coverage | null;
39
+ /**
40
+ * Standard JaCoCo report locations across JVM build tools and project
41
+ * layouts:
42
+ *
43
+ * GRADLE (kotlin + java):
44
+ * - app/build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml
45
+ * (Android default — `app` module, `jacocoTestReport` task)
46
+ * - build/reports/jacoco/test/jacocoTestReport.xml
47
+ * (plain JVM via the `jacoco` plugin's default `test` task)
48
+ * - build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml
49
+ * (multi-module aggregate; many builds rename the task)
50
+ *
51
+ * MAVEN (java):
52
+ * - target/site/jacoco/jacoco.xml
53
+ * (default Maven JaCoCo plugin — single-module Java)
54
+ * - target/site/jacoco-aggregate/jacoco.xml
55
+ * (Maven multi-module aggregate via jacoco-maven-plugin's
56
+ * `report-aggregate` goal)
57
+ *
58
+ * FALLBACKS:
59
+ * - jacocoTestReport.xml (top-level — fixture / direct path)
60
+ * - jacoco.xml (top-level — Maven fixture / direct path)
61
+ *
62
+ * Returns the first existing path, relative to cwd. Conservative
63
+ * priority: most specific build-tool conventions first, root
64
+ * fallbacks last.
65
+ */
66
+ export declare function findJaCoCoReport(cwd: string): string | null;
67
+ /**
68
+ * Locate + parse the JaCoCo XML report under cwd, wrap the result in a
69
+ * `CoverageResult` envelope. Identical glue across JVM packs (kotlin,
70
+ * java) — no language-specific dispatch needed because JaCoCo's
71
+ * `<sourcefile name>` carries the on-disk filename verbatim and the
72
+ * file extension survives intact through the parser. Both packs'
73
+ * `coverageProvider.gather` should delegate here.
74
+ */
75
+ export declare function gatherJaCoCoCoverageResult(cwd: string): CoverageResult | null;
76
+ //# sourceMappingURL=jacoco.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jacoco.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/jacoco.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAmE7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB3D;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAY7E"}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseJaCoCoXml = parseJaCoCoXml;
37
+ exports.findJaCoCoReport = findJaCoCoReport;
38
+ exports.gatherJaCoCoCoverageResult = gatherJaCoCoCoverageResult;
39
+ /**
40
+ * JaCoCo XML report parser + standard-location finder. Shared across
41
+ * JVM-language packs (kotlin, java) — single source of truth per
42
+ * CLAUDE.md rule #2 ("Each tool has ONE gather function … if another
43
+ * module needs that tool's output, it MUST call the existing
44
+ * function").
45
+ *
46
+ * Extracted from `src/languages/kotlin.ts` in 10k.1.2 (Phase 10k.1
47
+ * SSOT validation) — when the Java pack needed JaCoCo coverage, the
48
+ * parser was already generic (kotlin's own tests cover it against
49
+ * Java source, see test/languages-kotlin.test.ts). Forking would
50
+ * have been the architectural violation; relocating to a shared
51
+ * tool module is the correct outcome.
52
+ */
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
55
+ const coverage_1 = require("./coverage");
56
+ /**
57
+ * Pure parser for JaCoCo's XML report (DTD: `report.dtd`). The structure:
58
+ *
59
+ * <report name="...">
60
+ * <package name="com/example">
61
+ * <class name="com/example/Foo" sourcefilename="Foo.kt">...</class>
62
+ * <sourcefile name="Foo.kt">
63
+ * <line nr="N" mi="..." ci="..." mb="..." cb="..."/>
64
+ * <counter type="LINE" missed="X" covered="Y"/>
65
+ * </sourcefile>
66
+ * <counter type="LINE" missed="X" covered="Y"/>
67
+ * </package>
68
+ * <counter type="LINE" missed="X" covered="Y"/>
69
+ * </report>
70
+ *
71
+ * Per-file coverage comes from `<sourcefile>` blocks: their LINE counter
72
+ * holds the file's missed/covered totals. Project-level total comes from
73
+ * the top-level `<counter type="LINE">` (last in the document).
74
+ *
75
+ * Path attribution joins `<package name>` (forward-slashed, JVM-style)
76
+ * with `<sourcefile name>` to produce the canonical relative path the
77
+ * downstream consumers expect (`com/example/Foo.kt` or
78
+ * `com/example/Foo.java`). JVM bytecode namespacing isn't 1:1 with
79
+ * on-disk source paths in multi-module projects — accepted limitation
80
+ * (matches C#'s cobertura attribution).
81
+ *
82
+ * Returns null when no `<counter type="LINE">` exists at the top level
83
+ * — that's JaCoCo's "no coverage data" signal, distinct from "0%
84
+ * coverage" (where the counter exists with covered=0).
85
+ *
86
+ * Language-agnostic: works for Kotlin (.kt), Java (.java), and any
87
+ * other JVM language whose JaCoCo output respects the `<package>` /
88
+ * `<sourcefile>` shape — `<sourcefile name>` carries the on-disk
89
+ * filename verbatim so the parser doesn't need to know the language.
90
+ */
91
+ function parseJaCoCoXml(raw, sourceFile, _cwd) {
92
+ const files = new Map();
93
+ // Iterate <package> blocks. Each block contains <sourcefile> children
94
+ // we tally and aggregate counters we can ignore (they're sums of the
95
+ // children, redundant given we sum the children ourselves).
96
+ const packageRe = /<package\s+name="([^"]+)">([\s\S]*?)<\/package>/g;
97
+ let pm;
98
+ while ((pm = packageRe.exec(raw)) !== null) {
99
+ const pkgPath = pm[1].replace(/\\/g, '/'); // JVM uses forward-slashes already; defensive
100
+ const pkgInner = pm[2];
101
+ // Within a <package>, <sourcefile> blocks own per-file counters.
102
+ const sourceFileRe = /<sourcefile\s+name="([^"]+)">([\s\S]*?)<\/sourcefile>/g;
103
+ let sm;
104
+ while ((sm = sourceFileRe.exec(pkgInner)) !== null) {
105
+ const fileName = sm[1];
106
+ const sourceInner = sm[2];
107
+ // The LAST <counter type="LINE"> in <sourcefile> is the
108
+ // file-level aggregate; earlier ones are per-method. We pick the
109
+ // last to get the full-file roll-up.
110
+ const counterRe = /<counter\s+type="LINE"\s+missed="(\d+)"\s+covered="(\d+)"\s*\/>/g;
111
+ let lastMissed = 0;
112
+ let lastCovered = 0;
113
+ let cm;
114
+ while ((cm = counterRe.exec(sourceInner)) !== null) {
115
+ lastMissed = parseInt(cm[1], 10);
116
+ lastCovered = parseInt(cm[2], 10);
117
+ }
118
+ const total = lastMissed + lastCovered;
119
+ const rel = pkgPath ? `${pkgPath}/${fileName}` : fileName;
120
+ files.set(rel, {
121
+ path: rel,
122
+ covered: lastCovered,
123
+ total,
124
+ pct: (0, coverage_1.round1)(total > 0 ? (lastCovered / total) * 100 : 0),
125
+ });
126
+ }
127
+ }
128
+ // Top-level project-wide LINE counter — JaCoCo emits it after the
129
+ // last </package>. Use a non-greedy match against the document tail
130
+ // to avoid grabbing per-package counters as project-level.
131
+ const tailMatch = raw.match(/<\/package>\s*<counter\s+type="LINE"\s+missed="(\d+)"\s+covered="(\d+)"\s*\/>\s*<\/report>/);
132
+ let totalMissed = 0;
133
+ let totalCovered = 0;
134
+ if (tailMatch) {
135
+ totalMissed = parseInt(tailMatch[1], 10);
136
+ totalCovered = parseInt(tailMatch[2], 10);
137
+ }
138
+ else {
139
+ // No project-level counter (degenerate report — single package, no
140
+ // explicit roll-up). Sum the per-file totals as the linePercent
141
+ // basis.
142
+ for (const f of files.values()) {
143
+ totalCovered += f.covered;
144
+ totalMissed += f.total - f.covered;
145
+ }
146
+ }
147
+ const grandTotal = totalCovered + totalMissed;
148
+ if (grandTotal === 0 && files.size === 0)
149
+ return null;
150
+ return {
151
+ source: 'jacoco',
152
+ sourceFile,
153
+ linePercent: (0, coverage_1.round1)(grandTotal > 0 ? (totalCovered / grandTotal) * 100 : 0),
154
+ files,
155
+ };
156
+ }
157
+ /**
158
+ * Standard JaCoCo report locations across JVM build tools and project
159
+ * layouts:
160
+ *
161
+ * GRADLE (kotlin + java):
162
+ * - app/build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml
163
+ * (Android default — `app` module, `jacocoTestReport` task)
164
+ * - build/reports/jacoco/test/jacocoTestReport.xml
165
+ * (plain JVM via the `jacoco` plugin's default `test` task)
166
+ * - build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml
167
+ * (multi-module aggregate; many builds rename the task)
168
+ *
169
+ * MAVEN (java):
170
+ * - target/site/jacoco/jacoco.xml
171
+ * (default Maven JaCoCo plugin — single-module Java)
172
+ * - target/site/jacoco-aggregate/jacoco.xml
173
+ * (Maven multi-module aggregate via jacoco-maven-plugin's
174
+ * `report-aggregate` goal)
175
+ *
176
+ * FALLBACKS:
177
+ * - jacocoTestReport.xml (top-level — fixture / direct path)
178
+ * - jacoco.xml (top-level — Maven fixture / direct path)
179
+ *
180
+ * Returns the first existing path, relative to cwd. Conservative
181
+ * priority: most specific build-tool conventions first, root
182
+ * fallbacks last.
183
+ */
184
+ function findJaCoCoReport(cwd) {
185
+ const candidates = [
186
+ // Gradle (Android + plain JVM)
187
+ 'app/build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml',
188
+ 'build/reports/jacoco/test/jacocoTestReport.xml',
189
+ 'build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml',
190
+ // Maven (single-module + multi-module aggregate)
191
+ 'target/site/jacoco/jacoco.xml',
192
+ 'target/site/jacoco-aggregate/jacoco.xml',
193
+ // Direct-path fallbacks (fixture / hand-placed)
194
+ 'jacocoTestReport.xml',
195
+ 'jacoco.xml',
196
+ ];
197
+ for (const rel of candidates) {
198
+ const abs = path.join(cwd, rel);
199
+ if (fs.existsSync(abs))
200
+ return rel;
201
+ }
202
+ return null;
203
+ }
204
+ /**
205
+ * Locate + parse the JaCoCo XML report under cwd, wrap the result in a
206
+ * `CoverageResult` envelope. Identical glue across JVM packs (kotlin,
207
+ * java) — no language-specific dispatch needed because JaCoCo's
208
+ * `<sourcefile name>` carries the on-disk filename verbatim and the
209
+ * file extension survives intact through the parser. Both packs'
210
+ * `coverageProvider.gather` should delegate here.
211
+ */
212
+ function gatherJaCoCoCoverageResult(cwd) {
213
+ const reportRel = findJaCoCoReport(cwd);
214
+ if (!reportRel)
215
+ return null;
216
+ let raw;
217
+ try {
218
+ raw = fs.readFileSync(path.join(cwd, reportRel), 'utf-8');
219
+ }
220
+ catch {
221
+ return null;
222
+ }
223
+ const coverage = parseJaCoCoXml(raw, reportRel, cwd);
224
+ if (!coverage)
225
+ return null;
226
+ return { schemaVersion: 1, tool: `coverage:${coverage.source}`, coverage };
227
+ }
228
+ //# sourceMappingURL=jacoco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jacoco.js","sourceRoot":"","sources":["../../../src/analyzers/tools/jacoco.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,15 @@
3
3
  *
4
4
  * The `jscpdProvider` is registered in `GLOBAL_CAPABILITIES.duplication`
5
5
  * (src/languages/capabilities/global.ts). jscpd runs once per repo with
6
- * a fixed source-file pattern and respects the project's `.gitignore`
7
- * via the `--gitignore` flag — crucial on large repos, jscpd without
8
- * it walks into `node_modules` and OOMs.
6
+ * a cross-language source-file pattern and respects the project's
7
+ * `.gitignore` via the `--gitignore` flag — crucial on large repos,
8
+ * jscpd without it walks into `node_modules` and OOMs.
9
9
  *
10
- * The source-file pattern is cross-language (all five packs' extensions
11
- * in one glob). jscpd's tokenizer is language-aware so this is safe;
12
- * keeping the pattern declared here rather than per-pack avoids five
13
- * separate jscpd invocations on mixed-stack repos.
10
+ * The source-file pattern is the union of every pack's
11
+ * `sourceExtensions` (LP-recipe pattern, Phase 10i.0-LP). jscpd's
12
+ * tokenizer is language-aware so a single union glob is safe; pack-
13
+ * driven derivation keeps adding a new language to a one-line scaffold
14
+ * change rather than a cross-cutting edit here.
14
15
  */
15
16
  import type { CapabilityProvider } from '../../languages/capabilities/provider';
16
17
  import type { DuplicationResult } from '../../languages/capabilities/types';
@@ -1 +1 @@
1
- {"version":3,"file":"jscpd.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/jscpd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAsB9F;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAgC5C;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAqCvE;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,iBAAiB,CAM/D,CAAC"}
1
+ {"version":3,"file":"jscpd.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/jscpd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAsB9F;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA8C5C;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAsCvE;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,iBAAiB,CAM/D,CAAC"}
@@ -4,27 +4,43 @@
4
4
  *
5
5
  * The `jscpdProvider` is registered in `GLOBAL_CAPABILITIES.duplication`
6
6
  * (src/languages/capabilities/global.ts). jscpd runs once per repo with
7
- * a fixed source-file pattern and respects the project's `.gitignore`
8
- * via the `--gitignore` flag — crucial on large repos, jscpd without
9
- * it walks into `node_modules` and OOMs.
7
+ * a cross-language source-file pattern and respects the project's
8
+ * `.gitignore` via the `--gitignore` flag — crucial on large repos,
9
+ * jscpd without it walks into `node_modules` and OOMs.
10
10
  *
11
- * The source-file pattern is cross-language (all five packs' extensions
12
- * in one glob). jscpd's tokenizer is language-aware so this is safe;
13
- * keeping the pattern declared here rather than per-pack avoids five
14
- * separate jscpd invocations on mixed-stack repos.
11
+ * The source-file pattern is the union of every pack's
12
+ * `sourceExtensions` (LP-recipe pattern, Phase 10i.0-LP). jscpd's
13
+ * tokenizer is language-aware so a single union glob is safe; pack-
14
+ * driven derivation keeps adding a new language to a one-line scaffold
15
+ * change rather than a cross-cutting edit here.
15
16
  */
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
18
  exports.jscpdProvider = void 0;
18
19
  exports.gatherJscpdResult = gatherJscpdResult;
20
+ const languages_1 = require("../../languages");
19
21
  const runner_1 = require("./runner");
20
22
  const tool_registry_1 = require("./tool-registry");
21
23
  /**
22
- * Union of source extensions across all language packs. A union pattern
23
- * rather than per-pack invocation so mixed-stack repos (Node + Python)
24
- * pay for one jscpd run, not N. Adding a language's extensions here is
25
- * the one cross-cutting edit needed when registering a new pack.
24
+ * Union of source extensions across all language packs, derived
25
+ * pack-side. Iterates LANGUAGES fresh on every call so a new pack lands
26
+ * in the glob without an edit here (matches `allSourceExtensions`'s
27
+ * pattern from Phase 10i.0-LP.3). A union pattern (rather than per-pack
28
+ * invocation) so mixed-stack repos pay for one jscpd run, not N.
29
+ *
30
+ * Note: returns a function so the registry mutation in
31
+ * `test/recipe-playbook.test.ts` (which appends a synthetic pack to
32
+ * LANGUAGES) takes effect — module-load capture would freeze the union
33
+ * before the test injection.
26
34
  */
27
- const JSCPD_PATTERN = '**/*.{ts,tsx,js,jsx,py,go,rs,cs}';
35
+ function buildJscpdPattern() {
36
+ const exts = new Set();
37
+ for (const lang of languages_1.LANGUAGES) {
38
+ for (const e of lang.sourceExtensions) {
39
+ exts.add(e.replace(/^\./, ''));
40
+ }
41
+ }
42
+ return `**/*.{${[...exts].sort().join(',')}}`;
43
+ }
28
44
  /** Extract the top N clone pairs sorted largest-first. */
29
45
  function topClonesFrom(duplicates, limit = 15) {
30
46
  return duplicates
@@ -55,7 +71,8 @@ function gatherJscpdResult(cwd) {
55
71
  if (!status.available || !status.path)
56
72
  return { kind: 'unavailable', reason: 'not installed' };
57
73
  const reportDir = `/tmp/dxkit-jscpd-${Date.now()}`;
58
- (0, runner_1.run)(`${status.path} --reporters json --output '${reportDir}' --gitignore --pattern '${JSCPD_PATTERN}' --min-lines 5 --min-tokens 50 '${cwd}' > /dev/null 2>&1`, cwd, 300000);
74
+ const pattern = buildJscpdPattern();
75
+ (0, runner_1.run)(`${status.path} --reporters json --output '${reportDir}' --gitignore --pattern '${pattern}' --min-lines 5 --min-tokens 50 '${cwd}' > /dev/null 2>&1`, cwd, 300000);
59
76
  const reportRaw = (0, runner_1.run)(`cat '${reportDir}/jscpd-report.json' 2>/dev/null`, cwd);
60
77
  (0, runner_1.run)(`rm -rf '${reportDir}'`, cwd);
61
78
  if (!reportRaw)
@@ -1 +1 @@
1
- {"version":3,"file":"jscpd.js","sourceRoot":"","sources":["../../../src/analyzers/tools/jscpd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jscpd.js","sourceRoot":"","sources":["../../../src/analyzers/tools/jscpd.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,26 @@ import type { DepVulnFinding, DepVulnUpgradePlan } from '../../languages/capabil
32
32
  *
33
33
  * Never throws. `gatherTsDepVulnsResult` calls this unconditionally and
34
34
  * treats the empty map as "no enrichment available".
35
+ *
36
+ * **TEMP-DIR ISOLATION (10k.1.5b fix — discovered during 2.4.5 pre-ship
37
+ * regression):** osv-scanner v2's `fix` subcommand invokes `npm install`
38
+ * internally to compute upgrade patches. That `npm install` MUTATES the
39
+ * cwd's node_modules — wipes it then reinstalls (often with
40
+ * `--legacy-peer-deps` fallback if the project's deps don't resolve
41
+ * cleanly). On dxkit's own repo this caused subsequent dxkit subcommand
42
+ * invocations to crash with `Cannot find module 'hosted-git-info'`
43
+ * because osv-scanner's reinstall left an incomplete tree. On
44
+ * vyuhlabs-platform (835MB node_modules) the reinstall happened to
45
+ * succeed but still mutated state silently — a 5-month-old data-mutation
46
+ * bug shipped since 2.4.0 / Phase 10h.6 and only caught now because
47
+ * 2.4.5 pre-ship regression ran reports back-to-back on dxkit's own repo
48
+ * and tripped the chain.
49
+ *
50
+ * Mitigation: we copy `package.json` + `package-lock.json` to a fresh
51
+ * temp dir, run osv-scanner there, and discard the temp dir afterward.
52
+ * Output JSON identifies advisories by `(package, version, id)` tuples
53
+ * which are independent of cwd, so the upgrade-plan map we return is
54
+ * unchanged. The caller's project gets read-only treatment.
35
55
  */
36
56
  export declare function gatherOsvScannerFixPlans(cwd: string): Promise<Map<string, DepVulnUpgradePlan>>;
37
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"osv-scanner-fix.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/osv-scanner-fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAqC7F;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CA+B1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAwCrF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACrC,MAAM,CAaR;AAED;;;;;;;4BAO4B;AAC5B,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF"}
1
+ {"version":3,"file":"osv-scanner-fix.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/osv-scanner-fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAsC7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAwC1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAwCrF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACrC,MAAM,CAaR;AAED;;;;;;;4BAO4B;AAC5B,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF"}