bunqueue 2.8.19 → 2.8.20

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.
@@ -70,7 +70,7 @@ export async function checkExpiredLocks(ctx) {
70
70
  * Process a single expired lock (called with both locks already held)
71
71
  * Lock hierarchy already satisfied: shardLock -> processingLock held by caller
72
72
  */
73
- // eslint-disable-next-line max-params
73
+ // biome-ignore lint/complexity/useMaxParams: lock-processing inner fn needs the full lock context (7 params)
74
74
  function processExpiredLockInner(jobId, lock, job, shardIdx, procIdx, ctx, now) {
75
75
  const shard = ctx.shards[shardIdx];
76
76
  const queue = shard.getQueue(job.queue);
@@ -16,7 +16,10 @@ export function remove(ctx, id) {
16
16
  /** Remove a job (async) */
17
17
  export async function removeAsync(ctx, id) {
18
18
  if (ctx.embedded) {
19
- getSharedManager().cancel(jobId(id));
19
+ // Must await: cancel() does the removal inside an async write-lock, so without
20
+ // the await the returned promise resolves before the job is actually removed
21
+ // (and any cancel error is swallowed) — inconsistent with the TCP path below.
22
+ await getSharedManager().cancel(jobId(id));
20
23
  return;
21
24
  }
22
25
  await ctx.tcp.send({ cmd: 'Cancel', id });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunqueue",
3
- "version": "2.8.19",
3
+ "version": "2.8.20",
4
4
  "description": "High-performance job queue for Bun & AI agents. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks, native MCP server. Zero external dependencies.",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -62,12 +62,13 @@
62
62
  "bench:latency": "bun run bench/latency.ts",
63
63
  "bench:internal": "bun run benchmarks/index.ts",
64
64
  "bench:compare": "bun run bench/comparison/run.ts",
65
- "lint": "eslint src/",
66
- "lint:fix": "eslint src/ --fix",
67
- "format": "prettier --write \"src/**/*.ts\"",
68
- "format:check": "prettier --check \"src/**/*.ts\"",
65
+ "lint": "biome lint src",
66
+ "lint:fix": "biome lint --write src",
67
+ "format": "biome format --write src",
68
+ "format:check": "biome format src",
69
69
  "typecheck": "tsc --noEmit",
70
- "check": "bun run typecheck && bun run lint && bun run format:check",
70
+ "check:biome": "biome check src",
71
+ "check": "bun run typecheck && biome check src",
71
72
  "prepublishOnly": "bun run build:lib"
72
73
  },
73
74
  "dependencies": {
@@ -75,17 +76,13 @@
75
76
  "msgpackr": "^1.11.8"
76
77
  },
77
78
  "devDependencies": {
78
- "@eslint/js": "^10.0.1",
79
+ "@biomejs/biome": "^2.5.0",
79
80
  "@modelcontextprotocol/sdk": "^1.26.0",
80
81
  "@types/bun": "^1.3.9",
81
82
  "bullmq": "^5.70.1",
82
83
  "elysia": "^1.4.25",
83
- "eslint": "^10.0.1",
84
- "eslint-config-prettier": "^10.1.8",
85
84
  "ioredis": "^5.9.3",
86
- "prettier": "^3.8.1",
87
85
  "typescript": "^5.9.3",
88
- "typescript-eslint": "8.56.1",
89
86
  "zod": "^4.3.6"
90
87
  },
91
88
  "peerDependencies": {