nestlens 0.4.1 → 0.4.2

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.
Files changed (80) hide show
  1. package/README.md +1 -1
  2. package/dist/__tests__/api/dashboard.controller.spec.js +103 -419
  3. package/dist/__tests__/api/dashboard.controller.spec.js.map +1 -1
  4. package/dist/__tests__/docs-consistency.spec.d.ts +2 -0
  5. package/dist/__tests__/docs-consistency.spec.d.ts.map +1 -0
  6. package/dist/__tests__/docs-consistency.spec.js +74 -0
  7. package/dist/__tests__/docs-consistency.spec.js.map +1 -0
  8. package/dist/__tests__/integration/adapter-compat.integration.spec.d.ts +2 -0
  9. package/dist/__tests__/integration/adapter-compat.integration.spec.d.ts.map +1 -0
  10. package/dist/__tests__/integration/adapter-compat.integration.spec.js +139 -0
  11. package/dist/__tests__/integration/adapter-compat.integration.spec.js.map +1 -0
  12. package/dist/__tests__/integration/schedule-watcher.integration.spec.d.ts +2 -0
  13. package/dist/__tests__/integration/schedule-watcher.integration.spec.d.ts.map +1 -0
  14. package/dist/__tests__/integration/schedule-watcher.integration.spec.js +87 -0
  15. package/dist/__tests__/integration/schedule-watcher.integration.spec.js.map +1 -0
  16. package/dist/__tests__/integration/watcher-coexistence.integration.spec.d.ts +2 -0
  17. package/dist/__tests__/integration/watcher-coexistence.integration.spec.d.ts.map +1 -0
  18. package/dist/__tests__/integration/watcher-coexistence.integration.spec.js +88 -0
  19. package/dist/__tests__/integration/watcher-coexistence.integration.spec.js.map +1 -0
  20. package/dist/__tests__/watchers/exception.watcher.spec.js +10 -0
  21. package/dist/__tests__/watchers/exception.watcher.spec.js.map +1 -1
  22. package/dist/__tests__/watchers/request.watcher.spec.js +30 -0
  23. package/dist/__tests__/watchers/request.watcher.spec.js.map +1 -1
  24. package/dist/__tests__/watchers/schedule.watcher.spec.js +32 -27
  25. package/dist/__tests__/watchers/schedule.watcher.spec.js.map +1 -1
  26. package/dist/api/dashboard.controller.d.ts +51 -43
  27. package/dist/api/dashboard.controller.d.ts.map +1 -1
  28. package/dist/api/dashboard.controller.js +222 -248
  29. package/dist/api/dashboard.controller.js.map +1 -1
  30. package/dist/api/filters/api-exception.filter.d.ts +3 -0
  31. package/dist/api/filters/api-exception.filter.d.ts.map +1 -1
  32. package/dist/api/filters/api-exception.filter.js +9 -3
  33. package/dist/api/filters/api-exception.filter.js.map +1 -1
  34. package/dist/dashboard/public/assets/{BatchesPage-DrFl64wj.js → BatchesPage-BqqMGRhb.js} +1 -1
  35. package/dist/dashboard/public/assets/{CachePage-C57Pkxm0.js → CachePage-4XesQGrB.js} +1 -1
  36. package/dist/dashboard/public/assets/{ClickableBadge-BNUq-FXI.js → ClickableBadge-CULXhkUR.js} +1 -1
  37. package/dist/dashboard/public/assets/{CommandsPage-BdD-ojDk.js → CommandsPage-qA9zZJLY.js} +1 -1
  38. package/dist/dashboard/public/assets/{DashboardPage-DCophLiw.js → DashboardPage-6gpSO6p8.js} +1 -1
  39. package/dist/dashboard/public/assets/{DumpsPage-DtXeYPpQ.js → DumpsPage-BJUH8RX8.js} +1 -1
  40. package/dist/dashboard/public/assets/{EntryDetailPage-qlWzdnXs.js → EntryDetailPage-BybD_jd2.js} +1 -1
  41. package/dist/dashboard/public/assets/{EventsPage-BHpLjHZj.js → EventsPage-Bk5E2ZLC.js} +1 -1
  42. package/dist/dashboard/public/assets/{ExceptionsPage-Ww3jIO29.js → ExceptionsPage-eCyE84NP.js} +1 -1
  43. package/dist/dashboard/public/assets/{GatesPage-beRehq6b.js → GatesPage-CE9Sa3BN.js} +1 -1
  44. package/dist/dashboard/public/assets/{GraphQLPage-BZt0nDmS.js → GraphQLPage-B2XmilbU.js} +1 -1
  45. package/dist/dashboard/public/assets/{HttpClientPage-Dac8U41f.js → HttpClientPage-DMdyMJmo.js} +1 -1
  46. package/dist/dashboard/public/assets/{JobsPage-zLQH5Skv.js → JobsPage-Cza23TpJ.js} +1 -1
  47. package/dist/dashboard/public/assets/{LogsPage-Dj7YEZlz.js → LogsPage-BfFjxmzL.js} +1 -1
  48. package/dist/dashboard/public/assets/{MailPage-C45lv85q.js → MailPage-C7qOueDJ.js} +1 -1
  49. package/dist/dashboard/public/assets/{ModelsPage-CveFVTw3.js → ModelsPage-CdnaDoYH.js} +1 -1
  50. package/dist/dashboard/public/assets/{NotificationsPage-CVAGh1SG.js → NotificationsPage-t0AlQJeY.js} +1 -1
  51. package/dist/dashboard/public/assets/{PageHeader-BhUyZtbe.js → PageHeader-CcbxBdii.js} +1 -1
  52. package/dist/dashboard/public/assets/{QueriesPage-BMpvUeTX.js → QueriesPage-Da9Zl09P.js} +1 -1
  53. package/dist/dashboard/public/assets/{RedisPage-FPrKgNrc.js → RedisPage-C8Elpfq1.js} +1 -1
  54. package/dist/dashboard/public/assets/{RequestsPage-6JVqr7xE.js → RequestsPage-Bobnh4sB.js} +1 -1
  55. package/dist/dashboard/public/assets/{SchedulePage-DOt6jqTT.js → SchedulePage-vBUwBEW5.js} +1 -1
  56. package/dist/dashboard/public/assets/{ViewsPage-RG6Ze2rn.js → ViewsPage-DO70tKip.js} +1 -1
  57. package/dist/dashboard/public/assets/{calendar-CEjtgImi.js → calendar-36iGdS4K.js} +1 -1
  58. package/dist/dashboard/public/assets/{circle-check-big-BnRBDUDo.js → circle-check-big--KQSq_oR.js} +1 -1
  59. package/dist/dashboard/public/assets/{eye-tfj-u8EL.js → eye-B9uY1FJW.js} +1 -1
  60. package/dist/dashboard/public/assets/{index-OMQZjJAo.js → index-C1yiPBCx.js} +2 -2
  61. package/dist/dashboard/public/assets/{types-Cubd9hBF.js → types-DM4HdBI5.js} +1 -1
  62. package/dist/dashboard/public/assets/{zap-Bh7DgMLC.js → zap-ChtSEZU9.js} +1 -1
  63. package/dist/dashboard/public/index.html +1 -1
  64. package/dist/nestlens.module.d.ts.map +1 -1
  65. package/dist/nestlens.module.js +20 -2
  66. package/dist/nestlens.module.js.map +1 -1
  67. package/dist/watchers/exception.watcher.d.ts +5 -2
  68. package/dist/watchers/exception.watcher.d.ts.map +1 -1
  69. package/dist/watchers/exception.watcher.js +22 -10
  70. package/dist/watchers/exception.watcher.js.map +1 -1
  71. package/dist/watchers/graphql/graphql.watcher.d.ts +1 -1
  72. package/dist/watchers/request.watcher.d.ts +4 -1
  73. package/dist/watchers/request.watcher.d.ts.map +1 -1
  74. package/dist/watchers/request.watcher.js +24 -8
  75. package/dist/watchers/request.watcher.js.map +1 -1
  76. package/dist/watchers/schedule.watcher.d.ts +8 -8
  77. package/dist/watchers/schedule.watcher.d.ts.map +1 -1
  78. package/dist/watchers/schedule.watcher.js +30 -13
  79. package/dist/watchers/schedule.watcher.js.map +1 -1
  80. package/package.json +6 -2
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Documentation consistency guard.
5
+ *
6
+ * The docs drifted from the code in the past (e.g. "18 watchers" while the code
7
+ * had 19, "SQLite by default" while the default is in-memory). This test ties the
8
+ * drift-prone, code-derivable facts back to the source of truth so the docs cannot
9
+ * silently fall out of sync again — if someone adds a watcher or changes a default,
10
+ * this test fails until the docs are updated.
11
+ */
12
+ const fs_1 = require("fs");
13
+ const path_1 = require("path");
14
+ const nestlens_config_1 = require("../nestlens.config");
15
+ const REPO_ROOT = (0, path_1.join)(__dirname, '..', '..');
16
+ const docsDir = (0, path_1.join)(REPO_ROOT, 'docs', 'docs');
17
+ function readDoc(relPath) {
18
+ const full = (0, path_1.join)(docsDir, relPath);
19
+ return (0, fs_1.readFileSync)(full, 'utf8');
20
+ }
21
+ describe('Documentation consistency with code', () => {
22
+ // The canonical watcher set, derived from the code (not hard-coded here).
23
+ const watcherKeys = Object.keys(nestlens_config_1.DEFAULT_CONFIG.watchers ?? {});
24
+ const watcherCount = watcherKeys.length;
25
+ it('has a non-trivial, code-derived watcher count', () => {
26
+ // Sanity: guards against an empty/partial DEFAULT_CONFIG breaking the asserts below.
27
+ expect(watcherCount).toBeGreaterThanOrEqual(19);
28
+ });
29
+ describe('watcher count is documented correctly', () => {
30
+ it('intro.md states the correct watcher count and not the old "18"', () => {
31
+ const intro = readDoc('intro.md');
32
+ expect(intro).toContain(`${watcherCount} watchers`);
33
+ expect(intro).not.toMatch(/18 watchers/);
34
+ });
35
+ it('basic-config.md lists every watcher key from the code', () => {
36
+ const basicConfig = readDoc('configuration/basic-config.md');
37
+ const missing = watcherKeys.filter((key) => !basicConfig.includes(`${key}:`));
38
+ expect(missing).toEqual([]);
39
+ });
40
+ });
41
+ describe('default storage driver is documented correctly', () => {
42
+ it("the code default is 'memory'", () => {
43
+ expect(nestlens_config_1.DEFAULT_CONFIG.storage?.driver).toBe('memory');
44
+ });
45
+ it('watchers/overview.md does not claim SQLite is the default', () => {
46
+ const overview = readDoc('watchers/overview.md');
47
+ expect(overview).not.toMatch(/SQLite by default/i);
48
+ });
49
+ });
50
+ describe('rate limiting default is documented correctly', () => {
51
+ it('the code default is disabled (false)', () => {
52
+ expect(nestlens_config_1.DEFAULT_CONFIG.rateLimit).toBe(false);
53
+ });
54
+ });
55
+ describe('no stale numbers linger', () => {
56
+ it('the old hard-coded test count is gone from intro.md', () => {
57
+ const intro = readDoc('intro.md');
58
+ expect(intro).not.toMatch(/1,312 tests/);
59
+ });
60
+ });
61
+ describe('referenced docs exist', () => {
62
+ it.each([
63
+ 'getting-started/installation.md',
64
+ 'configuration/basic-config.md',
65
+ 'watchers/overview.md',
66
+ 'watchers/schedule.md',
67
+ 'dashboard/keyboard-shortcuts.md',
68
+ 'dashboard/navigation.md',
69
+ ])('%s exists', (relPath) => {
70
+ expect((0, fs_1.existsSync)((0, path_1.join)(docsDir, relPath))).toBe(true);
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=docs-consistency.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-consistency.spec.js","sourceRoot":"","sources":["../../src/__tests__/docs-consistency.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapter-compat.integration.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-compat.integration.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/adapter-compat.integration.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /**
16
+ * Adapter compatibility integration tests.
17
+ *
18
+ * Boots a real NestJS application on BOTH the Express and Fastify adapters and
19
+ * exercises the NestLens request interceptor, exception filter and dashboard
20
+ * controller over real HTTP. This is the regression guard for issue #8
21
+ * ("Not working with Fastify adapter": `response.status(...).json is not a function`).
22
+ */
23
+ const common_1 = require("@nestjs/common");
24
+ const core_1 = require("@nestjs/core");
25
+ const platform_express_1 = require("@nestjs/platform-express");
26
+ const platform_fastify_1 = require("@nestjs/platform-fastify");
27
+ const path_1 = require("path");
28
+ const fs_1 = require("fs");
29
+ const supertest_1 = __importDefault(require("supertest"));
30
+ const nestlens_module_1 = require("../../nestlens.module");
31
+ const dashboard_controller_1 = require("../../api/dashboard.controller");
32
+ const request_watcher_1 = require("../../watchers/request.watcher");
33
+ let TestController = class TestController {
34
+ ok() {
35
+ return { ok: true };
36
+ }
37
+ httpError() {
38
+ throw new common_1.HttpException({ statusCode: common_1.HttpStatus.I_AM_A_TEAPOT, message: 'teapot', error: "I'm a teapot" }, common_1.HttpStatus.I_AM_A_TEAPOT);
39
+ }
40
+ genericError() {
41
+ throw new Error('boom');
42
+ }
43
+ };
44
+ __decorate([
45
+ (0, common_1.Get)('ok'),
46
+ __metadata("design:type", Function),
47
+ __metadata("design:paramtypes", []),
48
+ __metadata("design:returntype", Object)
49
+ ], TestController.prototype, "ok", null);
50
+ __decorate([
51
+ (0, common_1.Get)('http-error'),
52
+ __metadata("design:type", Function),
53
+ __metadata("design:paramtypes", []),
54
+ __metadata("design:returntype", void 0)
55
+ ], TestController.prototype, "httpError", null);
56
+ __decorate([
57
+ (0, common_1.Get)('generic-error'),
58
+ __metadata("design:type", Function),
59
+ __metadata("design:paramtypes", []),
60
+ __metadata("design:returntype", void 0)
61
+ ], TestController.prototype, "genericError", null);
62
+ TestController = __decorate([
63
+ (0, common_1.Controller)('test')
64
+ ], TestController);
65
+ let AppModule = class AppModule {
66
+ };
67
+ AppModule = __decorate([
68
+ (0, common_1.Module)({
69
+ imports: [nestlens_module_1.NestLensModule.forRoot({ watchers: { request: true, exception: true } })],
70
+ controllers: [TestController],
71
+ })
72
+ ], AppModule);
73
+ const realDashboardPublic = (0, path_1.join)(process.cwd(), 'dist', 'dashboard', 'public');
74
+ const hasBuiltDashboard = (0, fs_1.existsSync)((0, path_1.join)(realDashboardPublic, 'index.html'));
75
+ async function createApp(adapter) {
76
+ const app = adapter === 'Fastify'
77
+ ? await core_1.NestFactory.create(AppModule, new platform_fastify_1.FastifyAdapter(), {
78
+ logger: false,
79
+ })
80
+ : await core_1.NestFactory.create(AppModule, new platform_express_1.ExpressAdapter(), { logger: false });
81
+ // Point the dashboard controller at the actually-built static assets.
82
+ const dashboard = app.get(dashboard_controller_1.DashboardController);
83
+ dashboard.dashboardPath = realDashboardPublic;
84
+ await app.init();
85
+ if (adapter === 'Fastify') {
86
+ await app.getHttpAdapter().getInstance().ready();
87
+ }
88
+ return app;
89
+ }
90
+ describe.each(['Express', 'Fastify'])('NestLens on %s adapter', (adapter) => {
91
+ let app;
92
+ let server;
93
+ beforeAll(async () => {
94
+ app = await createApp(adapter);
95
+ server = app.getHttpServer();
96
+ });
97
+ afterAll(async () => {
98
+ await app.close();
99
+ });
100
+ describe('RequestWatcher', () => {
101
+ it('responds 200 and attaches the request id header (adapter-agnostic setHeader)', async () => {
102
+ const res = await (0, supertest_1.default)(server).get('/test/ok');
103
+ expect(res.status).toBe(200);
104
+ expect(res.body).toEqual({ ok: true });
105
+ expect(res.headers[request_watcher_1.REQUEST_ID_HEADER]).toBeDefined();
106
+ });
107
+ });
108
+ describe('ExceptionWatcher', () => {
109
+ it('returns the HttpException as JSON (no "json is not a function")', async () => {
110
+ const res = await (0, supertest_1.default)(server).get('/test/http-error');
111
+ expect(res.status).toBe(common_1.HttpStatus.I_AM_A_TEAPOT);
112
+ expect(res.body).toMatchObject({ message: 'teapot' });
113
+ });
114
+ it('returns generic errors as a 500 JSON payload', async () => {
115
+ const res = await (0, supertest_1.default)(server).get('/test/generic-error');
116
+ expect(res.status).toBe(common_1.HttpStatus.INTERNAL_SERVER_ERROR);
117
+ expect(res.body).toMatchObject({ statusCode: 500 });
118
+ });
119
+ });
120
+ describe('DashboardController', () => {
121
+ const maybe = hasBuiltDashboard ? it : it.skip;
122
+ maybe('serves index.html as text/html on the dashboard root (StreamableFile)', async () => {
123
+ const res = await (0, supertest_1.default)(server).get('/nestlens');
124
+ expect(res.status).toBe(200);
125
+ expect(res.headers['content-type']).toContain('text/html');
126
+ expect(res.text).toContain('<');
127
+ });
128
+ maybe('serves a SPA route as index.html', async () => {
129
+ const res = await (0, supertest_1.default)(server).get('/nestlens/requests');
130
+ expect(res.status).toBe(200);
131
+ expect(res.headers['content-type']).toContain('text/html');
132
+ });
133
+ maybe('returns 404 for a missing asset (NotFoundException)', async () => {
134
+ const res = await (0, supertest_1.default)(server).get('/nestlens/assets/does-not-exist.js');
135
+ expect(res.status).toBe(404);
136
+ });
137
+ });
138
+ });
139
+ //# sourceMappingURL=adapter-compat.integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-compat.integration.spec.js","sourceRoot":"","sources":["../../../src/__tests__/integration/adapter-compat.integration.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schedule-watcher.integration.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-watcher.integration.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/schedule-watcher.integration.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * ScheduleWatcher integration test.
14
+ *
15
+ * Boots a real NestJS application with `@nestjs/schedule` configured and a real
16
+ * `@Cron` job, then verifies the watcher discovers the SchedulerRegistry through
17
+ * DiscoveryService at bootstrap. Regression guard for issue #7
18
+ * ("ScheduleWatcher cannot detect SchedulerRegistry").
19
+ */
20
+ const common_1 = require("@nestjs/common");
21
+ const core_1 = require("@nestjs/core");
22
+ const schedule_1 = require("@nestjs/schedule");
23
+ const nestlens_module_1 = require("../../nestlens.module");
24
+ const schedule_watcher_1 = require("../../watchers/schedule.watcher");
25
+ const collector_service_1 = require("../../core/collector.service");
26
+ const CRON_NAME = 'integration-test-cron';
27
+ let CronService = class CronService {
28
+ // Runs on Jan 1st only, so it never auto-fires during the test run.
29
+ handle() {
30
+ // no-op
31
+ }
32
+ };
33
+ __decorate([
34
+ (0, schedule_1.Cron)('0 0 1 1 *', { name: CRON_NAME }),
35
+ __metadata("design:type", Function),
36
+ __metadata("design:paramtypes", []),
37
+ __metadata("design:returntype", void 0)
38
+ ], CronService.prototype, "handle", null);
39
+ CronService = __decorate([
40
+ (0, common_1.Injectable)()
41
+ ], CronService);
42
+ let ScheduleAppModule = class ScheduleAppModule {
43
+ };
44
+ ScheduleAppModule = __decorate([
45
+ (0, common_1.Module)({
46
+ imports: [
47
+ schedule_1.ScheduleModule.forRoot(),
48
+ nestlens_module_1.NestLensModule.forRoot({ watchers: { schedule: true, request: false, exception: false } }),
49
+ ],
50
+ providers: [CronService],
51
+ })
52
+ ], ScheduleAppModule);
53
+ describe('ScheduleWatcher integration (@nestjs/schedule)', () => {
54
+ it('discovers the SchedulerRegistry and wraps the registered cron job', async () => {
55
+ const app = await core_1.NestFactory.create(ScheduleAppModule, { logger: false });
56
+ await app.init();
57
+ try {
58
+ const watcher = app.get(schedule_watcher_1.ScheduleWatcher);
59
+ // The registry was found (the bug was that it stayed undefined).
60
+ expect(watcher.schedulerRegistry).toBeDefined();
61
+ // ...and the live cron job was wrapped for tracking.
62
+ expect(watcher.wrappedJobs.has(CRON_NAME)).toBe(true);
63
+ }
64
+ finally {
65
+ await app.close();
66
+ }
67
+ });
68
+ it('collects a schedule entry when the wrapped cron job fires', async () => {
69
+ const app = await core_1.NestFactory.create(ScheduleAppModule, { logger: false });
70
+ await app.init();
71
+ try {
72
+ const collector = app.get(collector_service_1.CollectorService);
73
+ const collectSpy = jest.spyOn(collector, 'collect');
74
+ const registry = app.get(schedule_1.SchedulerRegistry);
75
+ const job = registry.getCronJobs().get(CRON_NAME);
76
+ expect(job).toBeDefined();
77
+ // Fire the (wrapped) job and assert the watcher recorded it.
78
+ await job.fireOnTick();
79
+ expect(collectSpy).toHaveBeenCalledWith('schedule', expect.objectContaining({ name: CRON_NAME, status: 'started' }));
80
+ expect(collectSpy).toHaveBeenCalledWith('schedule', expect.objectContaining({ name: CRON_NAME, status: 'completed' }));
81
+ }
82
+ finally {
83
+ await app.close();
84
+ }
85
+ });
86
+ });
87
+ //# sourceMappingURL=schedule-watcher.integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-watcher.integration.spec.js","sourceRoot":"","sources":["../../../src/__tests__/integration/schedule-watcher.integration.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=watcher-coexistence.integration.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher-coexistence.integration.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/watcher-coexistence.integration.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * Watcher coexistence integration test.
14
+ *
15
+ * Boots a single NestJS application with several watchers enabled at once —
16
+ * including the two that rely on `DiscoveryService` (Query for TypeORM/Prisma,
17
+ * Schedule for @nestjs/schedule) — and proves they initialize together without
18
+ * interfering with each other. This is the cross-feature evidence for running
19
+ * the schedule watcher alongside the query (ORM) watcher in the same process.
20
+ */
21
+ const common_1 = require("@nestjs/common");
22
+ const core_1 = require("@nestjs/core");
23
+ const schedule_1 = require("@nestjs/schedule");
24
+ const nestlens_module_1 = require("../../nestlens.module");
25
+ const schedule_watcher_1 = require("../../watchers/schedule.watcher");
26
+ const query_watcher_1 = require("../../watchers/query/query.watcher");
27
+ const request_watcher_1 = require("../../watchers/request.watcher");
28
+ const CRON_NAME = 'coexistence-cron';
29
+ let CronService = class CronService {
30
+ handle() {
31
+ // no-op; never auto-fires during the test
32
+ }
33
+ };
34
+ __decorate([
35
+ (0, schedule_1.Cron)('0 0 1 1 *', { name: CRON_NAME }),
36
+ __metadata("design:type", Function),
37
+ __metadata("design:paramtypes", []),
38
+ __metadata("design:returntype", void 0)
39
+ ], CronService.prototype, "handle", null);
40
+ CronService = __decorate([
41
+ (0, common_1.Injectable)()
42
+ ], CronService);
43
+ let CoexistenceAppModule = class CoexistenceAppModule {
44
+ };
45
+ CoexistenceAppModule = __decorate([
46
+ (0, common_1.Module)({
47
+ imports: [
48
+ schedule_1.ScheduleModule.forRoot(),
49
+ nestlens_module_1.NestLensModule.forRoot({
50
+ // Query (ORM) + Schedule both use DiscoveryService; enable several watchers together.
51
+ watchers: {
52
+ request: true,
53
+ query: true,
54
+ exception: true,
55
+ schedule: true,
56
+ event: true,
57
+ cache: true,
58
+ },
59
+ }),
60
+ ],
61
+ providers: [CronService],
62
+ })
63
+ ], CoexistenceAppModule);
64
+ describe('Watcher coexistence (Schedule + Query/ORM + others in one app)', () => {
65
+ it('initializes all watchers together and the Schedule watcher still finds the registry', async () => {
66
+ const app = await core_1.NestFactory.create(CoexistenceAppModule, { logger: false });
67
+ await app.init();
68
+ try {
69
+ // Both DiscoveryService-based watchers resolve and coexist.
70
+ const scheduleWatcher = app.get(schedule_watcher_1.ScheduleWatcher);
71
+ const queryWatcher = app.get(query_watcher_1.QueryWatcher);
72
+ const requestWatcher = app.get(request_watcher_1.RequestWatcher);
73
+ expect(queryWatcher).toBeDefined();
74
+ expect(requestWatcher).toBeDefined();
75
+ // Schedule watcher discovered the registry despite the Query watcher also
76
+ // scanning providers via DiscoveryService at bootstrap.
77
+ expect(scheduleWatcher.schedulerRegistry).toBeDefined();
78
+ expect(scheduleWatcher.wrappedJobs.has(CRON_NAME)).toBe(true);
79
+ // The cron job is registered and intact.
80
+ const registry = app.get(schedule_1.SchedulerRegistry);
81
+ expect(registry.getCronJobs().has(CRON_NAME)).toBe(true);
82
+ }
83
+ finally {
84
+ await app.close();
85
+ }
86
+ });
87
+ });
88
+ //# sourceMappingURL=watcher-coexistence.integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher-coexistence.integration.spec.js","sourceRoot":"","sources":["../../../src/__tests__/integration/watcher-coexistence.integration.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,2CAAoD;AACpD,uCAA2C;AAC3C,+CAA2E;AAC3E,2DAAuD;AACvD,sEAAkE;AAClE,sEAAkE;AAClE,oEAAgE;AAEhE,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAGrC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEf,MAAM;QACJ,0CAA0C;IAC5C,CAAC;CACF,CAAA;AAHC;IADC,IAAA,eAAI,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;;;yCAGtC;AAJG,WAAW;IADhB,IAAA,mBAAU,GAAE;GACP,WAAW,CAKhB;AAmBD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oBAAoB;IAjBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,OAAO,EAAE;YACxB,gCAAc,CAAC,OAAO,CAAC;gBACrB,sFAAsF;gBACtF,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC;SACH;QACD,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB,CAAC;GACI,oBAAoB,CAAG;AAE7B,QAAQ,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC9E,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,IAAI,CAAC;YACH,4DAA4D;YAC5D,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,kCAAe,CAG9C,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,4BAAY,CAAC,CAAC;YAC3C,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,gCAAc,CAAC,CAAC;YAE/C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAErC,0EAA0E;YAC1E,wDAAwD;YACxD,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9D,yCAAyC;YACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,4BAAiB,CAAC,CAAC;YAC5C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  */
9
9
  const common_1 = require("@nestjs/common");
10
10
  const testing_1 = require("@nestjs/testing");
11
+ const core_1 = require("@nestjs/core");
11
12
  const collector_service_1 = require("../../core/collector.service");
12
13
  const nestlens_config_1 = require("../../nestlens.config");
13
14
  const exception_watcher_1 = require("../../watchers/exception.watcher");
@@ -45,6 +46,15 @@ describe('ExceptionWatcher', () => {
45
46
  exception_watcher_1.ExceptionWatcher,
46
47
  { provide: collector_service_1.CollectorService, useValue: mockCollector },
47
48
  { provide: nestlens_config_1.NESTLENS_CONFIG, useValue: config },
49
+ {
50
+ provide: core_1.HttpAdapterHost,
51
+ useValue: {
52
+ httpAdapter: {
53
+ // Mirror ExpressAdapter.reply: forward to the response mock.
54
+ reply: (res, body, status) => res.status(status).json(body),
55
+ },
56
+ },
57
+ },
48
58
  ],
49
59
  }).compile();
50
60
  return module.get(exception_watcher_1.ExceptionWatcher);
@@ -1 +1 @@
1
- {"version":3,"file":"exception.watcher.spec.js","sourceRoot":"","sources":["../../../src/__tests__/watchers/exception.watcher.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exception.watcher.spec.js","sourceRoot":"","sources":["../../../src/__tests__/watchers/exception.watcher.spec.ts"],"names":[],"mappings":"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"}