@queuebase/cli 0.0.1
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/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +68 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/dev.d.ts +7 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +23 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +12 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +90 -0
- package/dist/server.js.map +1 -0
- package/package.json +39 -0
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { devCommand } from './commands/dev.js';
|
|
3
|
+
const args = process.argv.slice(2);
|
|
4
|
+
const command = args[0];
|
|
5
|
+
function printHelp() {
|
|
6
|
+
console.log(`
|
|
7
|
+
queuebase - Background jobs for Next.js
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
queuebase <command> [options]
|
|
11
|
+
|
|
12
|
+
Commands:
|
|
13
|
+
dev Start the local development server
|
|
14
|
+
|
|
15
|
+
Options:
|
|
16
|
+
--port <port> Port for the dev server (default: 3847)
|
|
17
|
+
--callback <url> Callback URL for job execution (default: http://localhost:3000/api/queuebase)
|
|
18
|
+
--help Show this help message
|
|
19
|
+
|
|
20
|
+
Examples:
|
|
21
|
+
queuebase dev
|
|
22
|
+
queuebase dev --port 4000
|
|
23
|
+
queuebase dev --callback http://localhost:3001/api/queuebase
|
|
24
|
+
`);
|
|
25
|
+
}
|
|
26
|
+
function parseArgs(args) {
|
|
27
|
+
const result = {};
|
|
28
|
+
for (let i = 0; i < args.length; i++) {
|
|
29
|
+
const arg = args[i];
|
|
30
|
+
if (arg?.startsWith('--')) {
|
|
31
|
+
const key = arg.slice(2);
|
|
32
|
+
const nextArg = args[i + 1];
|
|
33
|
+
if (nextArg && !nextArg.startsWith('--')) {
|
|
34
|
+
result[key] = nextArg;
|
|
35
|
+
i++;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
result[key] = true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
async function main() {
|
|
45
|
+
if (!command || command === '--help' || command === '-h') {
|
|
46
|
+
printHelp();
|
|
47
|
+
process.exit(0);
|
|
48
|
+
}
|
|
49
|
+
const options = parseArgs(args.slice(1));
|
|
50
|
+
switch (command) {
|
|
51
|
+
case 'dev': {
|
|
52
|
+
devCommand({
|
|
53
|
+
port: options.port ? Number(options.port) : undefined,
|
|
54
|
+
callbackUrl: options.callback,
|
|
55
|
+
});
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
default:
|
|
59
|
+
console.error(`Unknown command: ${command}`);
|
|
60
|
+
printHelp();
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
main().catch((error) => {
|
|
65
|
+
console.error('Error:', error.message);
|
|
66
|
+
process.exit(1);
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAqC,EAAE,CAAC;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBACtB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,UAAU,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrD,WAAW,EAAE,OAAO,CAAC,QAA8B;aACpD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,UAAe,QAsBlD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { createDevServer } from '../server.js';
|
|
4
|
+
export function devCommand(options = {}) {
|
|
5
|
+
const envPort = Number(process.env.QUEUEBASE_PORT);
|
|
6
|
+
const port = options.port ?? (Number.isNaN(envPort) ? 3847 : envPort);
|
|
7
|
+
const callbackUrl = options.callbackUrl ??
|
|
8
|
+
process.env.QUEUEBASE_CALLBACK_URL ??
|
|
9
|
+
'http://localhost:3000/api/queuebase';
|
|
10
|
+
// Use a .queuebase directory in the current working directory
|
|
11
|
+
const dbPath = path.join(process.cwd(), '.queuebase', 'dev.db');
|
|
12
|
+
// Ensure .queuebase directory exists
|
|
13
|
+
const dbDir = path.dirname(dbPath);
|
|
14
|
+
if (!fs.existsSync(dbDir)) {
|
|
15
|
+
fs.mkdirSync(dbDir, { recursive: true });
|
|
16
|
+
}
|
|
17
|
+
createDevServer({
|
|
18
|
+
port,
|
|
19
|
+
dbPath,
|
|
20
|
+
callbackUrl,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAO/C,MAAM,UAAU,UAAU,CAAC,UAAsB,EAAE;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,GAAG,CAAC,sBAAsB;QAClC,qCAAqC,CAAC;IAExC,8DAA8D;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEhE,qCAAqC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC;QACd,IAAI;QACJ,MAAM;QACN,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type SqliteDb } from "@queuebase/db/sqlite";
|
|
2
|
+
export interface DevServerOptions {
|
|
3
|
+
port: number;
|
|
4
|
+
dbPath: string;
|
|
5
|
+
callbackUrl: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DevServer {
|
|
8
|
+
db: SqliteDb;
|
|
9
|
+
close: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function createDevServer(options: DevServerOptions): DevServer;
|
|
12
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA0GpE"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { serve } from "@hono/node-server";
|
|
2
|
+
import { createSqliteClient, eq, jobs, jobLogs, runMigrations, } from "@queuebase/db/sqlite";
|
|
3
|
+
import { createJobExecutor, createSqliteWorkerDb, enqueueJob } from "@queuebase/worker";
|
|
4
|
+
import { Hono } from "hono";
|
|
5
|
+
import { cors } from "hono/cors";
|
|
6
|
+
import { logger } from "hono/logger";
|
|
7
|
+
export function createDevServer(options) {
|
|
8
|
+
const { port, dbPath, callbackUrl } = options;
|
|
9
|
+
// Initialize SQLite database
|
|
10
|
+
const { db, close } = createSqliteClient(dbPath);
|
|
11
|
+
runMigrations(db);
|
|
12
|
+
const workerDb = createSqliteWorkerDb(db);
|
|
13
|
+
// Create Hono app
|
|
14
|
+
const app = new Hono();
|
|
15
|
+
// Middleware
|
|
16
|
+
app.use("*", logger());
|
|
17
|
+
app.use("*", cors());
|
|
18
|
+
// Health check
|
|
19
|
+
app.get("/health", (c) => c.json({ status: "ok" }));
|
|
20
|
+
// Enqueue endpoint
|
|
21
|
+
app.post("/jobs/enqueue", async (c) => {
|
|
22
|
+
const body = await c.req.json();
|
|
23
|
+
const { name, payload, callbackUrl: jobCallbackUrl, options: jobOptions, } = body;
|
|
24
|
+
if (!name || payload === undefined) {
|
|
25
|
+
return c.json({ error: "Missing required fields: name, payload" }, 400);
|
|
26
|
+
}
|
|
27
|
+
const result = enqueueJob(db, {
|
|
28
|
+
name,
|
|
29
|
+
payload,
|
|
30
|
+
callbackUrl: jobCallbackUrl ?? callbackUrl,
|
|
31
|
+
options: jobOptions,
|
|
32
|
+
});
|
|
33
|
+
const jobRow = db
|
|
34
|
+
.select({ id: jobs.id })
|
|
35
|
+
.from(jobs)
|
|
36
|
+
.where(eq(jobs.publicId, result.jobId))
|
|
37
|
+
.get();
|
|
38
|
+
if (jobRow) {
|
|
39
|
+
db.insert(jobLogs)
|
|
40
|
+
.values({ jobId: jobRow.id, event: "enqueued" })
|
|
41
|
+
.run();
|
|
42
|
+
}
|
|
43
|
+
return c.json(result);
|
|
44
|
+
});
|
|
45
|
+
// List jobs endpoint (for debugging)
|
|
46
|
+
app.get("/jobs", (c) => {
|
|
47
|
+
const allJobs = db
|
|
48
|
+
.select()
|
|
49
|
+
.from(jobs)
|
|
50
|
+
.orderBy(jobs.createdAt)
|
|
51
|
+
.limit(100)
|
|
52
|
+
.all();
|
|
53
|
+
return c.json(allJobs);
|
|
54
|
+
});
|
|
55
|
+
// Create job executor
|
|
56
|
+
const executor = createJobExecutor(workerDb, {
|
|
57
|
+
pollInterval: 1000,
|
|
58
|
+
concurrency: 5,
|
|
59
|
+
});
|
|
60
|
+
// Start server
|
|
61
|
+
const server = serve({
|
|
62
|
+
fetch: app.fetch,
|
|
63
|
+
port,
|
|
64
|
+
});
|
|
65
|
+
// Start worker
|
|
66
|
+
executor.start();
|
|
67
|
+
// biome-ignore lint/suspicious/noConsoleLog: cli
|
|
68
|
+
console.log(`🚀 Queuebase dev server running on http://localhost:${port}`);
|
|
69
|
+
// biome-ignore lint/suspicious/noConsoleLog: cli
|
|
70
|
+
console.log(`📁 Database: ${dbPath}`);
|
|
71
|
+
// biome-ignore lint/suspicious/noConsoleLog: cli
|
|
72
|
+
console.log(`🔗 Callback URL: ${callbackUrl}`);
|
|
73
|
+
// biome-ignore lint/suspicious/noConsoleLog: cli
|
|
74
|
+
console.log("");
|
|
75
|
+
// biome-ignore lint/suspicious/noConsoleLog: cli
|
|
76
|
+
console.log("Waiting for jobs...");
|
|
77
|
+
// Cleanup on exit
|
|
78
|
+
const cleanup = () => {
|
|
79
|
+
// biome-ignore lint/suspicious/noConsoleLog: cli
|
|
80
|
+
console.log("\nShutting down...");
|
|
81
|
+
executor.stop();
|
|
82
|
+
close();
|
|
83
|
+
server.close();
|
|
84
|
+
process.exit(0);
|
|
85
|
+
};
|
|
86
|
+
process.on("SIGINT", cleanup);
|
|
87
|
+
process.on("SIGTERM", cleanup);
|
|
88
|
+
return { db, close };
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@queuebase/cli",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"bin": {
|
|
6
|
+
"queuebase": "./dist/bin.js"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@hono/node-server": "^1.13.7",
|
|
16
|
+
"better-sqlite3": "^11.7.0",
|
|
17
|
+
"hono": "^4.6.16",
|
|
18
|
+
"@queuebase/db": "0.0.1",
|
|
19
|
+
"@queuebase/worker": "0.0.1",
|
|
20
|
+
"@queuebase/core": "0.0.1"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/better-sqlite3": "^7.6.12",
|
|
24
|
+
"@types/node": "^22.10.5",
|
|
25
|
+
"typescript": "^5.7.2",
|
|
26
|
+
"vitest": "^2.1.8",
|
|
27
|
+
"@queuebase/tsconfig": "0.0.0"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc -b",
|
|
31
|
+
"dev": "tsc -b --watch",
|
|
32
|
+
"clean": "rm -rf dist .turbo *.tsbuildinfo",
|
|
33
|
+
"typecheck": "tsc --noEmit",
|
|
34
|
+
"lint": "biome lint ./src",
|
|
35
|
+
"lint:fix": "biome lint --write ./src",
|
|
36
|
+
"test": "vitest run --passWithNoTests",
|
|
37
|
+
"test:watch": "vitest"
|
|
38
|
+
}
|
|
39
|
+
}
|