@vitest/runner 5.0.0-beta.2 → 5.0.0-beta.3

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.
@@ -2344,15 +2344,25 @@ catch (error) {
2344
2344
  function withCancel(fn, signal) {
2345
2345
  return (function runWithCancel(...args) {
2346
2346
  return new Promise((resolve, reject) => {
2347
- signal.addEventListener("abort", () => reject(signal.reason));
2347
+ const onAbort = () => reject(signal.reason);
2348
+ signal.addEventListener("abort", onAbort, { once: true });
2349
+ const cleanup = () => signal.removeEventListener("abort", onAbort);
2348
2350
  try {
2349
2351
  const result = fn(...args);
2350
2352
  if (typeof result === "object" && result != null && typeof result.then === "function") {
2351
- result.then(resolve, reject);
2353
+ result.then((value) => {
2354
+ cleanup();
2355
+ resolve(value);
2356
+ }, (error) => {
2357
+ cleanup();
2358
+ reject(error);
2359
+ });
2352
2360
  } else {
2361
+ cleanup();
2353
2362
  resolve(result);
2354
2363
  }
2355
2364
  } catch (error) {
2365
+ cleanup();
2356
2366
  reject(error);
2357
2367
  }
2358
2368
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/runner",
3
3
  "type": "module",
4
- "version": "5.0.0-beta.2",
4
+ "version": "5.0.0-beta.3",
5
5
  "description": "Vitest test runner",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -44,7 +44,7 @@
44
44
  ],
45
45
  "dependencies": {
46
46
  "pathe": "^2.0.3",
47
- "@vitest/utils": "5.0.0-beta.2"
47
+ "@vitest/utils": "5.0.0-beta.3"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "premove dist && rollup -c",