supercov 0.0.4 → 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.
Files changed (82) hide show
  1. package/README.md +107 -62
  2. package/dist/agentJson.d.ts +44 -0
  3. package/dist/agentJson.d.ts.map +1 -0
  4. package/dist/agentJson.js +84 -0
  5. package/dist/agentJson.js.map +1 -0
  6. package/dist/analyze.d.ts.map +1 -1
  7. package/dist/analyze.js +1 -0
  8. package/dist/analyze.js.map +1 -1
  9. package/dist/cli.js +107 -19
  10. package/dist/cli.js.map +1 -1
  11. package/dist/directInstrumenter.d.ts +2 -2
  12. package/dist/directInstrumenter.d.ts.map +1 -1
  13. package/dist/directInstrumenter.js +18 -20
  14. package/dist/directInstrumenter.js.map +1 -1
  15. package/dist/esmInterceptor.d.ts +6 -0
  16. package/dist/esmInterceptor.d.ts.map +1 -0
  17. package/dist/esmInterceptor.js +63 -0
  18. package/dist/esmInterceptor.js.map +1 -0
  19. package/dist/evidenceArchive.d.ts +3 -1
  20. package/dist/evidenceArchive.d.ts.map +1 -1
  21. package/dist/evidenceArchive.js +31 -22
  22. package/dist/evidenceArchive.js.map +1 -1
  23. package/dist/instrumenter.d.ts.map +1 -1
  24. package/dist/instrumenter.js +30 -8
  25. package/dist/instrumenter.js.map +1 -1
  26. package/dist/integrity.d.ts.map +1 -1
  27. package/dist/integrity.js +3 -3
  28. package/dist/integrity.js.map +1 -1
  29. package/dist/launchSupervisor.d.ts +6 -0
  30. package/dist/launchSupervisor.d.ts.map +1 -1
  31. package/dist/launchSupervisor.js +78 -4
  32. package/dist/launchSupervisor.js.map +1 -1
  33. package/dist/merge.d.ts +2 -0
  34. package/dist/merge.d.ts.map +1 -0
  35. package/dist/merge.js +116 -0
  36. package/dist/merge.js.map +1 -0
  37. package/dist/nodeTest.d.ts +15 -0
  38. package/dist/nodeTest.d.ts.map +1 -0
  39. package/dist/nodeTest.js +123 -0
  40. package/dist/nodeTest.js.map +1 -0
  41. package/dist/project.d.ts +6 -1
  42. package/dist/project.d.ts.map +1 -1
  43. package/dist/project.js +36 -21
  44. package/dist/project.js.map +1 -1
  45. package/dist/query.d.ts +60 -0
  46. package/dist/query.d.ts.map +1 -1
  47. package/dist/query.js +493 -90
  48. package/dist/query.js.map +1 -1
  49. package/dist/queryCache.d.ts +15 -0
  50. package/dist/queryCache.d.ts.map +1 -0
  51. package/dist/queryCache.js +95 -0
  52. package/dist/queryCache.js.map +1 -0
  53. package/dist/register.mjs +40 -0
  54. package/dist/register.mjs.map +1 -1
  55. package/dist/resolve-loader.d.mts +1 -0
  56. package/dist/resolve-loader.d.mts.map +1 -1
  57. package/dist/resolve-loader.mjs +43 -0
  58. package/dist/resolve-loader.mjs.map +1 -1
  59. package/dist/runAnalysis.d.ts.map +1 -1
  60. package/dist/runAnalysis.js +18 -0
  61. package/dist/runAnalysis.js.map +1 -1
  62. package/dist/runnerEvidence.d.ts +19 -0
  63. package/dist/runnerEvidence.d.ts.map +1 -0
  64. package/dist/runnerEvidence.js +93 -0
  65. package/dist/runnerEvidence.js.map +1 -0
  66. package/dist/runtime.d.ts +7 -1
  67. package/dist/runtime.d.ts.map +1 -1
  68. package/dist/runtime.js +94 -11
  69. package/dist/runtime.js.map +1 -1
  70. package/dist/sourceDiscovery.d.ts +9 -0
  71. package/dist/sourceDiscovery.d.ts.map +1 -0
  72. package/dist/sourceDiscovery.js +227 -0
  73. package/dist/sourceDiscovery.js.map +1 -0
  74. package/dist/types.d.ts +15 -1
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/vitePlugin.d.ts +4 -0
  77. package/dist/vitePlugin.d.ts.map +1 -1
  78. package/dist/vitePlugin.js +13 -3
  79. package/dist/vitePlugin.js.map +1 -1
  80. package/dist/vitest.js +5 -1
  81. package/dist/vitest.js.map +1 -1
  82. package/package.json +12 -4
