@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.
- package/CHANGELOG.md +347 -0
- package/README.md +15 -11
- package/dist/analyzers/health.js +9 -9
- package/dist/analyzers/health.js.map +1 -1
- package/dist/analyzers/licenses/gather.js +1 -1
- package/dist/analyzers/licenses/gather.js.map +1 -1
- package/dist/analyzers/quality/gather.js +2 -2
- package/dist/analyzers/quality/gather.js.map +1 -1
- package/dist/analyzers/security/gather.d.ts.map +1 -1
- package/dist/analyzers/security/gather.js +11 -2
- package/dist/analyzers/security/gather.js.map +1 -1
- package/dist/analyzers/tests/import-graph.d.ts.map +1 -1
- package/dist/analyzers/tests/import-graph.js +5 -0
- package/dist/analyzers/tests/import-graph.js.map +1 -1
- package/dist/analyzers/tests/index.d.ts.map +1 -1
- package/dist/analyzers/tests/index.js +2 -0
- package/dist/analyzers/tests/index.js.map +1 -1
- package/dist/analyzers/tests/types.d.ts +12 -2
- package/dist/analyzers/tests/types.d.ts.map +1 -1
- package/dist/analyzers/tools/coverage.d.ts +1 -1
- package/dist/analyzers/tools/coverage.d.ts.map +1 -1
- package/dist/analyzers/tools/coverage.js.map +1 -1
- package/dist/analyzers/tools/jacoco.d.ts +76 -0
- package/dist/analyzers/tools/jacoco.d.ts.map +1 -0
- package/dist/analyzers/tools/jacoco.js +228 -0
- package/dist/analyzers/tools/jacoco.js.map +1 -0
- package/dist/analyzers/tools/jscpd.d.ts +8 -7
- package/dist/analyzers/tools/jscpd.d.ts.map +1 -1
- package/dist/analyzers/tools/jscpd.js +30 -13
- package/dist/analyzers/tools/jscpd.js.map +1 -1
- package/dist/analyzers/tools/osv-scanner-fix.d.ts +20 -0
- package/dist/analyzers/tools/osv-scanner-fix.d.ts.map +1 -1
- package/dist/analyzers/tools/osv-scanner-fix.js +45 -20
- package/dist/analyzers/tools/osv-scanner-fix.js.map +1 -1
- package/dist/analyzers/tools/osv-scanner-maven.d.ts +42 -0
- package/dist/analyzers/tools/osv-scanner-maven.d.ts.map +1 -0
- package/dist/analyzers/tools/osv-scanner-maven.js +161 -0
- package/dist/analyzers/tools/osv-scanner-maven.js.map +1 -0
- package/dist/analyzers/tools/runner.d.ts +47 -0
- package/dist/analyzers/tools/runner.d.ts.map +1 -1
- package/dist/analyzers/tools/runner.js +79 -0
- package/dist/analyzers/tools/runner.js.map +1 -1
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +47 -0
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +36 -2
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/languages/capabilities/index.d.ts +21 -12
- package/dist/languages/capabilities/index.d.ts.map +1 -1
- package/dist/languages/capabilities/index.js +47 -13
- package/dist/languages/capabilities/index.js.map +1 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +11 -1
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/java.d.ts +67 -0
- package/dist/languages/java.d.ts.map +1 -0
- package/dist/languages/java.js +419 -0
- package/dist/languages/java.js.map +1 -0
- package/dist/languages/kotlin.d.ts +52 -0
- package/dist/languages/kotlin.d.ts.map +1 -0
- package/dist/languages/kotlin.js +404 -0
- package/dist/languages/kotlin.js.map +1 -0
- package/dist/languages/types.d.ts +9 -1
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/tools-cli.d.ts +16 -1
- package/dist/tools-cli.d.ts.map +1 -1
- package/dist/tools-cli.js +69 -6
- package/dist/tools-cli.js.map +1 -1
- package/dist/types.d.ts +12 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/templates/.claude/rules/java.md +11 -0
- package/templates/.claude/rules/kotlin.md +11 -0
- package/templates/configs/java/README.md +6 -0
- package/templates/configs/kotlin/README.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,353 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.4.5] - 2026-04-29
|
|
11
|
+
|
|
12
|
+
### Fixed (high-severity, discovered during 2.4.5 pre-ship regression)
|
|
13
|
+
|
|
14
|
+
- **`osv-scanner fix` was THREE bugs in one** (5-month-old bug shipped
|
|
15
|
+
since 2.4.0 / Phase 10h.6). osv-scanner v2's `fix` subcommand invokes
|
|
16
|
+
`npm install` internally to compute upgrade patches. dxkit was
|
|
17
|
+
invoking it in the user's project cwd, which caused all three of the
|
|
18
|
+
following:
|
|
19
|
+
|
|
20
|
+
1. **Data mutation** — `npm install` wipes / reinstalls the cwd's
|
|
21
|
+
`node_modules` (often with `--legacy-peer-deps` fallback when
|
|
22
|
+
peer-deps don't resolve cleanly). Visible to users running
|
|
23
|
+
back-to-back commands: `dxkit vulnerabilities` followed by `npm
|
|
24
|
+
test` or any other step depending on stable `node_modules` would
|
|
25
|
+
fail cryptically. Discovered when dxkit-on-dxkit crashed mid-run
|
|
26
|
+
with `Cannot find module 'hosted-git-info'`.
|
|
27
|
+
|
|
28
|
+
2. **Process orphan leak** — osv-scanner's `npm install` grandchildren
|
|
29
|
+
outlived dxkit's 120s `execSync` budget. `execSync(..., {timeout})`
|
|
30
|
+
SIGTERMs only the immediate child; npm install + its node-package
|
|
31
|
+
subprocesses orphaned to PID 1 and kept eating CPU/memory until
|
|
32
|
+
they finished or the shell exited. Each `dxkit vulnerabilities`
|
|
33
|
+
invocation could leak 1-3 orphans; in CI this polluted subsequent
|
|
34
|
+
steps.
|
|
35
|
+
|
|
36
|
+
3. **Silent BoM under-reporting** — when osv-scanner's npm install
|
|
37
|
+
left a partially-broken `node_modules` (peer-dep mismatches that
|
|
38
|
+
`--legacy-peer-deps` couldn't fully resolve), dxkit's BoM
|
|
39
|
+
aggregator subsequently couldn't enumerate the affected
|
|
40
|
+
dependencies. Root-project deps got silently dropped from the
|
|
41
|
+
BoM. On dxkit-on-dxkit comparison, 2.4.4 reported only 7 BoM
|
|
42
|
+
entries (sub-fixture deps) vs 2.4.5's 24 (sub-fixtures + dxkit's
|
|
43
|
+
own 17 root deps including `hosted-git-info`, `eslint`,
|
|
44
|
+
`typescript`, etc.). `unfilteredTotalPackages` 22 → 353. The
|
|
45
|
+
analyzed project's own deps were missing from BoM whenever the
|
|
46
|
+
bug hit. Most repos that resolve peer-deps cleanly under
|
|
47
|
+
`--legacy-peer-deps` weren't affected (vyuhlabs-platform's BoM
|
|
48
|
+
stayed correct at 145 packages); repos with subtle peer-dep
|
|
49
|
+
issues silently lost root-dep enumeration.
|
|
50
|
+
|
|
51
|
+
**Fix** (split across 10k.1.5b and 10k.1.5c):
|
|
52
|
+
|
|
53
|
+
- **Temp-dir isolation (10k.1.5b)**: stage `package.json` +
|
|
54
|
+
`package-lock.json` in a fresh temp dir before invoking osv-scanner,
|
|
55
|
+
discard the temp dir after parsing JSON output. Project's tree is
|
|
56
|
+
now read-only treatment (the contract dxkit's analyzers always
|
|
57
|
+
claimed). Stops bug #1 (mutation) and #3 (BoM under-reporting,
|
|
58
|
+
since `node_modules` no longer gets clobbered).
|
|
59
|
+
|
|
60
|
+
- **Process-group SIGKILL on timeout (10k.1.5c)**: new
|
|
61
|
+
`runDetached(cmd, args, opts)` helper in `src/analyzers/tools/runner.ts`
|
|
62
|
+
spawns the child in its own process group via
|
|
63
|
+
`spawn({ detached: true })` and `process.kill(-pid, 'SIGKILL')` on
|
|
64
|
+
timeout — kills grandchildren atomically. Stops bug #2 (orphan
|
|
65
|
+
leak). Reusable for any future tool that may fork grandchildren
|
|
66
|
+
(PMD's JVM, mvn, gradle).
|
|
67
|
+
|
|
68
|
+
Regression tests added: `test/osv-scanner-fix.test.ts` for the
|
|
69
|
+
isolation contract; `test/runner.test.ts` for the process-group
|
|
70
|
+
group-kill semantics (sleep-30-grandchild + 200ms timeout asserts
|
|
71
|
+
elapsed < 2s — would block 30s if process-group regressed). Caught
|
|
72
|
+
by the discipline the user pushed for: "never ship broken;
|
|
73
|
+
understand the root cause and fix properly". The discipline was
|
|
74
|
+
validated end-to-end — the same scan that found bug #1 also
|
|
75
|
+
surfaced #2 and #3 once we knew where to look.
|
|
76
|
+
|
|
77
|
+
**Forensic evidence preserved** at
|
|
78
|
+
`tmp/regression/2.4.4/dxkit/bom.json` (gitignored — 2.4.4 baseline
|
|
79
|
+
with under-reported BoM) vs `tmp/regression/2.4.5-fixed/dxkit/bom.json`
|
|
80
|
+
(full enumeration after the fix).
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
Phase 10k.1 — Java language pack (recipe stress test #1, JVM-cousin
|
|
85
|
+
shape). 7th language pack lands the cross-ecosystem matrix at
|
|
86
|
+
**8 active language packs** including Java with full capability
|
|
87
|
+
coverage. Recipe v3 makes substantial progress (G2 + G5 + G9
|
|
88
|
+
delivered; G1 partial; G4/G6/G7 deferred). D008 + D011 + a vitest
|
|
89
|
+
hookTimeout flake closed in pre-flight commits.
|
|
90
|
+
|
|
91
|
+
No breaking changes for end users. New depVulns/lint/coverage/
|
|
92
|
+
imports/testFramework data on Java/Maven projects; existing analyzer
|
|
93
|
+
commands produce identical output for non-Java projects.
|
|
94
|
+
|
|
95
|
+
### Added
|
|
96
|
+
|
|
97
|
+
- **Java language pack** (Phase 10k.1) with five capability providers:
|
|
98
|
+
- **depVulns** via `osv-scanner` against `pom.xml` /
|
|
99
|
+
`gradle.lockfile` / `gradle/verification-metadata.xml`.
|
|
100
|
+
Implementation lives in the new shared
|
|
101
|
+
`src/analyzers/tools/osv-scanner-maven.ts` module that both
|
|
102
|
+
kotlin and java packs delegate to (CLAUDE.md rule #2 SSOT).
|
|
103
|
+
- **lint** via PMD 7.x with `rulesets/java/quickstart.xml`.
|
|
104
|
+
`parsePmdOutput` tiers PMD's 1-5 priority into dxkit's
|
|
105
|
+
critical/high/medium/low scheme via `mapPmdRuleSeverity`.
|
|
106
|
+
Real-fixture-driven parser tests against captured PMD 7.24.0
|
|
107
|
+
output at `test/fixtures/raw/java/pmd-output.json`.
|
|
108
|
+
- **coverage** via JaCoCo XML — reuses the kotlin pack's parser
|
|
109
|
+
unchanged (the parser was source-language-agnostic from day 1
|
|
110
|
+
and is now hosted in `src/analyzers/tools/jacoco.ts`). Path
|
|
111
|
+
candidates extended for Maven (`target/site/jacoco/jacoco.xml`,
|
|
112
|
+
`target/site/jacoco-aggregate/jacoco.xml`) alongside the existing
|
|
113
|
+
Gradle paths.
|
|
114
|
+
- **imports** via regex extraction over `import [static]
|
|
115
|
+
<fqn>(.<Class>|.*)?;` after stripping line + block comments.
|
|
116
|
+
Best-effort resolution (matches kotlin/rust pack semantics —
|
|
117
|
+
Java package paths don't 1:1 map to filesystem paths in all
|
|
118
|
+
build layouts).
|
|
119
|
+
- **testFramework** via build-file substring scan of pom.xml +
|
|
120
|
+
build.gradle{,.kts} for canonical artifact names. Order honors
|
|
121
|
+
mixed-state migration: junit-jupiter > spock > testng > junit4.
|
|
122
|
+
- **PMD (`pmd`) in TOOL_DEFS**. PMD 7.x as the canonical Java linter,
|
|
123
|
+
with brew on macOS / GitHub releases zip on Linux / scoop on
|
|
124
|
+
Windows. CI install step added.
|
|
125
|
+
- **Java cross-ecosystem benchmark fixture**
|
|
126
|
+
(`test/fixtures/benchmarks/java/`) — five files (Secrets.java with
|
|
127
|
+
fake AWS key, BadLint.java with PMD violations, Duplications.java
|
|
128
|
+
with jscpd clone pair, UntestedModule.java for filename-match
|
|
129
|
+
test-gap, pom.xml with `commons-collections:3.2.1` for the original
|
|
130
|
+
"Mad Gadget" CVE-2015-7501 deserialization advisory + log4j-core
|
|
131
|
+
for Log4Shell). Matrix wins on all four dimensions (secret/dup/
|
|
132
|
+
test-gaps run unconditionally; lint matrix activates with
|
|
133
|
+
`requires: 'pmd'`).
|
|
134
|
+
- **`scripts/check-docs-coverage.sh` (Recipe v3 / G5).** Pre-commit +
|
|
135
|
+
CI gate that asserts every `LanguageId` in `src/languages/index.ts`
|
|
136
|
+
appears in canonical doc anchors (CLAUDE.md path glob; README.md
|
|
137
|
+
ecosystem coverage table row count + ID substring mention). Closes
|
|
138
|
+
the kotlin-PR-#23 follow-up class of failure where a pack ships in
|
|
139
|
+
main but docs go stale because nobody remembered to update them.
|
|
140
|
+
- **`vyuh-dxkit tools install <name>` and `--all` (D011).** Single-tool
|
|
141
|
+
install for cross-stack development (e.g. installing `spotbugs` /
|
|
142
|
+
`pmd` on a Node-only repo); `--all` enumerates every TOOL_DEFS
|
|
143
|
+
entry. Unknown names fail loudly with an "Unknown tool" message +
|
|
144
|
+
pointer to `tools list`. Used during this phase's PMD harvest.
|
|
145
|
+
- **CLAUDE.md merge-strategy guidance**. Codifies when PRs should
|
|
146
|
+
squash-merge (single logical unit) vs rebase-merge (multiple
|
|
147
|
+
independently-meaningful commits with prose-quality messages —
|
|
148
|
+
what this PR did to preserve D008/D011/G2/G5/G9 + 5 capability
|
|
149
|
+
commits as discrete history).
|
|
150
|
+
|
|
151
|
+
### Refactored (architectural improvement)
|
|
152
|
+
|
|
153
|
+
- **`src/analyzers/tools/jacoco.ts`** — extracted from kotlin pack
|
|
154
|
+
in 10k.1.2. Owns `parseJaCoCoXml`, `findJaCoCoReport`,
|
|
155
|
+
`gatherJaCoCoCoverageResult`. Both JVM packs delegate. Parser was
|
|
156
|
+
always source-language-agnostic; just relocating to the right home.
|
|
157
|
+
- **`src/analyzers/tools/osv-scanner-maven.ts`** — extracted from
|
|
158
|
+
kotlin pack in 10k.1.4. Same pattern. Owns
|
|
159
|
+
`parseOsvScannerMavenFindings` + `gatherOsvScannerMavenDepVulnsResult`.
|
|
160
|
+
Both JVM packs delegate. Parser was already ecosystem-filtered to
|
|
161
|
+
Maven (not Kotlin-coupled); just relocating.
|
|
162
|
+
- **Capabilities contract is genuinely optional (Recipe v3 / G2).**
|
|
163
|
+
`capabilities-contract.test.ts:117` previously asserted
|
|
164
|
+
`providers.length === LANGUAGES.length` for the depVulns capability,
|
|
165
|
+
forcing packs without depVulns to register null-stub providers.
|
|
166
|
+
Now: `expect(providers.length).toBe(LANGUAGES.filter((l) =>
|
|
167
|
+
l.capabilities?.depVulns).length)` — precise contract, packs can
|
|
168
|
+
omit. Unblocks Swift's eventual graceful-degradation pattern.
|
|
169
|
+
Java's null-stub from intermediate commits retired.
|
|
170
|
+
- **`detectJava` is source-presence-driven, not manifest-driven
|
|
171
|
+
(Recipe v3 / G9).** Initial detection activated on bare `pom.xml`,
|
|
172
|
+
which broke kotlin's matrix lint test because kotlin's fixture has
|
|
173
|
+
pom.xml (for osv-scanner Maven). Both packs activated → lintTool
|
|
174
|
+
came back as `'detekt, pmd'`. Fix: require either `src/main/java/`
|
|
175
|
+
directory OR actual `.java` source within depth 5. Mixed Kotlin +
|
|
176
|
+
Java projects still activate both packs (correct). G9 noted as a
|
|
177
|
+
scaffolder-template fix candidate — the scaffolded `detect()` stub
|
|
178
|
+
currently suggests "manifest signals" which is the bug we just hit.
|
|
179
|
+
|
|
180
|
+
### Fixed
|
|
181
|
+
|
|
182
|
+
- **D008 — stale test-fixture types + missing contract test.** 21 type
|
|
183
|
+
errors surfaced when `tsc --noEmit` runs against `src + test`
|
|
184
|
+
together (`DimensionScore.details` / `DuplicationStats.totalLines`
|
|
185
|
+
field drift; `DepVulnFinding.source` → renamed to `.tool`;
|
|
186
|
+
`mapLintSeverity` contract was narrower than every impl reality;
|
|
187
|
+
spread-duplication cleanups). Adds `tsconfig.test.json` +
|
|
188
|
+
`npm run typecheck:test` + wires into `.husky/pre-push` and
|
|
189
|
+
`.github/workflows/ci.yml`. The contract test paid for itself in the
|
|
190
|
+
same session — caught a `Record<LanguageId, boolean>` literal
|
|
191
|
+
regression introduced 30 minutes earlier.
|
|
192
|
+
- **`scripts/check-cross-ecosystem-coverage.sh` Prettier robustness
|
|
193
|
+
(Recipe v3 / G1, partial).** Auto-derive parser assumed single-line
|
|
194
|
+
`LANGUAGES = [...]`. Prettier reformatted to multi-line at the 7th
|
|
195
|
+
entry (line-length budget) and the gate parsed 0 entries silently.
|
|
196
|
+
Switched to awk block extract — robust to both shapes. One
|
|
197
|
+
instance fixed; class-wide audit of similar parsers deferred.
|
|
198
|
+
- **Vitest `hookTimeout` default of 10s caused C# `beforeAll` flakes.**
|
|
199
|
+
`dotnet restore` against a cold NuGet cache routinely takes 18-44s
|
|
200
|
+
on WSL2. Now matches `testTimeout` at 180s.
|
|
201
|
+
|
|
202
|
+
### Phase 10k roadmap
|
|
203
|
+
|
|
204
|
+
After 10k.1 (Java) ships in 2.4.5, **10k.2 (Ruby) ships in 2.4.6** as
|
|
205
|
+
recipe stress test #2 — fully dynamic language outside the JVM family.
|
|
206
|
+
Then **2.5.0 (Phase 10i — fingerprints + exec summary across 8-language
|
|
207
|
+
matrix)**. Phase 10j.2 (Swift/iOS) is **deferred to post-10rr / pre-3.0.0
|
|
208
|
+
opportunistic slot** because Linux/WSL2 development can't validate the
|
|
209
|
+
xcodeproj-shape majority without macOS access. See
|
|
210
|
+
`tmp/phase-10k-backend-langs-roadmap.md` for the full phase plan.
|
|
211
|
+
|
|
212
|
+
## [2.4.4] - 2026-04-27
|
|
213
|
+
|
|
214
|
+
Phase 10j.1 — first mobile language pack (Kotlin/Android), Recipe v2
|
|
215
|
+
scaffolder enhancements driven by lessons from adding it, and a fix
|
|
216
|
+
for D010 (inactive-pack provider invocation) which surfaced as a
|
|
217
|
+
test-suite performance regression.
|
|
218
|
+
|
|
219
|
+
No breaking changes for end users. New depVulns/lint/coverage data on
|
|
220
|
+
Kotlin/Maven projects; existing analyzer commands produce identical
|
|
221
|
+
output for non-Kotlin projects.
|
|
222
|
+
|
|
223
|
+
### Added
|
|
224
|
+
|
|
225
|
+
- **Kotlin (Android) language pack.** Full LP-recipe implementation with
|
|
226
|
+
five capability providers:
|
|
227
|
+
- **depVulns** via `osv-scanner` against `pom.xml` /
|
|
228
|
+
`gradle.lockfile` (Maven ecosystem filtered out of polyglot scans
|
|
229
|
+
so npm/PyPI findings stay attributed to their own packs).
|
|
230
|
+
- **lint** via detekt's Checkstyle XML report — severity tiering
|
|
231
|
+
derived from detekt's source-of-truth `CheckstyleOutputReportSpec`
|
|
232
|
+
(error → high, warning → medium, info → low).
|
|
233
|
+
- **coverage** via JaCoCo XML at the standard Gradle/Android paths
|
|
234
|
+
(`app/build/reports/jacoco/...`, `build/reports/jacoco/test/...`).
|
|
235
|
+
- **imports** via regex extraction (no resolver — Kotlin packages
|
|
236
|
+
don't 1:1 map to file paths; mirrors the rust pack's choice).
|
|
237
|
+
- **testFramework** via gradle build-deps text scan (Kotest > Spek >
|
|
238
|
+
JUnit precedence).
|
|
239
|
+
|
|
240
|
+
Standard cross-ecosystem benchmark fixture under
|
|
241
|
+
`test/fixtures/benchmarks/kotlin/` with `gson:2.8.5` (alias
|
|
242
|
+
CVE-2022-25647) + `log4j-core:2.14.0` known-vulnerable pinned
|
|
243
|
+
deps. Matrix row + `cross-ecosystem benchmarks — Kotlin` describe
|
|
244
|
+
block. detekt registry entry (`TOOL_DEFS`) ships brew + Linux-zip
|
|
245
|
+
install commands. (`src/languages/kotlin.ts`,
|
|
246
|
+
`test/languages-kotlin.test.ts`,
|
|
247
|
+
`test/fixtures/{benchmarks,raw}/kotlin/`,
|
|
248
|
+
`src/analyzers/tools/tool-registry.ts`)
|
|
249
|
+
|
|
250
|
+
- **CI: Java 17 (Temurin) + detekt installed on the Linux runner.**
|
|
251
|
+
Kotlin matrix lint row now runs end-to-end in CI alongside Python /
|
|
252
|
+
Go / Rust / C# rows. Java 17 toolchain is opt-in for contributors
|
|
253
|
+
(`it.skipIf(!commandExists('java'))` gates the matrix lint test
|
|
254
|
+
locally). (`.github/workflows/ci.yml`,
|
|
255
|
+
`CONTRIBUTING.md` — toolchain table extended with three rows:
|
|
256
|
+
`osv-scanner`, `java`, `detekt`)
|
|
257
|
+
|
|
258
|
+
- **Recipe v2 — scaffolder enhancements driven by Kotlin's pain.**
|
|
259
|
+
`npm run new-lang <id> "<displayName>"` now also generates:
|
|
260
|
+
- parser-test stubs in `test/languages-<id>.test.ts` with the
|
|
261
|
+
fixture-loading helper, the C# defect provenance docstring, and
|
|
262
|
+
commented-out test patterns for `parse<Tool>{Lint,Coverage,DepVulns}Output`,
|
|
263
|
+
`map<Lang>Severity`, `extract<Lang>ImportsRaw`.
|
|
264
|
+
- `test/fixtures/raw/<id>/HARVEST.md` template documenting the
|
|
265
|
+
capture commands for real tool-output bytes (the parser-vs-real-output
|
|
266
|
+
discipline that closes the C# defect class).
|
|
267
|
+
- Richer `test/fixtures/benchmarks/<id>/README.md` with the standard
|
|
268
|
+
5-file convention (manifest / BadLint / Duplications / Secrets /
|
|
269
|
+
UntestedModule) and a TODO checklist.
|
|
270
|
+
- Updated next-steps checklist surfaces the harvest step before
|
|
271
|
+
parser implementation. (`scripts/scaffold-language.js`)
|
|
272
|
+
|
|
273
|
+
- **LP-A4 architecture rule.** Pre-commit + CI grep that catches
|
|
274
|
+
hardcoded multi-language extension globs of the
|
|
275
|
+
`'**/*.{ts,tsx,js,jsx,py,go,rs,cs}'` shape — the JSCPD_PATTERN bug
|
|
276
|
+
that silently dropped the kotlin matrix duplication test until
|
|
277
|
+
caught by the cross-ecosystem fixture run. Future regressions land
|
|
278
|
+
with a clear error pointing at `LANGUAGES.flatMap(l => l.sourceExtensions)`
|
|
279
|
+
as the right derivation. (`scripts/check-architecture.sh`)
|
|
280
|
+
|
|
281
|
+
### Fixed
|
|
282
|
+
|
|
283
|
+
- **D010 — inactive-pack provider invocation.** `providersFor()` now
|
|
284
|
+
filters by `lang.detect(cwd)` when given a cwd (per-pack capabilities
|
|
285
|
+
only; globals stay unconditional). Module-level memoization caches
|
|
286
|
+
the active-pack list per cwd so 9 capability dispatches incur one
|
|
287
|
+
detect-walk per pack instead of nine. Threaded through 16 analyzer
|
|
288
|
+
callsites. **Intentionally NOT filtered**: the BoM's reachability
|
|
289
|
+
pass in `gatherDepVulns` calls `providersFor(IMPORTS)` without a
|
|
290
|
+
cwd, because the BoM aggregates findings across multiple project
|
|
291
|
+
roots and reachability needs to walk every pack's source files
|
|
292
|
+
regardless of outer-cwd activation. Filtering there silently
|
|
293
|
+
dropped cross-language reachability and zeroed the "This Week's
|
|
294
|
+
Triage" risk scoring — caught during the regression-check pass
|
|
295
|
+
on dxkit's own BoM diff. Cross-ecosystem.test.ts: 444s peak →
|
|
296
|
+
174s wall-clock after Recipe v2 (-228s, 51% reduction). Closes
|
|
297
|
+
D010 (`tmp/known-defects.md`). (`src/languages/capabilities/index.ts`,
|
|
298
|
+
`src/analyzers/{health,licenses,quality,security,tests}/...`)
|
|
299
|
+
|
|
300
|
+
- **`JSCPD_PATTERN` was hardcoded** with `'ts,tsx,js,jsx,py,go,rs,cs'`
|
|
301
|
+
baked in at module load — adding a new pack required this exact
|
|
302
|
+
cross-cutting edit and the kotlin matrix duplication test silently
|
|
303
|
+
dropped for two commits because we forgot to add `kt`. The pattern
|
|
304
|
+
now derives from `LANGUAGES.flatMap(l => l.sourceExtensions)` on
|
|
305
|
+
every call. LP-A4 (above) catches future re-introductions.
|
|
306
|
+
(`src/analyzers/tools/jscpd.ts`)
|
|
307
|
+
|
|
308
|
+
- **`detekt-cli` zip ships the binary as `bin/detekt-cli`, not
|
|
309
|
+
`bin/detekt`** — the original `TOOL_DEFS.detekt` install command
|
|
310
|
+
symlinked the wrong path and `chmod +x` errored out. Caught by the
|
|
311
|
+
`vyuh-dxkit tools install` flow during real-tool harvest. Both
|
|
312
|
+
binary names now declared in `binaries[]` and both symlinks created
|
|
313
|
+
on Linux install. (`src/analyzers/tools/tool-registry.ts`)
|
|
314
|
+
|
|
315
|
+
### Changed
|
|
316
|
+
|
|
317
|
+
- **`DetectedStack.versions` migrated to
|
|
318
|
+
`Partial<Record<LanguageId | 'node', string>>`** from the legacy
|
|
319
|
+
fixed shape `{ python?, go?, node?, rust?, csharp? }`. Adding a new
|
|
320
|
+
language pack no longer requires editing this field — the type
|
|
321
|
+
auto-grows with `LanguageId`. The `'node'` carve-out preserves the
|
|
322
|
+
legacy `NODE_VERSION` template-variable compat without forcing a
|
|
323
|
+
breaking template rename (deferred to a future major).
|
|
324
|
+
(`src/types.ts`)
|
|
325
|
+
|
|
326
|
+
- **`CoverageSource` union consolidated.** `src/analyzers/tests/types.ts`
|
|
327
|
+
now extends `src/analyzers/tools/coverage.ts:CoverageSource` (with
|
|
328
|
+
test-only `'filename-match'` / `'import-graph'` additions) instead
|
|
329
|
+
of duplicating the artifact-source list. Adding a new coverage
|
|
330
|
+
format means editing one place. Added `'jacoco'` for the kotlin
|
|
331
|
+
pack. (`src/analyzers/tools/coverage.ts`,
|
|
332
|
+
`src/analyzers/tests/types.ts`)
|
|
333
|
+
|
|
334
|
+
- **`scripts/check-cross-ecosystem-coverage.sh` auto-derives expected
|
|
335
|
+
language count.** Reads `LANGUAGES.length` from
|
|
336
|
+
`src/languages/index.ts` instead of a hardcoded constant. New packs
|
|
337
|
+
no longer need to bump `EXPECTED_LANGUAGES` by hand.
|
|
338
|
+
(`scripts/check-cross-ecosystem-coverage.sh`)
|
|
339
|
+
|
|
340
|
+
### Internal
|
|
341
|
+
|
|
342
|
+
- Tests: 849 → 895 (+46 from kotlin parser tests, cross-ecosystem
|
|
343
|
+
matrix kotlin row, and indirect coverage of new pack-iterating
|
|
344
|
+
consumers). Wall-clock: 122s → 174s — net +52s for kotlin's
|
|
345
|
+
legitimate test work, after D010 fix recovered ~228s of
|
|
346
|
+
inactive-pack overhead.
|
|
347
|
+
|
|
348
|
+
- Recipe-playbook test's synthetic id renamed from `'kotlin'` to
|
|
349
|
+
`'playbook'` (a non-LanguageId placeholder that won't collide with
|
|
350
|
+
any future real pack). The collision was the LP architecture's
|
|
351
|
+
predicted "first real pack stress-test" — fix took five lines.
|
|
352
|
+
|
|
353
|
+
- `import-graph.test.ts` setup now writes a minimal `package.json` so
|
|
354
|
+
the typescript pack's `detect()` activates — reflects post-D010
|
|
355
|
+
production semantics where inactive packs' gathers don't run.
|
|
356
|
+
|
|
10
357
|
## [2.4.3] - 2026-04-26
|
|
11
358
|
|
|
12
359
|
Phase 10i.0-LP — language-pack architectural refactor. Two user-visible
|
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ Seven deterministic analyzers. Each emits a markdown report to `.dxkit/reports/`
|
|
|
45
45
|
| `test-gaps` | Coverage artifact → import-graph → filename (strongest wins) | <1s | `.dxkit/reports/test-gaps-<date>.md` |
|
|
46
46
|
| `quality` | Slop score + jscpd duplication + eslint/ruff + hygiene | 5–15s | `.dxkit/reports/quality-review-<date>.md` |
|
|
47
47
|
| `dev-report` | Commits, contributors, hot files, velocity, conventional % | <1s | `.dxkit/reports/developer-report-<date>.md` |
|
|
48
|
-
| `licenses` | Dependency license inventory across every active pack (TS
|
|
48
|
+
| `licenses` | Dependency license inventory across every active pack (TS, Python, Go, Rust, C#; Kotlin + Java omitted — no canonical CLI license tool for Maven/Gradle ecosystems) | 5–20s | `.dxkit/reports/licenses-<date>.md` |
|
|
49
49
|
| `bom` | **Bill of Materials** — joins licenses + vulns per package, groups by top-level manifest dep (Snyk-style), enriches with CISA KEV + EPSS + reachability, ranks by composite risk score with "This Week's Triage" summary, aggregates nested sub-projects, `--filter=top-level` collapses transitive rows, 15-col XLSX | 10–40s | `.dxkit/reports/bom-<date>.{md,xlsx}` |
|
|
50
50
|
|
|
51
51
|
Plus a converter: `vyuh-dxkit to-xlsx <json-file>` renders any `licenses` or `bom` detailed JSON as the canonical 15-column XLSX.
|
|
@@ -77,7 +77,7 @@ Plus a converter: `vyuh-dxkit to-xlsx <json-file>` renders any `licenses` or `bo
|
|
|
77
77
|
|
|
78
78
|
Three signals, strongest wins for files it covers:
|
|
79
79
|
|
|
80
|
-
1. **Coverage artifact** — Istanbul JSON (TS/JS), `coverage.json` (Python), `coverage.out` (Go), cobertura XML (C#/Rust), `lcov.info` (Rust). If the tool measured a file, that decision is authoritative.
|
|
80
|
+
1. **Coverage artifact** — Istanbul JSON (TS/JS), `coverage.json` (Python), `coverage.out` (Go), cobertura XML (C#/Rust), `lcov.info` (Rust), JaCoCo XML (Kotlin). If the tool measured a file, that decision is authoritative.
|
|
81
81
|
2. **Import-graph reachability** — files transitively imported from an active test file (up to 3 hops). Rescues integration tests + behavior-named tests the filename matcher misses.
|
|
82
82
|
3. **Filename match** — last-resort basename similarity.
|
|
83
83
|
|
|
@@ -105,6 +105,8 @@ vyuh-dxkit tools install # interactive: prompts per tool
|
|
|
105
105
|
| Go | `golangci-lint`, `govulncheck` |
|
|
106
106
|
| Rust | `clippy`, `cargo-audit`, `cargo-llvm-cov` |
|
|
107
107
|
| C# | `dotnet-format` (via SDK — formatter, not a linter) |
|
|
108
|
+
| Kotlin | `detekt` (Checkstyle XML), `osv-scanner` (Maven), JaCoCo XML |
|
|
109
|
+
| Java | `pmd` (PMD 7.x JSON), `osv-scanner` (Maven), JaCoCo XML reuse |
|
|
108
110
|
|
|
109
111
|
Install commands are platform-aware (brew on macOS, user-local install on Linux, winget/scoop on Windows). Tools install into `~/.local/bin` or similar user paths — no `sudo` required.
|
|
110
112
|
|
|
@@ -167,15 +169,17 @@ npm run new-lang kotlin "Kotlin (Android)"
|
|
|
167
169
|
|
|
168
170
|
This scaffolds the 7 recipe files (pack module, test stub, fixture skeleton, Claude rule file, template-config dir, plus `LanguageId` union extension and `LANGUAGES` registration). See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full walkthrough. Recipe enforcement (architecture greps + contract tests + synthetic 6th-pack playbook) runs in pre-commit so packs that miss required metadata fail CI.
|
|
169
171
|
|
|
170
|
-
| Language | Detection
|
|
171
|
-
| -------- |
|
|
172
|
-
| TS / JS | `package.json`
|
|
173
|
-
| Python | `pyproject.toml`, `setup.py`, `*.py`
|
|
174
|
-
| Go | `go.mod`
|
|
175
|
-
| Rust | `Cargo.toml`
|
|
176
|
-
| C# | `*.csproj`, `*.sln`
|
|
177
|
-
|
|
178
|
-
|
|
172
|
+
| Language | Detection | Coverage import | Import-graph | Native tools | Lint severity tiers | Vuln severity tiers |
|
|
173
|
+
| -------- | ------------------------------------- | ------------------- | -------------------------------------- | ----------------------------------- | ---------------------- | ----------------------------------- |
|
|
174
|
+
| TS / JS | `package.json` | ✅ Istanbul | ✅ import/require/re-export | eslint, npm audit, vitest-coverage | ✅ ESLint rule ID | ✅ npm audit native |
|
|
175
|
+
| Python | `pyproject.toml`, `setup.py`, `*.py` | ✅ coverage.py | ✅ import/from | ruff, pip-audit, coverage | ✅ ruff code prefix | ✅ pip-audit + OSV.dev (CVSS v3+v4) |
|
|
176
|
+
| Go | `go.mod` | ✅ coverprofile | ✅ import blocks | golangci-lint, govulncheck | ✅ `FromLinter` family | ✅ govulncheck embedded + OSV.dev |
|
|
177
|
+
| Rust | `Cargo.toml` | ✅ lcov + cobertura | ⚠️ use statements, extracted only¹ | clippy, cargo-audit, cargo-llvm-cov | ✅ clippy group | ✅ cargo-audit native |
|
|
178
|
+
| C# | `*.csproj`, `*.sln` | ✅ cobertura XML | ⚠️ using declarations, extracted only¹ | dotnet-format (formatter) | ❌ (no linter yet) | ✅ dotnet list --vulnerable |
|
|
179
|
+
| Kotlin | gradle/`*.gradle{.kts,}`, `*.kt` | ✅ JaCoCo XML | ⚠️ import statements, extracted only¹ | detekt, osv-scanner (Maven) | ✅ detekt severity | ✅ osv-scanner + OSV.dev (Maven) |
|
|
180
|
+
| Java | `pom.xml`, `src/main/java/`, `*.java` | ✅ JaCoCo XML | ⚠️ import statements, extracted only¹ | PMD, osv-scanner (Maven) | ✅ PMD priority tiers | ✅ osv-scanner + OSV.dev (Maven) |
|
|
181
|
+
|
|
182
|
+
¹ Rust, C#, Kotlin, and Java packs populate `imports.extracted` but the file-level resolver is a no-op — Rust's `use` paths, C#'s `using` namespaces, Kotlin's and Java's `import` package paths don't map 1:1 to source files. Downstream analyses that need an edge graph (reachability for dep-vulns, import-graph credit for test-gaps) degrade to conservative defaults for these four languages. Resolvers are planned; see Phase 10i-L.2 in the roadmap.
|
|
179
183
|
|
|
180
184
|
✅ full support. Multi-language repos fully supported — every detected language's tools run, and dep-vuln counts aggregate across all language packs via the `depVulns` capability (pip-audit findings don't silently replace npm-audit ones).
|
|
181
185
|
|
package/dist/analyzers/health.js
CHANGED
|
@@ -255,15 +255,15 @@ function splitToolNames(tool) {
|
|
|
255
255
|
*/
|
|
256
256
|
async function gatherCapabilityReport(cwd) {
|
|
257
257
|
const [depVulns, lint, coverage, imports, testFramework, secrets, codePatterns, duplication, structural,] = await Promise.all([
|
|
258
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.DEP_VULNS, (0, capabilities_1.providersFor)(descriptors_1.DEP_VULNS)),
|
|
259
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.LINT, (0, capabilities_1.providersFor)(descriptors_1.LINT)),
|
|
260
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.COVERAGE, (0, capabilities_1.providersFor)(descriptors_1.COVERAGE)),
|
|
261
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.IMPORTS, (0, capabilities_1.providersFor)(descriptors_1.IMPORTS)),
|
|
262
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.TEST_FRAMEWORK, (0, capabilities_1.providersFor)(descriptors_1.TEST_FRAMEWORK)),
|
|
263
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.SECRETS, (0, capabilities_1.providersFor)(descriptors_1.SECRETS)),
|
|
264
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.CODE_PATTERNS, (0, capabilities_1.providersFor)(descriptors_1.CODE_PATTERNS)),
|
|
265
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.DUPLICATION, (0, capabilities_1.providersFor)(descriptors_1.DUPLICATION)),
|
|
266
|
-
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.STRUCTURAL, (0, capabilities_1.providersFor)(descriptors_1.STRUCTURAL)),
|
|
258
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.DEP_VULNS, (0, capabilities_1.providersFor)(descriptors_1.DEP_VULNS, cwd)),
|
|
259
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.LINT, (0, capabilities_1.providersFor)(descriptors_1.LINT, cwd)),
|
|
260
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.COVERAGE, (0, capabilities_1.providersFor)(descriptors_1.COVERAGE, cwd)),
|
|
261
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.IMPORTS, (0, capabilities_1.providersFor)(descriptors_1.IMPORTS, cwd)),
|
|
262
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.TEST_FRAMEWORK, (0, capabilities_1.providersFor)(descriptors_1.TEST_FRAMEWORK, cwd)),
|
|
263
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.SECRETS, (0, capabilities_1.providersFor)(descriptors_1.SECRETS, cwd)),
|
|
264
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.CODE_PATTERNS, (0, capabilities_1.providersFor)(descriptors_1.CODE_PATTERNS, cwd)),
|
|
265
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.DUPLICATION, (0, capabilities_1.providersFor)(descriptors_1.DUPLICATION, cwd)),
|
|
266
|
+
dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.STRUCTURAL, (0, capabilities_1.providersFor)(descriptors_1.STRUCTURAL, cwd)),
|
|
267
267
|
]);
|
|
268
268
|
const report = {};
|
|
269
269
|
if (depVulns)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/analyzers/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const capabilities_1 = require("../../languages/capabilities");
|
|
|
18
18
|
*/
|
|
19
19
|
async function gatherLicensesResult(cwd) {
|
|
20
20
|
const descriptor = descriptors_1.PER_PACK_REGISTRY.licenses;
|
|
21
|
-
const providers = (0, capabilities_1.providersFor)(descriptor);
|
|
21
|
+
const providers = (0, capabilities_1.providersFor)(descriptor, cwd);
|
|
22
22
|
return dispatcher_1.defaultDispatcher.gather(cwd, descriptor, providers);
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=gather.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/licenses/gather.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAYH,oDAIC;AAdD,8CAAkD;AAClD,0EAA6E;AAC7E,+DAA4D;AAG5D;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,MAAM,UAAU,GAAG,+BAAiB,CAAC,QAAQ,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/licenses/gather.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAYH,oDAIC;AAdD,8CAAkD;AAClD,0EAA6E;AAC7E,+DAA4D;AAG5D;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,MAAM,UAAU,GAAG,+BAAiB,CAAC,QAAQ,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAA,2BAAY,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -72,7 +72,7 @@ const capabilities_1 = require("../../languages/capabilities");
|
|
|
72
72
|
* analyzer's `CloneGroup[]`).
|
|
73
73
|
*/
|
|
74
74
|
async function gatherDuplication(cwd) {
|
|
75
|
-
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.DUPLICATION, (0, capabilities_1.providersFor)(descriptors_1.DUPLICATION));
|
|
75
|
+
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.DUPLICATION, (0, capabilities_1.providersFor)(descriptors_1.DUPLICATION, cwd));
|
|
76
76
|
if (!result)
|
|
77
77
|
return { stats: null, toolUsed: null };
|
|
78
78
|
return {
|
|
@@ -137,7 +137,7 @@ function grepPerFile(cwd, pattern, limit = 10) {
|
|
|
137
137
|
* report's `capabilities.structural` exposes directly.
|
|
138
138
|
*/
|
|
139
139
|
async function gatherStructuralMetrics(cwd) {
|
|
140
|
-
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.STRUCTURAL, (0, capabilities_1.providersFor)(descriptors_1.STRUCTURAL));
|
|
140
|
+
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.STRUCTURAL, (0, capabilities_1.providersFor)(descriptors_1.STRUCTURAL, cwd));
|
|
141
141
|
if (!result) {
|
|
142
142
|
return {
|
|
143
143
|
maxFunctionsInFile: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/quality/gather.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,8CAiBC;AAsDD,0DAiCC;AAID,gDAqBC;AAKD,8DAQC;AAED,oDAmEC;AAYD,8CAoBC;AAxRD;;;;;;;;;;;;;GAaG;AACH,uCAAyB;AACzB,4CAAsC;AACtC,0DAA6D;AAC7D,oDAA6E;AAC7E,wCAAkD;AAClD,+CAAwD;AACxD,8CAAkD;AAClD,0EAAyF;AACzF,+DAA4D;AAK5D,+EAA+E;AAE/E;;;;;;;GAOG;AACI,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAIjD,MAAM,MAAM,GAAG,MAAM,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,yBAAW,EAAE,IAAA,2BAAY,EAAC,yBAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/quality/gather.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.d.ts","sourceRoot":"","sources":["../../../src/analyzers/security/gather.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAe1D;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC,CAeD;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAuCjE;AAID;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7D,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC,
|
|
1
|
+
{"version":3,"file":"gather.d.ts","sourceRoot":"","sources":["../../../src/analyzers/security/gather.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAe1D;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC,CAeD;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAuCjE;AAID;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7D,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC,CAmBD;AAcD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAgHzE"}
|
|
@@ -35,7 +35,7 @@ const capabilities_1 = require("../../languages/capabilities");
|
|
|
35
35
|
* into the SecurityFinding shape used by the security report.
|
|
36
36
|
*/
|
|
37
37
|
async function gatherSecrets(cwd) {
|
|
38
|
-
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.SECRETS, (0, capabilities_1.providersFor)(descriptors_1.SECRETS));
|
|
38
|
+
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.SECRETS, (0, capabilities_1.providersFor)(descriptors_1.SECRETS, cwd));
|
|
39
39
|
if (!result)
|
|
40
40
|
return { findings: [], toolUsed: null };
|
|
41
41
|
const findings = result.findings.map((f) => ({
|
|
@@ -97,7 +97,7 @@ function gatherFileFindings(cwd) {
|
|
|
97
97
|
* `SecurityFinding[]` for the security report.
|
|
98
98
|
*/
|
|
99
99
|
async function gatherCodePatterns(cwd) {
|
|
100
|
-
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.CODE_PATTERNS, (0, capabilities_1.providersFor)(descriptors_1.CODE_PATTERNS));
|
|
100
|
+
const result = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.CODE_PATTERNS, (0, capabilities_1.providersFor)(descriptors_1.CODE_PATTERNS, cwd));
|
|
101
101
|
if (!result)
|
|
102
102
|
return { findings: [], toolUsed: null };
|
|
103
103
|
const findings = result.findings.map((f) => ({
|
|
@@ -203,6 +203,15 @@ async function gatherDepVulns(cwd) {
|
|
|
203
203
|
// no pack contributes imports (no source files / all packs
|
|
204
204
|
// declined), leaves `reachable` unset rather than mass-classify
|
|
205
205
|
// everything as false.
|
|
206
|
+
//
|
|
207
|
+
// Intentionally NOT stack-filtered (post-D010): the BoM aggregates
|
|
208
|
+
// across multiple project roots (e.g. `test/fixtures/benchmarks/*`)
|
|
209
|
+
// and findings come from all languages. Reachability needs to walk
|
|
210
|
+
// every pack's imports — filtering by the outer cwd's active packs
|
|
211
|
+
// would silently drop cross-language reachability for findings
|
|
212
|
+
// attributed to inactive-pack roots. Each provider already returns
|
|
213
|
+
// null when its source files don't exist; the cost is a few empty
|
|
214
|
+
// `find` walks at most.
|
|
206
215
|
const importsProviders = (0, capabilities_1.providersFor)(descriptors_1.IMPORTS);
|
|
207
216
|
if (importsProviders.length > 0) {
|
|
208
217
|
const importsEnvelope = await dispatcher_1.defaultDispatcher.gather(cwd, descriptors_1.IMPORTS, importsProviders);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/security/gather.ts"],"names":[],"mappings":";;AAwCA,sCAkBC;AAID,gDAuCC;AAWD,
|
|
1
|
+
{"version":3,"file":"gather.js","sourceRoot":"","sources":["../../../src/analyzers/security/gather.ts"],"names":[],"mappings":"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"}
|