@bull-board/nestjs 7.2.0 → 7.2.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/bull-board.feature-module.d.ts +3 -3
- package/dist/bull-board.feature-module.js +1 -1
- package/dist/bull-board.module.d.ts +2 -2
- package/dist/bull-board.module.js +5 -5
- package/dist/bull-board.root-module.d.ts +3 -3
- package/dist/bull-board.root-module.js +14 -32
- package/dist/bull-board.types.d.ts +1 -1
- package/dist/bull-board.util.d.ts +1 -1
- package/package.json +23 -23
- package/src/bull-board.constants.ts +1 -2
- package/src/bull-board.decorator.ts +2 -2
- package/src/bull-board.feature-module.ts +9 -11
- package/src/bull-board.module.ts +18 -15
- package/src/bull-board.root-module.ts +50 -54
- package/src/bull-board.types.ts +1 -1
- package/src/bull-board.util.ts +11 -6
- package/src/index.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OnModuleInit } from
|
|
2
|
-
import { ModuleRef } from
|
|
3
|
-
import { BullBoardInstance, BullBoardQueueOptions } from
|
|
1
|
+
import { OnModuleInit } from '@nestjs/common';
|
|
2
|
+
import { ModuleRef } from '@nestjs/core';
|
|
3
|
+
import { BullBoardInstance, BullBoardQueueOptions } from './bull-board.types';
|
|
4
4
|
export declare class BullBoardFeatureModule implements OnModuleInit {
|
|
5
5
|
private readonly moduleRef;
|
|
6
6
|
private readonly queues;
|
|
@@ -13,9 +13,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BullBoardFeatureModule = void 0;
|
|
16
|
+
const bull_shared_1 = require("@nestjs/bull-shared");
|
|
16
17
|
const common_1 = require("@nestjs/common");
|
|
17
18
|
const core_1 = require("@nestjs/core");
|
|
18
|
-
const bull_shared_1 = require("@nestjs/bull-shared");
|
|
19
19
|
const bull_board_constants_1 = require("./bull-board.constants");
|
|
20
20
|
let BullBoardFeatureModule = class BullBoardFeatureModule {
|
|
21
21
|
constructor(moduleRef, queues, board) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DynamicModule } from
|
|
2
|
-
import { BullBoardModuleAsyncOptions, BullBoardModuleOptions, BullBoardQueueOptions } from
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
|
2
|
+
import { BullBoardModuleAsyncOptions, BullBoardModuleOptions, BullBoardQueueOptions } from './bull-board.types';
|
|
3
3
|
export declare class BullBoardModule {
|
|
4
4
|
static forFeature(...queues: BullBoardQueueOptions[]): DynamicModule;
|
|
5
5
|
static forRoot(options: BullBoardModuleOptions): DynamicModule;
|
|
@@ -9,9 +9,9 @@ var BullBoardModule_1;
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.BullBoardModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
|
+
const bull_board_constants_1 = require("./bull-board.constants");
|
|
12
13
|
const bull_board_feature_module_1 = require("./bull-board.feature-module");
|
|
13
14
|
const bull_board_root_module_1 = require("./bull-board.root-module");
|
|
14
|
-
const bull_board_constants_1 = require("./bull-board.constants");
|
|
15
15
|
let BullBoardModule = BullBoardModule_1 = class BullBoardModule {
|
|
16
16
|
static forFeature(...queues) {
|
|
17
17
|
return {
|
|
@@ -19,9 +19,9 @@ let BullBoardModule = BullBoardModule_1 = class BullBoardModule {
|
|
|
19
19
|
providers: [
|
|
20
20
|
{
|
|
21
21
|
provide: bull_board_constants_1.BULL_BOARD_QUEUES,
|
|
22
|
-
useValue: queues
|
|
23
|
-
}
|
|
24
|
-
]
|
|
22
|
+
useValue: queues,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
static forRoot(options) {
|
|
@@ -35,7 +35,7 @@ let BullBoardModule = BullBoardModule_1 = class BullBoardModule {
|
|
|
35
35
|
return {
|
|
36
36
|
module: BullBoardModule_1,
|
|
37
37
|
imports: [bull_board_root_module_1.BullBoardRootModule.forRootAsync(options)],
|
|
38
|
-
exports: [bull_board_root_module_1.BullBoardRootModule]
|
|
38
|
+
exports: [bull_board_root_module_1.BullBoardRootModule],
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DynamicModule, MiddlewareConsumer, NestModule } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DynamicModule, MiddlewareConsumer, NestModule } from '@nestjs/common';
|
|
2
|
+
import { ApplicationConfig, HttpAdapterHost } from '@nestjs/core';
|
|
3
|
+
import { BullBoardModuleAsyncOptions, BullBoardModuleOptions, BullBoardServerAdapter } from './bull-board.types';
|
|
4
4
|
export declare class BullBoardRootModule implements NestModule {
|
|
5
5
|
private readonly adapterHost;
|
|
6
6
|
private readonly applicationConfig;
|
|
@@ -14,10 +14,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var BullBoardRootModule_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.BullBoardRootModule = void 0;
|
|
17
|
-
const common_1 = require("@nestjs/common");
|
|
18
17
|
const api_1 = require("@bull-board/api");
|
|
19
|
-
const
|
|
18
|
+
const common_1 = require("@nestjs/common");
|
|
20
19
|
const core_1 = require("@nestjs/core");
|
|
20
|
+
const bull_board_constants_1 = require("./bull-board.constants");
|
|
21
21
|
const bull_board_util_1 = require("./bull-board.util");
|
|
22
22
|
let BullBoardRootModule = BullBoardRootModule_1 = class BullBoardRootModule {
|
|
23
23
|
constructor(adapterHost, applicationConfig, adapter, options) {
|
|
@@ -34,7 +34,7 @@ let BullBoardRootModule = BullBoardRootModule_1 = class BullBoardRootModule {
|
|
|
34
34
|
const prefixOptions = this.applicationConfig.getGlobalPrefixOptions();
|
|
35
35
|
if (!(prefixOptions === null || prefixOptions === void 0 ? void 0 : prefixOptions.exclude))
|
|
36
36
|
return false;
|
|
37
|
-
return prefixOptions.exclude.some(exclusion => {
|
|
37
|
+
return prefixOptions.exclude.some((exclusion) => {
|
|
38
38
|
const routePath = addForwardSlash(this.options.route);
|
|
39
39
|
return exclusion.pathRegex.test(routePath);
|
|
40
40
|
});
|
|
@@ -52,9 +52,7 @@ let BullBoardRootModule = BullBoardRootModule_1 = class BullBoardRootModule {
|
|
|
52
52
|
this.adapterHost.httpAdapter
|
|
53
53
|
.getInstance()
|
|
54
54
|
.register(this.adapter.registerPlugin(), { prefix });
|
|
55
|
-
return consumer
|
|
56
|
-
.apply(this.options.middleware)
|
|
57
|
-
.forRoutes(this.options.route);
|
|
55
|
+
return consumer.apply(this.options.middleware).forRoutes(this.options.route);
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
58
|
static forRoot(options) {
|
|
@@ -65,30 +63,22 @@ let BullBoardRootModule = BullBoardRootModule_1 = class BullBoardRootModule {
|
|
|
65
63
|
queues: [],
|
|
66
64
|
serverAdapter: serverAdapter,
|
|
67
65
|
options: options.boardOptions,
|
|
68
|
-
})
|
|
66
|
+
}),
|
|
69
67
|
};
|
|
70
68
|
const serverAdapterProvider = {
|
|
71
69
|
provide: bull_board_constants_1.BULL_BOARD_ADAPTER,
|
|
72
|
-
useFactory: () => serverAdapter
|
|
70
|
+
useFactory: () => serverAdapter,
|
|
73
71
|
};
|
|
74
72
|
const optionsProvider = {
|
|
75
73
|
provide: bull_board_constants_1.BULL_BOARD_OPTIONS,
|
|
76
|
-
useValue: options
|
|
74
|
+
useValue: options,
|
|
77
75
|
};
|
|
78
76
|
return {
|
|
79
77
|
module: BullBoardRootModule_1,
|
|
80
78
|
global: true,
|
|
81
79
|
imports: [],
|
|
82
|
-
providers: [
|
|
83
|
-
|
|
84
|
-
optionsProvider,
|
|
85
|
-
bullBoardProvider
|
|
86
|
-
],
|
|
87
|
-
exports: [
|
|
88
|
-
serverAdapterProvider,
|
|
89
|
-
bullBoardProvider,
|
|
90
|
-
optionsProvider
|
|
91
|
-
],
|
|
80
|
+
providers: [serverAdapterProvider, optionsProvider, bullBoardProvider],
|
|
81
|
+
exports: [serverAdapterProvider, bullBoardProvider, optionsProvider],
|
|
92
82
|
};
|
|
93
83
|
}
|
|
94
84
|
static forRootAsync(options) {
|
|
@@ -99,32 +89,24 @@ let BullBoardRootModule = BullBoardRootModule_1 = class BullBoardRootModule {
|
|
|
99
89
|
serverAdapter: adapter,
|
|
100
90
|
options: options.boardOptions,
|
|
101
91
|
}),
|
|
102
|
-
inject: [bull_board_constants_1.BULL_BOARD_OPTIONS, bull_board_constants_1.BULL_BOARD_ADAPTER]
|
|
92
|
+
inject: [bull_board_constants_1.BULL_BOARD_OPTIONS, bull_board_constants_1.BULL_BOARD_ADAPTER],
|
|
103
93
|
};
|
|
104
94
|
const serverAdapterProvider = {
|
|
105
95
|
provide: bull_board_constants_1.BULL_BOARD_ADAPTER,
|
|
106
96
|
useFactory: (options) => new options.adapter(),
|
|
107
|
-
inject: [bull_board_constants_1.BULL_BOARD_OPTIONS]
|
|
97
|
+
inject: [bull_board_constants_1.BULL_BOARD_OPTIONS],
|
|
108
98
|
};
|
|
109
99
|
const optionsProvider = {
|
|
110
100
|
provide: bull_board_constants_1.BULL_BOARD_OPTIONS,
|
|
111
101
|
useFactory: options.useFactory,
|
|
112
|
-
inject: options.inject
|
|
102
|
+
inject: options.inject,
|
|
113
103
|
};
|
|
114
104
|
return {
|
|
115
105
|
module: BullBoardRootModule_1,
|
|
116
106
|
global: true,
|
|
117
107
|
imports: options.imports,
|
|
118
|
-
providers: [
|
|
119
|
-
|
|
120
|
-
optionsProvider,
|
|
121
|
-
bullBoardProvider
|
|
122
|
-
],
|
|
123
|
-
exports: [
|
|
124
|
-
serverAdapterProvider,
|
|
125
|
-
bullBoardProvider,
|
|
126
|
-
optionsProvider
|
|
127
|
-
],
|
|
108
|
+
providers: [serverAdapterProvider, optionsProvider, bullBoardProvider],
|
|
109
|
+
exports: [serverAdapterProvider, bullBoardProvider, optionsProvider],
|
|
128
110
|
};
|
|
129
111
|
}
|
|
130
112
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createBullBoard } from '@bull-board/api';
|
|
2
|
-
import type { BoardOptions, IServerAdapter, QueueAdapterOptions } from '@bull-board/api/typings/app';
|
|
3
2
|
import type { BaseAdapter } from '@bull-board/api/baseAdapter';
|
|
3
|
+
import type { BoardOptions, IServerAdapter, QueueAdapterOptions } from '@bull-board/api/typings/app';
|
|
4
4
|
import type { InjectionToken, ModuleMetadata, OptionalFactoryDependency } from '@nestjs/common';
|
|
5
5
|
export type BullBoardInstance = ReturnType<typeof createBullBoard>;
|
|
6
6
|
export type BullBoardModuleOptions = {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BullBoardExpressAdapter, BullBoardFastifyAdapter, BullBoardServerAdapter } from
|
|
1
|
+
import { BullBoardExpressAdapter, BullBoardFastifyAdapter, BullBoardServerAdapter } from './bull-board.types';
|
|
2
2
|
export declare const isFastifyAdapter: (adapter: BullBoardServerAdapter) => adapter is BullBoardFastifyAdapter;
|
|
3
3
|
export declare const isExpressAdapter: (adapter: BullBoardServerAdapter) => adapter is BullBoardExpressAdapter;
|
package/package.json
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bull-board/nestjs",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.1",
|
|
4
4
|
"description": "A NestJS module for Bull-Board dashboard.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bull",
|
|
7
7
|
"bullmq",
|
|
8
|
-
"redis",
|
|
9
|
-
"queue",
|
|
10
8
|
"monitoring",
|
|
11
9
|
"nestjs",
|
|
12
|
-
"nestjs-module"
|
|
10
|
+
"nestjs-module",
|
|
11
|
+
"queue",
|
|
12
|
+
"redis"
|
|
13
13
|
],
|
|
14
|
-
"main": "dist/index.js",
|
|
15
|
-
"author": "Dennis Snijder <dennis@snijder.io>",
|
|
16
14
|
"license": "MIT",
|
|
15
|
+
"author": "Dennis Snijder <dennis@snijder.io>",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/felixmosh/bull-board.git",
|
|
19
|
+
"directory": "packages/nestjs"
|
|
20
|
+
},
|
|
21
|
+
"main": "dist/index.js",
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
17
25
|
"scripts": {
|
|
18
26
|
"build": "yarn clean && tsc",
|
|
19
27
|
"clean": "rm -rf dist"
|
|
20
28
|
},
|
|
21
29
|
"devDependencies": {
|
|
22
|
-
"@bull-board/api": "^7.2.
|
|
23
|
-
"@bull-board/express": "^7.2.
|
|
24
|
-
"@bull-board/fastify": "^7.2.
|
|
30
|
+
"@bull-board/api": "^7.2.1",
|
|
31
|
+
"@bull-board/express": "^7.2.1",
|
|
32
|
+
"@bull-board/fastify": "^7.2.1",
|
|
25
33
|
"@nestjs/bull-shared": "^11.0.4",
|
|
26
34
|
"@nestjs/bullmq": "^11.0.4",
|
|
27
|
-
"@nestjs/common": "^11.1.
|
|
28
|
-
"@nestjs/core": "^11.1.
|
|
29
|
-
"@types/node": "^22.19.
|
|
35
|
+
"@nestjs/common": "^11.1.24",
|
|
36
|
+
"@nestjs/core": "^11.1.24",
|
|
37
|
+
"@types/node": "^22.19.20",
|
|
30
38
|
"bull": "^4.16.5",
|
|
31
|
-
"bullmq": "^5.
|
|
39
|
+
"bullmq": "^5.78.0",
|
|
32
40
|
"reflect-metadata": "^0.2.2",
|
|
33
41
|
"rxjs": "^7.8.2",
|
|
34
|
-
"typescript": "^
|
|
42
|
+
"typescript": "^5.9.3"
|
|
35
43
|
},
|
|
36
44
|
"peerDependencies": {
|
|
37
|
-
"@bull-board/api": "^7.2.
|
|
45
|
+
"@bull-board/api": "^7.2.1",
|
|
38
46
|
"@nestjs/bull-shared": "^10.0.0 || ^11.0.0",
|
|
39
47
|
"@nestjs/common": "^9.0.0 || ^10.0.0 || ^11.0.0",
|
|
40
48
|
"@nestjs/core": "^9.0.0 || ^10.0.0 || ^11.0.0",
|
|
41
49
|
"reflect-metadata": "^0.1.13 || ^0.2.0",
|
|
42
50
|
"rxjs": "^7.8.1"
|
|
43
|
-
},
|
|
44
|
-
"repository": {
|
|
45
|
-
"type": "git",
|
|
46
|
-
"url": "git+https://github.com/felixmosh/bull-board.git",
|
|
47
|
-
"directory": "packages/nestjs"
|
|
48
|
-
},
|
|
49
|
-
"publishConfig": {
|
|
50
|
-
"access": "public"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
1
|
export const BULL_BOARD_OPTIONS = 'bull_board_options';
|
|
3
2
|
export const BULL_BOARD_QUEUES = 'bull_board_queues';
|
|
4
3
|
export const BULL_BOARD_ADAPTER = 'bull_board_adapter';
|
|
5
|
-
export const BULL_BOARD_INSTANCE = 'bull_board_instance';
|
|
4
|
+
export const BULL_BOARD_INSTANCE = 'bull_board_instance';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Inject } from '@nestjs/common';
|
|
2
|
-
import { BULL_BOARD_INSTANCE } from
|
|
2
|
+
import { BULL_BOARD_INSTANCE } from './bull-board.constants';
|
|
3
3
|
|
|
4
|
-
export const InjectBullBoard = (): ParameterDecorator => Inject(BULL_BOARD_INSTANCE);
|
|
4
|
+
export const InjectBullBoard = (): ParameterDecorator => Inject(BULL_BOARD_INSTANCE);
|
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { getQueueToken } from '@nestjs/bull-shared';
|
|
2
|
+
import { Inject, Module, OnModuleInit } from '@nestjs/common';
|
|
3
|
+
import { ModuleRef } from '@nestjs/core';
|
|
4
|
+
import { Queue } from 'bullmq';
|
|
5
|
+
import { BULL_BOARD_INSTANCE, BULL_BOARD_QUEUES } from './bull-board.constants';
|
|
6
|
+
import { BullBoardInstance, BullBoardQueueOptions } from './bull-board.types';
|
|
7
7
|
|
|
8
8
|
@Module({})
|
|
9
9
|
export class BullBoardFeatureModule implements OnModuleInit {
|
|
10
|
-
|
|
11
10
|
constructor(
|
|
12
11
|
private readonly moduleRef: ModuleRef,
|
|
13
12
|
@Inject(BULL_BOARD_QUEUES) private readonly queues: BullBoardQueueOptions[],
|
|
14
13
|
@Inject(BULL_BOARD_INSTANCE) private readonly board: BullBoardInstance
|
|
15
|
-
) {
|
|
16
|
-
}
|
|
14
|
+
) {}
|
|
17
15
|
|
|
18
16
|
onModuleInit(): any {
|
|
19
17
|
for (const queueOption of this.queues) {
|
|
20
|
-
const queue = this.moduleRef.get<Queue>(getQueueToken(queueOption.name), {strict: false});
|
|
18
|
+
const queue = this.moduleRef.get<Queue>(getQueueToken(queueOption.name), { strict: false });
|
|
21
19
|
const queueAdapter = new queueOption.adapter(queue, queueOption.options);
|
|
22
20
|
this.board.addQueue(queueAdapter);
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
|
-
}
|
|
23
|
+
}
|
package/src/bull-board.module.ts
CHANGED
|
@@ -1,37 +1,40 @@
|
|
|
1
|
-
import { DynamicModule, Module} from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { DynamicModule, Module } from '@nestjs/common';
|
|
2
|
+
import { BULL_BOARD_QUEUES } from './bull-board.constants';
|
|
3
|
+
import { BullBoardFeatureModule } from './bull-board.feature-module';
|
|
4
|
+
import { BullBoardRootModule } from './bull-board.root-module';
|
|
5
|
+
import {
|
|
6
|
+
BullBoardModuleAsyncOptions,
|
|
7
|
+
BullBoardModuleOptions,
|
|
8
|
+
BullBoardQueueOptions,
|
|
9
|
+
} from './bull-board.types';
|
|
6
10
|
|
|
7
11
|
@Module({})
|
|
8
12
|
export class BullBoardModule {
|
|
9
|
-
|
|
10
13
|
static forFeature(...queues: BullBoardQueueOptions[]): DynamicModule {
|
|
11
14
|
return {
|
|
12
15
|
module: BullBoardFeatureModule,
|
|
13
16
|
providers: [
|
|
14
17
|
{
|
|
15
18
|
provide: BULL_BOARD_QUEUES,
|
|
16
|
-
useValue: queues
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
+
useValue: queues,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
19
22
|
};
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
static forRoot(options: BullBoardModuleOptions): DynamicModule {
|
|
23
26
|
return {
|
|
24
27
|
module: BullBoardModule,
|
|
25
|
-
imports: [
|
|
26
|
-
exports: [
|
|
28
|
+
imports: [BullBoardRootModule.forRoot(options)],
|
|
29
|
+
exports: [BullBoardRootModule],
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
static forRootAsync(options: BullBoardModuleAsyncOptions): DynamicModule {
|
|
31
34
|
return {
|
|
32
35
|
module: BullBoardModule,
|
|
33
|
-
imports: [
|
|
34
|
-
exports: [
|
|
35
|
-
}
|
|
36
|
+
imports: [BullBoardRootModule.forRootAsync(options)],
|
|
37
|
+
exports: [BullBoardRootModule],
|
|
38
|
+
};
|
|
36
39
|
}
|
|
37
|
-
}
|
|
40
|
+
}
|
|
@@ -1,20 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { createBullBoard } from '@bull-board/api';
|
|
2
|
+
import {
|
|
3
|
+
DynamicModule,
|
|
4
|
+
Inject,
|
|
5
|
+
MiddlewareConsumer,
|
|
6
|
+
Module,
|
|
7
|
+
NestModule,
|
|
8
|
+
Provider,
|
|
9
|
+
} from '@nestjs/common';
|
|
10
|
+
import { ApplicationConfig, HttpAdapterHost } from '@nestjs/core';
|
|
11
|
+
import {
|
|
12
|
+
BULL_BOARD_ADAPTER,
|
|
13
|
+
BULL_BOARD_INSTANCE,
|
|
14
|
+
BULL_BOARD_OPTIONS,
|
|
15
|
+
} from './bull-board.constants';
|
|
16
|
+
import {
|
|
17
|
+
BullBoardModuleAsyncOptions,
|
|
18
|
+
BullBoardModuleOptions,
|
|
19
|
+
BullBoardServerAdapter,
|
|
20
|
+
} from './bull-board.types';
|
|
21
|
+
import { isExpressAdapter, isFastifyAdapter } from './bull-board.util';
|
|
7
22
|
|
|
8
23
|
@Module({})
|
|
9
24
|
export class BullBoardRootModule implements NestModule {
|
|
10
|
-
|
|
11
25
|
constructor(
|
|
12
26
|
private readonly adapterHost: HttpAdapterHost,
|
|
13
27
|
private readonly applicationConfig: ApplicationConfig,
|
|
14
28
|
@Inject(BULL_BOARD_ADAPTER) private readonly adapter: BullBoardServerAdapter,
|
|
15
29
|
@Inject(BULL_BOARD_OPTIONS) private readonly options: BullBoardModuleOptions
|
|
16
|
-
) {
|
|
17
|
-
}
|
|
30
|
+
) {}
|
|
18
31
|
|
|
19
32
|
configure(consumer: MiddlewareConsumer): any {
|
|
20
33
|
const addForwardSlash = (path: string) => {
|
|
@@ -25,16 +38,15 @@ export class BullBoardRootModule implements NestModule {
|
|
|
25
38
|
const prefixOptions = this.applicationConfig.getGlobalPrefixOptions();
|
|
26
39
|
if (!prefixOptions?.exclude) return false;
|
|
27
40
|
|
|
28
|
-
return prefixOptions.exclude.some(exclusion => {
|
|
41
|
+
return prefixOptions.exclude.some((exclusion) => {
|
|
29
42
|
const routePath = addForwardSlash(this.options.route);
|
|
30
43
|
return exclusion.pathRegex.test(routePath);
|
|
31
44
|
});
|
|
32
45
|
};
|
|
33
46
|
|
|
34
|
-
const prefix =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
: addForwardSlash(this.applicationConfig.getGlobalPrefix() + this.options.route);
|
|
47
|
+
const prefix = shouldBypassGlobalPrefix()
|
|
48
|
+
? addForwardSlash(this.options.route)
|
|
49
|
+
: addForwardSlash(this.applicationConfig.getGlobalPrefix() + this.options.route);
|
|
38
50
|
|
|
39
51
|
this.adapter.setBasePath(prefix);
|
|
40
52
|
|
|
@@ -49,9 +61,7 @@ export class BullBoardRootModule implements NestModule {
|
|
|
49
61
|
.getInstance()
|
|
50
62
|
.register(this.adapter.registerPlugin(), { prefix });
|
|
51
63
|
|
|
52
|
-
return consumer
|
|
53
|
-
.apply(this.options.middleware)
|
|
54
|
-
.forRoutes(this.options.route);
|
|
64
|
+
return consumer.apply(this.options.middleware).forRoutes(this.options.route);
|
|
55
65
|
}
|
|
56
66
|
}
|
|
57
67
|
|
|
@@ -60,77 +70,63 @@ export class BullBoardRootModule implements NestModule {
|
|
|
60
70
|
|
|
61
71
|
const bullBoardProvider: Provider = {
|
|
62
72
|
provide: BULL_BOARD_INSTANCE,
|
|
63
|
-
useFactory: () =>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
73
|
+
useFactory: () =>
|
|
74
|
+
createBullBoard({
|
|
75
|
+
queues: [],
|
|
76
|
+
serverAdapter: serverAdapter,
|
|
77
|
+
options: options.boardOptions,
|
|
78
|
+
}),
|
|
68
79
|
};
|
|
69
80
|
|
|
70
81
|
const serverAdapterProvider: Provider = {
|
|
71
82
|
provide: BULL_BOARD_ADAPTER,
|
|
72
|
-
useFactory: () => serverAdapter
|
|
83
|
+
useFactory: () => serverAdapter,
|
|
73
84
|
};
|
|
74
85
|
|
|
75
86
|
const optionsProvider: Provider = {
|
|
76
87
|
provide: BULL_BOARD_OPTIONS,
|
|
77
|
-
useValue: options
|
|
88
|
+
useValue: options,
|
|
78
89
|
};
|
|
79
90
|
|
|
80
91
|
return {
|
|
81
92
|
module: BullBoardRootModule,
|
|
82
93
|
global: true,
|
|
83
94
|
imports: [],
|
|
84
|
-
providers: [
|
|
85
|
-
|
|
86
|
-
optionsProvider,
|
|
87
|
-
bullBoardProvider
|
|
88
|
-
],
|
|
89
|
-
exports: [
|
|
90
|
-
serverAdapterProvider,
|
|
91
|
-
bullBoardProvider,
|
|
92
|
-
optionsProvider
|
|
93
|
-
],
|
|
95
|
+
providers: [serverAdapterProvider, optionsProvider, bullBoardProvider],
|
|
96
|
+
exports: [serverAdapterProvider, bullBoardProvider, optionsProvider],
|
|
94
97
|
};
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
static forRootAsync(options: BullBoardModuleAsyncOptions): DynamicModule {
|
|
98
101
|
const bullBoardProvider: Provider = {
|
|
99
102
|
provide: BULL_BOARD_INSTANCE,
|
|
100
|
-
useFactory: (options: BullBoardModuleOptions, adapter: BullBoardServerAdapter) =>
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
useFactory: (options: BullBoardModuleOptions, adapter: BullBoardServerAdapter) =>
|
|
104
|
+
createBullBoard({
|
|
105
|
+
queues: [],
|
|
106
|
+
serverAdapter: adapter,
|
|
107
|
+
options: options.boardOptions,
|
|
108
|
+
}),
|
|
109
|
+
inject: [BULL_BOARD_OPTIONS, BULL_BOARD_ADAPTER],
|
|
106
110
|
};
|
|
107
111
|
|
|
108
112
|
const serverAdapterProvider: Provider = {
|
|
109
113
|
provide: BULL_BOARD_ADAPTER,
|
|
110
114
|
useFactory: (options: BullBoardModuleOptions) => new options.adapter(),
|
|
111
|
-
inject: [BULL_BOARD_OPTIONS]
|
|
115
|
+
inject: [BULL_BOARD_OPTIONS],
|
|
112
116
|
};
|
|
113
117
|
|
|
114
118
|
const optionsProvider: Provider = {
|
|
115
119
|
provide: BULL_BOARD_OPTIONS,
|
|
116
120
|
useFactory: options.useFactory,
|
|
117
|
-
inject: options.inject
|
|
118
|
-
}
|
|
121
|
+
inject: options.inject,
|
|
122
|
+
};
|
|
119
123
|
|
|
120
124
|
return {
|
|
121
125
|
module: BullBoardRootModule,
|
|
122
126
|
global: true,
|
|
123
127
|
imports: options.imports,
|
|
124
|
-
providers: [
|
|
125
|
-
|
|
126
|
-
optionsProvider,
|
|
127
|
-
bullBoardProvider
|
|
128
|
-
],
|
|
129
|
-
exports: [
|
|
130
|
-
serverAdapterProvider,
|
|
131
|
-
bullBoardProvider,
|
|
132
|
-
optionsProvider
|
|
133
|
-
],
|
|
128
|
+
providers: [serverAdapterProvider, optionsProvider, bullBoardProvider],
|
|
129
|
+
exports: [serverAdapterProvider, bullBoardProvider, optionsProvider],
|
|
134
130
|
};
|
|
135
131
|
}
|
|
136
|
-
}
|
|
132
|
+
}
|
package/src/bull-board.types.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createBullBoard } from '@bull-board/api';
|
|
2
|
+
import type { BaseAdapter } from '@bull-board/api/baseAdapter';
|
|
2
3
|
import type {
|
|
3
4
|
BoardOptions,
|
|
4
5
|
IServerAdapter,
|
|
5
6
|
QueueAdapterOptions,
|
|
6
7
|
} from '@bull-board/api/typings/app';
|
|
7
|
-
import type { BaseAdapter } from '@bull-board/api/baseAdapter';
|
|
8
8
|
import type { InjectionToken, ModuleMetadata, OptionalFactoryDependency } from '@nestjs/common';
|
|
9
9
|
|
|
10
10
|
export type BullBoardInstance = ReturnType<typeof createBullBoard>;
|
package/src/bull-board.util.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BullBoardExpressAdapter,
|
|
3
|
-
BullBoardFastifyAdapter,
|
|
4
|
-
|
|
3
|
+
BullBoardFastifyAdapter,
|
|
4
|
+
BullBoardServerAdapter,
|
|
5
|
+
} from './bull-board.types';
|
|
5
6
|
|
|
6
|
-
export const isFastifyAdapter = (
|
|
7
|
+
export const isFastifyAdapter = (
|
|
8
|
+
adapter: BullBoardServerAdapter
|
|
9
|
+
): adapter is BullBoardFastifyAdapter => {
|
|
7
10
|
return 'registerPlugin' in adapter;
|
|
8
|
-
}
|
|
11
|
+
};
|
|
9
12
|
|
|
10
|
-
export const isExpressAdapter = (
|
|
13
|
+
export const isExpressAdapter = (
|
|
14
|
+
adapter: BullBoardServerAdapter
|
|
15
|
+
): adapter is BullBoardExpressAdapter => {
|
|
11
16
|
return 'getRouter' in adapter;
|
|
12
|
-
}
|
|
17
|
+
};
|
package/src/index.ts
CHANGED