feat: add reusable jobqueue library

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-05-16 00:51:54 +02:00
commit 34ca0fe17d
30 changed files with 6405 additions and 0 deletions

62
package.json Normal file
View File

@@ -0,0 +1,62 @@
{
"name": "jobqueue",
"version": "0.1.0",
"description": "Framework-agnostic async job queue with multi-phase pipelines, SSE helpers, webhooks, retry strategies, and SQLite persistence.",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"files": [
"dist"
],
"repository": {
"type": "git",
"url": "ssh://git@git.sal.giize.com:2222/mozempk/jobqueue.git"
},
"homepage": "https://git.sal.giize.com/mozempk/jobqueue",
"publishConfig": {
"registry": "https://git.sal.giize.com/api/packages/mozempk/npm/"
},
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"lint": "tsc --noEmit",
"prepublishOnly": "npm run lint && npm run test && npm run build"
},
"keywords": [
"job-queue",
"async",
"pipeline",
"worker",
"sse",
"webhook",
"sqlite",
"retry",
"concurrency"
],
"author": "Giancarmine Salucci <mozempk@gmail.com>",
"license": "MIT",
"engines": {
"node": ">=20.0.0"
},
"dependencies": {
"better-sqlite3": "^12.2.0",
"p-limit": "^6.2.0"
},
"devDependencies": {
"@vitest/coverage-v8": "^3.1.0",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^22.15.0",
"tsup": "^8.4.0",
"typescript": "^5.8.0",
"vitest": "^3.1.0"
}
}