nestjs-profiler 1.0.25 → 1.0.27
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 +254 -147
- package/collectors/event-collector.d.ts +18 -0
- package/collectors/event-collector.js +254 -0
- package/collectors/event-collector.js.map +1 -0
- package/common/profiler-options.interface.d.ts +8 -0
- package/common/profiler.model.d.ts +25 -0
- package/controllers/profiler.controller.d.ts +17 -1
- package/controllers/profiler.controller.js +129 -17
- package/controllers/profiler.controller.js.map +1 -1
- package/middleware/profiler-auth.middleware.d.ts +10 -0
- package/middleware/profiler-auth.middleware.js +110 -0
- package/middleware/profiler-auth.middleware.js.map +1 -0
- package/package.json +2 -2
- package/profiler.module.js +103 -1
- package/profiler.module.js.map +1 -1
- package/services/cron-explorer.service.d.ts +48 -0
- package/services/cron-explorer.service.js +260 -0
- package/services/cron-explorer.service.js.map +1 -0
- package/services/entity-explorer.service.d.ts +1 -1
- package/services/entity-explorer.service.js +7 -7
- package/services/entity-explorer.service.js.map +1 -1
- package/services/health.service.js +23 -8
- package/services/health.service.js.map +1 -1
- package/services/profiler.service.d.ts +10 -1
- package/services/profiler.service.js +103 -35
- package/services/profiler.service.js.map +1 -1
- package/services/route-explorer.service.d.ts +23 -1
- package/services/route-explorer.service.js +136 -10
- package/services/route-explorer.service.js.map +1 -1
- package/services/template-builder.service.d.ts +1 -0
- package/services/template-builder.service.js +184 -83
- package/services/template-builder.service.js.map +1 -1
- package/services/view.service.d.ts +1 -1
- package/services/view.service.js +32 -23
- package/services/view.service.js.map +1 -1
- package/views/cron-jobs.html +635 -0
- package/views/events.html +763 -0
- package/views/layout.html +40 -9
- package/views/login.html +277 -0
- package/views/routes.html +405 -37
|
@@ -0,0 +1,260 @@
|
|
|
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 CronExplorerService_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.CronExplorerService = void 0;
|
|
11
|
+
exports.humanizeCron = humanizeCron;
|
|
12
|
+
const common_1 = require("@nestjs/common");
|
|
13
|
+
const EMPTY_HANDLER = { className: '', methodName: '', file: '' };
|
|
14
|
+
let CronExplorerService = CronExplorerService_1 = class CronExplorerService {
|
|
15
|
+
initialize(schedulerRegistry, modulesContainer) {
|
|
16
|
+
CronExplorerService_1._registry = schedulerRegistry ?? null;
|
|
17
|
+
CronExplorerService_1._hasScheduler = !!schedulerRegistry;
|
|
18
|
+
if (modulesContainer) {
|
|
19
|
+
this.scanHandlers(modulesContainer);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
getReport() {
|
|
23
|
+
if (!CronExplorerService_1._registry) {
|
|
24
|
+
return {
|
|
25
|
+
cronJobs: [],
|
|
26
|
+
intervals: [],
|
|
27
|
+
timeouts: [],
|
|
28
|
+
scannedAt: Date.now(),
|
|
29
|
+
hasScheduler: false,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return this.buildFromRegistry();
|
|
33
|
+
}
|
|
34
|
+
buildFromRegistry() {
|
|
35
|
+
const registry = CronExplorerService_1._registry;
|
|
36
|
+
const handlers = CronExplorerService_1._handlers;
|
|
37
|
+
const cronJobs = [];
|
|
38
|
+
const intervals = [];
|
|
39
|
+
const timeouts = [];
|
|
40
|
+
try {
|
|
41
|
+
const jobs = registry.getCronJobs();
|
|
42
|
+
for (const [name, job] of jobs.entries()) {
|
|
43
|
+
const h = handlers.get(name) ?? EMPTY_HANDLER;
|
|
44
|
+
let nextRun = null;
|
|
45
|
+
try {
|
|
46
|
+
const nd = job.nextDate?.();
|
|
47
|
+
if (nd) {
|
|
48
|
+
nextRun = typeof nd.toMillis === 'function'
|
|
49
|
+
? nd.toMillis()
|
|
50
|
+
: nd.toDate?.().getTime() ?? nd.getTime?.() ?? null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch { }
|
|
54
|
+
let lastRun = null;
|
|
55
|
+
try {
|
|
56
|
+
const ld = job.lastDate?.();
|
|
57
|
+
lastRun = ld?.getTime?.() ?? null;
|
|
58
|
+
}
|
|
59
|
+
catch { }
|
|
60
|
+
let expression = '';
|
|
61
|
+
try {
|
|
62
|
+
expression = job.cronTime?.source ?? job.cronTime?.toString?.() ?? '';
|
|
63
|
+
}
|
|
64
|
+
catch { }
|
|
65
|
+
cronJobs.push({
|
|
66
|
+
type: 'cron',
|
|
67
|
+
name,
|
|
68
|
+
expression,
|
|
69
|
+
expressionHuman: humanizeCron(expression),
|
|
70
|
+
nextRun,
|
|
71
|
+
lastRun,
|
|
72
|
+
running: !!job.running,
|
|
73
|
+
handler: h.className && h.methodName
|
|
74
|
+
? `${h.className}.${h.methodName}`
|
|
75
|
+
: name,
|
|
76
|
+
className: h.className ?? '',
|
|
77
|
+
methodName: h.methodName ?? '',
|
|
78
|
+
file: h.file ?? '',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch { }
|
|
83
|
+
cronJobs.sort((a, b) => {
|
|
84
|
+
if (a.running !== b.running)
|
|
85
|
+
return a.running ? -1 : 1;
|
|
86
|
+
return (a.nextRun ?? Infinity) - (b.nextRun ?? Infinity);
|
|
87
|
+
});
|
|
88
|
+
try {
|
|
89
|
+
const names = registry.getIntervals();
|
|
90
|
+
for (const name of names) {
|
|
91
|
+
const h = handlers.get(name) ?? EMPTY_HANDLER;
|
|
92
|
+
intervals.push({
|
|
93
|
+
type: 'interval',
|
|
94
|
+
name,
|
|
95
|
+
ms: h.intervalMs ?? 0,
|
|
96
|
+
handler: h.className && h.methodName
|
|
97
|
+
? `${h.className}.${h.methodName}`
|
|
98
|
+
: name,
|
|
99
|
+
className: h.className ?? '',
|
|
100
|
+
methodName: h.methodName ?? '',
|
|
101
|
+
file: h.file ?? '',
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch { }
|
|
106
|
+
try {
|
|
107
|
+
const names = registry.getTimeouts();
|
|
108
|
+
for (const name of names) {
|
|
109
|
+
const h = handlers.get(name) ?? EMPTY_HANDLER;
|
|
110
|
+
timeouts.push({
|
|
111
|
+
type: 'timeout',
|
|
112
|
+
name,
|
|
113
|
+
ms: h.timeoutMs ?? 0,
|
|
114
|
+
handler: h.className && h.methodName
|
|
115
|
+
? `${h.className}.${h.methodName}`
|
|
116
|
+
: name,
|
|
117
|
+
className: h.className ?? '',
|
|
118
|
+
methodName: h.methodName ?? '',
|
|
119
|
+
file: h.file ?? '',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch { }
|
|
124
|
+
return {
|
|
125
|
+
cronJobs,
|
|
126
|
+
intervals,
|
|
127
|
+
timeouts,
|
|
128
|
+
scannedAt: Date.now(),
|
|
129
|
+
hasScheduler: true,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
scanHandlers(modulesContainer) {
|
|
133
|
+
const CRON_KEY = 'SCHEDULE_CRON_OPTIONS';
|
|
134
|
+
const INTERVAL_KEY = 'SCHEDULE_INTERVAL_OPTIONS';
|
|
135
|
+
const TIMEOUT_KEY = 'SCHEDULE_TIMEOUT_OPTIONS';
|
|
136
|
+
const NAME_KEY = 'SCHEDULER_NAME';
|
|
137
|
+
for (const mod of modulesContainer.values()) {
|
|
138
|
+
const providers = [...(mod.providers?.values() ?? [])];
|
|
139
|
+
for (const wrapper of providers) {
|
|
140
|
+
if (!wrapper?.instance || wrapper.isAlias)
|
|
141
|
+
continue;
|
|
142
|
+
const instance = wrapper.instance;
|
|
143
|
+
const proto = Object.getPrototypeOf(instance);
|
|
144
|
+
if (!proto || proto === Object.prototype)
|
|
145
|
+
continue;
|
|
146
|
+
const file = findFileForClass(instance.constructor);
|
|
147
|
+
Object.getOwnPropertyNames(proto).forEach(methodName => {
|
|
148
|
+
if (methodName === 'constructor')
|
|
149
|
+
return;
|
|
150
|
+
try {
|
|
151
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, methodName);
|
|
152
|
+
if (!descriptor || typeof descriptor.value !== 'function')
|
|
153
|
+
return;
|
|
154
|
+
const fn = descriptor.value;
|
|
155
|
+
const className = instance.constructor.name;
|
|
156
|
+
const schedulerName = Reflect.getMetadata(NAME_KEY, fn);
|
|
157
|
+
const cronOpts = Reflect.getMetadata(CRON_KEY, fn);
|
|
158
|
+
if (cronOpts) {
|
|
159
|
+
const key = cronOpts.name || schedulerName || methodName;
|
|
160
|
+
CronExplorerService_1._handlers.set(key, { className, methodName, file });
|
|
161
|
+
}
|
|
162
|
+
const intervalOpts = Reflect.getMetadata(INTERVAL_KEY, fn);
|
|
163
|
+
if (intervalOpts) {
|
|
164
|
+
const key = schedulerName || intervalOpts.name || methodName;
|
|
165
|
+
CronExplorerService_1._handlers.set(key, {
|
|
166
|
+
className, methodName, file,
|
|
167
|
+
intervalMs: intervalOpts.timeout,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
const timeoutOpts = Reflect.getMetadata(TIMEOUT_KEY, fn);
|
|
171
|
+
if (timeoutOpts) {
|
|
172
|
+
const key = schedulerName || timeoutOpts.name || methodName;
|
|
173
|
+
CronExplorerService_1._handlers.set(key, {
|
|
174
|
+
className, methodName, file,
|
|
175
|
+
timeoutMs: timeoutOpts.timeout,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch { }
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
exports.CronExplorerService = CronExplorerService;
|
|
186
|
+
CronExplorerService._registry = null;
|
|
187
|
+
CronExplorerService._hasScheduler = false;
|
|
188
|
+
CronExplorerService._handlers = new Map();
|
|
189
|
+
exports.CronExplorerService = CronExplorerService = CronExplorerService_1 = __decorate([
|
|
190
|
+
(0, common_1.Injectable)()
|
|
191
|
+
], CronExplorerService);
|
|
192
|
+
function findFileForClass(ctor) {
|
|
193
|
+
if (!ctor?.name)
|
|
194
|
+
return '';
|
|
195
|
+
try {
|
|
196
|
+
const cache = require.cache;
|
|
197
|
+
for (const [filename, mod] of Object.entries(cache)) {
|
|
198
|
+
if (!mod?.exports)
|
|
199
|
+
continue;
|
|
200
|
+
const exp = mod.exports;
|
|
201
|
+
if (exp[ctor.name] === ctor || exp?.default === ctor) {
|
|
202
|
+
return filename.replace(/\.js$/, '.ts');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch { }
|
|
207
|
+
return '';
|
|
208
|
+
}
|
|
209
|
+
function humanizeCron(expression) {
|
|
210
|
+
if (!expression)
|
|
211
|
+
return '';
|
|
212
|
+
const parts = expression.trim().split(/\s+/);
|
|
213
|
+
let min = '', hour = '', dom = '', month = '', dow = '';
|
|
214
|
+
if (parts.length === 6) {
|
|
215
|
+
[, min, hour, dom, month, dow] = parts;
|
|
216
|
+
}
|
|
217
|
+
else if (parts.length === 5) {
|
|
218
|
+
[min, hour, dom, month, dow] = parts;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return expression;
|
|
222
|
+
}
|
|
223
|
+
const all = (p) => p === '*';
|
|
224
|
+
const zero = (p) => p === '0';
|
|
225
|
+
const everyN = (p) => p.match(/^\*\/(\d+)$/)?.[1];
|
|
226
|
+
const fixed = (p) => /^\d+$/.test(p) ? parseInt(p) : null;
|
|
227
|
+
const DAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
228
|
+
const pad = (n) => n.toString().padStart(2, '0');
|
|
229
|
+
const fmtTime = (h, m) => `${h}:${pad(m)} ${h < 12 ? 'AM' : 'PM'}`.replace('12:00 PM', 'noon').replace('00:00 AM', 'midnight');
|
|
230
|
+
if (all(min) && all(hour) && all(dom) && all(month) && all(dow))
|
|
231
|
+
return 'Every minute';
|
|
232
|
+
const nMin = everyN(min);
|
|
233
|
+
if (nMin && all(hour) && all(dom) && all(month) && all(dow))
|
|
234
|
+
return parseInt(nMin) === 1 ? 'Every minute' : `Every ${nMin} minutes`;
|
|
235
|
+
const nHour = everyN(hour);
|
|
236
|
+
if (zero(min) && nHour && all(dom) && all(month) && all(dow))
|
|
237
|
+
return parseInt(nHour) === 1 ? 'Every hour' : `Every ${nHour} hours`;
|
|
238
|
+
if (zero(min) && all(hour) && all(dom) && all(month) && all(dow))
|
|
239
|
+
return 'Every hour';
|
|
240
|
+
const nDom = everyN(dom);
|
|
241
|
+
if (zero(min) && zero(hour) && nDom && all(month) && all(dow))
|
|
242
|
+
return `Every ${nDom} days`;
|
|
243
|
+
const h = fixed(hour), m = fixed(min);
|
|
244
|
+
if (h !== null && m !== null && all(dom) && all(month) && all(dow))
|
|
245
|
+
return `Daily at ${fmtTime(h, m)}`;
|
|
246
|
+
if (h !== null && m !== null && all(dom) && all(month) &&
|
|
247
|
+
(dow === '1-5' || dow === 'MON-FRI'))
|
|
248
|
+
return `Weekdays at ${fmtTime(h, m)}`;
|
|
249
|
+
const dowN = fixed(dow);
|
|
250
|
+
if (h !== null && m !== null && all(dom) && all(month) &&
|
|
251
|
+
dowN !== null && dowN >= 0 && dowN <= 6)
|
|
252
|
+
return `Every ${DAYS[dowN]} at ${fmtTime(h, m)}`;
|
|
253
|
+
const dayN = fixed(dom);
|
|
254
|
+
if (zero(min) && zero(hour) && dayN !== null && all(month) && all(dow)) {
|
|
255
|
+
const suffix = dayN === 1 ? 'st' : dayN === 2 ? 'nd' : dayN === 3 ? 'rd' : 'th';
|
|
256
|
+
return `Monthly on the ${dayN}${suffix}`;
|
|
257
|
+
}
|
|
258
|
+
return expression;
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=cron-explorer.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-explorer.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/cron-explorer.service.ts"],"names":[],"mappings":";;;;;;;;;;AAuSA,oCAuEC;AA9WD,2CAA4C;AAwD5C,MAAM,aAAa,GAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAKxE,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAgB5B,UAAU,CAAC,iBAAsB,EAAE,gBAAqB;QACpD,qBAAmB,CAAC,SAAS,GAAG,iBAAiB,IAAI,IAAI,CAAC;QAC1D,qBAAmB,CAAC,aAAa,GAAG,CAAC,CAAC,iBAAiB,CAAC;QACxD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAMD,SAAS;QACL,IAAI,CAAC,qBAAmB,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO;gBACH,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,KAAK;aACtB,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAIO,iBAAiB;QACrB,MAAM,QAAQ,GAAG,qBAAmB,CAAC,SAAS,CAAC;QAC/C,MAAM,QAAQ,GAAG,qBAAmB,CAAC,SAAS,CAAC;QAE/C,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAGzC,IAAI,CAAC;YACD,MAAM,IAAI,GAAqB,QAAQ,CAAC,WAAW,EAAE,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;gBAG9C,IAAI,OAAO,GAAkB,IAAI,CAAC;gBAClC,IAAI,CAAC;oBACD,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC5B,IAAI,EAAE,EAAE,CAAC;wBACL,OAAO,GAAG,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU;4BACvC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE;4BACf,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;oBAC5D,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAc,CAAC;gBAExB,IAAI,OAAO,GAAkB,IAAI,CAAC;gBAClC,IAAI,CAAC;oBACD,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC5B,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;gBACtC,CAAC;gBAAC,MAAM,CAAC,CAAc,CAAC;gBAExB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACD,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;gBAC1E,CAAC;gBAAC,MAAM,CAAC,CAAc,CAAC;gBAExB,QAAQ,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,IAAI;oBACJ,UAAU;oBACV,eAAe,EAAE,YAAY,CAAC,UAAU,CAAC;oBACzC,OAAO;oBACP,OAAO;oBACP,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO;oBACtB,OAAO,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU;wBAChC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE;wBAClC,CAAC,CAAC,IAAI;oBACV,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;oBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;oBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAsC,CAAC;QAGhD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC;YACD,MAAM,KAAK,GAAa,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;gBAC9C,SAAS,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,IAAI;oBACJ,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;oBACrB,OAAO,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU;wBAChC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE;wBAClC,CAAC,CAAC,IAAI;oBACV,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;oBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;oBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAc,CAAC;QAGxB,IAAI,CAAC;YACD,MAAM,KAAK,GAAa,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,IAAI;oBACJ,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC;oBACpB,OAAO,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU;wBAChC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE;wBAClC,CAAC,CAAC,IAAI;oBACV,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;oBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;oBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAc,CAAC;QAExB,OAAO;YACH,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,YAAY,EAAE,IAAI;SACrB,CAAC;IACN,CAAC;IAMO,YAAY,CAAC,gBAA+B;QAChD,MAAM,QAAQ,GAAO,uBAAuB,CAAC;QAC7C,MAAM,YAAY,GAAG,2BAA2B,CAAC;QACjD,MAAM,WAAW,GAAI,0BAA0B,CAAC;QAEhD,MAAM,QAAQ,GAAO,gBAAgB,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAE,GAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,OAAO;oBAAE,SAAS;gBACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS;oBAAE,SAAS;gBAEnD,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAEpD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACnD,IAAI,UAAU,KAAK,aAAa;wBAAE,OAAO;oBACzC,IAAI,CAAC;wBACD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;wBACtE,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU;4BAAE,OAAO;wBAClE,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC;wBAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;wBAE5C,MAAM,aAAa,GAAuB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAE5E,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACnD,IAAI,QAAQ,EAAE,CAAC;4BACX,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,aAAa,IAAI,UAAU,CAAC;4BACzD,qBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC5E,CAAC;wBAED,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;wBAC3D,IAAI,YAAY,EAAE,CAAC;4BAEf,MAAM,GAAG,GAAG,aAAa,IAAI,YAAY,CAAC,IAAI,IAAI,UAAU,CAAC;4BAC7D,qBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;gCACnC,SAAS,EAAE,UAAU,EAAE,IAAI;gCAC3B,UAAU,EAAE,YAAY,CAAC,OAAO;6BACnC,CAAC,CAAC;wBACP,CAAC;wBAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;wBACzD,IAAI,WAAW,EAAE,CAAC;4BAEd,MAAM,GAAG,GAAG,aAAa,IAAI,WAAW,CAAC,IAAI,IAAI,UAAU,CAAC;4BAC5D,qBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;gCACnC,SAAS,EAAE,UAAU,EAAE,IAAI;gCAC3B,SAAS,EAAE,WAAW,CAAC,OAAO;6BACjC,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC,CAAc,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;;AAlNQ,kDAAmB;AAKb,6BAAS,GAAQ,IAAI,AAAZ,CAAa;AACtB,iCAAa,GAAG,KAAK,AAAR,CAAS;AAMtB,6BAAS,GAAG,IAAI,GAAG,EAAuB,AAAjC,CAAkC;8BAZjD,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAmN/B;AAID,SAAS,gBAAgB,CAAC,IAAc;IACpC,IAAI,CAAC,IAAI,EAAE,IAAI;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,KAAK,GAAI,OAAe,CAAC,KAA4B,CAAC;QAC5D,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,EAAE,OAAO;gBAAE,SAAS;YAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAc,CAAC;IACxB,OAAO,EAAE,CAAC;AACd,CAAC;AAMD,SAAgB,YAAY,CAAC,UAAkB;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3C,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;SAAM,CAAC;QACJ,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE5F,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACrC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAGzG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QAC3D,OAAO,cAAc,CAAC;IAG1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC;IAG3E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC;IAGzE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QAC5D,OAAO,YAAY,CAAC;IAGxB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QACzD,OAAO,SAAS,IAAI,OAAO,CAAC;IAGhC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;QAC9D,OAAO,YAAY,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAGvC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;QAClD,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,SAAS,CAAC;QACpC,OAAO,eAAe,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAG1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;QAClD,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QACvC,OAAO,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAGrD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,OAAO,kBAAkB,IAAI,GAAG,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
@@ -8,13 +8,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var EntityExplorerService_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.EntityExplorerService = void 0;
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
let EntityExplorerService = class EntityExplorerService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.entities = [];
|
|
17
|
-
}
|
|
15
|
+
let EntityExplorerService = EntityExplorerService_1 = class EntityExplorerService {
|
|
16
|
+
constructor() { }
|
|
18
17
|
initialize(modulesContainer) {
|
|
19
18
|
try {
|
|
20
19
|
this.scan(modulesContainer);
|
|
@@ -24,7 +23,7 @@ let EntityExplorerService = class EntityExplorerService {
|
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
getEntities() {
|
|
27
|
-
return
|
|
26
|
+
return EntityExplorerService_1._entities;
|
|
28
27
|
}
|
|
29
28
|
scan(modulesContainer) {
|
|
30
29
|
if (!modulesContainer)
|
|
@@ -49,7 +48,7 @@ let EntityExplorerService = class EntityExplorerService {
|
|
|
49
48
|
const key = `${d.connection}:${d.name}`;
|
|
50
49
|
unique.set(key, d);
|
|
51
50
|
});
|
|
52
|
-
|
|
51
|
+
EntityExplorerService_1._entities = Array.from(unique.values()).sort((a, b) => a.name.localeCompare(b.name));
|
|
53
52
|
}
|
|
54
53
|
isTypeOrmDataSource(instance) {
|
|
55
54
|
return (instance &&
|
|
@@ -104,7 +103,8 @@ let EntityExplorerService = class EntityExplorerService {
|
|
|
104
103
|
}
|
|
105
104
|
};
|
|
106
105
|
exports.EntityExplorerService = EntityExplorerService;
|
|
107
|
-
|
|
106
|
+
EntityExplorerService._entities = [];
|
|
107
|
+
exports.EntityExplorerService = EntityExplorerService = EntityExplorerService_1 = __decorate([
|
|
108
108
|
(0, common_1.Injectable)(),
|
|
109
109
|
__metadata("design:paramtypes", [])
|
|
110
110
|
], EntityExplorerService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-explorer.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/entity-explorer.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity-explorer.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/entity-explorer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,7 +84,7 @@ let HealthService = HealthService_1 = class HealthService {
|
|
|
84
84
|
async runAudit(cwd, pm) {
|
|
85
85
|
const cmd = pm === 'yarn'
|
|
86
86
|
? 'yarn audit --json'
|
|
87
|
-
: 'npm audit --json --no-update-notifier';
|
|
87
|
+
: 'npm audit --json --no-update-notifier --registry https://registry.npmjs.org';
|
|
88
88
|
const execOpts = { cwd, timeout: 60_000, env: process.env };
|
|
89
89
|
try {
|
|
90
90
|
const { stdout } = await execAsync(cmd, execOpts);
|
|
@@ -102,16 +102,31 @@ let HealthService = HealthService_1 = class HealthService {
|
|
|
102
102
|
.join('\n');
|
|
103
103
|
const clean = raw
|
|
104
104
|
.split('\n')
|
|
105
|
-
.filter(l =>
|
|
106
|
-
!l.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
.filter(l => {
|
|
106
|
+
if (!l.trim())
|
|
107
|
+
return false;
|
|
108
|
+
if (l.includes('npm error') || l.includes('npm ERR!') || /\bError\b/.test(l))
|
|
109
|
+
return true;
|
|
110
|
+
if (l.includes('NODE_TLS_REJECT_UNAUTHORIZED'))
|
|
111
|
+
return false;
|
|
112
|
+
if (l.includes('Warning:'))
|
|
113
|
+
return false;
|
|
114
|
+
if (l.includes('npm warn'))
|
|
115
|
+
return false;
|
|
116
|
+
if (l.includes('node --trace-warnings'))
|
|
117
|
+
return false;
|
|
118
|
+
if (l.startsWith('Command failed:'))
|
|
119
|
+
return false;
|
|
120
|
+
return true;
|
|
121
|
+
})
|
|
110
122
|
.slice(0, 5)
|
|
111
123
|
.join('\n')
|
|
112
124
|
.trim();
|
|
113
125
|
let hint = '';
|
|
114
|
-
if (raw.includes('
|
|
126
|
+
if (raw.includes('403') || raw.includes('blocked') || raw.includes('Forbidden')) {
|
|
127
|
+
hint = 'Registry blocked the audit request. The profiler retries with the public registry automatically — if this persists, check network/proxy settings.';
|
|
128
|
+
}
|
|
129
|
+
else if (raw.includes('ENOTFOUND') || raw.includes('ECONNREFUSED') || raw.includes('ETIMEDOUT')) {
|
|
115
130
|
hint = 'Could not reach the npm registry. Check your network or proxy settings.';
|
|
116
131
|
}
|
|
117
132
|
else if (raw.includes('ELOCKFILECONFLICT') || raw.includes('package-lock')) {
|
|
@@ -120,7 +135,7 @@ let HealthService = HealthService_1 = class HealthService {
|
|
|
120
135
|
else if (raw.includes('not found') || raw.includes('not recognized')) {
|
|
121
136
|
hint = 'npm not found in PATH.';
|
|
122
137
|
}
|
|
123
|
-
this.logger.warn(`npm audit failed: ${clean}`);
|
|
138
|
+
this.logger.warn(`npm audit failed: ${clean || raw.slice(0, 200)}`);
|
|
124
139
|
return { data: null, error: hint || clean || 'npm audit failed' };
|
|
125
140
|
}
|
|
126
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/health.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,iDAAqC;AACrC,+BAAiC;AACjC,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAoDlC,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAG5B,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAAnB;QACc,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;QACjD,iBAAY,GAAwB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/health.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
|
-
import { RequestProfile, QueryProfile, LogProfile, HttpCallProfile } from '../common/profiler.model';
|
|
2
|
+
import { RequestProfile, QueryProfile, LogProfile, HttpCallProfile, EventProfile, EventListenerTrace } from '../common/profiler.model';
|
|
3
3
|
import type { ProfilerOptions } from '../common/profiler-options.interface';
|
|
4
4
|
import type { ProfilerStorage } from '../storage/profiler-storage.interface';
|
|
5
5
|
export declare class ProfilerService {
|
|
@@ -8,6 +8,8 @@ export declare class ProfilerService {
|
|
|
8
8
|
private readonly als;
|
|
9
9
|
private readonly logger;
|
|
10
10
|
readonly logEmitter: EventEmitter<[never]>;
|
|
11
|
+
private readonly eventMap;
|
|
12
|
+
private readonly eventOrder;
|
|
11
13
|
constructor(options: ProfilerOptions, storage: ProfilerStorage);
|
|
12
14
|
isEnabled(): boolean;
|
|
13
15
|
startRequest(): RequestProfile | null;
|
|
@@ -70,4 +72,11 @@ export declare class ProfilerService {
|
|
|
70
72
|
}>;
|
|
71
73
|
getHttpCallsList(): Promise<any[]>;
|
|
72
74
|
getCacheList(): Promise<any[]>;
|
|
75
|
+
addEvent(event: EventProfile): void;
|
|
76
|
+
finalizeEvent(id: string, status: 'success' | 'error', error?: string): void;
|
|
77
|
+
addListenerTrace(eventId: string | undefined, trace: EventListenerTrace): void;
|
|
78
|
+
linkChildEvent(parentId: string, childId: string): void;
|
|
79
|
+
getCurrentRequestId(): string | undefined;
|
|
80
|
+
getEventsList(): EventProfile[];
|
|
81
|
+
getRootEvents(): EventProfile[];
|
|
73
82
|
}
|