supercov 0.0.5 → 0.0.6
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 +28 -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/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 +252 -101
- 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/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/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.
|
|
@@ -107,6 +110,11 @@ npx supercov diff <older-run> <newer-run>
|
|
|
107
110
|
npx supercov merge <first-run-id> <second-run-id>
|
|
108
111
|
```
|
|
109
112
|
|
|
113
|
+
`supercov runs` is metadata-only for uncached history and never reconstructs
|
|
114
|
+
coverage for twenty runs merely to list them. Runs whose disposable query index
|
|
115
|
+
already exists include their metrics; other rows say `coverage not indexed`.
|
|
116
|
+
Selecting a run with `runs <run-id> coverage` materializes its index lazily.
|
|
117
|
+
|
|
110
118
|
Coverage queries use `--filter all` by default, matching conventional coverage
|
|
111
119
|
tools: every executed attempt contributes, including attempts that later fail.
|
|
112
120
|
Use `--filter passed` for verified coverage from successful attempts of
|
|
@@ -121,9 +129,24 @@ run. `latest` is a convenience selector for interactive use. Every query
|
|
|
121
129
|
accepts `--json` and—where the result can be long—`--limit` and `--offset`.
|
|
122
130
|
Every collection is paginated at 20 items by default and prints its range plus
|
|
123
131
|
a copyable next-page command; generated commands omit the default limit.
|
|
132
|
+
Measurement limitations use the same drill-down commands as ordinary gaps.
|
|
133
|
+
The coverage summary reports whether the measured denominator is complete,
|
|
134
|
+
`coverage files` and `coverage gaps` include per-file limitation counts and
|
|
135
|
+
kinds, and `coverage file <path>` returns the bounded source locations, reasons,
|
|
136
|
+
and denominator effect. `coverage scope` attaches the same counts to included,
|
|
137
|
+
excluded, and ambiguous source entries. A 100% metric with a blocking limitation
|
|
138
|
+
is therefore never reported as structurally complete.
|
|
124
139
|
Text output is concise for an interactive agent; JSON is the stable machine
|
|
125
140
|
interface that can later back hosted coverage tools without changing the
|
|
126
|
-
stored evidence schema.
|
|
141
|
+
stored evidence schema. Every JSON response uses contract version 1:
|
|
142
|
+
successful responses contain `schemaVersion`, `ok: true`, `command`, `data`,
|
|
143
|
+
and, for every bounded collection, one `pagination` object with `offset`,
|
|
144
|
+
`limit`, `returned`, `total`, `hasMore`, and `nextOffset`. Failures exit with
|
|
145
|
+
status 2 and emit only a parseable `ok: false` envelope containing a stable
|
|
146
|
+
error `code`, message, retryability, and bounded details. JSON stdout has a
|
|
147
|
+
hard 64 KiB limit; an oversized request returns `RESPONSE_TOO_LARGE` so the
|
|
148
|
+
caller can paginate or narrow it instead of flooding an agent context.
|
|
149
|
+
`coverage minimize` is an exact branch-and-bound
|
|
127
150
|
solver: line, statement, function, and branch obligations use per-test
|
|
128
151
|
provenance, while MC/DC obligations retain complete independence-witness pairs
|
|
129
152
|
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, {
|