@convex-dev/workpool 0.2.18-alpha.2 → 0.2.18

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.
@@ -1,3 +1,4 @@
1
+ import { Id } from "./_generated/dataModel.js";
1
2
  export declare const enqueue: import("convex/server").RegisteredMutation<"public", {
2
3
  onComplete?: {
3
4
  context?: any;
@@ -18,6 +19,30 @@ export declare const enqueue: import("convex/server").RegisteredMutation<"public
18
19
  logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
19
20
  };
20
21
  }, Promise<import("convex/values").GenericId<"work">>>;
22
+ export declare const enqueueBatch: import("convex/server").RegisteredMutation<"public", {
23
+ config: {
24
+ maxParallelism: number;
25
+ logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
26
+ };
27
+ items: {
28
+ onComplete?: {
29
+ context?: any;
30
+ fnHandle: string;
31
+ } | undefined;
32
+ retryBehavior?: {
33
+ maxAttempts: number;
34
+ initialBackoffMs: number;
35
+ base: number;
36
+ } | undefined;
37
+ fnHandle: string;
38
+ fnType: "action" | "mutation" | "query";
39
+ fnName: string;
40
+ fnArgs: any;
41
+ runAt: number;
42
+ }[];
43
+ }, Promise<(string & {
44
+ __tableName: "work";
45
+ })[]>>;
21
46
  export declare const cancel: import("convex/server").RegisteredMutation<"public", {
22
47
  id: import("convex/values").GenericId<"work">;
23
48
  logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
@@ -27,7 +52,7 @@ export declare const cancelAll: import("convex/server").RegisteredMutation<"publ
27
52
  logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
28
53
  }, Promise<void>>;
