supercov 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +28 -23
  2. package/bin/supercov.js +8 -19
  3. package/package.json +31 -43
  4. package/{dist → runtime/javascript}/atomic.js +0 -1
  5. package/{dist → runtime/javascript}/launchSupervisor.js +45 -2
  6. package/{dist → runtime/javascript}/nodeAssert.js +0 -1
  7. package/{dist → runtime/javascript}/nodeAssertAdapter.js +0 -1
  8. package/{dist → runtime/javascript}/nodeAssertStrict.js +0 -1
  9. package/{dist → runtime/javascript}/nodeTest.js +0 -1
  10. package/{dist → runtime/javascript}/playwright.js +0 -1
  11. package/{dist → runtime/javascript}/playwrightReporter.js +0 -1
  12. package/{dist → runtime/javascript}/provenance.js +0 -1
  13. package/{dist → runtime/javascript}/register.mjs +3 -2
  14. package/{dist → runtime/javascript}/resolve-loader.mjs +0 -42
  15. package/{dist → runtime/javascript}/runnerEvidence.js +0 -1
  16. package/{dist → runtime/javascript}/transport.js +0 -1
  17. package/{dist → runtime/javascript}/vitest.js +0 -1
  18. package/{dist → runtime/javascript}/vitestReporter.js +0 -1
  19. package/dist/agentJson.d.ts +0 -45
  20. package/dist/agentJson.d.ts.map +0 -1
  21. package/dist/agentJson.js +0 -102
  22. package/dist/agentJson.js.map +0 -1
  23. package/dist/analyze.d.ts +0 -12
  24. package/dist/analyze.d.ts.map +0 -1
  25. package/dist/analyze.js +0 -704
  26. package/dist/analyze.js.map +0 -1
  27. package/dist/atomic.d.ts +0 -6
  28. package/dist/atomic.d.ts.map +0 -1
  29. package/dist/atomic.js.map +0 -1
  30. package/dist/buildCache.d.ts +0 -14
  31. package/dist/buildCache.d.ts.map +0 -1
  32. package/dist/buildCache.js +0 -84
  33. package/dist/buildCache.js.map +0 -1
  34. package/dist/cli.d.ts +0 -2
  35. package/dist/cli.d.ts.map +0 -1
  36. package/dist/cli.js +0 -797
  37. package/dist/cli.js.map +0 -1
  38. package/dist/directInstrumenter.d.ts +0 -8
  39. package/dist/directInstrumenter.d.ts.map +0 -1
  40. package/dist/directInstrumenter.js +0 -112
  41. package/dist/directInstrumenter.js.map +0 -1
  42. package/dist/engineEvidence.d.ts +0 -9
  43. package/dist/engineEvidence.d.ts.map +0 -1
  44. package/dist/engineEvidence.js +0 -31
  45. package/dist/engineEvidence.js.map +0 -1
  46. package/dist/engineInstrumenter.d.ts +0 -16
  47. package/dist/engineInstrumenter.d.ts.map +0 -1
  48. package/dist/engineInstrumenter.js +0 -50
  49. package/dist/engineInstrumenter.js.map +0 -1
  50. package/dist/engineProcess.d.ts +0 -11
  51. package/dist/engineProcess.d.ts.map +0 -1
  52. package/dist/engineProcess.js +0 -59
  53. package/dist/engineProcess.js.map +0 -1
  54. package/dist/esmInterceptor.d.ts +0 -6
  55. package/dist/esmInterceptor.d.ts.map +0 -1
  56. package/dist/esmInterceptor.js +0 -63
  57. package/dist/esmInterceptor.js.map +0 -1
  58. package/dist/evidenceArchive.d.ts +0 -38
  59. package/dist/evidenceArchive.d.ts.map +0 -1
  60. package/dist/evidenceArchive.js +0 -156
  61. package/dist/evidenceArchive.js.map +0 -1
  62. package/dist/instrumenter.d.ts +0 -18
  63. package/dist/instrumenter.d.ts.map +0 -1
  64. package/dist/instrumenter.js +0 -1644
  65. package/dist/instrumenter.js.map +0 -1
  66. package/dist/integrity.d.ts +0 -10
  67. package/dist/integrity.d.ts.map +0 -1
  68. package/dist/integrity.js +0 -213
  69. package/dist/integrity.js.map +0 -1
  70. package/dist/launchSupervisor.d.ts +0 -38
  71. package/dist/launchSupervisor.d.ts.map +0 -1
  72. package/dist/launchSupervisor.js.map +0 -1
  73. package/dist/merge.d.ts +0 -2
  74. package/dist/merge.d.ts.map +0 -1
  75. package/dist/merge.js +0 -119
  76. package/dist/merge.js.map +0 -1
  77. package/dist/nodeAssert.d.ts +0 -31
  78. package/dist/nodeAssert.d.ts.map +0 -1
  79. package/dist/nodeAssert.js.map +0 -1
  80. package/dist/nodeAssertAdapter.d.ts +0 -6
  81. package/dist/nodeAssertAdapter.d.ts.map +0 -1
  82. package/dist/nodeAssertAdapter.js.map +0 -1
  83. package/dist/nodeAssertStrict.d.ts +0 -31
  84. package/dist/nodeAssertStrict.d.ts.map +0 -1
  85. package/dist/nodeAssertStrict.js.map +0 -1
  86. package/dist/nodeAssertionInstrumenter.d.ts +0 -8
  87. package/dist/nodeAssertionInstrumenter.d.ts.map +0 -1
  88. package/dist/nodeAssertionInstrumenter.js +0 -271
  89. package/dist/nodeAssertionInstrumenter.js.map +0 -1
  90. package/dist/nodeTest.d.ts +0 -15
  91. package/dist/nodeTest.d.ts.map +0 -1
  92. package/dist/nodeTest.js.map +0 -1
  93. package/dist/playwright.d.ts +0 -9
  94. package/dist/playwright.d.ts.map +0 -1
  95. package/dist/playwright.js.map +0 -1
  96. package/dist/playwrightReporter.d.ts +0 -6
  97. package/dist/playwrightReporter.d.ts.map +0 -1
  98. package/dist/playwrightReporter.js.map +0 -1
  99. package/dist/processDiagnostics.d.ts +0 -34
  100. package/dist/processDiagnostics.d.ts.map +0 -1
  101. package/dist/processDiagnostics.js +0 -155
  102. package/dist/processDiagnostics.js.map +0 -1
  103. package/dist/project.d.ts +0 -21
  104. package/dist/project.d.ts.map +0 -1
  105. package/dist/project.js +0 -331
  106. package/dist/project.js.map +0 -1
  107. package/dist/provenance.d.ts +0 -9
  108. package/dist/provenance.d.ts.map +0 -1
  109. package/dist/provenance.js.map +0 -1
  110. package/dist/query.d.ts +0 -81
  111. package/dist/query.d.ts.map +0 -1
  112. package/dist/query.js +0 -1656
  113. package/dist/query.js.map +0 -1
  114. package/dist/queryCache.d.ts +0 -15
  115. package/dist/queryCache.d.ts.map +0 -1
  116. package/dist/queryCache.js +0 -95
  117. package/dist/queryCache.js.map +0 -1
  118. package/dist/queueAdapters.d.ts +0 -15
  119. package/dist/queueAdapters.d.ts.map +0 -1
  120. package/dist/queueAdapters.js +0 -55
  121. package/dist/queueAdapters.js.map +0 -1
  122. package/dist/register.d.mts +0 -2
  123. package/dist/register.d.mts.map +0 -1
  124. package/dist/register.mjs.map +0 -1
  125. package/dist/reporter.d.ts +0 -13
  126. package/dist/reporter.d.ts.map +0 -1
  127. package/dist/reporter.js +0 -252
  128. package/dist/reporter.js.map +0 -1
  129. package/dist/resolve-loader.d.mts +0 -3
  130. package/dist/resolve-loader.d.mts.map +0 -1
  131. package/dist/resolve-loader.mjs.map +0 -1
  132. package/dist/runAnalysis.d.ts +0 -19
  133. package/dist/runAnalysis.d.ts.map +0 -1
  134. package/dist/runAnalysis.js +0 -171
  135. package/dist/runAnalysis.js.map +0 -1
  136. package/dist/runnerEvidence.d.ts +0 -19
  137. package/dist/runnerEvidence.d.ts.map +0 -1
  138. package/dist/runnerEvidence.js.map +0 -1
  139. package/dist/runtime.d.ts +0 -140
  140. package/dist/runtime.d.ts.map +0 -1
  141. package/dist/runtime.js.map +0 -1
  142. package/dist/runtimeIsolation.d.ts +0 -3
  143. package/dist/runtimeIsolation.d.ts.map +0 -1
  144. package/dist/runtimeIsolation.js +0 -9
  145. package/dist/runtimeIsolation.js.map +0 -1
  146. package/dist/sourceDiscovery.d.ts +0 -9
  147. package/dist/sourceDiscovery.d.ts.map +0 -1
  148. package/dist/sourceDiscovery.js +0 -242
  149. package/dist/sourceDiscovery.js.map +0 -1
  150. package/dist/transport.d.ts +0 -17
  151. package/dist/transport.d.ts.map +0 -1
  152. package/dist/transport.js.map +0 -1
  153. package/dist/types.d.ts +0 -378
  154. package/dist/types.d.ts.map +0 -1
  155. package/dist/types.js +0 -2
  156. package/dist/types.js.map +0 -1
  157. package/dist/vitePlugin.d.ts +0 -13
  158. package/dist/vitePlugin.d.ts.map +0 -1
  159. package/dist/vitePlugin.js +0 -139
  160. package/dist/vitePlugin.js.map +0 -1
  161. package/dist/vitest.d.ts +0 -2
  162. package/dist/vitest.d.ts.map +0 -1
  163. package/dist/vitest.js.map +0 -1
  164. package/dist/vitestReporter.d.ts +0 -43
  165. package/dist/vitestReporter.d.ts.map +0 -1
  166. package/dist/vitestReporter.js.map +0 -1
  167. package/dist/waivers.d.ts +0 -52
  168. package/dist/waivers.d.ts.map +0 -1
  169. package/dist/waivers.js +0 -121
  170. package/dist/waivers.js.map +0 -1
  171. package/dist/workspace.d.ts +0 -117
  172. package/dist/workspace.d.ts.map +0 -1
  173. package/dist/workspace.js +0 -680
  174. package/dist/workspace.js.map +0 -1
  175. /package/{dist → runtime/javascript}/runtime.js +0 -0
