nestjs-profiler 1.0.24 → 1.0.26

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 (42) hide show
  1. package/README.md +167 -5
  2. package/collectors/event-collector.d.ts +18 -0
  3. package/collectors/event-collector.js +254 -0
  4. package/collectors/event-collector.js.map +1 -0
  5. package/common/profiler-options.interface.d.ts +8 -0
  6. package/common/profiler.model.d.ts +25 -0
  7. package/controllers/profiler.controller.d.ts +22 -1
  8. package/controllers/profiler.controller.js +161 -15
  9. package/controllers/profiler.controller.js.map +1 -1
  10. package/middleware/profiler-auth.middleware.d.ts +10 -0
  11. package/middleware/profiler-auth.middleware.js +110 -0
  12. package/middleware/profiler-auth.middleware.js.map +1 -0
  13. package/package.json +2 -2
  14. package/profiler.module.js +82 -0
  15. package/profiler.module.js.map +1 -1
  16. package/services/code-quality.service.d.ts +65 -0
  17. package/services/code-quality.service.js +216 -0
  18. package/services/code-quality.service.js.map +1 -0
  19. package/services/entity-explorer.service.d.ts +1 -1
  20. package/services/entity-explorer.service.js +7 -7
  21. package/services/entity-explorer.service.js.map +1 -1
  22. package/services/health.service.d.ts +59 -0
  23. package/services/health.service.js +190 -0
  24. package/services/health.service.js.map +1 -0
  25. package/services/profiler.service.d.ts +10 -1
  26. package/services/profiler.service.js +103 -35
  27. package/services/profiler.service.js.map +1 -1
  28. package/services/route-explorer.service.d.ts +23 -1
  29. package/services/route-explorer.service.js +136 -10
  30. package/services/route-explorer.service.js.map +1 -1
  31. package/services/template-builder.service.d.ts +3 -0
  32. package/services/template-builder.service.js +191 -84
  33. package/services/template-builder.service.js.map +1 -1
  34. package/services/view.service.d.ts +1 -1
  35. package/services/view.service.js +34 -23
  36. package/services/view.service.js.map +1 -1
  37. package/views/code-quality.html +573 -0
  38. package/views/events.html +763 -0
  39. package/views/health.html +468 -0
  40. package/views/layout.html +50 -10
  41. package/views/login.html +277 -0
  42. package/views/routes.html +405 -37
@@ -19,18 +19,33 @@ const view_service_1 = require("../services/view.service");
19
19
  const template_builder_service_1 = require("../services/template-builder.service");
20
20
  const entity_explorer_service_1 = require("../services/entity-explorer.service");
21
21
  const route_explorer_service_1 = require("../services/route-explorer.service");