29
54
  export declare const status: import("convex/server").RegisteredQuery<"public", {
30
- id: import("convex/values").GenericId<"work">;
55
+ id: Id<"work">;
31
56
  }, Promise<{
32
57
  readonly state: "finished";
33
58
  readonly previousAttempts?: undefined;
@@ -38,4 +63,16 @@ export declare const status: import("convex/server").RegisteredQuery<"public", {
38
63
  readonly state: "running";
39
64
  readonly previousAttempts: number;
40
65
  }>>;
66
+ export declare const statusBatch: import("convex/server").RegisteredQuery<"public", {
67
+ ids: import("convex/values").GenericId<"work">[];
68
+ }, Promise<({
69
+ readonly state: "finished";
70
+ readonly previousAttempts?: undefined;
71
+ } | {
72
+ readonly state: "pending";
73
+ readonly previousAttempts: number;
74
+ } | {
75
+ readonly state: "running";
76
+ readonly previousAttempts: number;
77
+ })[]>>;
41
78
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDAuClB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAejB,CAAC;AAGH,eAAO,MAAM,SAAS;;;iBAmCpB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAyBjB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAiC/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDASlB,CAAC;AAiCH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;MAcvB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAejB,CAAC;AAGH,eAAO,MAAM,SAAS;;;iBAmCpB,CAAC;AAEH,eAAO,MAAM,MAAM;QAKuC,EAAE,CAAC,MAAM,CAAC;;;;;;;;;;GADlE,CAAC;AAwBH,eAAO,MAAM,WAAW;;;;;;;;;;;MAQtB,CAAC"}
@@ -8,42 +8,65 @@ import { boundScheduledTime, config, getNextSegment, max, onComplete, retryBehav
8
8
  import { recordEnqueued } from "./stats.js";
9
9
  const MAX_POSSIBLE_PARALLELISM = 100;
10
10
  const MAX_PARALLELISM_SOFT_LIMIT = 50;
11
+ const itemArgs = {
12
+ fnHandle: v.string(),
13
+ fnName: v.string(),
14
+ fnArgs: v.any(),
15
+ fnType,
16
+ runAt: v.number(),
17
+ // TODO: annotation?
18
+ onComplete: v.optional(onComplete),
19
+ retryBehavior: v.optional(retryBehavior),
20
+ };
21
+ const enqueueArgs = {
22
+ ...itemArgs,
23
+ config,
24
+ };
11
25
  export const enqueue = mutation({
26
+ args: enqueueArgs,
27
+ returns: v.id("work"),
28
+ handler: async (ctx, { config, ...itemArgs }) => {
29
+ validateConfig(config);
30
+ const console = createLogger(config.logLevel);
31
+ const kickSegment = await kickMainLoop(ctx, "enqueue", config);
32
+ return await enqueueHandler(ctx, console, kickSegment, itemArgs);
33
+ },
34
+ });
35
+ async function enqueueHandler(ctx, console, kickSegment, { runAt, ...workArgs }) {
36
+ runAt = boundScheduledTime(runAt, console);
37
+ const workId = await ctx.db.insert("work", {
38
+ ...workArgs,
39
+ attempts: 0,
40
+ });
41
+ await ctx.db.insert("pendingStart", {
42
+ workId,
43
+ segment: max(toSegment(runAt), kickSegment),
44
+ });
45
+ recordEnqueued(console, { workId, fnName: workArgs.fnName, runAt });
46
+ return workId;
47
+ }
48
+ function validateConfig(config) {
49
+ if (config.maxParallelism > MAX_POSSIBLE_PARALLELISM) {
50
+ throw new Error(`maxParallelism must be <= ${MAX_PARALLELISM_SOFT_LIMIT}`);
51
+ }
52
+ else if (config.maxParallelism > MAX_PARALLELISM_SOFT_LIMIT) {
53
+ createLogger(config.logLevel).warn(`maxParallelism should be <= ${MAX_PARALLELISM_SOFT_LIMIT}, but is set to ${config.maxParallelism}. This will be an error in a future version.`);
54
+ }
55
+ else if (config.maxParallelism < 1) {
56
+ throw new Error("maxParallelism must be >= 1");
57
+ }
58
+ }
59
+ export const enqueueBatch = mutation({
12
60
  args: {
13
- fnHandle: v.string(),
14
- fnName: v.string(),
15
- fnArgs: v.any(),
16
- fnType,
17
- runAt: v.number(),
18
- // TODO: annotation?
19
- onComplete: v.optional(onComplete),
20
- retryBehavior: v.optional(retryBehavior),
61
+ items: v.array(v.object(itemArgs)),
21
62
  config,
22
63
  },
23
- returns: v.id("work"),
24
- handler: async (ctx, { config, runAt, ...workArgs }) => {
64
+ returns: v.array(v.id("work")),
65
+ handler: async (ctx, { config, items }) => {
66
+ validateConfig(config);
25
67
  const console = createLogger(config.logLevel);
26
- if (config.maxParallelism > MAX_POSSIBLE_PARALLELISM) {
27
- throw new Error(`maxParallelism must be <= ${MAX_PARALLELISM_SOFT_LIMIT}`);
28
- }
29
- else if (config.maxParallelism > MAX_PARALLELISM_SOFT_LIMIT) {
30
- console.warn(`maxParallelism should be <= ${MAX_PARALLELISM_SOFT_LIMIT}, but is set to ${config.maxParallelism}. This will be an error in a future version.`);
31
- }
32
- else if (config.maxParallelism < 1) {
33
- throw new Error("maxParallelism must be >= 1");
34
- }
35
- runAt = boundScheduledTime(runAt, console);
36
- const workId = await ctx.db.insert("work", {
37
- ...workArgs,
38
- attempts: 0,
39
- });
40
- const limit = await kickMainLoop(ctx, "enqueue", config);
41
- await ctx.db.insert("pendingStart", {
42
- workId,
43
- segment: max(toSegment(runAt), limit),
44
- });
45
- recordEnqueued(console, { workId, fnName: workArgs.fnName, runAt });
46
- return workId;
68
+ const kickSegment = await kickMainLoop(ctx, "enqueue", config);
69
+ return Promise.all(items.map((item) => enqueueHandler(ctx, console, kickSegment, item)));
47
70
  },
48
71
  });
49
72
  export const cancel = mutation({
@@ -96,27 +119,35 @@ export const cancelAll = mutation({
96
119
  export const status = query({
97
120
  args: { id: v.id("work") },
98
121
  returns: statusValidator,
99
- handler: async (ctx, { id }) => {
100
- const work = await ctx.db.get(id);
101
- if (!work) {
102
- return { state: "finished" };
103
- }
104
- const pendingStart = await ctx.db
105
- .query("pendingStart")
106
- .withIndex("workId", (q) => q.eq("workId", id))
107
- .unique();
108
- if (pendingStart) {
109
- return { state: "pending", previousAttempts: work.attempts };
110
- }
111
- const pendingCompletion = await ctx.db
112
- .query("pendingCompletion")
113
- .withIndex("workId", (q) => q.eq("workId", id))
114
- .unique();
115
- if (pendingCompletion?.retry) {
116
- return { state: "pending", previousAttempts: work.attempts };
117
- }
118
- // Assume it's in progress. It could be pending cancelation
119
- return { state: "running", previousAttempts: work.attempts };
122
+ handler: statusHandler,
123
+ });
124
+ async function statusHandler(ctx, { id }) {
125
+ const work = await ctx.db.get(id);
126
+ if (!work) {
127
+ return { state: "finished" };
128
+ }
129
+ const pendingStart = await ctx.db
130
+ .query("pendingStart")
131
+ .withIndex("workId", (q) => q.eq("workId", id))
132
+ .unique();
133
+ if (pendingStart) {
134
+ return { state: "pending", previousAttempts: work.attempts };
135
+ }
136
+ const pendingCompletion = await ctx.db
137
+ .query("pendingCompletion")
138
+ .withIndex("workId", (q) => q.eq("workId", id))
139
+ .unique();
140
+ if (pendingCompletion?.retry) {
141
+ return { state: "pending", previousAttempts: work.attempts };
142
+ }
143
+ // Assume it's in progress. It could be pending cancelation
144
+ return { state: "running", previousAttempts: work.attempts };
145
+ }
146
+ export const statusBatch = query({
147
+ args: { ids: v.array(v.id("work")) },
148
+ returns: v.array(statusValidator),
149
+ handler: async (ctx, { ids }) => {
150
+ return await Promise.all(ids.map(async (id) => await statusHandler(ctx, { id })));
120
151
  },
121
152
  });
122
153
  async function shouldCancelWorkItem(ctx, workId, logLevel) {
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAe,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAY,QAAQ,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,GAAG,EACH,UAAU,EACV,aAAa,EACb,MAAM,IAAI,eAAe,EACzB,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;QACf,MAAM;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,oBAAoB;QACpB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAClC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,MAAM;KACP;IACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,cAAc,GAAG,wBAAwB,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,6BAA6B,0BAA0B,EAAE,CAC1D,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,GAAG,0BAA0B,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CACV,+BAA+B,0BAA0B,mBAAmB,MAAM,CAAC,cAAc,8CAA8C,CAChJ,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;YACzC,GAAG,QAAQ;YACX,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;YAClC,MAAM;YACN,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;SACtC,CAAC,CAAC;QACH,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;QAChB,QAAQ;KACT;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE;gBACxC,MAAM,EAAE,EAAE;gBACV,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;IAClD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE;aAC5B,KAAK,CAAC,MAAM,CAAC;aACb,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;aACxE,KAAK,CAAC,MAAM,CAAC;aACb,IAAI,CAAC,SAAS,CAAC,CAAC;QACnB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAC/B,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CACzC,CACF,CAAC;QACF,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;QAC/B,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YAChC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE;oBACzC,MAAM,EAAE,GAAG;oBACX,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE;gBACjD,QAAQ;gBACR,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;IAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IAC1B,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,UAAU,EAAW,CAAC;QACxC,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE;aAC9B,KAAK,CAAC,cAAc,CAAC;aACrB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAC9C,MAAM,EAAE,CAAC;QACZ,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAW,CAAC;QACxE,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,EAAE;aACnC,KAAK,CAAC,mBAAmB,CAAC;aAC1B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAC9C,MAAM,EAAE,CAAC;QACZ,IAAI,iBAAiB,EAAE,KAAK,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAW,CAAC;QACxE,CAAC;QACD,2DAA2D;QAC3D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAW,CAAC;IACxE,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,oBAAoB,CACjC,GAAgB,EAChB,MAAkB,EAClB,QAAkB;IAElB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,oDAAoD;IACpD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,iBAAiB,MAAM,gBAAgB,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,EAAE;SACpC,KAAK,CAAC,oBAAoB,CAAC;SAC3B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClD,MAAM,EAAE,CAAC;IACZ,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,iBAAiB,MAAM,4BAA4B,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6DAA6D;AAC7D,MAAM,OAAO,GAAG,wCAAwC,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "email": "support@convex.dev",
8
8
  "url": "https://github.com/get-convex/workpool/issues"
9
9
  },
10
- "version": "0.2.18-alpha.2",
10
+ "version": "0.2.18",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -19,12 +19,17 @@
19
19
  ],
20
20
  "type": "module",
21
21
  "scripts": {
22
+ "example": "cd example && npm run dev",
23
+ "dev": "run-p -r 'example' 'build:watch'",
24
+ "dashboard": "cd example && npx convex dashboard",
25
+ "all": "run-p -r 'example' 'build:watch' 'test:watch' 'typecheck:watch'",
26
+ "setup": "npm i && npm run build && cd example && npm i && npx convex dev --once",
27
+ "build:watch": "cd src && npx chokidar -d 1000 '../tsconfig.json' '**/*.ts' -c 'npm run build' --initial",
22
28
  "build": "npm run build:esm && npm run build:cjs",
23
29
  "build:esm": "tsc --project ./esm.json && echo '{\\n \"type\": \"module\"\\n}' > dist/esm/package.json",
24
30
  "build:cjs": "tsc --project ./commonjs.json && echo '{\\n \"type\": \"commonjs\"\\n}' > dist/commonjs/package.json",
25
- "dev": "cd example; npx convex dashboard; npm run dev",
26
- "dashboard": "cd example; npx convex dashboard",
27
31
  "typecheck": "tsc --noEmit",
32
+ "typecheck:watch": "tsc --noEmit --watch",
28
33
  "lint": "tsc --noEmit && eslint . && prettier --check .",
29
34
  "format": "prettier --write .",
30
35
  "test": "vitest run",
@@ -70,16 +75,16 @@
70
75
  },
71
76
  "devDependencies": {
72
77
  "@edge-runtime/vm": "5.0.0",
73
- "@eslint/js": "9.32.0",
74
- "@types/node": "22.16.5",
78
+ "@eslint/js": "9.33.0",
79
+ "@types/node": "22.17.2",
75
80
  "@vitest/coverage-v8": "3.2.4",
76
81
  "convex-test": "0.0.38",
77
- "eslint": "9.32.0",
82
+ "eslint": "9.33.0",
78
83
  "globals": "16.3.0",
79
84
  "pkg-pr-new": "0.0.54",
80
85
  "prettier": "3.6.2",
81
- "typescript": "5.8.3",
82
- "typescript-eslint": "8.38.0",
86
+ "typescript": "5.9.2",
87
+ "typescript-eslint": "8.39.1",
83
88
  "vitest": "3.2.4"
84
89
  },
85
90
  "main": "./dist/commonjs/client/index.js",