@lokalise/fastify-bullboard-plugin 2.0.4 → 2.2.0
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/README.md +38 -1
- package/dist/bullBoard.d.ts +19 -3
- package/dist/bullBoard.js +39 -17
- package/dist/bullBoard.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +81 -80
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ await app.register(basicAuth, {
|
|
|
29
29
|
})
|
|
30
30
|
|
|
31
31
|
await app.register(bullBoard, {
|
|
32
|
-
queueConstructor: Queue,
|
|
32
|
+
queueConstructor: Queue,
|
|
33
33
|
redisConfigs: [
|
|
34
34
|
{
|
|
35
35
|
host: process.env.REDIS_HOST!,
|
|
@@ -45,6 +45,43 @@ await app.register(bullBoard, {
|
|
|
45
45
|
})
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
## BullMQ Pro support
|
|
49
|
+
|
|
50
|
+
The plugin supports both standard BullMQ queues and BullMQ Pro queues, including mixing
|
|
51
|
+
the two in a single deployment. Mark each Redis connection that hosts Pro queues with
|
|
52
|
+
`isPro: true` and provide the `QueuePro` constructor via `queueProConstructor`. Queues
|
|
53
|
+
discovered on Pro connections are wrapped in `BullMQProAdapter`, surfacing group-aware
|
|
54
|
+
counts and listings in the dashboard.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { bullBoard } from '@lokalise/fastify-bullboard-plugin'
|
|
58
|
+
import { Queue } from 'bullmq'
|
|
59
|
+
import { QueuePro } from '@taskforcesh/bullmq-pro'
|
|
60
|
+
|
|
61
|
+
await app.register(bullBoard, {
|
|
62
|
+
queueConstructor: Queue,
|
|
63
|
+
queueProConstructor: QueuePro,
|
|
64
|
+
redisConfigs: [
|
|
65
|
+
// Standard BullMQ connection
|
|
66
|
+
{
|
|
67
|
+
host: process.env.REDIS_HOST!,
|
|
68
|
+
port: Number(process.env.REDIS_PORT),
|
|
69
|
+
},
|
|
70
|
+
// BullMQ Pro connection on the same deployment
|
|
71
|
+
{
|
|
72
|
+
host: process.env.REDIS_PRO_HOST!,
|
|
73
|
+
port: Number(process.env.REDIS_PRO_PORT),
|
|
74
|
+
isPro: true,
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
basePath: '/bull',
|
|
78
|
+
})
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`queueConstructor` is required when any `redisConfigs` entry omits `isPro` (or sets it to `false`).
|
|
82
|
+
`queueProConstructor` is required when any entry sets `isPro: true`. Both may be supplied together
|
|
83
|
+
for mixed deployments.
|
|
84
|
+
|
|
48
85
|
## Compatibility with existing fastify plugins
|
|
49
86
|
|
|
50
87
|
`@lokalise/fastify-bullboard-plugin/basicAuth` registers it own instance of `fastifyBasicAuth`, it will not work if you also have it installed in your fastify app.
|
package/dist/bullBoard.d.ts
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
|
+
import type { QueueProLike } from '@bull-board/api/bullMQProAdapter';
|
|
1
2
|
import { type RedisConfig } from '@lokalise/node-core';
|
|
2
3
|
import type { Queue, QueueOptions, RedisConnection } from 'bullmq';
|
|
4
|
+
export type BullBoardRedisConfig = RedisConfig & {
|
|
5
|
+
/**
|
|
6
|
+
* If true, queues discovered on this Redis connection are instantiated with
|
|
7
|
+
* `queueProConstructor` and wrapped in `BullMQProAdapter`, enabling
|
|
8
|
+
* group-aware counts and listings in the dashboard. Defaults to false.
|
|
9
|
+
*/
|
|
10
|
+
isPro?: boolean;
|
|
11
|
+
};
|
|
3
12
|
export type BullBoardOptions = {
|
|
4
|
-
|
|
13
|
+
/** Constructor for standard BullMQ queues, used for any `redisConfigs` entry without `isPro: true`. */
|
|
14
|
+
queueConstructor: QueueConstructor;
|
|
15
|
+
/**
|
|
16
|
+
* Constructor for BullMQ Pro queues (e.g. `QueuePro` from `@taskforcesh/bullmq-pro`).
|
|
17
|
+
* Required if any entry of `redisConfigs` has `isPro: true`.
|
|
18
|
+
*/
|
|
19
|
+
queueProConstructor?: QueueProConstructor;
|
|
5
20
|
basePath: string;
|
|
21
|
+
assetsPath?: string;
|
|
6
22
|
refreshIntervalInSeconds?: number;
|
|
7
|
-
redisConfigs:
|
|
23
|
+
redisConfigs: BullBoardRedisConfig[];
|
|
8
24
|
};
|
|
9
25
|
export interface QueueProConstructor {
|
|
10
|
-
new (name: string, opts?: Record<string, unknown>):
|
|
26
|
+
new (name: string, opts?: Record<string, unknown>): QueueProLike;
|
|
11
27
|
}
|
|
12
28
|
export interface QueueConstructor {
|
|
13
29
|
new (name: string, opts?: QueueOptions, Connection?: typeof RedisConnection): Queue;
|
package/dist/bullBoard.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { constants as httpConstants } from 'node:http2';
|
|
2
2
|
import { createBullBoard } from '@bull-board/api';
|
|
3
3
|
import { BullMQAdapter } from '@bull-board/api/bullMQAdapter';
|
|
4
|
+
import { BullMQProAdapter } from '@bull-board/api/bullMQProAdapter';
|
|
4
5
|
import { FastifyAdapter } from '@bull-board/fastify';
|
|
5
6
|
import fastifySchedule from '@fastify/schedule';
|
|
6
7
|
import { backgroundJobProcessorGetActiveQueueIds, QUEUE_GROUP_DELIMITER, sanitizeRedisConfig, } from '@lokalise/background-jobs-common';
|
|
@@ -21,25 +22,44 @@ const bullBoardErrorHandler = (error) => {
|
|
|
21
22
|
body: { message: error.message, details: error.stack },
|
|
22
23
|
};
|
|
23
24
|
};
|
|
24
|
-
const
|
|
25
|
+
const validateConstructors = (pluginOptions) => {
|
|
26
|
+
const hasPro = pluginOptions.redisConfigs.some((c) => c.isPro);
|
|
27
|
+
if (hasPro && !pluginOptions.queueProConstructor) {
|
|
28
|
+
throw new Error('bull-board: queueProConstructor is required when redisConfigs contains entries with isPro: true');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const buildQueueForConfig = (id, resolved, pluginOptions) => {
|
|
32
|
+
const opts = { connection: resolved.sanitizedConfig, prefix: resolved.prefix };
|
|
33
|
+
if (resolved.isPro) {
|
|
34
|
+
// biome-ignore lint/style/noNonNullAssertion: validated by validateConstructors
|
|
35
|
+
const queue = new pluginOptions.queueProConstructor(id, opts);
|
|
36
|
+
return {
|
|
37
|
+
queue: queue,
|
|
38
|
+
adapter: new BullMQProAdapter(queue, { delimiter: QUEUE_GROUP_DELIMITER }),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const queue = new pluginOptions.queueConstructor(id, opts);
|
|
42
|
+
return { queue, adapter: new BullMQAdapter(queue, { delimiter: QUEUE_GROUP_DELIMITER }) };
|
|
43
|
+
};
|
|
44
|
+
const getCurrentQueues = async (resolvedRedis, pluginOptions) => {
|
|
25
45
|
const queueIds = await Promise.all(resolvedRedis.map((e) => backgroundJobProcessorGetActiveQueueIds(e.redis)));
|
|
26
|
-
const queues =
|
|
46
|
+
const queues = [];
|
|
47
|
+
const queuesAdapter = [];
|
|
48
|
+
queueIds.forEach((ids, index) => {
|
|
27
49
|
// biome-ignore lint/style/noNonNullAssertion: Should exist
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
queuesAdapter: queues.map((queue) => new BullMQAdapter(queue, { delimiter: QUEUE_GROUP_DELIMITER })),
|
|
37
|
-
};
|
|
50
|
+
const resolved = resolvedRedis[index];
|
|
51
|
+
for (const id of ids) {
|
|
52
|
+
const { queue, adapter } = buildQueueForConfig(id, resolved, pluginOptions);
|
|
53
|
+
queues.push(queue);
|
|
54
|
+
queuesAdapter.push(adapter);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return { queues, queuesAdapter };
|
|
38
58
|
};
|
|
39
59
|
const replaceQueues = async (fastify, bullBoard, resolvedRedis, pluginOptions) => {
|
|
40
|
-
const { refreshIntervalInSeconds
|
|
60
|
+
const { refreshIntervalInSeconds } = pluginOptions;
|
|
41
61
|
fastify.log.debug({ refreshIntervalInSeconds }, 'Bull-dashboard -> updating queues');
|
|
42
|
-
const { queues: newQueues, queuesAdapter } = await getCurrentQueues(resolvedRedis,
|
|
62
|
+
const { queues: newQueues, queuesAdapter } = await getCurrentQueues(resolvedRedis, pluginOptions);
|
|
43
63
|
bullBoard.replaceQueues(queuesAdapter);
|
|
44
64
|
await Promise.all(currentQueues.map((queue) => queue.close()));
|
|
45
65
|
currentQueues = newQueues;
|
|
@@ -61,11 +81,13 @@ const resolveRedis = (options) => options.redisConfigs.map((config) => ({
|
|
|
61
81
|
redis: new Redis(config),
|
|
62
82
|
sanitizedConfig: sanitizeRedisConfig(config),
|
|
63
83
|
prefix: config.keyPrefix,
|
|
84
|
+
isPro: config.isPro === true,
|
|
64
85
|
}));
|
|
65
86
|
const plugin = async (fastify, pluginOptions) => {
|
|
66
|
-
|
|
87
|
+
validateConstructors(pluginOptions);
|
|
88
|
+
const { basePath, assetsPath } = pluginOptions;
|
|
67
89
|
const resolvedRedis = resolveRedis(pluginOptions);
|
|
68
|
-
const { queues, queuesAdapter } = await getCurrentQueues(resolvedRedis,
|
|
90
|
+
const { queues, queuesAdapter } = await getCurrentQueues(resolvedRedis, pluginOptions);
|
|
69
91
|
currentQueues = queues;
|
|
70
92
|
const serverAdapter = new FastifyAdapter();
|
|
71
93
|
const bullBoard = createBullBoard({
|
|
@@ -74,7 +96,7 @@ const plugin = async (fastify, pluginOptions) => {
|
|
|
74
96
|
});
|
|
75
97
|
// biome-ignore lint/suspicious/noExplicitAny: bull-board is not exporting this type
|
|
76
98
|
serverAdapter.setErrorHandler(bullBoardErrorHandler);
|
|
77
|
-
serverAdapter.setBasePath(basePath);
|
|
99
|
+
serverAdapter.setBasePath(assetsPath ?? basePath);
|
|
78
100
|
await fastify.register(serverAdapter.registerPlugin(), {
|
|
79
101
|
prefix: basePath,
|
|
80
102
|
});
|
package/dist/bullBoard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullBoard.js","sourceRoot":"","sources":["../src/bullBoard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"bullBoard.js","sourceRoot":"","sources":["../src/bullBoard.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { type AuthConfig, basicAuth } from './basicAuth.ts';
|
|
2
|
-
export { type BullBoardOptions, bullBoard, type QueueProConstructor } from './bullBoard.ts';
|
|
2
|
+
export { type BullBoardOptions, type BullBoardRedisConfig, bullBoard, type QueueConstructor, type QueueProConstructor, } from './bullBoard.ts';
|
|
3
3
|
export { type ErrorReporterOptions, errorReporterPlugin } from './errorReporterPlugin.ts';
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAGL,SAAS,GAGV,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAA6B,mBAAmB,EAAE,MAAM,0BAA0B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,81 +1,82 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
2
|
+
"name": "@lokalise/fastify-bullboard-plugin",
|
|
3
|
+
"version": "2.2.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist",
|
|
7
|
+
"README.md",
|
|
8
|
+
"LICENSE.md"
|
|
9
|
+
],
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=20.13.0"
|
|
12
|
+
},
|
|
13
|
+
"license": "Apache-2.0",
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"module": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": "./dist/index.js",
|
|
19
|
+
"./package.json": "./package.json"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@bull-board/api": "^7.1.5",
|
|
23
|
+
"@bull-board/fastify": "^7.1.5",
|
|
24
|
+
"@fastify/auth": "^5.0.4",
|
|
25
|
+
"@fastify/basic-auth": "^6.2.0",
|
|
26
|
+
"@lokalise/tsconfig": "^4.0.0"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@lokalise/background-jobs-common": ">=12.6.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@biomejs/biome": "^2.3.7",
|
|
33
|
+
"@fastify/awilix": "^8.0.0",
|
|
34
|
+
"@fastify/schedule": "^6.0.0",
|
|
35
|
+
"@lokalise/background-jobs-common": "^14.0.0",
|
|
36
|
+
"@lokalise/biome-config": "^3.1.0",
|
|
37
|
+
"@lokalise/fastify-extras": "^30.7.0",
|
|
38
|
+
"@lokalise/node-core": "^14.1.0",
|
|
39
|
+
"@types/node": "^25.0.3",
|
|
40
|
+
"@vitest/coverage-v8": "^4.0.15",
|
|
41
|
+
"awilix": "^13.0.0",
|
|
42
|
+
"awilix-manager": "^6.3.0",
|
|
43
|
+
"bullmq": "5.76.6",
|
|
44
|
+
"cross-env": "^10.0.0",
|
|
45
|
+
"fastify": "^5.7.4",
|
|
46
|
+
"fastify-graceful-shutdown": "^4.0.1",
|
|
47
|
+
"fastify-metrics": "^13.2.0",
|
|
48
|
+
"fastify-plugin": "^5.0.1",
|
|
49
|
+
"ioredis": "^5.6.1",
|
|
50
|
+
"pino": "^10.1.0",
|
|
51
|
+
"pino-pretty": "^13.0.0",
|
|
52
|
+
"rimraf": "^6.1.3",
|
|
53
|
+
"toad-scheduler": "^4.0.1",
|
|
54
|
+
"ts-deepmerge": "^7.0.3",
|
|
55
|
+
"typescript": "6.0.3",
|
|
56
|
+
"vitest": "^4.0.18"
|
|
57
|
+
},
|
|
58
|
+
"keywords": [
|
|
59
|
+
"fastify",
|
|
60
|
+
"bullboard",
|
|
61
|
+
"bull",
|
|
62
|
+
"dashboard",
|
|
63
|
+
"plugin"
|
|
64
|
+
],
|
|
65
|
+
"homepage": "https://github.com/lokalise/shared-ts-libs",
|
|
66
|
+
"repository": {
|
|
67
|
+
"type": "git",
|
|
68
|
+
"url": "git://github.com/lokalise/shared-ts-libs.git"
|
|
69
|
+
},
|
|
70
|
+
"publishConfig": {
|
|
71
|
+
"access": "public"
|
|
72
|
+
},
|
|
73
|
+
"scripts": {
|
|
74
|
+
"build": "rimraf dist && tsc --project tsconfig.build.json",
|
|
75
|
+
"lint": "biome check . && tsc",
|
|
76
|
+
"lint:fix": "biome check --write",
|
|
77
|
+
"test": "vitest run",
|
|
78
|
+
"test:ci": "vitest run --coverage",
|
|
79
|
+
"package-version": "echo $npm_package_version",
|
|
80
|
+
"postversion": "biome check --write package.json"
|
|
81
|
+
}
|
|
82
|
+
}
|