supercov 0.0.5 → 0.0.7
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/README.md +37 -5
- package/dist/agentJson.d.ts +44 -0
- package/dist/agentJson.d.ts.map +1 -0
- package/dist/agentJson.js +84 -0
- package/dist/agentJson.js.map +1 -0
- package/dist/cli.js +22 -17
- package/dist/cli.js.map +1 -1
- package/dist/instrumenter.d.ts.map +1 -1
- package/dist/instrumenter.js +20 -2
- package/dist/instrumenter.js.map +1 -1
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +14 -0
- package/dist/integrity.js.map +1 -1
- package/dist/launchSupervisor.d.ts +8 -0
- package/dist/launchSupervisor.d.ts.map +1 -1
- package/dist/launchSupervisor.js +53 -2
- package/dist/launchSupervisor.js.map +1 -1
- package/dist/nodeTest.d.ts.map +1 -1
- package/dist/nodeTest.js +3 -1
- package/dist/nodeTest.js.map +1 -1
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +11 -14
- package/dist/project.js.map +1 -1
- package/dist/query.d.ts +36 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +316 -107
- package/dist/query.js.map +1 -1
- package/dist/queryCache.d.ts +15 -0
- package/dist/queryCache.d.ts.map +1 -0
- package/dist/queryCache.js +95 -0
- package/dist/queryCache.js.map +1 -0
- package/dist/runAnalysis.d.ts.map +1 -1
- package/dist/runAnalysis.js +21 -1
- package/dist/runAnalysis.js.map +1 -1
- package/dist/runtime.d.ts +7 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +91 -10
- package/dist/runtime.js.map +1 -1
- package/dist/sourceDiscovery.js +1 -1
- package/dist/sourceDiscovery.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vitest.js +5 -1
- package/dist/vitest.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -68,11 +68,14 @@ blocks the trusted-publishing workflow.
|
|
|
68
68
|
|
|
69
69
|
## Agent query workflow
|
|
70
70
|
|
|
71
|
-
Each run is stored locally
|
|
72
|
-
|
|
71
|
+
Each run is stored locally under `.supercov/runs/<run-id>/`. Its immutable
|
|
72
|
+
`evidence.raw.gz` archive and `run.json` metadata are the source of truth. The archive
|
|
73
73
|
contains the exact coverage denominator manifest plus raw per-worker and
|
|
74
|
-
background evidence.
|
|
75
|
-
|
|
74
|
+
background evidence. The first query lazily reconstructs the complete coverage
|
|
75
|
+
model and atomically writes a disposable, integrity-checked `query-index.v1.json.gz`;
|
|
76
|
+
later queries reuse it. A changed archive, incompatible Supercov/schema version,
|
|
77
|
+
or corrupt index causes automatic reconstruction, so the index can be deleted at
|
|
78
|
+
any time without losing coverage data.
|
|
76
79
|
Loose evidence is removed only after the whole run directory is atomically
|
|
77
80
|
visible. HTML is not generated during a test run; agents should use bounded
|
|
78
81
|
CLI queries instead of loading the complete derived model into context.
|
|
@@ -89,10 +92,12 @@ npx supercov runs latest coverage scope
|
|
|
89
92
|
npx supercov runs latest coverage --kind e2e
|
|
90
93
|
npx supercov runs latest coverage files
|
|
91
94
|
npx supercov runs latest coverage gaps
|
|
95
|
+
npx supercov runs latest coverage gaps --metric mcdc
|
|
92
96
|
npx supercov runs latest coverage gaps --kind e2e
|
|
93
97
|
|
|
94
98
|
# Drill into one target selected from the gap list.
|
|
95
99
|
npx supercov runs latest coverage file app/routes/example.ts
|
|
100
|
+
npx supercov runs latest coverage file app/routes/example.ts --metric mcdc
|
|
96
101
|
npx supercov runs latest coverage decision app/routes/example.ts:42
|
|
97
102
|
npx supercov runs latest coverage covers app/routes/example.ts:57
|
|
98
103
|
|
|
@@ -107,6 +112,11 @@ npx supercov diff <older-run> <newer-run>
|
|
|
107
112
|
npx supercov merge <first-run-id> <second-run-id>
|
|
108
113
|
```
|
|
109
114
|
|
|
115
|
+
`supercov runs` is metadata-only for uncached history and never reconstructs
|
|
116
|
+
coverage for twenty runs merely to list them. Runs whose disposable query index
|
|
117
|
+
already exists include their metrics; other rows say `coverage not indexed`.
|
|
118
|
+
Selecting a run with `runs <run-id> coverage` materializes its index lazily.
|
|
119
|
+
|
|
110
120
|
Coverage queries use `--filter all` by default, matching conventional coverage
|
|
111
121
|
tools: every executed attempt contributes, including attempts that later fail.
|
|
112
122
|
Use `--filter passed` for verified coverage from successful attempts of
|
|
@@ -121,9 +131,31 @@ run. `latest` is a convenience selector for interactive use. Every query
|
|
|
121
131
|
accepts `--json` and—where the result can be long—`--limit` and `--offset`.
|
|
122
132
|
Every collection is paginated at 20 items by default and prints its range plus
|
|
123
133
|
a copyable next-page command; generated commands omit the default limit.
|
|
134
|
+
Agents targeting one coverage dimension can pass `--metric` to `coverage
|
|
135
|
+
files`, `coverage gaps`, or `coverage file`; this ranks and narrows the existing
|
|
136
|
+
resource instead of requiring a separate MC/DC-specific command.
|
|
137
|
+
Measurement limitations use the same drill-down commands as ordinary gaps.
|
|
138
|
+
The coverage summary reports whether the measured denominator is complete,
|
|
139
|
+
`coverage files` and `coverage gaps` include per-file limitation counts and
|
|
140
|
+
kinds, and `coverage file <path>` returns the bounded source locations, reasons,
|
|
141
|
+
and denominator effect. `coverage scope` attaches the same counts to included,
|
|
142
|
+
excluded, and ambiguous source entries. A 100% metric with a blocking limitation
|
|
143
|
+
is therefore never reported as structurally complete.
|
|
144
|
+
The summary also exposes provider-neutral transport counters. If Supercov
|
|
145
|
+
supervises remote launches but receives no server records, it emits a
|
|
146
|
+
`REMOTE_SERVER_EVIDENCE_MISSING` diagnostic instead of letting an agent assume
|
|
147
|
+
that browser-only evidence describes the whole application.
|
|
124
148
|
Text output is concise for an interactive agent; JSON is the stable machine
|
|
125
149
|
interface that can later back hosted coverage tools without changing the
|
|
126
|
-
stored evidence schema.
|
|
150
|
+
stored evidence schema. Every JSON response uses contract version 1:
|
|
151
|
+
successful responses contain `schemaVersion`, `ok: true`, `command`, `data`,
|
|
152
|
+
and, for every bounded collection, one `pagination` object with `offset`,
|
|
153
|
+
`limit`, `returned`, `total`, `hasMore`, and `nextOffset`. Failures exit with
|
|
154
|
+
status 2 and emit only a parseable `ok: false` envelope containing a stable
|
|
155
|
+
error `code`, message, retryability, and bounded details. JSON stdout has a
|
|
156
|
+
hard 64 KiB limit; an oversized request returns `RESPONSE_TOO_LARGE` so the
|
|
157
|
+
caller can paginate or narrow it instead of flooding an agent context.
|
|
158
|
+
`coverage minimize` is an exact branch-and-bound
|
|
127
159
|
solver: line, statement, function, and branch obligations use per-test
|
|
128
160
|
provenance, while MC/DC obligations retain complete independence-witness pairs
|
|
129
161
|
and are recomputed for every candidate subset. Its result is therefore a
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare const AGENT_JSON_SCHEMA_VERSION: 1;
|
|
2
|
+
export declare const AGENT_JSON_MAX_BYTES: number;
|
|
3
|
+
export type SupercovErrorCode = "AMBIGUOUS_SELECTOR" | "DECISION_NOT_FOUND" | "FILTER_UNAVAILABLE" | "INTERNAL_ERROR" | "INVALID_ARGUMENT" | "NO_RUNS" | "RESPONSE_TOO_LARGE" | "RUN_NOT_FOUND" | "SCOPE_UNAVAILABLE" | "SOURCE_NOT_FOUND" | "TARGET_UNREACHABLE" | "TEST_FILTER_EMPTY" | "TEST_NOT_FOUND" | "UNATTRIBUTED_EVIDENCE" | "UNKNOWN_COMMAND";
|
|
4
|
+
export interface AgentJsonPagination {
|
|
5
|
+
offset: number;
|
|
6
|
+
limit: number;
|
|
7
|
+
returned: number;
|
|
8
|
+
total: number;
|
|
9
|
+
hasMore: boolean;
|
|
10
|
+
nextOffset: number | null;
|
|
11
|
+
}
|
|
12
|
+
export interface AgentJsonSuccess {
|
|
13
|
+
schemaVersion: typeof AGENT_JSON_SCHEMA_VERSION;
|
|
14
|
+
ok: true;
|
|
15
|
+
command: string;
|
|
16
|
+
data: unknown;
|
|
17
|
+
pagination?: AgentJsonPagination;
|
|
18
|
+
}
|
|
19
|
+
export interface AgentJsonFailure {
|
|
20
|
+
schemaVersion: typeof AGENT_JSON_SCHEMA_VERSION;
|
|
21
|
+
ok: false;
|
|
22
|
+
command?: string;
|
|
23
|
+
error: {
|
|
24
|
+
code: SupercovErrorCode;
|
|
25
|
+
message: string;
|
|
26
|
+
retryable: boolean;
|
|
27
|
+
details?: Record<string, unknown>;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare class SupercovError extends Error {
|
|
31
|
+
readonly code: SupercovErrorCode;
|
|
32
|
+
readonly retryable: boolean;
|
|
33
|
+
readonly details?: Record<string, unknown>;
|
|
34
|
+
constructor(code: SupercovErrorCode, message: string, options?: {
|
|
35
|
+
retryable?: boolean;
|
|
36
|
+
details?: Record<string, unknown>;
|
|
37
|
+
cause?: unknown;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export declare function agentPagination(offset: number, limit: number, returned: number, total: number): AgentJsonPagination;
|
|
41
|
+
export declare function agentSuccessJson(command: string, data: unknown, pagination?: AgentJsonPagination): string;
|
|
42
|
+
export declare function asSupercovError(error: unknown): SupercovError;
|
|
43
|
+
export declare function agentFailureJson(error: unknown, command?: string): string;
|
|
44
|
+
//# sourceMappingURL=agentJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentJson.d.ts","sourceRoot":"","sources":["../src/agentJson.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,EAAG,CAAU,CAAC;AACpD,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,SAAS,GACT,oBAAoB,GACpB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,uBAAuB,GACvB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,yBAAyB,CAAC;IAChD,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,yBAAyB,CAAC;IAChD,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QACL,IAAI,EAAE,iBAAiB,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C,YACE,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,EAOP;CACF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAWrB;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,UAAU,CAAC,EAAE,mBAAmB,GAC/B,MAAM,CAwBR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAO7D;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAyBR"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
export const AGENT_JSON_SCHEMA_VERSION = 1;
|
|
3
|
+
export const AGENT_JSON_MAX_BYTES = 64 * 1024;
|
|
4
|
+
export class SupercovError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
retryable;
|
|
7
|
+
details;
|
|
8
|
+
constructor(code, message, options = {}) {
|
|
9
|
+
super(message, options.cause === undefined ? undefined : { cause: options.cause });
|
|
10
|
+
this.name = "SupercovError";
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.retryable = options.retryable ?? false;
|
|
13
|
+
this.details = options.details;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function agentPagination(offset, limit, returned, total) {
|
|
17
|
+
const nextOffset = offset + returned;
|
|
18
|
+
const hasMore = returned > 0 && nextOffset < total;
|
|
19
|
+
return {
|
|
20
|
+
offset,
|
|
21
|
+
limit,
|
|
22
|
+
returned,
|
|
23
|
+
total,
|
|
24
|
+
hasMore,
|
|
25
|
+
nextOffset: hasMore ? nextOffset : null,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function serialized(value) {
|
|
29
|
+
return `${JSON.stringify(value)}\n`;
|
|
30
|
+
}
|
|
31
|
+
export function agentSuccessJson(command, data, pagination) {
|
|
32
|
+
const envelope = {
|
|
33
|
+
schemaVersion: AGENT_JSON_SCHEMA_VERSION,
|
|
34
|
+
ok: true,
|
|
35
|
+
command,
|
|
36
|
+
data,
|
|
37
|
+
...(pagination ? { pagination } : {}),
|
|
38
|
+
};
|
|
39
|
+
const json = serialized(envelope);
|
|
40
|
+
const bytes = Buffer.byteLength(json);
|
|
41
|
+
if (bytes > AGENT_JSON_MAX_BYTES) {
|
|
42
|
+
throw new SupercovError("RESPONSE_TOO_LARGE", `JSON response is ${bytes} bytes; the maximum is ${AGENT_JSON_MAX_BYTES} bytes`, {
|
|
43
|
+
details: {
|
|
44
|
+
actualBytes: bytes,
|
|
45
|
+
maxBytes: AGENT_JSON_MAX_BYTES,
|
|
46
|
+
hint: "Use --offset/--limit or a narrower coverage query.",
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return json;
|
|
51
|
+
}
|
|
52
|
+
export function asSupercovError(error) {
|
|
53
|
+
if (error instanceof SupercovError)
|
|
54
|
+
return error;
|
|
55
|
+
return new SupercovError("INTERNAL_ERROR", error instanceof Error ? error.message : String(error), { cause: error });
|
|
56
|
+
}
|
|
57
|
+
export function agentFailureJson(error, command) {
|
|
58
|
+
const failure = asSupercovError(error);
|
|
59
|
+
const envelope = {
|
|
60
|
+
schemaVersion: AGENT_JSON_SCHEMA_VERSION,
|
|
61
|
+
ok: false,
|
|
62
|
+
...(command ? { command } : {}),
|
|
63
|
+
error: {
|
|
64
|
+
code: failure.code,
|
|
65
|
+
message: failure.message,
|
|
66
|
+
retryable: failure.retryable,
|
|
67
|
+
...(failure.details ? { details: failure.details } : {}),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
const json = serialized(envelope);
|
|
71
|
+
if (Buffer.byteLength(json) <= AGENT_JSON_MAX_BYTES)
|
|
72
|
+
return json;
|
|
73
|
+
return serialized({
|
|
74
|
+
schemaVersion: AGENT_JSON_SCHEMA_VERSION,
|
|
75
|
+
ok: false,
|
|
76
|
+
...(command ? { command } : {}),
|
|
77
|
+
error: {
|
|
78
|
+
code: failure.code,
|
|
79
|
+
message: failure.message.slice(0, 1_000),
|
|
80
|
+
retryable: failure.retryable,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=agentJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentJson.js","sourceRoot":"","sources":["../src/agentJson.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -4,8 +4,6 @@ import { relative, resolve, sep } from "node:path";
|
|
|
4
4
|
import { performance } from "node:perf_hooks";
|
|
5
5
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
6
6
|
import { atomicRenameSync, atomicWriteFileSync } from "./atomic.js";
|
|
7
|
-
import { printCoverageSummary } from "./reporter.js";
|
|
8
|
-
import { analyzeCoverageArchive } from "./runAnalysis.js";
|
|
9
7
|
import { coverageQueryCommands, runQueryCommand } from "./query.js";
|
|
10
8
|
import { discoverCoverageProject } from "./project.js";
|
|
11
9
|
import { createRunIntegrity } from "./integrity.js";
|
|
@@ -14,6 +12,7 @@ import { mergeCoverageRuns } from "./merge.js";
|
|
|
14
12
|
import { buildCacheReusePaths, instrumentedBuildCacheKey, readInstrumentedBuildCache, writeInstrumentedBuildCache, } from "./buildCache.js";
|
|
15
13
|
import { instrumentDirectWorkspace } from "./directInstrumenter.js";
|
|
16
14
|
import { acquireProjectLock, cachedWorkspacePath, cleanCoverageStorage, finalizePublishedRunStorage, prepareCachedWorkspace, pruneCoverageStorage, recoverAbandonedRuns, updateRunState, writeRunState, } from "./workspace.js";
|
|
15
|
+
import { agentFailureJson, SupercovError } from "./agentJson.js";
|
|
17
16
|
function roundedTimings(timings) {
|
|
18
17
|
return Object.fromEntries(Object.entries(timings).map(([phase, duration]) => [
|
|
19
18
|
phase,
|
|
@@ -235,6 +234,8 @@ async function createCoverageRun(command) {
|
|
|
235
234
|
]) {
|
|
236
235
|
copyFileSync(resolve(packageSource, file), resolve(generatedDirectory, file));
|
|
237
236
|
}
|
|
237
|
+
const generatedRuntime = resolve(generatedDirectory, "runtime.js");
|
|
238
|
+
atomicWriteFileSync(generatedRuntime, readFileSync(generatedRuntime, "utf8").replaceAll("__SUPERCOV_RUNTIME_INSTANCE__", `collector-${runId}`));
|
|
238
239
|
const generatedPlaywrightAdapter = resolve(generatedDirectory, "playwright.js");
|
|
239
240
|
const generatedPlaywrightReporter = resolve(generatedDirectory, "playwrightReporter.js");
|
|
240
241
|
atomicWriteFileSync(generatedPlaywrightAdapter, readFileSync(generatedPlaywrightAdapter, "utf8")
|
|
@@ -365,7 +366,7 @@ async function createCoverageRun(command) {
|
|
|
365
366
|
`const attempts = new Map();`,
|
|
366
367
|
`const suites = [];`,
|
|
367
368
|
`const copyModifiers = (target, source, wrap, ancestors = new Set()) => { if (ancestors.has(source)) return target; const seen = new Set(ancestors); seen.add(source); for (const key of Object.getOwnPropertyNames(source)) { if (['length', 'name', 'prototype'].includes(key)) continue; const value = source[key]; if (typeof value !== 'function') continue; try { const decorated = key === 'each' ? (...eachArgs) => wrap(value.apply(source, eachArgs), eachArgs) : copyModifiers(wrap(value.bind(source)), value, wrap, seen); Object.defineProperty(target, key, { configurable: true, enumerable: true, value: decorated }); } catch {} } return target; };`,
|
|
368
|
-
`const wrapTest = (original, eachArgs) => { const wrapped = function(...args) { const callbackIndex = args.findLastIndex(value => typeof value === 'function'); if (callbackIndex < 0) return original.apply(this, args); const callback = args[callbackIndex]; const title = typeof args[0] === 'string' ? args[0] : callback.name || 'anonymous test'; const expandedNames = []; if (eachArgs) { try { bindJestEach(name => expandedNames.push([...suites, name].join(' ')))(...eachArgs)(title, callback, args[callbackIndex + 1]); } catch {} } const registeredName = [...suites, title].join(' '); let invocation = 0; const next = [...args]; const execute = (owner,
|
|
369
|
+
`const wrapTest = (original, eachArgs) => { const wrapped = function(...args) { const callbackIndex = args.findLastIndex(value => typeof value === 'function'); if (callbackIndex < 0) return original.apply(this, args); const callback = args[callbackIndex]; const title = typeof args[0] === 'string' ? args[0] : callback.name || 'anonymous test'; const expandedNames = []; if (eachArgs) { try { bindJestEach(name => expandedNames.push([...suites, name].join(' ')))(...eachArgs)(title, callback, args[callbackIndex + 1]); } catch {} } const registeredName = [...suites, title].join(' '); let invocation = 0; const next = [...args]; const execute = (owner, originalCallbackArgs) => { const state = expect.getState(); const file = state.testPath; const name = expandedNames.length ? expandedNames[invocation++ % expandedNames.length] : registeredName; const testId = id(file, name); const retry = attempts.get(testId) || 0; attempts.set(testId, retry + 1); const execution = scope(file, name, retry); const runtime = process.__SUPERCOV_DIRECT_RUNTIME__; runtime.beginBufferedServerEvidence(execution); let flushed = false; const flush = () => { if (!flushed) { flushed = true; runtime.flushBufferedServerEvidence(execution); } }; const callbackArgs = [...originalCallbackArgs]; const doneIndex = callbackArgs.findLastIndex(value => typeof value === 'function'); if (doneIndex >= 0) { const done = callbackArgs[doneIndex]; callbackArgs[doneIndex] = (...doneArgs) => { flush(); return done(...doneArgs); }; } try { const result = runtime.withCoverageCarrier({ version: 1, scope: execution }, () => callback.apply(owner, callbackArgs)); if (result && typeof result.then === 'function') return Promise.resolve(result).finally(flush); if (doneIndex < 0) flush(); return result; } catch (error) { flush(); throw error; } }; let instrumented; if (eachArgs) { instrumented = function(...callbackArgs) { return execute(this, callbackArgs); }; try { Object.defineProperty(instrumented, 'length', { value: callback.length }); } catch {} } else { instrumented = callback.length ? function(done) { return execute(this, [done]); } : function() { return execute(this, []); }; } next[callbackIndex] = instrumented; return original.apply(this, next); }; return copyModifiers(wrapped, original, wrapTest); };`,
|
|
369
370
|
`const wrapSuite = original => { const wrapped = function(...args) { const callbackIndex = args.findLastIndex(value => typeof value === 'function'); if (callbackIndex < 0) return original.apply(this, args); const callback = args[callbackIndex]; const name = typeof args[0] === 'string' ? args[0] : callback.name || 'suite'; const next = [...args]; next[callbackIndex] = function(...callbackArgs) { suites.push(name); try { return callback.apply(this, callbackArgs); } finally { suites.pop(); } }; return original.apply(this, next); }; return copyModifiers(wrapped, original, wrapSuite); };`,
|
|
370
371
|
`globalThis.test = wrapTest(globalThis.test);`,
|
|
371
372
|
`globalThis.it = globalThis.test;`,
|
|
@@ -512,12 +513,6 @@ async function createCoverageRun(command) {
|
|
|
512
513
|
prefix: "server",
|
|
513
514
|
},
|
|
514
515
|
], evidenceArchivePath);
|
|
515
|
-
printCoverageSummary(analyzeCoverageArchive(evidenceArchivePath, {
|
|
516
|
-
runId,
|
|
517
|
-
testExitCode: testResult.status,
|
|
518
|
-
integrity: runIntegrity,
|
|
519
|
-
generatedAt: startedAt,
|
|
520
|
-
}));
|
|
521
516
|
timings.evidencePublicationMs = performance.now() - phaseStarted;
|
|
522
517
|
atomicWriteFileSync(resolve(runStagingDirectory, "run.json"), `${JSON.stringify({
|
|
523
518
|
id: runId,
|
|
@@ -599,6 +594,20 @@ const rawArgs = commandArgs[0] === "--help" || commandArgs[0] === "-h"
|
|
|
599
594
|
? ["help", ...commandArgs.slice(1)]
|
|
600
595
|
: commandArgs;
|
|
601
596
|
const queryCommand = rawArgs[0];
|
|
597
|
+
const wantsJson = rawArgs.includes("--json");
|
|
598
|
+
const agentCommand = (() => {
|
|
599
|
+
if (queryCommand !== "runs" || rawArgs[2] !== "coverage")
|
|
600
|
+
return queryCommand;
|
|
601
|
+
const child = rawArgs[3];
|
|
602
|
+
return `coverage.${child && !child.startsWith("-") ? child : "summary"}`;
|
|
603
|
+
})();
|
|
604
|
+
const reportCliError = (error) => {
|
|
605
|
+
if (wantsJson)
|
|
606
|
+
process.stdout.write(agentFailureJson(error, agentCommand));
|
|
607
|
+
else
|
|
608
|
+
console.error(`[supercov] ${error instanceof Error ? error.message : String(error)}`);
|
|
609
|
+
process.exitCode = 2;
|
|
610
|
+
};
|
|
602
611
|
if (queryCommand === "clean" || queryCommand === "prune") {
|
|
603
612
|
try {
|
|
604
613
|
if (queryCommand === "clean")
|
|
@@ -607,8 +616,7 @@ if (queryCommand === "clean" || queryCommand === "prune") {
|
|
|
607
616
|
pruneCommand(rawArgs.slice(1));
|
|
608
617
|
}
|
|
609
618
|
catch (error) {
|
|
610
|
-
|
|
611
|
-
process.exitCode = 2;
|
|
619
|
+
reportCliError(error);
|
|
612
620
|
}
|
|
613
621
|
}
|
|
614
622
|
else if (queryCommand === "merge") {
|
|
@@ -618,8 +626,7 @@ else if (queryCommand === "merge") {
|
|
|
618
626
|
console.log(`npx supercov runs ${mergedRunId} coverage`);
|
|
619
627
|
}
|
|
620
628
|
catch (error) {
|
|
621
|
-
|
|
622
|
-
process.exitCode = 2;
|
|
629
|
+
reportCliError(error);
|
|
623
630
|
}
|
|
624
631
|
}
|
|
625
632
|
else if (queryCommand && coverageQueryCommands.has(queryCommand)) {
|
|
@@ -627,13 +634,11 @@ else if (queryCommand && coverageQueryCommands.has(queryCommand)) {
|
|
|
627
634
|
await runQueryCommand(queryCommand, rawArgs.slice(1));
|
|
628
635
|
}
|
|
629
636
|
catch (error) {
|
|
630
|
-
|
|
631
|
-
process.exitCode = 2;
|
|
637
|
+
reportCliError(error);
|
|
632
638
|
}
|
|
633
639
|
}
|
|
634
640
|
else if (rawArgs[0] && rawArgs[0] !== "--") {
|
|
635
|
-
|
|
636
|
-
process.exitCode = 2;
|
|
641
|
+
reportCliError(new SupercovError("UNKNOWN_COMMAND", `Unknown command: ${rawArgs[0]}. Try supercov help.`, { details: { command: rawArgs[0] } }));
|
|
637
642
|
}
|
|
638
643
|
else {
|
|
639
644
|
const separator = process.argv.indexOf("--");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumenter.d.ts","sourceRoot":"","sources":["../src/instrumenter.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAIxC,OAAO,KAAK,EAEV,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"instrumenter.d.ts","sourceRoot":"","sources":["../src/instrumenter.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAIxC,OAAO,KAAK,EAEV,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAqTpB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,oBAAoB,CA6oCtB;AAED,eAAO,MAAM,mBAAmB,6BAAiB,CAAC"}
|
package/dist/instrumenter.js
CHANGED
|
@@ -205,6 +205,15 @@ function isSourceSensitiveFunction(path) {
|
|
|
205
205
|
function isInsideWithStatement(path) {
|
|
206
206
|
return Boolean(path.findParent((parent) => parent.isWithStatement()));
|
|
207
207
|
}
|
|
208
|
+
function isInsideFunctionParameter(path) {
|
|
209
|
+
let current = path;
|
|
210
|
+
while (current?.parentPath) {
|
|
211
|
+
if (current.parentPath.isFunction())
|
|
212
|
+
return current.listKey === "params";
|
|
213
|
+
current = current.parentPath;
|
|
214
|
+
}
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
208
217
|
export function instrumentMcdc(code, file) {
|
|
209
218
|
const names = allocatedRuntimeNames(code);
|
|
210
219
|
const BEGIN = names["__supercovMcdcBegin"];
|
|
@@ -770,6 +779,7 @@ export function instrumentMcdc(code, file) {
|
|
|
770
779
|
// body's block. Declaring the frame there puts it after the predicate that
|
|
771
780
|
// uses it (and is especially visible in async generators). Hoist scratch
|
|
772
781
|
// frames to the nearest function/program scope instead.
|
|
782
|
+
const inlineFrame = isInsideFunctionParameter(path);
|
|
773
783
|
const evaluationScope = (path.isFunctionExpression() ||
|
|
774
784
|
path.isArrowFunctionExpression() ||
|
|
775
785
|
path.isClassExpression()) &&
|
|
@@ -779,7 +789,8 @@ export function instrumentMcdc(code, file) {
|
|
|
779
789
|
const frameScope = evaluationScope.getFunctionParent() ??
|
|
780
790
|
evaluationScope.getProgramParent();
|
|
781
791
|
const frameId = frameScope.generateUidIdentifier("supercovMcdcFrame");
|
|
782
|
-
|
|
792
|
+
if (!inlineFrame)
|
|
793
|
+
frameScope.push({ id: t.cloneNode(frameId), kind: "let" });
|
|
783
794
|
const instrumented = instrumentConditions(path.node, frameId, { value: 0 }, decisionLogicalNodes, CONDITION);
|
|
784
795
|
const begin = t.callExpression(t.identifier(BEGIN), [
|
|
785
796
|
t.stringLiteral(id),
|
|
@@ -790,7 +801,14 @@ export function instrumentMcdc(code, file) {
|
|
|
790
801
|
t.cloneNode(frameId),
|
|
791
802
|
instrumented,
|
|
792
803
|
]);
|
|
793
|
-
path.replaceWith(
|
|
804
|
+
path.replaceWith(inlineFrame
|
|
805
|
+
? t.callExpression(t.arrowFunctionExpression([], t.blockStatement([
|
|
806
|
+
t.variableDeclaration("let", [
|
|
807
|
+
t.variableDeclarator(t.cloneNode(frameId), begin),
|
|
808
|
+
]),
|
|
809
|
+
t.returnStatement(end),
|
|
810
|
+
])), [])
|
|
811
|
+
: t.sequenceExpression([assignFrame, end]));
|
|
794
812
|
path.skip();
|
|
795
813
|
};
|
|
796
814
|
traverse(ast, {
|