@@ -1,155 +0,0 @@
1
- import { basename } from "node:path";
2
- import { spawnSync } from "node:child_process";
3
- export const PROCESS_SUPERVISION_SCHEMA_VERSION = 1;
4
- export const DEFAULT_DIAGNOSTIC_INTERVAL_MS = 60_000;
5
- export const COMMAND_TERMINATION_GRACE_MS = 5_000;
6
- export const COMMAND_TIMEOUT_EXIT_CODE = 124;
7
- function cpuSeconds(value) {
8
- const dayParts = value.split("-");
9
- const clock = dayParts.at(-1)?.split(":").map(Number) ?? [];
10
- if (clock.some((part) => !Number.isFinite(part)))
11
- return undefined;
12
- const days = dayParts.length === 2 ? Number(dayParts[0]) : 0;
13
- if (!Number.isFinite(days))
14
- return undefined;
15
- const [hours = 0, minutes = 0, seconds = 0] = clock.length === 3 ? clock : [0, ...clock];
16
- return days * 86_400 + hours * 3_600 + minutes * 60 + seconds;
17
- }
18
- function posixProcesses() {
19
- const result = spawnSync("ps", ["-axo", "pid=,ppid=,state=,time=,comm="], { encoding: "utf8", timeout: 5_000 });
20
- if (result.status !== 0)
21
- return [];
22
- return result.stdout
23
- .split("\n")
24
- .flatMap((line) => {
25
- const match = /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(.+?)\s*$/.exec(line);
26
- if (!match)
27
- return [];
28
- return [{
29
- pid: Number(match[1]),
30
- parentPid: Number(match[2]),
31
- state: match[3],
32
- cpuSeconds: cpuSeconds(match[4]),
33
- executable: basename(match[5]),
34
- }];
35
- });
36
- }
37
- function windowsProcesses() {
38
- const script = [
39
- "Get-CimInstance Win32_Process",
40
- "Select-Object ProcessId,ParentProcessId,Name,KernelModeTime,UserModeTime",
41
- "ConvertTo-Json -Compress",
42
- ].join(" | ");
43
- const result = spawnSync("powershell.exe", ["-NoLogo", "-NoProfile", "-NonInteractive", "-Command", script], { encoding: "utf8", timeout: 10_000 });
44
- if (result.status !== 0 || !result.stdout.trim())
45
- return [];
46
- try {
47
- const decoded = JSON.parse(result.stdout);
48
- return (Array.isArray(decoded) ? decoded : [decoded]).flatMap((entry) => {
49
- const pid = Number(entry["ProcessId"]);
50
- const parentPid = Number(entry["ParentProcessId"]);
51
- if (!Number.isSafeInteger(pid) || !Number.isSafeInteger(parentPid))
52
- return [];
53
- const kernel = Number(entry["KernelModeTime"] ?? 0);
54
- const user = Number(entry["UserModeTime"] ?? 0);
55
- return [{
56
- pid,
57
- parentPid,
58
- cpuSeconds: Number.isFinite(kernel + user) ? (kernel + user) / 10_000_000 : undefined,
59
- executable: basename(String(entry["Name"] ?? "unknown")),
60
- }];
61
- });
62
- }
63
- catch {
64
- return [];
65
- }
66
- }
67
- export function descendantProcessTree(rootPid) {
68
- const processes = process.platform === "win32"
69
- ? windowsProcesses()
70
- : posixProcesses();
71
- const descendants = new Set([rootPid]);
72
- let changed = true;
73
- while (changed) {
74
- changed = false;
75
- for (const entry of processes) {
76
- if (descendants.has(entry.parentPid) && !descendants.has(entry.pid)) {
77
- descendants.add(entry.pid);
78
- changed = true;
79
- }
80
- }
81
- }
82
- return processes
83
- .filter((entry) => descendants.has(entry.pid))
84
- .sort((left, right) => left.pid - right.pid);
85
- }
86
- function duration(milliseconds) {
87
- if (milliseconds < 1_000)
88
- return `${Math.round(milliseconds)}ms`;
89
- const seconds = Math.round(milliseconds / 1_000);
90
- if (seconds < 60)
91
- return `${seconds}s`;
92
- const minutes = Math.floor(seconds / 60);
93
- return `${minutes}m${String(seconds % 60).padStart(2, "0")}s`;
94
- }
95
- export function formatProcessDiagnostic(rootPid, elapsedMs, tree = descendantProcessTree(rootPid)) {
96
- const entries = tree.length > 0
97
- ? tree.map((entry) => [
98
- `pid=${entry.pid}`,
99
- `ppid=${entry.parentPid}`,
100
- `exe=${entry.executable}`,
101
- ...(entry.state ? [`state=${entry.state}`] : []),
102
- ...(entry.cpuSeconds === undefined
103
- ? []
104
- : [`cpu=${entry.cpuSeconds.toFixed(1)}s`]),
105
- ].join(" "))
106
- : [`pid=${rootPid} process details unavailable`];
107
- return `[supercov] command still running after ${duration(elapsedMs)}\n${entries
108
- .map((entry) => ` ${entry}`)
109
- .join("\n")}`;
110
- }
111
- /**
112
- * Prevent an arbitrary wrapped command from ever hanging silently. Diagnostics
113
- * are observational; termination occurs only when the user supplied a timeout.
114
- * Never signal descendants to request diagnostics: arbitrary launch trees can
115
- * contain Node processes without Supercov's signal handler, and SIGUSR2 would
116
- * terminate those otherwise healthy processes. The preloaded Node runtime
117
- * reports its own active resources through a signal-free elected timer.
118
- */
119
- export function startProcessWatchdog(child, options) {
120
- if (!child.pid)
121
- return { stop() { } };
122
- const startedAt = Date.now();
123
- const report = (timedOut) => {
124
- const tree = descendantProcessTree(child.pid);
125
- options.write(formatProcessDiagnostic(child.pid, Date.now() - startedAt, tree));
126
- if (timedOut)
127
- options.onTimeout();
128
- };
129
- const diagnostics = setInterval(() => report(false), options.diagnosticIntervalMs);
130
- diagnostics.unref();
131
- const timeout = options.timeoutMs === undefined
132
- ? undefined
133
- : setTimeout(() => report(true), options.timeoutMs);
134
- timeout?.unref();
135
- let stopped = false;
136
- return {
137
- stop() {
138
- if (stopped)
139
- return;
140
- stopped = true;
141
- clearInterval(diagnostics);
142
- if (timeout)
143
- clearTimeout(timeout);
144
- },
145
- };
146
- }
147
- export function positiveMilliseconds(value, name) {
148
- if (value === undefined || value === "")
149
- return undefined;
150
- const parsed = Number(value);
151
- if (!Number.isSafeInteger(parsed) || parsed < 1)
152
- throw new Error(`${name} must be a positive integer number of milliseconds`);
153
- return parsed;
154
- }
155
- //# sourceMappingURL=processDiagnostics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processDiagnostics.js","sourceRoot":"","sources":["../src/processDiagnostics.ts"],"names":[],"mappings":"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"}
package/dist/project.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import type { CoverageLimitation, CoverageSourceScope } from "./types.ts";
2
- export interface CoverageProject {
3
- root: string;
4
- sourceRoots: string[];
5
- sourceFiles: string[];
6
- sourceScope: CoverageSourceScope;
7
- sourceLimitations: CoverageLimitation[];
8
- playwrightConfig?: string;
9
- vitestConfig?: string;
10
- jestConfig?: string;
11
- usesJest?: boolean;
12
- playwrightModule: string;
13
- playwrightTestExport: string;
14
- playwrightExports: string[];
15
- buildAdapter: "vite" | "generic" | "direct";
16
- buildCommand: string[];
17
- buildEnvironment: Record<string, string>;
18
- }
19
- export declare function expandedCommand(root: string, command: string[]): string;
20
- export declare function discoverCoverageProject(root?: string, environment?: NodeJS.ProcessEnv, command?: string[]): CoverageProject;
21
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,mBAAmB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AA6ND,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBvE;AAsDD,wBAAgB,uBAAuB,CACrC,IAAI,SAAgB,EACpB,WAAW,GAAE,MAAM,CAAC,UAAwB,EAC5C,OAAO,GAAE,MAAM,EAAO,GACrB,eAAe,CA8FjB"}
package/dist/project.js DELETED
@@ -1,331 +0,0 @@
1
- import { existsSync, readFileSync, readdirSync } from "node:fs";
2
- import { basename, resolve } from "node:path";
3
- import { discoverSourceScope } from "./sourceDiscovery.js";
4
- const PLAYWRIGHT_CONFIG_CANDIDATES = [
5
- "playwright.config.ts",
6
- "playwright.config.mts",
7
- "playwright.config.js",
8
- "playwright.config.mjs",
9
- "playwright.config.cts",
10
- "playwright.config.cjs",
11
- ];
12
- const VITEST_CONFIG_CANDIDATES = [
13
- "vitest.config.ts",
14
- "vitest.config.mts",
15
- "vitest.config.js",
16
- "vitest.config.mjs",
17
- "vitest.config.cts",
18
- "vitest.config.cjs",
19
- "vite.config.ts",
20
- "vite.config.mts",
21
- "vite.config.js",
22
- "vite.config.mjs",
23
- ];
24
- const JEST_CONFIG_CANDIDATES = [
25
- "jest.config.ts",
26
- "jest.config.mts",
27
- "jest.config.js",
28
- "jest.config.mjs",
29
- "jest.config.cts",
30
- "jest.config.cjs",
31
- ];
32
- function packageJson(root) {
33
- try {
34
- return JSON.parse(readFileSync(resolve(root, "package.json"), "utf8"));
35
- }
36
- catch {
37
- return {};
38
- }
39
- }
40
- function importedTestApis(contents) {
41
- const candidates = [];
42
- const imports = contents.matchAll(/import\s+(?!type\b)\{([\s\S]*?)\}\s*from\s*["']([^"']+)["']/g);
43
- for (const match of imports) {
44
- const bindings = match[1] ?? "";
45
- const module = match[2];
46
- if (!module)
47
- continue;
48
- let score = 0;
49
- let testExport;
50
- const exports = [];
51
- for (const rawBinding of bindings.split(",")) {
52
- const trimmed = rawBinding.trim();
53
- if (trimmed.startsWith("type "))
54
- continue;
55
- const binding = trimmed;
56
- if (!binding)
57
- continue;
58
- const [imported = "", local = imported] = binding
59
- .split(/\s+as\s+/)
60
- .map((value) => value.trim());
61
- if (/^[A-Za-z_$][\w$]*$/.test(imported))
62
- exports.push(imported);
63
- if (local === "test") {
64
- score += 20;
65
- testExport = imported;
66
- }
67
- else if (/test$/i.test(imported))
68
- score += 8;
69
- if (local === "expect" || imported === "expect")
70
- score += 10;
71
- }
72
- if (score > 0) {
73
- if (module === "@playwright/test")
74
- score += 100;
75
- else if (/playwright/i.test(module))
76
- score += 5;
77
- candidates.push({
78
- module,
79
- score,
80
- ...(testExport ? { testExport } : {}),
81
- exports,
82
- });
83
- }
84
- }
85
- return candidates;
86
- }
87
- function testApiCandidates(directory) {
88
- if (!existsSync(directory))
89
- return [];
90
- const candidates = [];
91
- for (const entry of readdirSync(directory, { withFileTypes: true })) {
92
- if (entry.name === "node_modules" ||
93
- entry.name === "results" ||
94
- entry.name.startsWith("."))
95
- continue;
96
- const path = resolve(directory, entry.name);
97
- if (entry.isDirectory()) {
98
- candidates.push(...testApiCandidates(path));
99
- continue;
100
- }
101
- if (!/\.[cm]?[jt]sx?$/.test(entry.name))
102
- continue;
103
- try {
104
- candidates.push(...importedTestApis(readFileSync(path, "utf8")));
105
- }
106
- catch {
107
- // Discovery is best-effort; unreadable files cannot contribute a test API.
108
- }
109
- }
110
- return candidates;
111
- }
112
- function discoverPlaywrightAdapter(root) {
113
- const candidates = [];
114
- for (const directory of ["test", "tests", "e2e", "spec", "specs"]) {
115
- candidates.push(...testApiCandidates(resolve(root, directory)));
116
- }
117
- const scores = new Map();
118
- for (const candidate of candidates)
119
- scores.set(candidate.module, (scores.get(candidate.module) ?? 0) + candidate.score);
120
- const module = [...scores.entries()].sort(([leftModule, leftScore], [rightModule, rightScore]) => rightScore - leftScore || leftModule.localeCompare(rightModule))[0]?.[0] ?? "@playwright/test";
121
- const matching = candidates.filter((candidate) => candidate.module === module);
122
- const testExport = matching
123
- .filter((candidate) => candidate.testExport)
124
- .sort((left, right) => right.score - left.score)[0]?.testExport ?? "test";
125
- return {
126
- module,
127
- testExport,
128
- exports: [...new Set(matching.flatMap((candidate) => candidate.exports))].sort(),
129
- };
130
- }
131
- function nestedPlaywrightConfigs(root) {
132
- const found = [];
133
- const visit = (directory, depth) => {
134
- if (!existsSync(directory) || depth > 4)
135
- return;
136
- for (const entry of readdirSync(directory, { withFileTypes: true })) {
137
- if (entry.name.startsWith(".") || entry.name === "node_modules")
138
- continue;
139
- const path = resolve(directory, entry.name);
140
- if (entry.isDirectory())
141
- visit(path, depth + 1);
142
- else if (/^playwright(?:\.[\w-]+)?\.config\.[cm]?[jt]s$/.test(entry.name))
143
- found.push(path);
144
- }
145
- };
146
- for (const directory of ["test", "tests", "e2e"])
147
- visit(resolve(root, directory), 0);
148
- return found.sort();
149
- }
150
- const GENERIC_COMMAND_TERMS = new Set([
151
- "bin",
152
- "bun",
153
- "exec",
154
- "node",
155
- "npm",
156
- "pnpm",
157
- "run",
158
- "script",
159
- "test",
160
- "tests",
161
- "yarn",
162
- ]);
163
- function words(value) {
164
- return new Set(value
165
- .toLowerCase()
166
- .split(/[^a-z0-9]+/)
167
- .filter((word) => word.length > 1 && !GENERIC_COMMAND_TERMS.has(word)));
168
- }
169
- const BUILD_OUTPUT_IMPORT_PATTERN = /(?:from\s*|require\s*\(\s*|import\s*\(\s*)["'](?:\.\.?\/)+(?:dist|build|out|output)(?:\/|["'])/;
170
- /** Some suites deliberately test compiled output; those still need the build. */
171
- function testsImportBuildOutput(root) {
172
- const visit = (directory) => {
173
- if (!existsSync(directory))
174
- return false;
175
- for (const entry of readdirSync(directory, { withFileTypes: true })) {
176
- if (entry.name === "node_modules" || entry.name.startsWith("."))
177
- continue;
178
- const path = resolve(directory, entry.name);
179
- if (entry.isDirectory()) {
180
- if (visit(path))
181
- return true;
182
- continue;
183
- }
184
- if (!/\.[cm]?[jt]sx?$/.test(entry.name))
185
- continue;
186
- try {
187
- if (BUILD_OUTPUT_IMPORT_PATTERN.test(readFileSync(path, "utf8")))
188
- return true;
189
- }
190
- catch {
191
- // Discovery is best-effort; unreadable files prove nothing.
192
- }
193
- }
194
- return false;
195
- };
196
- return ["test", "tests", "spec", "specs", "e2e", "__tests__"].some((directory) => visit(resolve(root, directory)));
197
- }
198
- export function expandedCommand(root, command) {
199
- const executable = basename(command[0] ?? "").replace(/\.(?:cmd|exe)$/i, "");
200
- const runIndex = command.findIndex((argument) => argument === "run");
201
- const shorthandScript = ["npm", "pnpm", "yarn", "bun"].includes(executable) && runIndex < 0
202
- ? command[1]
203
- : undefined;
204
- const scriptName = runIndex >= 0 ? command[runIndex + 1] : shorthandScript;
205
- if (["npm", "pnpm", "yarn", "bun"].includes(executable) &&
206
- scriptName) {
207
- const script = packageJson(root).scripts?.[scriptName];
208
- return `${command.join(" ")} ${script ?? ""}`;
209
- }
210
- return command.join(" ");
211
- }
212
- function referencedBuildEnvironment(root) {
213
- const values = new Map();
214
- const configs = readdirSync(root, { withFileTypes: true })
215
- .filter((entry) => entry.isFile() &&
216
- /^(?:vite|webpack|rollup|remix|next|nuxt)\.config\.[cm]?[jt]s$/.test(entry.name))
217
- .map((entry) => resolve(root, entry.name));
218
- for (const config of configs) {
219
- let contents;
220
- try {
221
- contents = readFileSync(config, "utf8");
222
- }
223
- catch {
224
- continue;
225
- }
226
- const references = contents.matchAll(/process\.env(?:\.([A-Z][A-Z0-9_]*)|\[['"]([A-Z][A-Z0-9_]*)['"]\])\s*={2,3}\s*(['"])([^'"]+)\3/g);
227
- for (const match of references) {
228
- const name = match[1] ?? match[2];
229
- if (name && match[4])
230
- values.set(name, match[4]);
231
- }
232
- }
233
- return values;
234
- }
235
- /**
236
- * Infer build-only mode flags when a test command's semantic mode matches a
237
- * flag the project's own build config reads. For example, a `test:preview`
238
- * command and `process.env.TEST_PREVIEW === "true"` are connected without
239
- * knowing the framework or runner that owns either convention.
240
- */
241
- function inferBuildEnvironment(root, command, environment) {
242
- const commandWords = words(expandedCommand(root, command));
243
- if (commandWords.size === 0)
244
- return {};
245
- const inferred = {};
246
- for (const [name, activeValue] of referencedBuildEnvironment(root)) {
247
- if (environment[name] !== undefined)
248
- continue;
249
- const flagWords = words(name);
250
- if ([...flagWords].some((word) => commandWords.has(word)))
251
- inferred[name] = activeValue;
252
- }
253
- return inferred;
254
- }
255
- export function discoverCoverageProject(root = process.cwd(), environment = process.env, command = []) {
256
- const manifest = packageJson(root);
257
- const configuredSourceRoots = environment["SUPERCOV_SOURCE_ROOTS"]
258
- ?.split(",")
259
- .map((value) => value.trim())
260
- .filter(Boolean);
261
- const discoveredSource = discoverSourceScope(root, configuredSourceRoots);
262
- if (discoveredSource.sourceFiles.length === 0) {
263
- throw new Error("No application source files were discovered. Set SUPERCOV_SOURCE_ROOTS=src,app.");
264
- }
265
- const configuredPlaywright = environment["SUPERCOV_PLAYWRIGHT_CONFIG"];
266
- const playwrightConfig = configuredPlaywright
267
- ? resolve(root, configuredPlaywright)
268
- : [
269
- ...PLAYWRIGHT_CONFIG_CANDIDATES.map((candidate) => resolve(root, candidate)),
270
- ...nestedPlaywrightConfigs(root),
271
- ].find((candidate) => existsSync(candidate));
272
- const configuredVitest = environment["SUPERCOV_VITEST_CONFIG"];
273
- const vitestConfig = configuredVitest
274
- ? resolve(root, configuredVitest)
275
- : VITEST_CONFIG_CANDIDATES.map((candidate) => resolve(root, candidate)).find((candidate) => existsSync(candidate));
276
- const configuredJest = environment["SUPERCOV_JEST_CONFIG"];
277
- const jestConfig = configuredJest
278
- ? resolve(root, configuredJest)
279
- : JEST_CONFIG_CANDIDATES.map((candidate) => resolve(root, candidate)).find((candidate) => existsSync(candidate));
280
- const discoveredPlaywright = discoverPlaywrightAdapter(root);
281
- const playwrightModule = environment["SUPERCOV_PLAYWRIGHT_MODULE"] ?? discoveredPlaywright.module;
282
- const playwrightTestExport = environment["SUPERCOV_PLAYWRIGHT_TEST_EXPORT"] ??
283
- (playwrightModule === discoveredPlaywright.module
284
- ? discoveredPlaywright.testExport
285
- : "test");
286
- const expandedTestCommand = expandedCommand(root, command);
287
- const usesJest = Boolean(jestConfig) ||
288
- /(?:^|\s)(?:npx\s+)?jest(?:\s|$)/.test(expandedTestCommand) ||
289
- manifest.jest !== undefined;
290
- // Jest and Vitest transform application source in-process; unless the test
291
- // files themselves import build output, the production build is never what
292
- // their tests execute, so running it only adds time and risk (dayjs's
293
- // `node build` script, unbuild artifacts, ...).
294
- const executesSourceDirectly = (/(?:^|\s|\/)(?:jest|vitest)(?:\s|$)/.test(expandedTestCommand) &&
295
- !testsImportBuildOutput(root)) ||
296
- (/(?:^|\s)node\s+--test(?:\s|$)/.test(expandedTestCommand) &&
297
- /\.[cm]?tsx?(?:\s|$)/.test(expandedTestCommand) &&
298
- !/(?:^|\s)(?:vite\s+build|tsc|webpack|rollup|next\s+build|remix\s+build)(?:\s|$)/.test(expandedTestCommand));
299
- const buildCommand = manifest.scripts?.["build"] && !executesSourceDirectly
300
- ? ["npm", "run", "build"]
301
- : [];
302
- // A dependency only proves that Vite is available, not that it owns the
303
- // production build. Injecting Vite flags into an unrelated tsc/webpack
304
- // script changes a working command. The build script itself is the
305
- // authoritative zero-configuration signal.
306
- const usesViteBuild = /(?:^|\s)(?:vite|vite-node)(?:\s|$)/.test(expandedCommand(root, buildCommand));
307
- return {
308
- root,
309
- sourceRoots: discoveredSource.sourceRoots,
310
- sourceFiles: discoveredSource.sourceFiles,
311
- sourceScope: discoveredSource.scope,
312
- sourceLimitations: discoveredSource.limitations,
313
- ...(playwrightConfig ? { playwrightConfig } : {}),
314
- ...(vitestConfig ? { vitestConfig } : {}),
315
- ...(jestConfig ? { jestConfig } : {}),
316
- usesJest,
317
- playwrightModule,
318
- playwrightTestExport,
319
- playwrightExports: playwrightModule === discoveredPlaywright.module
320
- ? discoveredPlaywright.exports
321
- : [playwrightTestExport, "expect"],
322
- buildAdapter: buildCommand.length > 0
323
- ? usesViteBuild
324
- ? "vite"
325
- : "generic"
326
- : "direct",
327
- buildCommand,
328
- buildEnvironment: inferBuildEnvironment(root, command, environment),
329
- };
330
- }
331
- //# sourceMappingURL=project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { TestProvenance } from "./types.ts";
2
- export interface InferTestProvenanceOptions {
3
- runner: string;
4
- file?: string;
5
- project?: string;
6
- explicitKind?: string;
7
- }
8
- export declare function inferTestProvenance({ runner, file, project, explicitKind, }: InferTestProvenanceOptions): TestProvenance;
9
- //# sourceMappingURL=provenance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAcD,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,IAAI,EACJ,OAAO,EACP,YAAY,GACb,EAAE,0BAA0B,GAAG,cAAc,CA0C7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AASA,MAAM,gBAAgB,GAAG;IACvB,CAAC,MAAM,EAAE,2BAA2B,CAAC;IACrC,CAAC,WAAW,EAAE,gDAAgD,CAAC;IAC/D,CAAC,aAAa,EAAE,wCAAwC,CAAC;IACzD,CAAC,KAAK,EAAE,sDAAsD,CAAC;CACvD,CAAC;AAEX,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,MAAM,EACN,IAAI,EACJ,OAAO,EACP,YAAY,GACe;IAC3B,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,OAAO;YACL,MAAM;YACN,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,MAAM;YACN,IAAI,EAAE,WAAW;YACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,MAAM;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GACf,MAAM,KAAK,YAAY;QACrB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW;YAClE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAClB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,WAAW;QACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB;KACjE,CAAC;AACJ,CAAC"}
package/dist/query.d.ts DELETED
@@ -1,81 +0,0 @@
1
- import type { CoverageLimitation, McdcReport } from "./types.ts";
2
- interface QueryOptions {
3
- command: string;
4
- run?: string;
5
- kind?: string;
6
- runner?: string;
7
- filter: "all" | "passed" | "failed";
8
- limit: number;
9
- offset: number;
10
- json: boolean;
11
- target: number;
12
- metric: "all" | "lines" | "statements" | "functions" | "branches" | "mcdc";
13
- group: "none" | "decision";
14
- sort: "location" | "missing";
15
- positional: string[];
16
- }
17
- export interface MinimumTestSetResult {
18
- optimal: true;
19
- target: number;
20
- metric: QueryOptions["metric"];
21
- selected: string[];
22
- expanded: string[];
23
- summary: McdcReport["summary"];
24
- exploredStates: number;
25
- }
26
- /** Exact branch-and-bound solver; MC/DC obligations retain their witness-pair structure. */
27
- export declare function minimumTestSet(report: McdcReport, target?: number, metric?: QueryOptions["metric"], maxStates?: number): MinimumTestSetResult;
28
- export declare function coverageDiagnostics(report: McdcReport, selected?: Set<string>): Array<{
29
- code: "REMOTE_SERVER_EVIDENCE_MISSING" | "CORRUPT_EVIDENCE_RECORDS" | "TEST_EVIDENCE_MISSING";
30
- severity: "warning" | "error";
31
- message: string;
32
- }>;
33
- interface FileGap {
34
- file: string;
35
- uncoveredLines: number;
36
- uncoveredStatements: number;
37
- uncoveredFunctions: number;
38
- missingBranches: number;
39
- missingMcdcConditions: number;
40
- measurementLimitations: number;
41
- limitationKinds: CoverageLimitation["kind"][];
42
- coveredByOtherTests: {
43
- lines: number;
44
- statements: number;
45
- functions: number;
46
- branches: number;
47
- mcdcConditions: number;
48
- };
49
- uncoveredEverywhere: {
50
- lines: number;
51
- statements: number;
52
- functions: number;
53
- branches: number;
54
- mcdcConditions: number;
55
- };
56
- score: number;
57
- }
58
- export declare function fileGaps(report: McdcReport, selected?: Set<string>): FileGap[];
59
- export interface CoverageMeasurementStatus {
60
- complete: boolean;
61
- limitations: number;
62
- evidenceCorruptions: number;
63
- blocking: number;
64
- files: number;
65
- byKind: Record<CoverageLimitation["kind"], number>;
66
- }
67
- export declare function coverageMeasurement(report: Pick<McdcReport, "limitations" | "transport">): CoverageMeasurementStatus;
68
- export declare function locationSelector(selector: string): {
69
- file: string;
70
- line: number;
71
- };
72
- export interface CoverageQueryInvocation {
73
- command: string;
74
- args: string[];
75
- }
76
- /** Resolve the instance-first coverage resource syntax. */
77
- export declare function resolveCoverageQueryInvocation(command: string, args: string[]): CoverageQueryInvocation;
78
- export declare function runQueryCommand(command: string, args: string[], root?: string): Promise<void>;
79
- export declare const coverageQueryCommands: Set<string>;
80
- export {};
81
- //# sourceMappingURL=query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}