package/dist/cli.js CHANGED
@@ -4,15 +4,15 @@ 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";
12
10
  import { writeEvidenceArchive } from "./evidenceArchive.js";
11
+ import { mergeCoverageRuns } from "./merge.js";
13
12
  import { buildCacheReusePaths, instrumentedBuildCacheKey, readInstrumentedBuildCache, writeInstrumentedBuildCache, } from "./buildCache.js";
14
13
  import { instrumentDirectWorkspace } from "./directInstrumenter.js";
15
14
  import { acquireProjectLock, cachedWorkspacePath, cleanCoverageStorage, finalizePublishedRunStorage, prepareCachedWorkspace, pruneCoverageStorage, recoverAbandonedRuns, updateRunState, writeRunState, } from "./workspace.js";
15
+ import { agentFailureJson, SupercovError } from "./agentJson.js";
16
16
  function roundedTimings(timings) {
17
17
  return Object.fromEntries(Object.entries(timings).map(([phase, duration]) => [
18
18
  phase,
@@ -144,7 +144,7 @@ async function createCoverageRun(command) {
144
144
  const runIntegrity = createRunIntegrity(root, project, packageSource);
145
145
  const workspace = cachedWorkspacePath(root);
146
146
  const buildCacheKey = instrumentedBuildCacheKey(runIntegrity, project);
147
- const reusableBuild = project.buildAdapter === "vite"
147
+ const reusableBuild = project.buildAdapter !== "direct"
148
148
  ? readInstrumentedBuildCache(workspace, buildCacheKey)
149
149
  : undefined;
150
150
  const serverEvidenceRoot = resolve(workspace, ".supercov/server-evidence");
@@ -203,6 +203,7 @@ async function createCoverageRun(command) {
203
203
  const generatedPlaywrightConfig = resolve(generatedDirectory, "playwright.config.mjs");
204
204
  const generatedViteConfig = resolve(generatedDirectory, "vite.config.mjs");
205
205
  const generatedVitestConfig = resolve(generatedDirectory, "vitest.config.mjs");
206
+ const generatedJestConfig = resolve(generatedDirectory, "jest.config.mjs");
206
207
  const manifestPath = resolve(generatedDirectory, "manifest.json");
207
208
  const buildOutputMetadataPath = resolve(generatedDirectory, "build-outputs.json");
208
209
  const isolatedPlaywrightConfig = project.playwrightConfig
@@ -211,22 +212,30 @@ async function createCoverageRun(command) {
211
212
  const isolatedVitestConfig = project.vitestConfig
212
213
  ? resolve(isolatedRoot, relative(root, project.vitestConfig))
213
214
  : undefined;
215
+ const isolatedJestConfig = project.jestConfig
216
+ ? resolve(isolatedRoot, relative(root, project.jestConfig))
217
+ : undefined;
214
218
  mkdirSync(generatedDirectory, { recursive: true });
215
219
  mkdirSync(isolatedEvidenceDirectory, { recursive: true });
220
+ atomicWriteFileSync(resolve(generatedDirectory, "package.json"), `${JSON.stringify({ private: true, type: "module" })}\n`);
216
221
  for (const file of [
217
222
  "atomic.js",
218
223
  "launchSupervisor.js",
224
+ "nodeTest.js",
219
225
  "playwright.js",
220
226
  "playwrightReporter.js",
221
227
  "provenance.js",
222
228
  "register.mjs",
223
229
  "resolve-loader.mjs",
224
230
  "runtime.js",
231
+ "runnerEvidence.js",
225
232
  "transport.js",
226
233
  "types.js",
227
234
  ]) {
228
235
  copyFileSync(resolve(packageSource, file), resolve(generatedDirectory, file));
229
236
  }
237
+ const generatedRuntime = resolve(generatedDirectory, "runtime.js");
238
+ atomicWriteFileSync(generatedRuntime, readFileSync(generatedRuntime, "utf8").replaceAll("__SUPERCOV_RUNTIME_INSTANCE__", `collector-${runId}`));
230
239
  const generatedPlaywrightAdapter = resolve(generatedDirectory, "playwright.js");
231
240
  const generatedPlaywrightReporter = resolve(generatedDirectory, "playwrightReporter.js");
232
241
  atomicWriteFileSync(generatedPlaywrightAdapter, readFileSync(generatedPlaywrightAdapter, "utf8")
@@ -312,7 +321,7 @@ async function createCoverageRun(command) {
312
321
  ` const relocateOutput = output => output ? ({ ...output, dir: output.dir ? relocate(output.dir, 'Rollup output') : output.dir, file: output.file ? relocate(output.file, 'Rollup output') : output.file }) : output;`,
313
322
  ` const rollupOutput = config.build?.rollupOptions?.output;`,
314
323
  ` const safe = { ...config, cacheDir: resolve(isolatedRoot, '.supercov/vite-cache'), build: { ...config.build, outDir: relocate(config.build?.outDir ?? 'dist', 'Vite build output'), rollupOptions: { ...config.build?.rollupOptions, output: Array.isArray(rollupOutput) ? rollupOutput.map(relocateOutput) : relocateOutput(rollupOutput) } } };`,
315
- ` return mergeConfig(safe, { plugins: [mcdcVitePlugin(${JSON.stringify({ root: isolatedRoot, sourceRoots: project.sourceRoots, manifestPath, buildOutputMetadataPath })})] });`,
324
+ ` return mergeConfig(safe, { plugins: [mcdcVitePlugin(${JSON.stringify({ root: isolatedRoot, sourceRoots: project.sourceRoots, sourceFiles: project.sourceFiles, sourceScope: project.sourceScope, sourceLimitations: project.sourceLimitations, manifestPath, buildOutputMetadataPath })})] });`,
316
325
  `}`,
317
326
  "",
318
327
  ].join("\n"));
@@ -327,7 +336,7 @@ async function createCoverageRun(command) {
327
336
  ` const loaded = originalPath ? await loadConfigFromFile(env, originalPath, process.cwd()) : undefined;`,
328
337
  ` const config = mergeConfig(loaded?.config ?? {}, {`,
329
338
  ` cacheDir: resolve(process.cwd(), '.supercov/vitest-cache'),`,
330
- ` plugins: ${project.buildAdapter === "vite" ? `[mcdcVitePlugin(${JSON.stringify({ root: isolatedRoot, sourceRoots: project.sourceRoots, manifestPath })})]` : "[]"},`,
339
+ ` plugins: ${project.buildAdapter === "vite" ? `[mcdcVitePlugin(${JSON.stringify({ root: isolatedRoot, sourceRoots: project.sourceRoots, sourceFiles: project.sourceFiles, sourceScope: project.sourceScope, sourceLimitations: project.sourceLimitations, manifestPath })})]` : "[]"},`,
331
340
  ` test: { setupFiles: [${JSON.stringify(resolve(packageSource, "vitest.js"))}], maxConcurrency: 1 },`,
332
341
  ` });`,
333
342
  ` const configuredReporters = loaded?.config?.test?.reporters;`,
@@ -339,11 +348,63 @@ async function createCoverageRun(command) {
339
348
  `}`,
340
349
  "",
341
350
  ].join("\n"));
351
+ const generatedJestSetup = resolve(generatedDirectory, "jest.setup.cjs");
352
+ const generatedJestReporter = resolve(generatedDirectory, "jest-reporter.cjs");
353
+ const jestEvidenceHelpers = [
354
+ `const { createHash } = require('node:crypto');`,
355
+ `const { mkdirSync, renameSync, writeFileSync } = require('node:fs');`,
356
+ `const { relative, resolve, sep } = require('node:path');`,
357
+ `const local = file => file ? relative(process.cwd(), file).split(sep).join('/') : 'unknown';`,
358
+ `const id = (file, name) => 'jest:' + createHash('sha256').update(['jest', local(file), 0, 0, name].join('\\0')).digest('hex').slice(0, 24);`,
359
+ `const scope = (file, name, retry) => { const testId = id(file, name); const testKey = createHash('sha256').update(testId).digest('hex').slice(0, 24); return { version: 1, runId: process.env.SUPERCOV_RUN_ID || 'unscoped', workerId: 'jest-' + (process.env.JEST_WORKER_ID || process.pid), testId, testKey, retry, attemptId: testKey + '-' + retry }; };`,
360
+ `const provenance = file => ({ runner: 'jest', kind: process.env.SUPERCOV_TEST_KIND || (/(^|[/_.-])(e2e|end-to-end|offline|online)([/_.-]|$)/i.test(file) ? 'e2e' : /(^|[/_.-])(integration|int)([/_.-]|$)/i.test(file) ? 'integration' : /(^|[/_.-])(component|components|ct)([/_.-]|$)/i.test(file) ? 'component' : 'unit'), source: process.env.SUPERCOV_TEST_KIND ? 'explicit' : 'runner-default' });`,
361
+ `const write = (payload, suffix) => { const base = process.env.SUPERCOV_EVIDENCE_DIR; if (!base) return; const directory = resolve(process.cwd(), base, suffix); mkdirSync(directory, { recursive: true }); const target = resolve(directory, 'mcdc.json'); const temporary = target + '.' + process.pid + '.' + Math.random().toString(16).slice(2) + '.tmp'; writeFileSync(temporary, JSON.stringify(payload) + '\\n'); renameSync(temporary, target); };`,
362
+ ];
363
+ atomicWriteFileSync(generatedJestSetup, [
364
+ ...jestEvidenceHelpers,
365
+ `const { bind: bindJestEach } = require('jest-each');`,
366
+ `const attempts = new Map();`,
367
+ `const suites = [];`,
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; };`,
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); };`,
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); };`,
371
+ `globalThis.test = wrapTest(globalThis.test);`,
372
+ `globalThis.it = globalThis.test;`,
373
+ `globalThis.describe = wrapSuite(globalThis.describe);`,
374
+ "",
375
+ ].join("\n"));
376
+ atomicWriteFileSync(generatedJestReporter, [
377
+ ...jestEvidenceHelpers,
378
+ `module.exports = class SupercovJestReporter {`,
379
+ ` onTestResult(_suite, result) { for (const assertion of result.testResults || []) {`,
380
+ ` const file = result.testFilePath; const name = assertion.fullName || [...(assertion.ancestorTitles || []), assertion.title || 'unknown test'].join(' '); const retry = Math.max(0, (assertion.invocations || 1) - 1); const execution = scope(file, name, retry); const status = assertion.status === 'passed' ? 'passed' : assertion.status === 'failed' ? 'failed' : ['pending', 'todo', 'disabled'].includes(assertion.status) ? 'skipped' : 'unknown';`,
381
+ ` write({ testId: execution.testId, scope: execution, test: name, testFile: local(file), title: assertion.title || name, retry, status, flaky: (assertion.retryReasons || []).length > 0, provenance: provenance(local(file)), runtime: [], browser: [], server: [] }, 'jest-' + execution.attemptId + '-status');`,
382
+ ` } }`,
383
+ `};`,
384
+ "",
385
+ ].join("\n"));
386
+ const jestOriginal = isolatedJestConfig
387
+ ? `import originalModule from ${JSON.stringify(pathToFileURL(isolatedJestConfig).href)};\nconst original = typeof originalModule === 'function' ? await originalModule() : originalModule;`
388
+ : `const original = {};`;
389
+ atomicWriteFileSync(generatedJestConfig, [
390
+ `import { isAbsolute, resolve } from 'node:path';`,
391
+ jestOriginal,
392
+ `const decorate = config => ({ ...config,`,
393
+ ` rootDir: config?.rootDir ? (isAbsolute(config.rootDir) ? config.rootDir : resolve(${JSON.stringify(isolatedJestConfig ? resolve(isolatedJestConfig, "..") : isolatedRoot)}, config.rootDir)) : ${JSON.stringify(isolatedRoot)},`,
394
+ ` setupFilesAfterEnv: [...(config?.setupFilesAfterEnv ?? []), ${JSON.stringify(generatedJestSetup)}],`,
395
+ ` reporters: [...(config?.reporters ?? ['default']), ${JSON.stringify(generatedJestReporter)}],`,
396
+ ` testLocationInResults: true,`,
397
+ `});`,
398
+ `export default { ...decorate(original), projects: original?.projects?.map(project => typeof project === 'object' ? decorate(project) : project) };`,
399
+ "",
400
+ ].join("\n"));
342
401
  const coverageEnv = {
343
402
  ...process.env,
344
403
  SUPERCOV_EVIDENCE_DIR: evidenceDirectoryRelative,
345
404
  SUPERCOV_EXECUTION_FINGERPRINT: runIntegrity.fingerprint.execution,
346
405
  SUPERCOV_EXECUTION_LOG: resolve(isolatedEvidenceDirectory, "execution.jsonl"),
406
+ SUPERCOV_ESM_TRANSFORMER: pathToFileURL(resolve(packageSource, "esmInterceptor.js")).href,
407
+ SUPERCOV_ESM_CAPABILITY_WRAPPER: pathToFileURL(resolve(generatedDirectory, "launchSupervisor.js")).href,
347
408
  SUPERCOV_RUN_ID: runId,
348
409
  SUPERCOV_SERVER_EVIDENCE_ROOT: serverEvidenceRoot,
349
410
  SUPERCOV_MANIFEST: manifestPath,
@@ -356,6 +417,7 @@ async function createCoverageRun(command) {
356
417
  : {}),
357
418
  SUPERCOV_GENERATED_VITEST_CONFIG: generatedVitestConfig,
358
419
  SUPERCOV_GENERATED_PLAYWRIGHT_CONFIG: generatedPlaywrightConfig,
420
+ SUPERCOV_GENERATED_JEST_CONFIG: generatedJestConfig,
359
421
  ...(isolatedPlaywrightConfig
360
422
  ? { SUPERCOV_ORIGINAL_PLAYWRIGHT_CONFIG: isolatedPlaywrightConfig }
361
423
  : {}),
@@ -379,9 +441,20 @@ async function createCoverageRun(command) {
379
441
  buildResult = { status: 0, signal: null };
380
442
  }
381
443
  else if (project.buildAdapter === "direct") {
382
- instrumentDirectWorkspace(isolatedRoot, project.sourceRoots, manifestPath);
444
+ instrumentDirectWorkspace(isolatedRoot, project.sourceFiles, manifestPath, project.sourceScope, project.sourceLimitations);
383
445
  buildResult = { status: 0, signal: null };
384
446
  }
447
+ else if (project.buildAdapter === "generic") {
448
+ instrumentDirectWorkspace(isolatedRoot, project.sourceFiles, manifestPath, project.sourceScope, project.sourceLimitations, "module");
449
+ buildResult = await runChild(project.buildCommand[0], project.buildCommand.slice(1), {
450
+ cwd: isolatedRoot,
451
+ env: {
452
+ ...coverageEnv,
453
+ ...project.buildEnvironment,
454
+ NODE_ENV: "production",
455
+ },
456
+ });
457
+ }
385
458
  else {
386
459
  buildResult = await runChild(project.buildCommand[0], [
387
460
  ...project.buildCommand.slice(1),
@@ -398,7 +471,7 @@ async function createCoverageRun(command) {
398
471
  });
399
472
  }
400
473
  if (buildResult.status === 0 &&
401
- project.buildAdapter === "vite" &&
474
+ project.buildAdapter !== "direct" &&
402
475
  !reusableBuild) {
403
476
  writeInstrumentedBuildCache(isolatedRoot, buildCacheKey);
404
477
  }
@@ -440,12 +513,6 @@ async function createCoverageRun(command) {
440
513
  prefix: "server",
441
514
  },
442
515
  ], evidenceArchivePath);
443
- printCoverageSummary(analyzeCoverageArchive(evidenceArchivePath, {
444
- runId,
445
- testExitCode: testResult.status,
446
- integrity: runIntegrity,
447
- generatedAt: startedAt,
448
- }));
449
516
  timings.evidencePublicationMs = performance.now() - phaseStarted;
450
517
  atomicWriteFileSync(resolve(runStagingDirectory, "run.json"), `${JSON.stringify({
451
518
  id: runId,
@@ -527,6 +594,20 @@ const rawArgs = commandArgs[0] === "--help" || commandArgs[0] === "-h"
527
594
  ? ["help", ...commandArgs.slice(1)]
528
595
  : commandArgs;
529
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
+ };
530
611
  if (queryCommand === "clean" || queryCommand === "prune") {
531
612
  try {
532
613
  if (queryCommand === "clean")
@@ -535,8 +616,17 @@ if (queryCommand === "clean" || queryCommand === "prune") {
535
616
  pruneCommand(rawArgs.slice(1));
536
617
  }
537
618
  catch (error) {
538
- console.error(`[supercov] ${error instanceof Error ? error.message : String(error)}`);
539
- process.exitCode = 2;
619
+ reportCliError(error);
620
+ }
621
+ }
622
+ else if (queryCommand === "merge") {
623
+ try {
624
+ const mergedRunId = mergeCoverageRuns(process.cwd(), rawArgs.slice(1));
625
+ console.log(`[supercov] merged run ${mergedRunId}`);
626
+ console.log(`npx supercov runs ${mergedRunId} coverage`);
627
+ }
628
+ catch (error) {
629
+ reportCliError(error);
540
630
  }
541
631
  }
542
632
  else if (queryCommand && coverageQueryCommands.has(queryCommand)) {
@@ -544,13 +634,11 @@ else if (queryCommand && coverageQueryCommands.has(queryCommand)) {
544
634
  await runQueryCommand(queryCommand, rawArgs.slice(1));
545
635
  }
546
636
  catch (error) {
547
- console.error(`[supercov] ${error instanceof Error ? error.message : String(error)}`);
548
- process.exitCode = 2;
637
+ reportCliError(error);
549
638
  }
550
639
  }
551
640
  else if (rawArgs[0] && rawArgs[0] !== "--") {
552
- console.error(`[supercov] Unknown command: ${rawArgs[0]}. Try supercov help.`);
553
- process.exitCode = 2;
641
+ reportCliError(new SupercovError("UNKNOWN_COMMAND", `Unknown command: ${rawArgs[0]}. Try supercov help.`, { details: { command: rawArgs[0] } }));
554
642
  }
555
643
  else {
556
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,8 +1,8 @@
1
- import type { CoverageManifest } from "./types.ts";
1
+ import type { CoverageLimitation, CoverageManifest } from "./types.ts";
2
2
  /**
3
3
  * Instrument source inside Supercov's disposable workspace when a project has
4
4
  * no build step. The preload supplies the runtime through a global so the
5
5
  * transformed source remains valid in ESM, CommonJS, and transpiler inputs.
6
6
  */
7
- export declare function instrumentDirectWorkspace(root: string, sourceRoots: string[], manifestPath: string): CoverageManifest;
7
+ export declare function instrumentDirectWorkspace(root: string, sourceFiles: string[], manifestPath: string, scope?: CoverageManifest["scope"], initialLimitations?: CoverageLimitation[], runtimeMode?: "global" | "module"): CoverageManifest;
8
8
  //# sourceMappingURL=directInstrumenter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directInstrumenter.d.ts","sourceRoot":"","sources":["../src/directInstrumenter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAkDpB;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAwBlB"}
1
+ {"version":3,"file":"directInstrumenter.d.ts","sourceRoot":"","sources":["../src/directInstrumenter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,kBAAkB,EAClB,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AA8CpB;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EACjC,kBAAkB,GAAE,kBAAkB,EAAO,EAC7C,WAAW,GAAE,QAAQ,GAAG,QAAmB,GAC1C,gBAAgB,CA+BlB"}
@@ -1,20 +1,7 @@
1
- import { existsSync, readFileSync, readdirSync, } from "node:fs";
1
+ import { existsSync, readFileSync, } from "node:fs";
2
2
  import { relative, resolve, sep } from "node:path";
3
3
  import { atomicWriteFileSync } from "./atomic.js";
4
4
  import { instrumentMcdc, mcdcRuntimeModuleId } from "./instrumenter.js";
5
- function sourceFiles(directory) {
6
- if (!existsSync(directory))
7
- return [];
8
- return readdirSync(directory, { withFileTypes: true }).flatMap((entry) => {
9
- const path = resolve(directory, entry.name);
10
- if (entry.isDirectory())
11
- return sourceFiles(path);
12
- return entry.isFile() && /\.[cm]?[jt]sx?$/.test(entry.name) &&
13
- !/\.d\.[cm]?ts$/.test(entry.name)
14
- ? [path]
15
- : [];
16
- });
17
- }
18
5
  function directRuntime(code) {
19
6
  const escapedModule = mcdcRuntimeModuleId.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
20
7
  return code.replace(new RegExp(`import\\s*\\{([\\s\\S]*?)\\}\\s*from\\s*["']${escapedModule}["'];?`), (_statement, bindings) => {
@@ -29,9 +16,16 @@ function directRuntime(code) {
29
16
  return imported === local ? imported : `${imported}: ${local}`;
30
17
  })
31
18
  .join(", ");
32
- return `const { ${properties} } = globalThis.__SUPERCOV_DIRECT_RUNTIME__;`;
19
+ return `const { ${properties} } = globalThis.__SUPERCOV_DIRECT_RUNTIME__ ?? process.__SUPERCOV_DIRECT_RUNTIME__;`;
33
20
  });
34
21
  }
22
+ function moduleRuntime(code, sourcePath, runtimePath) {
23
+ const local = relative(resolve(sourcePath, ".."), runtimePath)
24
+ .split(sep)
25
+ .join("/");
26
+ const specifier = local.startsWith(".") ? local : `./${local}`;
27
+ return code.replaceAll(mcdcRuntimeModuleId, specifier);
28
+ }
35
29
  function sortByLocation(values) {
36
30
  return values.sort((left, right) => left.file === right.file
37
31
  ? left.line - right.line || left.column - right.column
@@ -42,20 +36,23 @@ function sortByLocation(values) {
42
36
  * no build step. The preload supplies the runtime through a global so the
43
37
  * transformed source remains valid in ESM, CommonJS, and transpiler inputs.
44
38
  */
45
- export function instrumentDirectWorkspace(root, sourceRoots, manifestPath) {
39
+ export function instrumentDirectWorkspace(root, sourceFiles, manifestPath, scope, initialLimitations = [], runtimeMode = "global") {
46
40
  const decisions = [];
47
41
  const points = [];
48
42
  const branches = [];
49
- const limitations = [];
50
- for (const sourceRoot of sourceRoots) {
51
- for (const path of sourceFiles(resolve(root, sourceRoot))) {
43
+ const limitations = [...initialLimitations];
44
+ for (const sourceFile of sourceFiles) {
45
+ const path = resolve(root, sourceFile);
46
+ if (existsSync(path)) {
52
47
  const file = relative(root, path).split(sep).join("/");
53
48
  const result = instrumentMcdc(readFileSync(path, "utf8"), file);
54
49
  decisions.push(...result.manifest.decisions);
55
50
  points.push(...result.manifest.points);
56
51
  branches.push(...result.manifest.branches);
57
52
  limitations.push(...(result.manifest.limitations ?? []));
58
- atomicWriteFileSync(path, directRuntime(result.code));
53
+ atomicWriteFileSync(path, runtimeMode === "module"
54
+ ? moduleRuntime(result.code, path, resolve(root, ".supercov/runtime.js"))
55
+ : directRuntime(result.code));
59
56
  }
60
57
  }
61
58
  const manifest = {
@@ -63,6 +60,7 @@ export function instrumentDirectWorkspace(root, sourceRoots, manifestPath) {
63
60
  points: sortByLocation(points),
64
61
  branches: sortByLocation(branches),
65
62
  limitations: sortByLocation(limitations),
63
+ ...(scope ? { scope } : {}),
66
64
  };
67
65
  atomicWriteFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
68
66
  return manifest;
@@ -1 +1 @@
1
- {"version":3,"file":"directInstrumenter.js","sourceRoot":"","sources":["../src/directInstrumenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directInstrumenter.js","sourceRoot":"","sources":["../src/directInstrumenter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Wrap imported SDK values only in source that exhibits remote-capability shapes. */
2
+ export declare function transformCapabilityImports(source: string, url: string, wrapperUrl: string): {
3
+ code: string;
4
+ transformed: boolean;
5
+ };
6
+ //# sourceMappingURL=esmInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esmInterceptor.d.ts","sourceRoot":"","sources":["../src/esmInterceptor.ts"],"names":[],"mappings":"AAmBA,sFAAsF;AACtF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAsDxC"}
@@ -0,0 +1,63 @@
1
+ import generate from "@babel/generator";
2
+ import { parse } from "@babel/parser";
3
+ import traverse from "@babel/traverse";
4
+ import * as t from "@babel/types";
5
+ const CAPABILITY_PATTERN = /\b(?:hostPath|guestPath|mounts?|snapshot(?:Key|Id|Tag)?|createPool|acquire|container|machine|sandbox)\b|\.(?:exec|execute|launch|spawn)\s*\(/;
6
+ const EXCLUDED_IMPORT = /^(?:node:|@playwright\/test$|playwright$|vitest$|@jest\/globals$)/;
7
+ function parserPlugins(url) {
8
+ const plugins = [
9
+ "decorators-legacy",
10
+ "sourcePhaseImports",
11
+ ];
12
+ if (/\.[cm]?tsx?(?:\?|$)/.test(url))
13
+ plugins.push("typescript");
14
+ if (/\.[jt]sx(?:\?|$)/.test(url))
15
+ plugins.push("jsx");
16
+ return plugins;
17
+ }
18
+ /** Wrap imported SDK values only in source that exhibits remote-capability shapes. */
19
+ export function transformCapabilityImports(source, url, wrapperUrl) {
20
+ if (!CAPABILITY_PATTERN.test(source))
21
+ return { code: source, transformed: false };
22
+ const ast = parse(source, {
23
+ sourceType: "module",
24
+ sourceFilename: url,
25
+ plugins: parserPlugins(url),
26
+ });
27
+ let transformed = false;
28
+ let wrapperId;
29
+ traverse(ast, {
30
+ ImportDeclaration(path) {
31
+ const specifier = path.node.source.value;
32
+ if (path.node.importKind === "type" ||
33
+ EXCLUDED_IMPORT.test(specifier) ||
34
+ specifier === wrapperUrl ||
35
+ path.node.specifiers.length === 0)
36
+ return;
37
+ const declarations = [];
38
+ for (const imported of path.node.specifiers) {
39
+ if (t.isImportSpecifier(imported) && imported.importKind === "type")
40
+ continue;
41
+ const original = t.cloneNode(imported.local);
42
+ const raw = path.scope.generateUidIdentifier(`${original.name}SupercovRaw`);
43
+ imported.local = raw;
44
+ wrapperId ??= path.scope.generateUidIdentifier("supercovImportedCapability");
45
+ declarations.push(t.variableDeclarator(original, t.callExpression(t.cloneNode(wrapperId), [t.cloneNode(raw)])));
46
+ }
47
+ if (declarations.length > 0) {
48
+ path.insertAfter(t.variableDeclaration("const", declarations));
49
+ transformed = true;
50
+ }
51
+ },
52
+ });
53
+ if (!transformed || !wrapperId)
54
+ return { code: source, transformed: false };
55
+ ast.program.body.unshift(t.importDeclaration([
56
+ t.importSpecifier(t.cloneNode(wrapperId), t.identifier("wrapImportedCapability")),
57
+ ], t.stringLiteral(wrapperUrl)));
58
+ return {
59
+ code: generate(ast, { retainLines: true, comments: true }, source).code,
60
+ transformed: true,
61
+ };
62
+ }
63
+ //# sourceMappingURL=esmInterceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esmInterceptor.js","sourceRoot":"","sources":["../src/esmInterceptor.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,10 @@ export type EvidenceArchiveSource = {
28
28
  /**
29
29
  * Pack the evidence needed to reproduce a report into one deterministic gzip
30
30
  * artifact. Publication remains the caller's responsibility so loose files
31
- * are never removed before the report directory is atomically visible.
31
+ * are never removed before the immutable run directory is atomically visible.
32
32
  */
33
33
  export declare function writeEvidenceArchive(evidence: string | EvidenceArchiveSource[], destination: string): EvidenceArchiveMetadata;
34
+ /** Write already-decoded evidence, used for integrity-checked shard merging. */
35
+ export declare function writeEvidenceArchiveEntries(entries: EvidenceArchiveEntry[], destination: string): EvidenceArchiveMetadata;
34
36
  export declare function readEvidenceArchive(path: string): EvidenceArchive;
35
37
  //# sourceMappingURL=evidenceArchive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evidenceArchive.d.ts","sourceRoot":"","sources":["../src/evidenceArchive.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,+BAA+B,CAAC;IACtD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,OAAO,+BAA+B,CAAC;IACtD,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAgBN;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE,EAC1C,WAAW,EAAE,MAAM,GAClB,uBAAuB,CAuCzB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAsCjE"}
1
+ {"version":3,"file":"evidenceArchive.d.ts","sourceRoot":"","sources":["../src/evidenceArchive.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,+BAA+B,CAAC;IACtD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,OAAO,+BAA+B,CAAC;IACtD,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA6CN;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE,EAC1C,WAAW,EAAE,MAAM,GAClB,uBAAuB,CAsBzB;AAED,gFAAgF;AAChF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,WAAW,EAAE,MAAM,GAClB,uBAAuB,CAKzB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAsCjE"}