22
+ const health_service_1 = require("../services/health.service");
23
+ const code_quality_service_1 = require("../services/code-quality.service");
24
+ const crypto_1 = require("crypto");
22
25
  let ProfilerController = class ProfilerController {
23
- constructor(profilerService, viewService, templateBuilder, entityExplorer, routeExplorer) {
26
+ constructor(profilerService, viewService, templateBuilder, entityExplorer, routeExplorer, healthService, codeQualityService, profilerOptions) {
24
27
  this.profilerService = profilerService;
25
28
  this.viewService = viewService;
26
29
  this.templateBuilder = templateBuilder;
27
30
  this.entityExplorer = entityExplorer;
28
31
  this.routeExplorer = routeExplorer;
32
+ this.healthService = healthService;
33
+ this.codeQualityService = codeQualityService;
34
+ this.profilerOptions = profilerOptions;
35
+ }
36
+ get authEnabled() {
37
+ return this.profilerOptions?.auth?.enabled === true;
38
+ }
39
+ renderLayout(title, content, activeTab) {
40
+ return this.viewService.renderWithLayout(title, content, activeTab, this.authEnabled);
29
41
  }
30
42
  async dashboard(res) {
43
+ res.redirect('/__profiler/view/summary');
44
+ }
45
+ async requestsList(res) {
31
46
  const profiles = await this.profilerService.getDashboardData();
32
47
  const content = this.templateBuilder.buildDashboard(profiles);
33
- const html = this.viewService.renderWithLayout('Requests', content, 'requests');
48
+ const html = this.renderLayout('Requests', content, 'requests');
34
49
  res.header('Content-Type', 'text/html');
35
50
  res.send(html);
36
51
  }
@@ -56,21 +71,53 @@ let ProfilerController = class ProfilerController {
56
71
  return {
57
72
  status: 'error',
58
73
  message: `Connection failed: ${e.message}`,
59
- tip: 'Pass correct credentials in URL: ?user=YOUR_USER&password=YOUR_PASS&database=YOUR_DB'
74
+ tip: 'Pass correct credentials in URL: ?user=YOUR_USER&password=YOUR_PASS&database=YOUR_DB',
60
75
  };
61
76
  }
62
77
  }
78
+ async loginPage(res, returnTo) {
79
+ const html = this.viewService.render('login', {
80
+ returnTo: returnTo || '/__profiler',
81
+ });
82
+ res.header('Content-Type', 'text/html');
83
+ res.send(html);
84
+ }
85
+ async apiLogin(res, body) {
86
+ const auth = this.profilerOptions?.auth;
87
+ if (!auth || auth.enabled === false) {
88
+ const expiresAt = Date.now() + 24 * 60 * 60 * 1000;
89
+ res.json({ token: 'no-auth', expiresAt });
90
+ return;
91
+ }
92
+ const { username = '', password = '' } = body;
93
+ if (username === auth.username && password === auth.password) {
94
+ const expiresAt = Date.now() + 24 * 60 * 60 * 1000;
95
+ const token = (0, crypto_1.createHmac)('sha256', auth.password)
96
+ .update(`${auth.username}:${expiresAt}`)
97
+ .digest('hex');
98
+ res.json({ token, expiresAt, username: auth.username });
99
+ }
100
+ else {
101
+ res.status(common_1.HttpStatus.UNAUTHORIZED).json({ error: 'Invalid username or password.' });
102
+ }
103
+ }
104
+ async logout(res) {
105
+ const html = `<!DOCTYPE html><html><head><title>Signing out…</title>
106
+ <script>try{localStorage.removeItem('__profiler_auth');}catch(e){}window.location.replace('/__profiler/login');</script>
107
+ </head><body></body></html>`;
108
+ res.header('Content-Type', 'text/html').send(html);
109
+ }
63
110
  async detail(id, res) {
64
111
  const profile = await this.profilerService.getProfileDetail(id);
65
112
  if (!profile) {
66
113
  const content = this.templateBuilder.buildNotFound(id);
67
- const html = this.viewService.renderWithLayout('Profile Not Found', content);
114
+ const html = this.renderLayout('Profile Not Found', content);
68
115
  res.header('Content-Type', 'text/html');
69
116
  res.status(common_1.HttpStatus.NOT_FOUND).send(html);
70
117
  return;
71
118
  }
72
119
  const content = this.templateBuilder.buildDetail(profile);
73
- const html = this.viewService.renderWithLayout(`Request ${profile.id}`, content);
120
+ const html = this.renderLayout(`Request ${profile.id}`, content);
74
121
  res.header('Content-Type', 'text/html');
75
122
  res.send(html);
76
123
  }
@@ -83,54 +130,78 @@ let ProfilerController = class ProfilerController {
83
130
  async summary(res) {
84
131
  const stats = await this.profilerService.getSummaryStats();
85
132
  const content = this.templateBuilder.buildSummaryPage(stats);
86
- const html = this.viewService.renderWithLayout('Summary', content, 'summary');
133
+ const html = this.renderLayout('Summary', content, 'summary');
87
134
  res.header('Content-Type', 'text/html');
88
135
  res.send(html);
89
136
  }
90
137
  async listQueries(res) {
91
138
  const queries = await this.profilerService.getQueriesList();
92
139
  const content = this.templateBuilder.buildQueriesList(queries);
93
- const html = this.viewService.renderWithLayout('Database Queries', content, 'queries');
140
+ const html = this.renderLayout('Database Queries', content, 'queries');
94
141
  res.header('Content-Type', 'text/html');
95
142
  res.send(html);
96
143
  }
97
144
  async listLogs(res, page = 1) {
98
145
  const { logs, currentPage, totalPages, totalLogs } = await this.profilerService.getLogsList(page);
99
146
  const content = this.templateBuilder.buildLogsList(logs, currentPage, totalPages, totalLogs);
100
- const html = this.viewService.renderWithLayout('Application Logs', content, 'logs');
147
+ const html = this.renderLayout('Application Logs', content, 'logs');
101
148
  res.header('Content-Type', 'text/html');
102
149
  res.send(html);
103
150
  }
104
151
  async listEntities(res) {
105
152
  const entities = this.entityExplorer.getEntities();
106
153
  const content = this.templateBuilder.buildEntitiesList(entities);
107
- const html = this.viewService.renderWithLayout('Entity Explorer', content, 'entities');
154
+ const html = this.renderLayout('Entity Explorer', content, 'entities');
108
155
  res.header('Content-Type', 'text/html');
109
156
  res.send(html);
110
157
  }
111
158
  async listRoutes(res) {
112
159
  const routes = this.routeExplorer.getRoutes();
113
160
  const content = this.templateBuilder.buildRoutesList(routes);
114
- const html = this.viewService.renderWithLayout('Routes Explorer', content, 'routes');
161
+ const html = this.renderLayout('Routes Explorer', content, 'routes');
115
162
  res.header('Content-Type', 'text/html');
116
163
  res.send(html);
117
164
  }
118
165
  async listCache(res) {
119
166
  const cacheOps = await this.profilerService.getCacheList();
120
167
  const content = this.templateBuilder.buildCacheList(cacheOps);
121
- const html = this.viewService.renderWithLayout('Cache Operations', content, 'cache');
168
+ const html = this.renderLayout('Cache Operations', content, 'cache');
122
169
  res.header('Content-Type', 'text/html');
123
170
  res.send(html);
124
171
  }
125
172
  async listHttpCalls(res) {
126
173
  const calls = await this.profilerService.getHttpCallsList();
127
174
  const content = this.templateBuilder.buildHttpCallsList(calls);
128
- const html = this.viewService.renderWithLayout('Outbound HTTP', content, 'http-calls');
175
+ const html = this.renderLayout('Outbound HTTP', content, 'http-calls');
176
+ res.header('Content-Type', 'text/html');
177
+ res.send(html);
178
+ }
179
+ async healthPage(res) {
180
+ const html = this.renderLayout('Health', this.templateBuilder.buildHealthPage(), 'health');
181
+ res.header('Content-Type', 'text/html');
182
+ res.send(html);
183
+ }
184
+ async healthAudit(force) {
185
+ return this.healthService.runHealthCheck(force === 'true');
186
+ }
187
+ async codeQualityPage(res) {
188
+ const html = this.renderLayout('Code Quality', this.templateBuilder.buildCodeQualityPage(), 'code-quality');
129
189
  res.header('Content-Type', 'text/html');
130
190
  res.send(html);
131
191
  }
192
+ async codeQualityAudit(force) {
193
+ return this.codeQualityService.runCheck(force === 'true');
194
+ }
195
+ async eventsPage(res) {
196
+ const html = this.renderLayout('Event Tracking', this.templateBuilder.buildEventsPage(), 'events');
197
+ res.header('Content-Type', 'text/html');
198
+ res.send(html);
199
+ }
200
+ async eventsApi() {
201
+ return this.profilerService.getEventsList();
202
+ }
132
203
  async liveLogsPage(res) {
133
- const html = this.viewService.renderWithLayout('Live Logs', this.templateBuilder.buildLiveLogsPage(), 'live-logs');
204
+ const html = this.renderLayout('Live Logs', this.templateBuilder.buildLiveLogsPage(), 'live-logs');
134
205
  res.header('Content-Type', 'text/html');
135
206
  res.send(html);
136
207
  }
@@ -142,7 +213,7 @@ let ProfilerController = class ProfilerController {
142
213
  res.flushHeaders();
143
214
  this.profilerService.logEmitter.setMaxListeners(this.profilerService.logEmitter.getMaxListeners() + 1);
144
215
  res.write(`data: ${JSON.stringify({ level: 'system', message: 'Stream connected', timestamp: Date.now() })}\n\n`);
145
- let batch = [];
216
+ const batch = [];
146
217
  let batchTimer = null;
147
218
  const flush = () => {
148
219
  batchTimer = null;
@@ -222,6 +293,13 @@ __decorate([
222
293
  __metadata("design:paramtypes", [Object]),
223
294
  __metadata("design:returntype", Promise)
224
295
  ], ProfilerController.prototype, "dashboard", null);
296
+ __decorate([
297
+ (0, common_1.Get)('view/requests'),
298
+ __param(0, (0, common_1.Res)()),
299
+ __metadata("design:type", Function),
300
+ __metadata("design:paramtypes", [Object]),
301
+ __metadata("design:returntype", Promise)
302
+ ], ProfilerController.prototype, "requestsList", null);
225
303
  __decorate([
226
304
  (0, common_1.Get)('json'),
227
305
  __metadata("design:type", Function),
@@ -234,6 +312,29 @@ __decorate([
234
312
  __metadata("design:paramtypes", []),
235
313
  __metadata("design:returntype", Promise)
236
314
  ], ProfilerController.prototype, "debugQuery", null);
315
+ __decorate([
316
+ (0, common_1.Get)('login'),
317
+ __param(0, (0, common_1.Res)()),
318
+ __param(1, (0, common_1.Query)('returnTo')),
319
+ __metadata("design:type", Function),
320
+ __metadata("design:paramtypes", [Object, String]),
321
+ __metadata("design:returntype", Promise)
322
+ ], ProfilerController.prototype, "loginPage", null);
323
+ __decorate([
324
+ (0, common_1.Post)('api/login'),
325
+ __param(0, (0, common_1.Res)()),
326
+ __param(1, (0, common_1.Body)()),
327
+ __metadata("design:type", Function),
328
+ __metadata("design:paramtypes", [Object, Object]),
329
+ __metadata("design:returntype", Promise)
330
+ ], ProfilerController.prototype, "apiLogin", null);
331
+ __decorate([
332
+ (0, common_1.Get)('logout'),
333
+ __param(0, (0, common_1.Res)()),
334
+ __metadata("design:type", Function),
335
+ __metadata("design:paramtypes", [Object]),
336
+ __metadata("design:returntype", Promise)
337
+ ], ProfilerController.prototype, "logout", null);
237
338
  __decorate([
238
339
  (0, common_1.Get)(':id'),
239
340
  __param(0, (0, common_1.Param)('id')),
@@ -299,6 +400,47 @@ __decorate([
299
400
  __metadata("design:paramtypes", [Object]),
300
401
  __metadata("design:returntype", Promise)
301
402
  ], ProfilerController.prototype, "listHttpCalls", null);
403
+ __decorate([
404
+ (0, common_1.Get)('view/health'),
405
+ __param(0, (0, common_1.Res)()),
406
+ __metadata("design:type", Function),
407
+ __metadata("design:paramtypes", [Object]),
408
+ __metadata("design:returntype", Promise)
409
+ ], ProfilerController.prototype, "healthPage", null);
410
+ __decorate([
411
+ (0, common_1.Get)('api/health'),
412
+ __param(0, (0, common_1.Query)('force')),
413
+ __metadata("design:type", Function),
414
+ __metadata("design:paramtypes", [String]),
415
+ __metadata("design:returntype", Promise)
416
+ ], ProfilerController.prototype, "healthAudit", null);
417
+ __decorate([
418
+ (0, common_1.Get)('view/code-quality'),
419
+ __param(0, (0, common_1.Res)()),
420
+ __metadata("design:type", Function),
421
+ __metadata("design:paramtypes", [Object]),
422
+ __metadata("design:returntype", Promise)
423
+ ], ProfilerController.prototype, "codeQualityPage", null);
424
+ __decorate([
425
+ (0, common_1.Get)('api/code-quality'),
426
+ __param(0, (0, common_1.Query)('force')),
427
+ __metadata("design:type", Function),
428
+ __metadata("design:paramtypes", [String]),
429
+ __metadata("design:returntype", Promise)
430
+ ], ProfilerController.prototype, "codeQualityAudit", null);
431
+ __decorate([
432
+ (0, common_1.Get)('view/events'),
433
+ __param(0, (0, common_1.Res)()),
434
+ __metadata("design:type", Function),
435
+ __metadata("design:paramtypes", [Object]),
436
+ __metadata("design:returntype", Promise)
437
+ ], ProfilerController.prototype, "eventsPage", null);
438
+ __decorate([
439
+ (0, common_1.Get)('api/events'),
440
+ __metadata("design:type", Function),
441
+ __metadata("design:paramtypes", []),
442
+ __metadata("design:returntype", Promise)
443
+ ], ProfilerController.prototype, "eventsApi", null);
302
444
  __decorate([
303
445
  (0, common_1.Get)('view/logs/live'),
304
446
  __param(0, (0, common_1.Res)()),
@@ -331,10 +473,14 @@ __decorate([
331
473
  ], ProfilerController.prototype, "serveJs", null);
332
474
  exports.ProfilerController = ProfilerController = __decorate([
333
475
  (0, common_1.Controller)('__profiler'),
476
+ __param(7, (0, common_1.Optional)()),
477
+ __param(7, (0, common_1.Inject)('PROFILER_OPTIONS')),
334
478
  __metadata("design:paramtypes", [profiler_service_1.ProfilerService,
335
479
  view_service_1.ViewService,
336
480
  template_builder_service_1.TemplateBuilderService,
337
481
  entity_explorer_service_1.EntityExplorerService,
338
- route_explorer_service_1.RouteExplorerService])
482
+ route_explorer_service_1.RouteExplorerService,
483
+ health_service_1.HealthService,
484
+ code_quality_service_1.CodeQualityService, Object])
339
485
  ], ProfilerController);
340
486
  //# sourceMappingURL=profiler.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiler.controller.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/controllers/profiler.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiler.controller.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/controllers/profiler.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { ProfilerOptions } from '../common/profiler-options.interface';
3
+ export declare function setProfilerAuthOptions(options: ProfilerOptions): void;
4
+ export declare function buildSessionCookie(username: string, password: string): string;
5
+ export declare function clearSessionCookie(): string;
6
+ export declare function verifySessionCookie(cookieHeader: string | undefined, username: string, password: string): boolean;
7
+ export declare function createProfilerAuthMiddleware(): (req: any, res: any, next: () => void) => void;
8
+ export declare class ProfilerAuthMiddleware implements NestMiddleware {
9
+ use(_req: any, _res: any, next: () => void): void;
10
+ }
@@ -0,0 +1,110 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ProfilerAuthMiddleware = void 0;
10
+ exports.setProfilerAuthOptions = setProfilerAuthOptions;
11
+ exports.buildSessionCookie = buildSessionCookie;
12
+ exports.clearSessionCookie = clearSessionCookie;
13
+ exports.verifySessionCookie = verifySessionCookie;
14
+ exports.createProfilerAuthMiddleware = createProfilerAuthMiddleware;
15
+ const common_1 = require("@nestjs/common");
16
+ const crypto_1 = require("crypto");
17
+ const SESSION_TTL_MS = 24 * 60 * 60 * 1000;
18
+ const COOKIE_NAME = '__profiler_session';
19
+ let _authOptions = {};
20
+ function setProfilerAuthOptions(options) {
21
+ _authOptions = options;
22
+ }
23
+ function parseCookies(cookieHeader) {
24
+ if (!cookieHeader)
25
+ return {};
26
+ return Object.fromEntries(cookieHeader.split(';').map(pair => {
27
+ const idx = pair.indexOf('=');
28
+ if (idx === -1)
29
+ return [pair.trim(), ''];
30
+ return [pair.slice(0, idx).trim(), decodeURIComponent(pair.slice(idx + 1).trim())];
31
+ }));
32
+ }
33
+ function signToken(username, expiry, password) {
34
+ return (0, crypto_1.createHmac)('sha256', password)
35
+ .update(`${username}:${expiry}`)
36
+ .digest('hex');
37
+ }
38
+ function buildSessionCookie(username, password) {
39
+ const expiry = Date.now() + SESSION_TTL_MS;
40
+ const hmac = signToken(username, expiry, password);
41
+ const token = encodeURIComponent(`${username}:${expiry}:${hmac}`);
42
+ return `${COOKIE_NAME}=${token}; HttpOnly; SameSite=Strict; Path=/__profiler; Max-Age=${SESSION_TTL_MS / 1000}`;
43
+ }
44
+ function clearSessionCookie() {
45
+ return `${COOKIE_NAME}=; HttpOnly; SameSite=Strict; Path=/__profiler; Max-Age=0`;
46
+ }
47
+ function verifySessionCookie(cookieHeader, username, password) {
48
+ try {
49
+ const cookies = parseCookies(cookieHeader);
50
+ const raw = cookies[COOKIE_NAME];
51
+ if (!raw)
52
+ return false;
53
+ const parts = raw.split(':');
54
+ if (parts.length < 3)
55
+ return false;
56
+ const cookieUser = parts[0];
57
+ const expiry = parseInt(parts[1], 10);
58
+ const cookieHmac = parts.slice(2).join(':');
59
+ if (isNaN(expiry) || Date.now() > expiry)
60
+ return false;
61
+ if (cookieUser !== username)
62
+ return false;
63
+ const expected = signToken(username, expiry, password);
64
+ const expectedBuf = Buffer.from(expected, 'hex');
65
+ const actualBuf = Buffer.from(cookieHmac, 'hex');
66
+ if (expectedBuf.length !== actualBuf.length)
67
+ return false;
68
+ return (0, crypto_1.timingSafeEqual)(expectedBuf, actualBuf);
69
+ }
70
+ catch {
71
+ return false;
72
+ }
73
+ }
74
+ function createProfilerAuthMiddleware() {
75
+ return function profilerAuthMiddleware(req, res, next) {
76
+ const auth = _authOptions?.auth;
77
+ if (!auth || auth.enabled === false) {
78
+ return next();
79
+ }
80
+ const url = req.url || '';
81
+ if (url === '/login' ||
82
+ url.startsWith('/login?') ||
83
+ url === '/login/' ||
84
+ url === '/logout' ||
85
+ url.startsWith('/logout?')) {
86
+ return next();
87
+ }
88
+ if (url.startsWith('/assets/') || url.startsWith('/js/')) {
89
+ return next();
90
+ }
91
+ const cookieHeader = req.headers?.cookie;
92
+ const valid = verifySessionCookie(cookieHeader, auth.username, auth.password);
93
+ if (valid) {
94
+ return next();
95
+ }
96
+ const returnTo = encodeURIComponent(req.originalUrl || '/__profiler');
97
+ res.writeHead(302, { Location: `/__profiler/login?returnTo=${returnTo}` });
98
+ res.end();
99
+ };
100
+ }
101
+ let ProfilerAuthMiddleware = class ProfilerAuthMiddleware {
102
+ use(_req, _res, next) {
103
+ next();
104
+ }
105
+ };
106
+ exports.ProfilerAuthMiddleware = ProfilerAuthMiddleware;
107
+ exports.ProfilerAuthMiddleware = ProfilerAuthMiddleware = __decorate([
108
+ (0, common_1.Injectable)()
109
+ ], ProfilerAuthMiddleware);
110
+ //# sourceMappingURL=profiler-auth.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiler-auth.middleware.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/middleware/profiler-auth.middleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nestjs-profiler",
3
- "version": "1.0.24",
4
- "description": "A NestJS module for profiling HTTP requests, database queries, and cache operations. Inspired by Symfony Profiler, it provides a web-based dashboard to inspect request duration, executed queries, log messages, and explain plans for slow queries.",
3
+ "version": "1.0.26",
4
+ "description": "A NestJS module for profiling HTTP requests, database queries, cache operations, outbound HTTP calls, application logs, package health, code quality, and event tracking. Inspired by Symfony Profiler, it provides a web-based dashboard to inspect everything that happens inside a request from DB queries to downstream API calls in real time.",
5
5
  "author": "Mohamed Raslan",
6
6
  "main": "./index.js",
7
7
  "types": "./index.d.ts",
@@ -20,6 +20,9 @@ const mysql_collector_1 = require("./collectors/mysql-collector");
20
20
  const log_collector_1 = require("./collectors/log-collector");
21
21
  const cache_collector_1 = require("./collectors/cache-collector");
22
22
  const http_collector_1 = require("./collectors/http-collector");
23
+ const event_collector_1 = require("./collectors/event-collector");
24
+ const health_service_1 = require("./services/health.service");
25
+ const code_quality_service_1 = require("./services/code-quality.service");
23
26
  const explain_analyzer_1 = require("./analyzers/explain-analyzer");
24
27
  const in_memory_profiler_storage_1 = require("./storage/in-memory-profiler-storage");
25
28
  const profiler_controller_1 = require("./controllers/profiler.controller");
@@ -62,6 +65,9 @@ let ProfilerModule = ProfilerModule_1 = class ProfilerModule {
62
65
  log_collector_1.LogCollector,
63
66
  cache_collector_1.CacheCollector,
64
67
  http_collector_1.HttpCollector,
68
+ event_collector_1.EventCollector,
69
+ health_service_1.HealthService,
70
+ code_quality_service_1.CodeQualityService,
65
71
  explain_analyzer_1.ExplainAnalyzer,
66
72
  {
67
73
  provide: core_1.APP_INTERCEPTOR,
@@ -86,6 +92,82 @@ let ProfilerModule = ProfilerModule_1 = class ProfilerModule {
86
92
  catch (e) {
87
93
  console.warn('Profiler: Could not initialize Explorers. Ensure ProfilerModule is imported.', e);
88
94
  }
95
+ try {
96
+ const eventCollector = app.get(event_collector_1.EventCollector);
97
+ const container = app.container;
98
+ const modulesContainer = container.getModules();
99
+ const EVENT_LISTENER_METADATA = 'EVENT_LISTENER_METADATA';
100
+ const listenerMap = new Map();
101
+ const findFileForClass = (ctor) => {
102
+ if (!ctor?.name)
103
+ return '';
104
+ try {
105
+ const cache = require.cache;
106
+ for (const [filename, mod] of Object.entries(cache)) {
107
+ if (!mod?.exports)
108
+ continue;
109
+ const exp = mod.exports;
110
+ if (exp[ctor.name] === ctor)
111
+ return filename.replace(/\.js$/, '.ts');
112
+ if (exp?.default === ctor)
113
+ return filename.replace(/\.js$/, '.ts');
114
+ }
115
+ }
116
+ catch { }
117
+ return '';
118
+ };
119
+ const scanInstance = (instance) => {
120
+ if (!instance)
121
+ return;
122
+ const proto = Object.getPrototypeOf(instance);
123
+ if (!proto || proto === Object.prototype)
124
+ return;
125
+ const file = findFileForClass(instance.constructor);
126
+ Object.getOwnPropertyNames(proto).forEach((methodKey) => {
127
+ if (methodKey === 'constructor')
128
+ return;
129
+ try {
130
+ const method = proto[methodKey];
131
+ if (typeof method !== 'function')
132
+ return;
133
+ const meta = Reflect.getMetadata(EVENT_LISTENER_METADATA, method);
134
+ if (!meta)
135
+ return;
136
+ const metas = Array.isArray(meta) ? meta : [meta];
137
+ metas.forEach((m) => {
138
+ const events = Array.isArray(m.event)
139
+ ? m.event
140
+ : [m.event];
141
+ const name = `${instance.constructor.name}.${methodKey}`;
142
+ events.forEach((ev) => {
143
+ const existing = listenerMap.get(ev) ?? [];
144
+ existing.push({ name, file });
145
+ listenerMap.set(ev, existing);
146
+ });
147
+ });
148
+ }
149
+ catch {
150
+ }
151
+ });
152
+ };
153
+ for (const mod of modulesContainer.values()) {
154
+ const providers = [...mod.providers.values()];
155
+ for (const wrapper of providers) {
156
+ if (!wrapper?.instance || wrapper.isAlias)
157
+ continue;
158
+ scanInstance(wrapper.instance);
159
+ }
160
+ const controllers = [...(mod.controllers?.values() ?? [])];
161
+ for (const wrapper of controllers) {
162
+ if (!wrapper?.instance || wrapper.isAlias)
163
+ continue;
164
+ scanInstance(wrapper.instance);
165
+ }
166
+ }
167
+ eventCollector.setListenerNames(listenerMap);
168
+ }
169
+ catch {
170
+ }
89
171
  }
90
172
  };
91
173
  exports.ProfilerModule = ProfilerModule;
@@ -1 +1 @@
1
- {"version":3,"file":"profiler.module.js","sourceRoot":"","sources":["../../libs/nestjs-profiler/src/profiler.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiler.module.js","sourceRoot":"","sources":["../../libs/nestjs-profiler/src/profiler.module.ts"],"names":[],"mappings":"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"}