supercov 4.24.5 → 4.24.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supercov",
3
- "version": "4.24.5",
3
+ "version": "4.24.6",
4
4
  "description": "Coverage, security and code quality for coding agents",
5
5
  "keywords": [
6
6
  "coverage",
@@ -82,7 +82,7 @@
82
82
  "eval:skill": "claude plugin eval plugins/supercov --scaffold --trust-plugin --no-publish --model claude-sonnet-5 --judge-model claude-haiku-4-5 --threshold 0.66 --tag behavior trigger --allow-tools Bash Edit Write --max-cost-usd 15",
83
83
  "eval:skill-triggers": "claude plugin eval plugins/supercov --scaffold --trust-plugin --no-publish --model claude-sonnet-5 --judge-model claude-haiku-4-5 --threshold 0.66 --tag trigger --ablation none --max-cost-usd 5",
84
84
  "test:engine": "cargo fmt --all -- --check && cargo clippy --workspace --all-targets -- -D warnings && cargo test --workspace && npm run test:runtime && npm run test:rust-assets && npm run test:engine-integrations",
85
- "test:engine-integrations": "cargo build -p supercov && node scripts/html-report-integration.mjs && node scripts/rust-process-supervision.mjs && node scripts/rust-direct-node-integration.mjs && node scripts/rust-public-run-integration.mjs && node scripts/rust-embedded-runtime-integration.mjs && node scripts/rust-direct-vitest-integration.mjs && node scripts/rust-direct-jest-integration.mjs && node scripts/mocha-failure-output.mjs && node scripts/failure-output.mjs node ava tap && node scripts/side-by-side.mjs node && node scripts/merge-across.mjs && node scripts/import-line-evidence.mjs && node scripts/mock-reach.mjs && node scripts/rust-direct-playwright-integration.mjs && node scripts/rust-custom-browser-playwright-integration.mjs && node scripts/cross-origin-requests.mjs && node scripts/leaving-page.mjs && node scripts/shared-page.mjs && node scripts/context-headers.mjs && node scripts/context-cookies.mjs && node scripts/hidden-request-emit.mjs && node scripts/js-syntax-zoo.mjs && node scripts/ruby-syntax-zoo.mjs && node scripts/rust-syntax-zoo.mjs && node scripts/python-syntax-zoo.mjs && node scripts/go-syntax-zoo.mjs && node scripts/java-syntax-zoo.mjs && node scripts/background-by-time.mjs && node scripts/python-server-playwright.mjs && node scripts/ruby-server-playwright.mjs && node scripts/go-server-playwright.mjs && node scripts/jvm-server-playwright.mjs && node scripts/docker-server-playwright.mjs && node scripts/docker-clients-playwright.mjs && node scripts/docker-exec-playwright.mjs && node scripts/rust-classic-browser-integration.mjs && node scripts/exec-handover.mjs && node scripts/rust-region-container.mjs && node scripts/rust-top-packages-integration.mjs && node scripts/rust-generic-esbuild-integration.mjs && node scripts/rust-generic-tsc-integration.mjs && node scripts/rust-generic-build-matrix.mjs && node scripts/rust-vite-playwright-integration.mjs && node scripts/workspace-crash-integration.mjs",
85
+ "test:engine-integrations": "cargo build -p supercov && node scripts/html-report-integration.mjs && node scripts/rust-process-supervision.mjs && node scripts/rust-direct-node-integration.mjs && node scripts/rust-public-run-integration.mjs && node scripts/rust-embedded-runtime-integration.mjs && node scripts/rust-direct-vitest-integration.mjs && node scripts/rust-nested-vitest-integration.mjs && node scripts/rust-direct-jest-integration.mjs && node scripts/mocha-failure-output.mjs && node scripts/failure-output.mjs node ava tap && node scripts/side-by-side.mjs node && node scripts/merge-across.mjs && node scripts/import-line-evidence.mjs && node scripts/mock-reach.mjs && node scripts/rust-direct-playwright-integration.mjs && node scripts/rust-custom-browser-playwright-integration.mjs && node scripts/cross-origin-requests.mjs && node scripts/leaving-page.mjs && node scripts/shared-page.mjs && node scripts/context-headers.mjs && node scripts/context-cookies.mjs && node scripts/hidden-request-emit.mjs && node scripts/js-syntax-zoo.mjs && node scripts/ruby-syntax-zoo.mjs && node scripts/rust-syntax-zoo.mjs && node scripts/python-syntax-zoo.mjs && node scripts/go-syntax-zoo.mjs && node scripts/java-syntax-zoo.mjs && node scripts/background-by-time.mjs && node scripts/python-server-playwright.mjs && node scripts/ruby-server-playwright.mjs && node scripts/go-server-playwright.mjs && node scripts/jvm-server-playwright.mjs && node scripts/docker-server-playwright.mjs && node scripts/docker-clients-playwright.mjs && node scripts/docker-exec-playwright.mjs && node scripts/rust-classic-browser-integration.mjs && node scripts/exec-handover.mjs && node scripts/rust-region-container.mjs && node scripts/rust-top-packages-integration.mjs && node scripts/rust-generic-esbuild-integration.mjs && node scripts/rust-generic-tsc-integration.mjs && node scripts/rust-generic-build-matrix.mjs && node scripts/rust-vite-playwright-integration.mjs && node scripts/workspace-crash-integration.mjs",
86
86
  "test:platform": "cargo test --workspace && cargo build -p supercov && node scripts/rust-process-supervision.mjs && node scripts/workspace-crash-integration.mjs",
87
87
  "test:native-package": "cargo build --release -p supercov && node scripts/native-package-integration.mjs && node scripts/native-release-set-integration.mjs",
88
88
  "test:pypi-wheel": "node scripts/pypi-wheel-integration.mjs",
@@ -123,14 +123,14 @@
123
123
  "test:windows-tls": "node scripts/windows-tls-test.mjs"
124
124
  },
