hono-status-monitor 1.0.5 → 1.0.7
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 +6 -4
- package/dist/dashboard.d.ts +2 -1
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/dashboard.js +5 -3
- package/dist/dashboard.js.map +1 -1
- package/dist/index-edge.d.ts.map +1 -1
- package/dist/index-edge.js +2 -1
- package/dist/index-edge.js.map +1 -1
- package/dist/index.d.ts +52 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -383,7 +383,7 @@ This package provides a separate edge entry point that has **zero Node.js depend
|
|
|
383
383
|
| CPU / Memory / Heap | ❌ | Not available in Workers |
|
|
384
384
|
| Event loop lag | ❌ | Not available in Workers |
|
|
385
385
|
| Load average | ❌ | Not available in Workers |
|
|
386
|
-
| WebSocket real-time | ❌ | Uses polling (5s
|
|
386
|
+
| WebSocket real-time | ❌ | Uses polling (configurable, default 5s) |
|
|
387
387
|
|
|
388
388
|
### Usage in Cloudflare Workers
|
|
389
389
|
|
|
@@ -396,8 +396,10 @@ import { statusMonitor } from 'hono-status-monitor/edge';
|
|
|
396
396
|
|
|
397
397
|
const app = new Hono();
|
|
398
398
|
|
|
399
|
-
// Create status monitor
|
|
400
|
-
const monitor = statusMonitor(
|
|
399
|
+
// Create status monitor with custom polling interval
|
|
400
|
+
const monitor = statusMonitor({
|
|
401
|
+
pollingInterval: 3000 // Update dashboard every 3 seconds (default: 5000)
|
|
402
|
+
});
|
|
401
403
|
|
|
402
404
|
// Add middleware to track requests
|
|
403
405
|
app.use('*', monitor.middleware);
|
|
@@ -411,7 +413,7 @@ app.get('/', (c) => c.text('Hello from Cloudflare Workers!'));
|
|
|
411
413
|
export default app;
|
|
412
414
|
```
|
|
413
415
|
|
|
414
|
-
> **Note:** In edge environments, the dashboard uses HTTP polling
|
|
416
|
+
> **Note:** In edge environments, the dashboard uses HTTP polling instead of WebSocket for updates. The polling interval is configurable via `pollingInterval` (defaults to 5 seconds for edge, 1 second for Node.js).
|
|
415
417
|
|
|
416
418
|
### Force Edge Mode in Node.js
|
|
417
419
|
|
package/dist/dashboard.d.ts
CHANGED
|
@@ -10,10 +10,11 @@ export interface EdgeDashboardProps {
|
|
|
10
10
|
hostname: string;
|
|
11
11
|
uptime: string;
|
|
12
12
|
title: string;
|
|
13
|
+
pollingInterval?: number;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Generate the edge-compatible status dashboard HTML
|
|
16
17
|
* Uses polling instead of WebSocket, only shows available metrics
|
|
17
18
|
*/
|
|
18
|
-
export declare function generateEdgeDashboard({ hostname, uptime, title }: EdgeDashboardProps): string;
|
|
19
|
+
export declare function generateEdgeDashboard({ hostname, uptime, title, pollingInterval }: EdgeDashboardProps): string;
|
|
19
20
|
//# sourceMappingURL=dashboard.d.ts.map
|
package/dist/dashboard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,cAAc,GAAG,MAAM,CAkcjG;AAGD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,cAAc,GAAG,MAAM,CAkcjG;AAGD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAsB,EAAE,EAAE,kBAAkB,GAAG,MAAM,CAqYrH"}
|
package/dist/dashboard.js
CHANGED
|
@@ -460,7 +460,8 @@ export function generateDashboard({ hostname, uptime, socketPath, title }) {
|
|
|
460
460
|
* Generate the edge-compatible status dashboard HTML
|
|
461
461
|
* Uses polling instead of WebSocket, only shows available metrics
|
|
462
462
|
*/
|
|
463
|
-
export function generateEdgeDashboard({ hostname, uptime, title }) {
|
|
463
|
+
export function generateEdgeDashboard({ hostname, uptime, title, pollingInterval = 5000 }) {
|
|
464
|
+
const pollingSeconds = Math.round(pollingInterval / 1000);
|
|
464
465
|
return `<!DOCTYPE html>
|
|
465
466
|
<html lang="en">
|
|
466
467
|
<head>
|
|
@@ -669,7 +670,7 @@ export function generateEdgeDashboard({ hostname, uptime, title }) {
|
|
|
669
670
|
|
|
670
671
|
<div class="edge-notice">
|
|
671
672
|
<strong>☁️ Running in Edge/Cloudflare Workers Mode</strong>
|
|
672
|
-
System metrics (CPU, Memory, Heap) are not available. Dashboard updates via polling every
|
|
673
|
+
System metrics (CPU, Memory, Heap) are not available. Dashboard updates via polling every ${pollingSeconds} second${pollingSeconds !== 1 ? 's' : ''}.
|
|
673
674
|
</div>
|
|
674
675
|
|
|
675
676
|
<div class="stats-bar">
|
|
@@ -842,7 +843,8 @@ export function generateEdgeDashboard({ hostname, uptime, title }) {
|
|
|
842
843
|
fetchMetrics();
|
|
843
844
|
|
|
844
845
|
// Poll every 5 seconds
|
|
845
|
-
|
|
846
|
+
// Poll at configured interval
|
|
847
|
+
setInterval(fetchMetrics, ${pollingInterval});
|
|
846
848
|
})();
|
|
847
849
|
</script>
|
|
848
850
|
</body>
|
package/dist/dashboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kCAAkC;AAClC,gDAAgD;AAChD,gFAAgF;AAIhF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAkB;IACrF,OAAO;;;;;aAKE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAgMI,KAAK;wCACa,QAAQ;;;;;;;;;;;kGAWkD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+OhG,CAAC;AACT,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kCAAkC;AAClC,gDAAgD;AAChD,gFAAgF;AAIhF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAkB;IACrF,OAAO;;;;;aAKE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAgMI,KAAK;wCACa,QAAQ;;;;;;;;;;;kGAWkD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+OhG,CAAC;AACT,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,EAAsB;IACzG,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC1D,OAAO;;;;;aAKE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA6LI,KAAK;wCACa,QAAQ;;;;;;;;;;;;;wGAawD,cAAc,UAAU,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;;kGAI7D,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA0KhE,eAAe;;;;QAI/C,CAAC;AACT,CAAC"}
|
package/dist/index-edge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-edge.d.ts","sourceRoot":"","sources":["../src/index-edge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,YAAY,EACR,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB;
|
|
1
|
+
{"version":3,"file":"index-edge.d.ts","sourceRoot":"","sources":["../src/index-edge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,YAAY,EACR,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB;IAkDtD,gDAAgD;oBA7CvB,GAAG,QAAQ,MAAM,OAAO,CAAC,IAAI,CAAC;IA+CvD,uDAAuD;;IAEvD,iEAAiE;sBACvC,GAAG;IAC7B,gDAAgD;8BACtB,OAAO;IACjC,mCAAmC;;IAEnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,gDAAgD;;;;;;;;;;;;;;;IAEhD,mCAAmC;;EAG1C;AAGD,eAAO,MAAM,iBAAiB,sBAAgB,CAAC;AAG/C,eAAe,aAAa,CAAC"}
|
package/dist/index-edge.js
CHANGED
|
@@ -53,7 +53,8 @@ export function statusMonitor(config = {}) {
|
|
|
53
53
|
const html = generateEdgeDashboard({
|
|
54
54
|
hostname: snapshot.hostname,
|
|
55
55
|
uptime: monitor.formatUptime(snapshot.uptime),
|
|
56
|
-
title: monitor.config.title
|
|
56
|
+
title: monitor.config.title,
|
|
57
|
+
pollingInterval: monitor.config.pollingInterval
|
|
57
58
|
});
|
|
58
59
|
return c.html(html);
|
|
59
60
|
});
|
package/dist/index-edge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-edge.js","sourceRoot":"","sources":["../src/index-edge.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yCAAyC;AACzC,kDAAkD;AAClD,yDAAyD;AACzD,gFAAgF;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAavD,OAAO,EAAE,iBAAiB,EAAoB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAAC,SAA8B,EAAE;IAC1D,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAE1B,6BAA6B;IAC7B,MAAM,UAAU,GAAG,KAAK,EAAE,CAAM,EAAE,IAAyB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAE5B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,IAAI,CAAC;YACD,MAAM,IAAI,EAAE,CAAC;QACjB,CAAC;gBAAS,CAAC;YACP,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC;YACpC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;IACL,CAAC,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,qBAAqB,CAAC;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"index-edge.js","sourceRoot":"","sources":["../src/index-edge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -43,21 +43,65 @@ export { isClusterWorker, isClusterMaster, getWorkerId, createClusterAggregator
|
|
|
43
43
|
*/
|
|
44
44
|
export declare function statusMonitor(config?: StatusMonitorConfig): {
|
|
45
45
|
/** Hono middleware for tracking all requests */
|
|
46
|
-
middleware: any
|
|
46
|
+
middleware: (c: any, next: () => Promise<void>) => Promise<void>;
|
|
47
47
|
/** Pre-configured Hono routes for dashboard and API */
|
|
48
48
|
routes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
49
|
-
/** Initialize
|
|
50
|
-
initSocket: (
|
|
49
|
+
/** Initialize server - returns null (kept for backwards compatibility) */
|
|
50
|
+
initSocket: (_server?: any) => null;
|
|
51
51
|
/** Track rate limit events for the dashboard */
|
|
52
|
-
trackRateLimit: (blocked: boolean) =>
|
|
52
|
+
trackRateLimit: (blocked: boolean) => void;
|
|
53
53
|
/** Get current metrics snapshot */
|
|
54
|
-
getMetrics: () =>
|
|
54
|
+
getMetrics: () => Promise<import("./types.js").MetricsSnapshot>;
|
|
55
55
|
/** Get chart data for all metrics */
|
|
56
|
-
getCharts: () =>
|
|
56
|
+
getCharts: () => import("./types.js").ChartData;
|
|
57
57
|
/** Stop metrics collection */
|
|
58
|
-
stop: () =>
|
|
58
|
+
stop: () => void;
|
|
59
59
|
/** Access to the underlying monitor instance */
|
|
60
|
-
monitor:
|
|
60
|
+
monitor: {
|
|
61
|
+
config: Required<StatusMonitorConfig>;
|
|
62
|
+
trackRequest: (path: string, method: string) => void;
|
|
63
|
+
trackRequestComplete: (path: string, method: string, durationMs: number, statusCode: number) => void;
|
|
64
|
+
trackRateLimitEvent: (blocked: boolean) => void;
|
|
65
|
+
getMetricsSnapshot: () => Promise<import("./types.js").MetricsSnapshot>;
|
|
66
|
+
getChartData: () => import("./types.js").ChartData;
|
|
67
|
+
start: () => void;
|
|
68
|
+
stop: () => void;
|
|
69
|
+
initSocket: () => null;
|
|
70
|
+
formatUptime: (seconds: number) => string;
|
|
71
|
+
readonly io: null;
|
|
72
|
+
};
|
|
73
|
+
/** Whether running in edge mode */
|
|
74
|
+
isEdgeMode: boolean;
|
|
75
|
+
} | {
|
|
76
|
+
/** Hono middleware for tracking all requests */
|
|
77
|
+
middleware: (c: any, next: () => Promise<void>) => Promise<void>;
|
|
78
|
+
/** Pre-configured Hono routes for dashboard and API */
|
|
79
|
+
routes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
80
|
+
/** Initialize Socket.io - not available in edge, returns null */
|
|
81
|
+
initSocket: () => any;
|
|
82
|
+
/** Track rate limit events for the dashboard */
|
|
83
|
+
trackRateLimit: (blocked: boolean) => void;
|
|
84
|
+
/** Get current metrics snapshot */
|
|
85
|
+
getMetrics: () => Promise<import("./types.js").MetricsSnapshot>;
|
|
86
|
+
/** Get chart data for all metrics */
|
|
87
|
+
getCharts: () => import("./types.js").ChartData;
|
|
88
|
+
/** Stop metrics collection */
|
|
89
|
+
stop: () => void;
|
|
90
|
+
/** Access to the underlying monitor instance */
|
|
91
|
+
monitor: {
|
|
92
|
+
config: Required<StatusMonitorConfig>;
|
|
93
|
+
trackRequest: (path: string, method: string) => void;
|
|
94
|
+
trackRequestComplete: (path: string, method: string, durationMs: number, statusCode: number) => void;
|
|
95
|
+
trackRateLimitEvent: (blocked: boolean) => void;
|
|
96
|
+
getMetricsSnapshot: () => Promise<import("./types.js").MetricsSnapshot>;
|
|
97
|
+
getChartData: () => import("./types.js").ChartData;
|
|
98
|
+
start: () => void;
|
|
99
|
+
stop: () => void;
|
|
100
|
+
initSocket: () => null;
|
|
101
|
+
formatUptime: (seconds: number) => string;
|
|
102
|
+
isEdgeMode: boolean;
|
|
103
|
+
readonly io: null;
|
|
104
|
+
};
|
|
61
105
|
/** Whether running in edge mode */
|
|
62
106
|
isEdgeMode: boolean;
|
|
63
107
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQtD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EAClB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACH,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EAC1B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB;IAkDtD,gDAAgD;;IAEhD,uDAAuD;;IAEvD,0EAA0E;2BACnD,GAAG;IAC1B,gDAAgD;8BACtB,OAAO;IACjC,mCAAmC;;IAEnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,gDAAgD;;;;;;;;;;;;;;IAEhD,mCAAmC;;;IA2DnC,gDAAgD;oBA7CvB,GAAG,QAAQ,MAAM,OAAO,CAAC,IAAI,CAAC;IA+CvD,uDAAuD;;IAEvD,iEAAiE;sBACvC,GAAG;IAC7B,gDAAgD;8BACtB,OAAO;IACjC,mCAAmC;;IAEnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,gDAAgD;;;;;;;;;;;;;;;IAEhD,mCAAmC;;EAjI1C;AAsID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,mBAAwB;IAzB1D,gDAAgD;oBA7CvB,GAAG,QAAQ,MAAM,OAAO,CAAC,IAAI,CAAC;IA+CvD,uDAAuD;;IAEvD,iEAAiE;sBACvC,GAAG;IAC7B,gDAAgD;8BACtB,OAAO;IACjC,mCAAmC;;IAEnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,gDAAgD;;;;;;;;;;;;;;;IAEhD,mCAAmC;;EAW1C;AAGD,eAAe,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { Hono } from 'hono';
|
|
|
7
7
|
import { detectPlatform } from './platform.js';
|
|
8
8
|
import { createEdgeMonitor } from './monitor-edge.js';
|
|
9
9
|
import { generateDashboard, generateEdgeDashboard } from './dashboard.js';
|
|
10
|
+
import { createMonitor } from './monitor.js';
|
|
11
|
+
import { createMiddleware } from './middleware.js';
|
|
10
12
|
// Re-export types
|
|
11
13
|
export * from './types.js';
|
|
12
14
|
export { generateDashboard, generateEdgeDashboard } from './dashboard.js';
|
|
@@ -69,9 +71,6 @@ export function statusMonitor(config = {}) {
|
|
|
69
71
|
* Requires Node.js runtime with os, process, http modules
|
|
70
72
|
*/
|
|
71
73
|
function createNodeStatusMonitor(config = {}) {
|
|
72
|
-
// Dynamic import to avoid loading Node.js modules in edge
|
|
73
|
-
const { createMonitor } = require('./monitor.js');
|
|
74
|
-
const { createMiddleware } = require('./middleware.js');
|
|
75
74
|
const monitor = createMonitor(config);
|
|
76
75
|
const middleware = createMiddleware(monitor);
|
|
77
76
|
const routes = new Hono();
|
|
@@ -100,8 +99,8 @@ function createNodeStatusMonitor(config = {}) {
|
|
|
100
99
|
middleware,
|
|
101
100
|
/** Pre-configured Hono routes for dashboard and API */
|
|
102
101
|
routes,
|
|
103
|
-
/** Initialize
|
|
104
|
-
initSocket: (
|
|
102
|
+
/** Initialize server - returns null (kept for backwards compatibility) */
|
|
103
|
+
initSocket: (_server) => monitor.initSocket(),
|
|
105
104
|
/** Track rate limit events for the dashboard */
|
|
106
105
|
trackRateLimit: (blocked) => monitor.trackRateLimitEvent(blocked),
|
|
107
106
|
/** Get current metrics snapshot */
|
|
@@ -148,7 +147,8 @@ function createEdgeStatusMonitor(config = {}) {
|
|
|
148
147
|
const html = generateEdgeDashboard({
|
|
149
148
|
hostname: snapshot.hostname,
|
|
150
149
|
uptime: monitor.formatUptime(snapshot.uptime),
|
|
151
|
-
title: monitor.config.title
|
|
150
|
+
title: monitor.config.title,
|
|
151
|
+
pollingInterval: monitor.config.pollingInterval
|
|
152
152
|
});
|
|
153
153
|
return c.html(html);
|
|
154
154
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sBAAsB;AACtB,2EAA2E;AAC3E,4DAA4D;AAC5D,gFAAgF;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAqB,cAAc,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hono-status-monitor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Real-time server monitoring dashboard for Hono.js. Works with Node.js and Cloudflare Workers. Express-status-monitor style metrics with polling updates.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|