@vyuhlabs/dxkit 2.4.2 → 2.4.4
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 +296 -0
- package/README.md +9 -1
- 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 +5 -16
- package/dist/analyzers/tools/coverage.d.ts.map +1 -1
- package/dist/analyzers/tools/coverage.js +9 -201
- package/dist/analyzers/tools/coverage.js.map +1 -1
- package/dist/analyzers/tools/generic.d.ts.map +1 -1
- package/dist/analyzers/tools/generic.js +21 -4
- package/dist/analyzers/tools/generic.js.map +1 -1
- package/dist/analyzers/tools/graphify.js +2 -2
- package/dist/analyzers/tools/grep-secrets.d.ts.map +1 -1
- package/dist/analyzers/tools/grep-secrets.js +10 -1
- package/dist/analyzers/tools/grep-secrets.js.map +1 -1
- 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/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +31 -20
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/constants.d.ts +5 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +41 -17
- package/dist/constants.js.map +1 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +15 -16
- package/dist/detect.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +10 -16
- package/dist/doctor.js.map +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +41 -75
- package/dist/generator.js.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/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +18 -0
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts +10 -0
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +89 -1
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/index.d.ts +42 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +57 -1
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/kotlin.d.ts +103 -0
- package/dist/languages/kotlin.d.ts.map +1 -0
- package/dist/languages/kotlin.js +676 -0
- package/dist/languages/kotlin.js.map +1 -0
- package/dist/languages/python.d.ts +3 -0
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +55 -1
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +8 -0
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +69 -1
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts +5 -0
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +72 -2
- package/dist/languages/typescript.js.map +1 -1
- package/dist/project-yaml.d.ts.map +1 -1
- package/dist/project-yaml.js +19 -15
- package/dist/project-yaml.js.map +1 -1
- package/dist/types.d.ts +42 -15
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/templates/.claude/rules/kotlin.md +11 -0
- package/templates/configs/kotlin/README.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,302 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.4.4] - 2026-04-27
|
|
11
|
+
|
|
12
|
+
Phase 10j.1 — first mobile language pack (Kotlin/Android), Recipe v2
|
|
13
|
+
scaffolder enhancements driven by lessons from adding it, and a fix
|
|
14
|
+
for D010 (inactive-pack provider invocation) which surfaced as a
|
|
15
|
+
test-suite performance regression.
|
|
16
|
+
|
|
17
|
+
No breaking changes for end users. New depVulns/lint/coverage data on
|
|
18
|
+
Kotlin/Maven projects; existing analyzer commands produce identical
|
|
19
|
+
output for non-Kotlin projects.
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- **Kotlin (Android) language pack.** Full LP-recipe implementation with
|
|
24
|
+
five capability providers:
|
|
25
|
+
- **depVulns** via `osv-scanner` against `pom.xml` /
|
|
26
|
+
`gradle.lockfile` (Maven ecosystem filtered out of polyglot scans
|
|
27
|
+
so npm/PyPI findings stay attributed to their own packs).
|
|
28
|
+
- **lint** via detekt's Checkstyle XML report — severity tiering
|
|
29
|
+
derived from detekt's source-of-truth `CheckstyleOutputReportSpec`
|
|
30
|
+
(error → high, warning → medium, info → low).
|
|
31
|
+
- **coverage** via JaCoCo XML at the standard Gradle/Android paths
|
|
32
|
+
(`app/build/reports/jacoco/...`, `build/reports/jacoco/test/...`).
|
|
33
|
+
- **imports** via regex extraction (no resolver — Kotlin packages
|
|
34
|
+
don't 1:1 map to file paths; mirrors the rust pack's choice).
|
|
35
|
+
- **testFramework** via gradle build-deps text scan (Kotest > Spek >
|
|
36
|
+
JUnit precedence).
|
|
37
|
+
|
|
38
|
+
Standard cross-ecosystem benchmark fixture under
|
|
39
|
+
`test/fixtures/benchmarks/kotlin/` with `gson:2.8.5` (alias
|
|
40
|
+
CVE-2022-25647) + `log4j-core:2.14.0` known-vulnerable pinned
|
|
41
|
+
deps. Matrix row + `cross-ecosystem benchmarks — Kotlin` describe
|
|
42
|
+
block. detekt registry entry (`TOOL_DEFS`) ships brew + Linux-zip
|
|
43
|
+
install commands. (`src/languages/kotlin.ts`,
|
|
44
|
+
`test/languages-kotlin.test.ts`,
|
|
45
|
+
`test/fixtures/{benchmarks,raw}/kotlin/`,
|
|
46
|
+
`src/analyzers/tools/tool-registry.ts`)
|
|
47
|
+
|
|
48
|
+
- **CI: Java 17 (Temurin) + detekt installed on the Linux runner.**
|
|
49
|
+
Kotlin matrix lint row now runs end-to-end in CI alongside Python /
|
|
50
|
+
Go / Rust / C# rows. Java 17 toolchain is opt-in for contributors
|
|
51
|
+
(`it.skipIf(!commandExists('java'))` gates the matrix lint test
|
|
52
|
+
locally). (`.github/workflows/ci.yml`,
|
|
53
|
+
`CONTRIBUTING.md` — toolchain table extended with three rows:
|
|
54
|
+
`osv-scanner`, `java`, `detekt`)
|
|
55
|
+
|
|
56
|
+
- **Recipe v2 — scaffolder enhancements driven by Kotlin's pain.**
|
|
57
|
+
`npm run new-lang <id> "<displayName>"` now also generates:
|
|
58
|
+
- parser-test stubs in `test/languages-<id>.test.ts` with the
|
|
59
|
+
fixture-loading helper, the C# defect provenance docstring, and
|
|
60
|
+
commented-out test patterns for `parse<Tool>{Lint,Coverage,DepVulns}Output`,
|
|
61
|
+
`map<Lang>Severity`, `extract<Lang>ImportsRaw`.
|
|
62
|
+
- `test/fixtures/raw/<id>/HARVEST.md` template documenting the
|
|
63
|
+
capture commands for real tool-output bytes (the parser-vs-real-output
|
|
64
|
+
discipline that closes the C# defect class).
|
|
65
|
+
- Richer `test/fixtures/benchmarks/<id>/README.md` with the standard
|
|
66
|
+
5-file convention (manifest / BadLint / Duplications / Secrets /
|
|
67
|
+
UntestedModule) and a TODO checklist.
|
|
68
|
+
- Updated next-steps checklist surfaces the harvest step before
|
|
69
|
+
parser implementation. (`scripts/scaffold-language.js`)
|
|
70
|
+
|
|
71
|
+
- **LP-A4 architecture rule.** Pre-commit + CI grep that catches
|
|
72
|
+
hardcoded multi-language extension globs of the
|
|
73
|
+
`'**/*.{ts,tsx,js,jsx,py,go,rs,cs}'` shape — the JSCPD_PATTERN bug
|
|
74
|
+
that silently dropped the kotlin matrix duplication test until
|
|
75
|
+
caught by the cross-ecosystem fixture run. Future regressions land
|
|
76
|
+
with a clear error pointing at `LANGUAGES.flatMap(l => l.sourceExtensions)`
|
|
77
|
+
as the right derivation. (`scripts/check-architecture.sh`)
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
|
|
81
|
+
- **D010 — inactive-pack provider invocation.** `providersFor()` now
|
|
82
|
+
filters by `lang.detect(cwd)` when given a cwd (per-pack capabilities
|
|
83
|
+
only; globals stay unconditional). Module-level memoization caches
|
|
84
|
+
the active-pack list per cwd so 9 capability dispatches incur one
|
|
85
|
+
detect-walk per pack instead of nine. Threaded through 16 analyzer
|
|
86
|
+
callsites. **Intentionally NOT filtered**: the BoM's reachability
|
|
87
|
+
pass in `gatherDepVulns` calls `providersFor(IMPORTS)` without a
|
|
88
|
+
cwd, because the BoM aggregates findings across multiple project
|
|
89
|
+
roots and reachability needs to walk every pack's source files
|
|
90
|
+
regardless of outer-cwd activation. Filtering there silently
|
|
91
|
+
dropped cross-language reachability and zeroed the "This Week's
|
|
92
|
+
Triage" risk scoring — caught during the regression-check pass
|
|
93
|
+
on dxkit's own BoM diff. Cross-ecosystem.test.ts: 444s peak →
|
|
94
|
+
174s wall-clock after Recipe v2 (-228s, 51% reduction). Closes
|
|
95
|
+
D010 (`tmp/known-defects.md`). (`src/languages/capabilities/index.ts`,
|
|
96
|
+
`src/analyzers/{health,licenses,quality,security,tests}/...`)
|
|
97
|
+
|
|
98
|
+
- **`JSCPD_PATTERN` was hardcoded** with `'ts,tsx,js,jsx,py,go,rs,cs'`
|
|
99
|
+
baked in at module load — adding a new pack required this exact
|
|
100
|
+
cross-cutting edit and the kotlin matrix duplication test silently
|
|
101
|
+
dropped for two commits because we forgot to add `kt`. The pattern
|
|
102
|
+
now derives from `LANGUAGES.flatMap(l => l.sourceExtensions)` on
|
|
103
|
+
every call. LP-A4 (above) catches future re-introductions.
|
|
104
|
+
(`src/analyzers/tools/jscpd.ts`)
|
|
105
|
+
|
|
106
|
+
- **`detekt-cli` zip ships the binary as `bin/detekt-cli`, not
|
|
107
|
+
`bin/detekt`** — the original `TOOL_DEFS.detekt` install command
|
|
108
|
+
symlinked the wrong path and `chmod +x` errored out. Caught by the
|
|
109
|
+
`vyuh-dxkit tools install` flow during real-tool harvest. Both
|
|
110
|
+
binary names now declared in `binaries[]` and both symlinks created
|
|
111
|
+
on Linux install. (`src/analyzers/tools/tool-registry.ts`)
|
|
112
|
+
|
|
113
|
+
### Changed
|
|
114
|
+
|
|
115
|
+
- **`DetectedStack.versions` migrated to
|
|
116
|
+
`Partial<Record<LanguageId | 'node', string>>`** from the legacy
|
|
117
|
+
fixed shape `{ python?, go?, node?, rust?, csharp? }`. Adding a new
|
|
118
|
+
language pack no longer requires editing this field — the type
|
|
119
|
+
auto-grows with `LanguageId`. The `'node'` carve-out preserves the
|
|
120
|
+
legacy `NODE_VERSION` template-variable compat without forcing a
|
|
121
|
+
breaking template rename (deferred to a future major).
|
|
122
|
+
(`src/types.ts`)
|
|
123
|
+
|
|
124
|
+
- **`CoverageSource` union consolidated.** `src/analyzers/tests/types.ts`
|
|
125
|
+
now extends `src/analyzers/tools/coverage.ts:CoverageSource` (with
|
|
126
|
+
test-only `'filename-match'` / `'import-graph'` additions) instead
|
|
127
|
+
of duplicating the artifact-source list. Adding a new coverage
|
|
128
|
+
format means editing one place. Added `'jacoco'` for the kotlin
|
|
129
|
+
pack. (`src/analyzers/tools/coverage.ts`,
|
|
130
|
+
`src/analyzers/tests/types.ts`)
|
|
131
|
+
|
|
132
|
+
- **`scripts/check-cross-ecosystem-coverage.sh` auto-derives expected
|
|
133
|
+
language count.** Reads `LANGUAGES.length` from
|
|
134
|
+
`src/languages/index.ts` instead of a hardcoded constant. New packs
|
|
135
|
+
no longer need to bump `EXPECTED_LANGUAGES` by hand.
|
|
136
|
+
(`scripts/check-cross-ecosystem-coverage.sh`)
|
|
137
|
+
|
|
138
|
+
### Internal
|
|
139
|
+
|
|
140
|
+
- Tests: 849 → 895 (+46 from kotlin parser tests, cross-ecosystem
|
|
141
|
+
matrix kotlin row, and indirect coverage of new pack-iterating
|
|
142
|
+
consumers). Wall-clock: 122s → 174s — net +52s for kotlin's
|
|
143
|
+
legitimate test work, after D010 fix recovered ~228s of
|
|
144
|
+
inactive-pack overhead.
|
|
145
|
+
|
|
146
|
+
- Recipe-playbook test's synthetic id renamed from `'kotlin'` to
|
|
147
|
+
`'playbook'` (a non-LanguageId placeholder that won't collide with
|
|
148
|
+
any future real pack). The collision was the LP architecture's
|
|
149
|
+
predicted "first real pack stress-test" — fix took five lines.
|
|
150
|
+
|
|
151
|
+
- `import-graph.test.ts` setup now writes a minimal `package.json` so
|
|
152
|
+
the typescript pack's `detect()` activates — reflects post-D010
|
|
153
|
+
production semantics where inactive packs' gathers don't run.
|
|
154
|
+
|
|
155
|
+
## [2.4.3] - 2026-04-26
|
|
156
|
+
|
|
157
|
+
Phase 10i.0-LP — language-pack architectural refactor. Two user-visible
|
|
158
|
+
fixes (graphify + dotnet auto-discovery), one developer-experience win
|
|
159
|
+
(test suite from 30 min flaky to 2 min deterministic), and an
|
|
160
|
+
architectural cleanup that makes adding a new language pack a one-command
|
|
161
|
+
scaffold (`npm run new-lang <id> "<displayName>"`) instead of a
|
|
162
|
+
13-file scavenger hunt. Closes audit items #1–#7 and #9–#14 (12 items)
|
|
163
|
+
plus **D009** and a doctor-check gap that had no D-id.
|
|
164
|
+
|
|
165
|
+
No breaking changes for end users. Internal architecture only — every
|
|
166
|
+
analyzer command (`health`, `vulnerabilities`, `bom`, etc.) produces
|
|
167
|
+
identical output before and after.
|
|
168
|
+
|
|
169
|
+
### Fixed
|
|
170
|
+
|
|
171
|
+
- **`graphify` "failed to run" in `health` and `quality` reports.** The
|
|
172
|
+
graphifyy@0.5.0 release renamed the result-dict key of `god_nodes()`
|
|
173
|
+
from `"edges"` to `"degree"` (same NetworkX node-degree semantic). The
|
|
174
|
+
Python script in `buildGraphifyScript` raised `KeyError: 'edges'`,
|
|
175
|
+
suppressed by the runner's `2>/dev/null`, surfacing only as
|
|
176
|
+
`Unavailable: graphify (failed to run)` in every health/quality
|
|
177
|
+
report — degrading complexity/cohesion/maintainability scoring
|
|
178
|
+
silently. One-line key rename. (`src/analyzers/tools/graphify.ts`)
|
|
179
|
+
|
|
180
|
+
- **`~/.dotnet` missing from `getSystemPaths()` auto-discovery.**
|
|
181
|
+
Microsoft's recommended non-sudo path is
|
|
182
|
+
`dotnet-install.sh --install-dir $HOME/.dotnet`. Without this entry
|
|
183
|
+
in the system-paths probe list, contributors and customers had to
|
|
184
|
+
manually export `PATH=$HOME/.dotnet:$PATH` before dxkit detected
|
|
185
|
+
dotnet. Added alongside the existing `~/.cargo/bin`, `~/go/bin`
|
|
186
|
+
entries. (`src/analyzers/tools/tool-registry.ts`)
|
|
187
|
+
|
|
188
|
+
- **`vyuh-dxkit doctor` was silently skipping all C# toolchain checks.**
|
|
189
|
+
The pre-LP toolchain-check section in `doctor.ts` had explicit
|
|
190
|
+
branches for python/go/node/rust but **no `if (manifest.config.languages.csharp)` clause** — so .NET
|
|
191
|
+
projects ran `doctor` and saw a clean bill of health regardless of
|
|
192
|
+
whether dotnet was installed. Pack-driven iteration (LP.1) auto-fixes
|
|
193
|
+
this: csharp pack now declares `cliBinaries: ['dotnet']` and doctor
|
|
194
|
+
surfaces missing dotnet on .NET projects. No D-id (discovered + fixed
|
|
195
|
+
in the same commit). (`src/doctor.ts`)
|
|
196
|
+
|
|
197
|
+
- **`cross-ecosystem.test.ts` was unusable on resource-constrained
|
|
198
|
+
developer machines** — 30 min wall-clock with 15 spurious failures
|
|
199
|
+
per run, blocking the progressive-regression workflow. Three root
|
|
200
|
+
causes:
|
|
201
|
+
|
|
202
|
+
1. Vitest 3.x's `pool: 'threads'` birpc channel between worker and
|
|
203
|
+
main starves under heavy concurrent subprocess fan-out (this suite
|
|
204
|
+
spawns ~22 network-bound child processes); workers can't ack
|
|
205
|
+
`onTaskUpdate` within 60s and vitest emits `Timeout calling
|
|
206
|
+
onTaskUpdate`, **failing completed-and-passing tests as a side
|
|
207
|
+
effect** (vitest #8164). 13 of the 15 prior "failures" were this
|
|
208
|
+
spurious RPC bug, not real assertion failures. Switched to
|
|
209
|
+
`pool: 'forks'` — each test file in its own child Node process,
|
|
210
|
+
no shared birpc channel.
|
|
211
|
+
2. `testTimeout: 60000` was tight on cold-cache machines; both real
|
|
212
|
+
non-spurious failures were `pip-audit` and `cargo-audit`
|
|
213
|
+
exceeding 60s on first run. Bumped to 180s.
|
|
214
|
+
3. The 22 subprocess invocations were redundant — multiple `it()`
|
|
215
|
+
blocks across the file invoked the same `node dxkit <report>
|
|
216
|
+
<fixture>` command. Added a per-(command, fixture) Promise-cache
|
|
217
|
+
so each fixture's vulnerability/quality/test-gaps report runs
|
|
218
|
+
once and is shared by all assertions; concurrent racing tests
|
|
219
|
+
receive the same in-flight promise. Cuts subprocess count ~50%.
|
|
220
|
+
|
|
221
|
+
Combined effect: full suite runs from **30 min with 15 spurious
|
|
222
|
+
failures** to **2:30 with zero**. (`vitest.config.ts`,
|
|
223
|
+
`test/integration/cross-ecosystem.test.ts`)
|
|
224
|
+
|
|
225
|
+
### Added
|
|
226
|
+
|
|
227
|
+
- **`npm run new-lang <id> "<displayName>"`** — language-pack
|
|
228
|
+
scaffolder. Generates the 7 recipe files (pack stub, test stub,
|
|
229
|
+
fixture skeleton, Claude rule file, template-config dir) and
|
|
230
|
+
updates `src/types.ts` (extends `LanguageId` union) plus
|
|
231
|
+
`src/languages/index.ts` (registers in `LANGUAGES`). Generated code
|
|
232
|
+
is type-safe by construction — no casts. Prints a next-steps
|
|
233
|
+
checklist for the work scaffolding can't automate (detect logic,
|
|
234
|
+
capability providers, fixture content, CI toolchain install,
|
|
235
|
+
CONTRIBUTING.md row). (`scripts/scaffold-language.js`,
|
|
236
|
+
`package.json`)
|
|
237
|
+
|
|
238
|
+
- **`scripts/check-architecture.sh`** — three new pre-commit + CI
|
|
239
|
+
rules enforcing pack-coupling discipline:
|
|
240
|
+
- LP-A1: no hardcoded `IF_<LANG>` references outside the
|
|
241
|
+
constants→generator pipeline
|
|
242
|
+
- LP-A2: no direct `config.languages.<id>` lookups outside the
|
|
243
|
+
registry-bridge files
|
|
244
|
+
- LP-A3: no hardcoded `<lang>.md` rule-file strings outside packs
|
|
245
|
+
- **`test/languages-contract.test.ts`** — five new per-pack tests:
|
|
246
|
+
metadata completeness (`permissions`, `cliBinaries`,
|
|
247
|
+
`defaultVersion`, `projectYamlBlock`) plus the **D009 reverse-direction
|
|
248
|
+
contract test** (every declared tool either invoked via TOOL_DEFS, by
|
|
249
|
+
shell-command literal, by `node_modules/.bin/<binary>` path, or on
|
|
250
|
+
the artifact-generating allowlist).
|
|
251
|
+
- **`test/recipe-playbook.test.ts`** — synthetic 6th-pack injection
|
|
252
|
+
test. Defines a mock `kotlin` pack, mutates the `LANGUAGES` registry
|
|
253
|
+
to include it, and asserts every pack-iterating consumer
|
|
254
|
+
(generator, doctor, detect, project-yaml, constants, coverage,
|
|
255
|
+
generic, grep-secrets, tool-registry) picks up its contributions.
|
|
256
|
+
Empirical guarantee that the architecture is pack-driven.
|
|
257
|
+
|
|
258
|
+
- **5 new `LanguageSupport` capabilities** for pack metadata that
|
|
259
|
+
consumers iterate (no per-language if-chains):
|
|
260
|
+
`permissions: string[]`, `ruleFile?: string`,
|
|
261
|
+
`templateFiles?: { template; output }[]`, `cliBinaries: string[]`,
|
|
262
|
+
`defaultVersion: string`, `versionKey?: keyof DetectedStack['versions']`,
|
|
263
|
+
`projectYamlBlock?: (ctx) => string`. Plus a coverage-parser capability
|
|
264
|
+
via direct ownership: per-language parsers (Istanbul, coverage.py,
|
|
265
|
+
Go cover-profile) moved out of `src/analyzers/tools/coverage.ts`
|
|
266
|
+
into their respective pack modules.
|
|
267
|
+
|
|
268
|
+
### Changed
|
|
269
|
+
|
|
270
|
+
- **`DetectedStack.languages`** — refactored from a fixed-shape
|
|
271
|
+
interface (`{ python, go, node, nextjs, rust, csharp }`) to
|
|
272
|
+
`Record<LanguageId, boolean>`. The `nextjs` flag moves out of
|
|
273
|
+
`languages` and is now exclusively the framework signal under the
|
|
274
|
+
top-level `framework: 'nextjs'` field — preserved in the legacy
|
|
275
|
+
`IF_NEXTJS` template variable for backwards compatibility.
|
|
276
|
+
|
|
277
|
+
Adding a 6th language pack now extends the `LanguageId` union once
|
|
278
|
+
and registers in `LANGUAGES`; **no fixed-shape interface to edit**.
|
|
279
|
+
This is the missing piece that makes the LP "7-file recipe" actually
|
|
280
|
+
7 files.
|
|
281
|
+
|
|
282
|
+
Programmatic consumers of the `detect()` function should note that
|
|
283
|
+
`stack.languages.node` and `stack.languages.nextjs` no longer exist;
|
|
284
|
+
instead, `stack.languages.typescript` is `true` for both Node and
|
|
285
|
+
Next.js projects (typescript pack matches any `package.json`), and
|
|
286
|
+
`stack.framework === 'nextjs'` distinguishes Next.js. The published
|
|
287
|
+
template variables `IF_NODE`, `IF_NEXTJS`, `NODE_VERSION` are
|
|
288
|
+
unchanged.
|
|
289
|
+
|
|
290
|
+
- **`generator.ts`, `doctor.ts`, `detect.ts`, `coverage.ts`,
|
|
291
|
+
`generic.ts`, `grep-secrets.ts`, `project-yaml.ts`, `constants.ts`,
|
|
292
|
+
`tool-registry.ts`** — all per-language if-chains replaced with
|
|
293
|
+
iteration over the `LANGUAGES` registry. 12 of the 14 LP-audit
|
|
294
|
+
items closed across these files (the audit doc lives in `tmp/` if
|
|
295
|
+
curious).
|
|
296
|
+
|
|
297
|
+
### Internal
|
|
298
|
+
|
|
299
|
+
- Phase 10i.0-LP closed audit items #1–#7, #9–#13 (the per-pack
|
|
300
|
+
if-chain cluster + the medium-structural cluster).
|
|
301
|
+
- Phase 10f.4 closed audit item #14 (`DetectedStack.languages`
|
|
302
|
+
interface refactor — the type-system surgery).
|
|
303
|
+
- D009 (declared-vs-used tool drift contract test) closed via the
|
|
304
|
+
reverse-direction test in `languages-contract.test.ts`.
|
|
305
|
+
|
|
10
306
|
## [2.4.2] - 2026-04-25
|
|
11
307
|
|
|
12
308
|
Phase 10i.0 — cross-ecosystem matrix completion. Establishes the
|
package/README.md
CHANGED
|
@@ -157,7 +157,15 @@ When present (typically written by `@vyuhlabs/create-devstack`), `dxkit init` re
|
|
|
157
157
|
|
|
158
158
|
## Language Support
|
|
159
159
|
|
|
160
|
-
Each language is a single `LanguageSupport` implementation in `src/languages/`.
|
|
160
|
+
Each language is a single `LanguageSupport` implementation in `src/languages/`. Detection, tools, coverage parsing, import extraction, and lint severity mapping live in one place per language.
|
|
161
|
+
|
|
162
|
+
Adding a new language is a single command followed by filling in TODO markers:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
npm run new-lang kotlin "Kotlin (Android)"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
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.
|
|
161
169
|
|
|
162
170
|
| Language | Detection | Coverage import | Import-graph | Native tools | Lint severity tiers | Vuln severity tiers |
|
|
163
171
|
| -------- | ------------------------------------ | ------------------- | -------------------------------------- | ----------------------------------- | ---------------------- | ----------------------------------- |
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,wCAyCC;AAaD,4DAKC;AAGD,sCAKC;AA3GD;;;;;;;GAOG;AACH,2CAA6B;AAC7B,sCAAmC;AAGnC,6CAAuD;AACvD,+CAAwD;AACxD,+CAAgD;AAChD,uDAAgE;AAChE,2CAAmD;AACnD,6CAAiD;AACjD,uEAU+C;AAC/C,4DAAyD;AACzD,6CAAsD;AACtD,+CAA0D;AAC1D,4CAAoD;AACpD,gDAA4D;AAC5D,uDAA0E;AAC1E,0CAAgD;AAChD,uCAAuD;AACvD,2CAAqC;AAErC,mDAAmD;AACnD,SAAgB,cAAc;IAC5B,OAAO;QACL,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,IAAI;QAChB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,CAAC;QACd,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,KAAK;QACnB,qBAAqB,EAAE,KAAK;QAC5B,kBAAkB,EAAE,KAAK;QACzB,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,CAAC;QACZ,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,CAAC;QACT,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,CAAC;QACpB,oBAAoB,EAAE,CAAC;QACvB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAQD;;;;GAIG;AACI,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,UAAgC,EAAE;IAElC,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,kDAAkD;AAC3C,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,UAAgC,EAAE;IAElC,OAAO,CAAC,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,QAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAElC,uBAAuB;IACvB,MAAM,KAAK,GAAG,IAAA,cAAK,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE/D,iFAAiF;IACjF,MAAM,OAAO,GAAG,IAAA,cAAK,EAAC,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,8BAAoB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAkB,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;IAEnE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,GAAG,GAAG,IAAA,cAAK,EAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,uCAAwB,EAAC,QAAQ,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;IAC9C,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAElD,uEAAuE;IACvE,oEAAoE;IACpE,wEAAwE;IACxE,oBAAoB;IACpB,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,+BAAoB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAClG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE7B,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAU,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;IACrF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,iEAAiE;IACjE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa;QACvC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,QAAQ;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,UAAU,EAAE,CAAC,EAAE,iBAAiB;SACjC,CAAC,CAAC;QACL,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAElC,uCAAuC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9E,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,gBAAgB;IAChB,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAU,EAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CAClE,sBAAsB,CAAC,QAAQ,CAAC,CACjC,CAAC;IAEF,sEAAsE;IACtE,kEAAkE;IAClE,wEAAwE;IACxE,sEAAsE;IACtE,iEAAiE;IACjE,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,gBAAgB;IAChB,MAAM,UAAU,GAAe,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,IAAA,6BAAmB,EAAC,UAAU,CAAC;QACxC,OAAO,EAAE,IAAA,+BAAqB,EAAC,UAAU,CAAC;QAC1C,aAAa,EAAE,IAAA,4BAAkB,EAAC,UAAU,CAAC;QAC7C,QAAQ,EAAE,IAAA,gCAAsB,EAAC,UAAU,CAAC;QAC5C,eAAe,EAAE,IAAA,uCAA6B,EAAC,UAAU,CAAC;QAC1D,mBAAmB,EAAE,IAAA,0BAAgB,EAAC,UAAU,CAAC;KAClD,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAA,wBAAc,EAAC,UAAU,CAAC,CAAC;IAE3D,wBAAwB;IACxB,MAAM,SAAS,GAAG,IAAA,YAAG,EAAC,wCAAwC,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAA,YAAG,EAAC,6CAA6C,EAAE,QAAQ,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,SAAS;QACT,MAAM;QACN,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;QAChC,UAAU;QACV,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,YAAY;KACb,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAAC,IAAsB;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAC,GAAW;IAC/C,MAAM,CACJ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACX,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,uBAAS,EAAE,IAAA,2BAAY,EAAC,uBAAS,EAAE,GAAG,CAAC,CAAC;QACtE,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,kBAAI,EAAE,IAAA,2BAAY,EAAC,kBAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,sBAAQ,EAAE,IAAA,2BAAY,EAAC,sBAAQ,EAAE,GAAG,CAAC,CAAC;QACpE,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,qBAAO,EAAE,IAAA,2BAAY,EAAC,qBAAO,EAAE,GAAG,CAAC,CAAC;QAClE,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,4BAAc,EAAE,IAAA,2BAAY,EAAC,4BAAc,EAAE,GAAG,CAAC,CAAC;QAChF,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,qBAAO,EAAE,IAAA,2BAAY,EAAC,qBAAO,EAAE,GAAG,CAAC,CAAC;QAClE,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,2BAAa,EAAE,IAAA,2BAAY,EAAC,2BAAa,EAAE,GAAG,CAAC,CAAC;QAC9E,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,yBAAW,EAAE,IAAA,2BAAY,EAAC,yBAAW,EAAE,GAAG,CAAC,CAAC;QAC1E,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,wBAAU,EAAE,IAAA,2BAAY,EAAC,wBAAU,EAAE,GAAG,CAAC,CAAC;KACzE,CAAC,CAAC;IACH,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzC,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,IAAI,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzC,IAAI,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACtC,IAAI,aAAa;QAAE,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACxD,IAAI,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACtC,IAAI,YAAY;QAAE,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACrD,IAAI,WAAW;QAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAClD,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,IAAmB,EAAE,OAA+B;IACvE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,IAAI,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAI,KAAkB,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAI,KAAkB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC7D,IAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,SAAS,sBAAsB,CAC7B,KAAoB;IAEpB,MAAM,KAAK,GAA8E,EAAE,CAAC;IAC5F,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;IAC5B,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -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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"}
|
|
@@ -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,
|
|
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,
|
|
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;
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,0CA6GC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analyzers/tests/index.ts"],"names":[],"mappings":"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"}
|