125
125
  "optionalDependencies": {
126
- "@supercov/cli-darwin-arm64": "4.24.5",
127
- "@supercov/cli-darwin-x64": "4.24.5",
128
- "@supercov/cli-linux-arm64-gnu": "4.24.5",
129
- "@supercov/cli-linux-arm64-musl": "4.24.5",
130
- "@supercov/cli-linux-x64-gnu": "4.24.5",
131
- "@supercov/cli-linux-x64-musl": "4.24.5",
132
- "@supercov/cli-win32-arm64": "4.24.5",
133
- "@supercov/cli-win32-x64": "4.24.5"
126
+ "@supercov/cli-darwin-arm64": "4.24.6",
127
+ "@supercov/cli-darwin-x64": "4.24.6",
128
+ "@supercov/cli-linux-arm64-gnu": "4.24.6",
129
+ "@supercov/cli-linux-arm64-musl": "4.24.6",
130
+ "@supercov/cli-linux-x64-gnu": "4.24.6",
131
+ "@supercov/cli-linux-x64-musl": "4.24.6",
132
+ "@supercov/cli-win32-arm64": "4.24.6",
133
+ "@supercov/cli-win32-x64": "4.24.6"
134
134
  },
135
135
  "peerDependencies": {
136
136
  "@playwright/test": ">=1.55.0",
@@ -39,7 +39,9 @@ function adapt(api) {
39
39
  const index = callbackIndex(args);
40
40
  const callback = index < 0 ? undefined : args[index];
41
41
  const name = row.name ?? (typeof args[0] === "string" ? args[0] : callback?.name || "anonymous test");
42
- const location = row.location ?? callerLocation(supercovBunRegistration);
42
+ // Bun gives a Proxy call an `unknown` frame when the target is the
43
+ // boundary. Pass the invoked Proxy itself to omit that frame.
44
+ const location = row.location ?? callerLocation(registration);
43
45
  if (kind === "suite") {
44
46
  if (!callback) return Reflect.apply(original, this, args);
45
47
  const next = [...args];
@@ -116,7 +118,7 @@ function adapt(api) {
116
118
  }
117
119
  return result;
118
120
  }
119
- return new Proxy(supercovBunRegistration, {
121
+ const registration = new Proxy(supercovBunRegistration, {
120
122
  get(target, property) {
121
123
  if (["call", "apply", "bind"].includes(property)) return Reflect.get(target, property);
122
124
 
@@ -166,6 +168,7 @@ function adapt(api) {
166
168
  return member.bind(original);
167
169
  },
168
170
  });
171
+ return registration;
169
172
  }
170
173
 
171
174
  api.test = api.it = wrap(originals.test, "test");
@@ -68,6 +68,11 @@ export function runnerExecutionScope(identity) {
68
68
  attemptId: `${testKey}-${retry}-${processInstanceToken()}`,
69
69
  };
70
70
  }
71
+ // A frame's location: a path, then `:line:column`. Bun 1.2 writes a module's
72
+ // top-level frame with a line and no column; the column is tried first, as a
73
+ // greedy path would otherwise take `file.ts:2:5` for the file `file.ts:2`.
74
+ const FRAME_WITH_COLUMN = /(?:^at (?:async )?| \()((?:file:\/\/|\/|[A-Za-z]:[\\/]|\\\\).*):(\d+):(\d+)\)?$/;
75
+ const FRAME_WITH_LINE = /(?:^at (?:async )?| \()((?:file:\/\/|\/|[A-Za-z]:[\\/]|\\\\).*):(\d+)\)?$/;
71
76
  export function callerLocation(boundary = callerLocation) {
72
77
  // Omit the registration wrapper by identity. A user file may have the same
73
78
  // basename as a runtime adapter. Parse the location suffix, not individual
@@ -78,13 +83,13 @@ export function callerLocation(boundary = callerLocation) {
78
83
  if (typeof error.stack !== "string")
79
84
  return {};
80
85
  const entry = error.stack.split("\n")[1]?.trim();
81
- const match = entry && /(?:^at (?:async )?| \()((?:file:\/\/|\/|[A-Za-z]:[\\/]|\\\\).*):(\d+):(\d+)\)?$/.exec(entry);
86
+ const match = entry && (FRAME_WITH_COLUMN.exec(entry) ?? FRAME_WITH_LINE.exec(entry));
82
87
  if (!match)
83
88
  return {};
84
89
  return {
85
90
  file: match[1],
86
91
  line: Number(match[2]),
87
- column: Number(match[3]),
92
+ ...(match[3] === undefined ? {} : { column: Number(match[3]) }),
88
93
  };
89
94
  }
90
95
  catch {