@flight-framework/devtools 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6,15 +6,13 @@
6
6
  *
7
7
  * @example
8
8
  * ```typescript
9
- * // In your flight.config.ts or main entry
10
9
  * import { enableDevTools } from '@flight-framework/devtools';
11
10
  *
12
- * if (process.env.NODE_ENV === 'development') {
11
+ * if (import.meta.env.DEV) {
13
12
  * enableDevTools({
14
- * port: 3001,
15
13
  * showRoutes: true,
16
14
  * showRequests: true,
17
- * showCache: true,
15
+ * showPerformance: true,
18
16
  * });
19
17
  * }
20
18
  * ```
@@ -30,6 +28,10 @@ export interface DevToolsOptions {
30
28
  showCache?: boolean;
31
29
  /** Show connected adapters */
32
30
  showAdapters?: boolean;
31
+ /** Show performance metrics */
32
+ showPerformance?: boolean;
33
+ /** Show console logs */
34
+ showConsole?: boolean;
33
35
  /** Custom panel position */
34
36
  position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
35
37
  }
@@ -39,6 +41,8 @@ export interface RouteInfo {
39
41
  type: 'page' | 'api';
40
42
  filePath: string;
41
43
  slot?: string;
44
+ params?: string[];
45
+ middleware?: string[];
42
46
  interceptInfo?: {
43
47
  level: number;
44
48
  target: string;
@@ -51,6 +55,11 @@ export interface RequestInfo {
51
55
  status: number;
52
56
  duration: number;
53
57
  timestamp: number;
58
+ size?: number;
59
+ type?: 'fetch' | 'xhr' | 'navigation';
60
+ cached?: boolean;
61
+ headers?: Record<string, string>;
62
+ initiator?: string;
54
63
  }
55
64
  export interface CacheInfo {
56
65
  key: string;
@@ -62,18 +71,55 @@ export interface AdapterInfo {
62
71
  name: string;
63
72
  type: 'db' | 'auth' | 'storage' | 'email' | 'payments' | 'realtime' | 'other';
64
73
  status: 'connected' | 'disconnected' | 'error';
74
+ latency?: number;
75
+ lastActivity?: number;
76
+ }
77
+ export interface PerformanceMetrics {
78
+ lcp?: number;
79
+ fid?: number;
80
+ cls?: number;
81
+ fcp?: number;
82
+ ttfb?: number;
83
+ domLoad?: number;
84
+ pageLoad?: number;
85
+ renderTime?: number;
86
+ hydrationTime?: number;
87
+ }
88
+ export interface ConsoleEntry {
89
+ id: string;
90
+ level: 'log' | 'info' | 'warn' | 'error';
91
+ message: string;
92
+ timestamp: number;
93
+ stack?: string;
94
+ }
95
+ export interface ErrorInfo {
96
+ id: string;
97
+ message: string;
98
+ stack?: string;
99
+ timestamp: number;
100
+ source?: string;
101
+ line?: number;
102
+ column?: number;
65
103
  }
66
104
  export interface DevToolsState {
67
105
  routes: RouteInfo[];
68
106
  requests: RequestInfo[];
69
107
  cache: CacheInfo[];
70
108
  adapters: AdapterInfo[];
109
+ performance: PerformanceMetrics;
110
+ console: ConsoleEntry[];
111
+ errors: ErrorInfo[];
71
112
  }
72
- declare class DevToolsManager {
113
+ declare function generateId(): string;
114
+ export declare function formatBytes(bytes: number): string;
115
+ export declare function formatDuration(ms: number): string;
116
+ export declare function formatRelativeTime(timestamp: number): string;
117
+ export declare class DevToolsManager {
73
118
  private options;
74
119
  private state;
75
120
  private subscribers;
76
121
  private isEnabled;
122
+ private startTime;
77
123
  constructor(options: DevToolsOptions);
78
124
  /**
79
125
  * Register routes for display in DevTools
@@ -91,6 +137,30 @@ declare class DevToolsManager {
91
137
  * Register an adapter
92
138
  */
93
139
  registerAdapter(adapter: AdapterInfo): void;
140
+ /**
141
+ * Update performance metrics
142
+ */
143
+ updatePerformance(metrics: Partial<PerformanceMetrics>): void;
144
+ /**
145
+ * Log a console entry
146
+ */
147
+ logConsole(level: ConsoleEntry['level'], message: string, stack?: string): void;
148
+ /**
149
+ * Log an error
150
+ */
151
+ logError(error: Omit<ErrorInfo, 'id' | 'timestamp'>): void;
152
+ /**
153
+ * Clear requests
154
+ */
155
+ clearRequests(): void;
156
+ /**
157
+ * Clear console
158
+ */
159
+ clearConsole(): void;
160
+ /**
161
+ * Clear errors
162
+ */
163
+ clearErrors(): void;
94
164
  /**
95
165
  * Subscribe to state changes
96
166
  */
@@ -103,6 +173,10 @@ declare class DevToolsManager {
103
173
  * Get options
104
174
  */
105
175
  getOptions(): Required<DevToolsOptions>;
176
+ /**
177
+ * Get uptime in ms
178
+ */
179
+ getUptime(): number;
106
180
  private notify;
107
181
  }
108
182
  /**
@@ -123,5 +197,5 @@ export declare function isDevToolsEnabled(): boolean;
123
197
  export declare function devToolsMiddleware(): (context: {
124
198
  request: Request;
125
199
  }, next: () => Promise<Response>) => Promise<Response>;
126
- export {};
200
+ export { generateId };
127
201
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,35 +6,73 @@
6
6
  *
7
7
  * @example
8
8
  * ```typescript
9
- * // In your flight.config.ts or main entry
10
9
  * import { enableDevTools } from '@flight-framework/devtools';
11
10
  *
12
- * if (process.env.NODE_ENV === 'development') {
11
+ * if (import.meta.env.DEV) {
13
12
  * enableDevTools({
14
- * port: 3001,
15
13
  * showRoutes: true,
16
14
  * showRequests: true,
17
- * showCache: true,
15
+ * showPerformance: true,
18
16
  * });
19
17
  * }
20
18
  * ```
21
19
  */
22
20
  // ============================================================================
21
+ // Utility Functions
22
+ // ============================================================================
23
+ function generateId() {
24
+ return typeof crypto !== 'undefined' && crypto.randomUUID
25
+ ? crypto.randomUUID()
26
+ : `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
27
+ }
28
+ export function formatBytes(bytes) {
29
+ if (bytes === 0)
30
+ return '0 B';
31
+ const k = 1024;
32
+ const sizes = ['B', 'KB', 'MB', 'GB'];
33
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
34
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i]}`;
35
+ }
36
+ export function formatDuration(ms) {
37
+ if (ms < 1)
38
+ return '<1ms';
39
+ if (ms < 1000)
40
+ return `${Math.round(ms)}ms`;
41
+ return `${(ms / 1000).toFixed(2)}s`;
42
+ }
43
+ export function formatRelativeTime(timestamp) {
44
+ const now = Date.now();
45
+ const diff = now - timestamp;
46
+ if (diff < 1000)
47
+ return 'just now';
48
+ if (diff < 60000)
49
+ return `${Math.floor(diff / 1000)}s ago`;
50
+ if (diff < 3600000)
51
+ return `${Math.floor(diff / 60000)}m ago`;
52
+ if (diff < 86400000)
53
+ return `${Math.floor(diff / 3600000)}h ago`;
54
+ return `${Math.floor(diff / 86400000)}d ago`;
55
+ }
56
+ // ============================================================================
23
57
  // DevTools Manager
24
58
  // ============================================================================
25
59
  let devToolsInstance = null;
26
- class DevToolsManager {
60
+ export class DevToolsManager {
27
61
  options;
28
62
  state;
29
63
  subscribers;
30
64
  isEnabled;
65
+ startTime;
31
66
  constructor(options) {
67
+ this.startTime = performance.now();
32
68
  this.options = {
33
69
  port: options.port ?? 3001,
34
70
  showRoutes: options.showRoutes ?? true,
35
71
  showRequests: options.showRequests ?? true,
36
72
  showCache: options.showCache ?? true,
37
73
  showAdapters: options.showAdapters ?? true,
74
+ showPerformance: options.showPerformance ?? true,
75
+ showConsole: options.showConsole ?? true,
38
76
  position: options.position ?? 'bottom-right',
39
77
  };
40
78
  this.state = {
@@ -42,6 +80,9 @@ class DevToolsManager {
42
80
  requests: [],
43
81
  cache: [],
44
82
  adapters: [],
83
+ performance: {},
84
+ console: [],
85
+ errors: [],
45
86
  };
46
87
  this.subscribers = new Set();
47
88
  // Check if running in development mode (works in Node and browsers with Vite)
@@ -66,7 +107,7 @@ class DevToolsManager {
66
107
  return;
67
108
  const request = {
68
109
  ...info,
69
- id: crypto.randomUUID(),
110
+ id: generateId(),
70
111
  timestamp: Date.now(),
71
112
  };
72
113
  // Keep last 100 requests
@@ -90,13 +131,75 @@ class DevToolsManager {
90
131
  return;
91
132
  const existing = this.state.adapters.findIndex(a => a.name === adapter.name);
92
133
  if (existing >= 0) {
93
- this.state.adapters[existing] = adapter;
134
+ this.state.adapters[existing] = { ...adapter, lastActivity: Date.now() };
94
135
  }
95
136
  else {
96
- this.state.adapters.push(adapter);
137
+ this.state.adapters.push({ ...adapter, lastActivity: Date.now() });
97
138
  }
98
139
  this.notify();
99
140
  }
141
+ /**
142
+ * Update performance metrics
143
+ */
144
+ updatePerformance(metrics) {
145
+ if (!this.isEnabled || !this.options.showPerformance)
146
+ return;
147
+ this.state.performance = { ...this.state.performance, ...metrics };
148
+ this.notify();
149
+ }
150
+ /**
151
+ * Log a console entry
152
+ */
153
+ logConsole(level, message, stack) {
154
+ if (!this.isEnabled || !this.options.showConsole)
155
+ return;
156
+ const entry = {
157
+ id: generateId(),
158
+ level,
159
+ message: typeof message === 'string' ? message : JSON.stringify(message),
160
+ timestamp: Date.now(),
161
+ stack,
162
+ };
163
+ // Keep last 200 console entries
164
+ this.state.console = [entry, ...this.state.console].slice(0, 200);
165
+ this.notify();
166
+ }
167
+ /**
168
+ * Log an error
169
+ */
170
+ logError(error) {
171
+ if (!this.isEnabled)
172
+ return;
173
+ const errorInfo = {
174
+ ...error,
175
+ id: generateId(),
176
+ timestamp: Date.now(),
177
+ };
178
+ // Keep last 50 errors
179
+ this.state.errors = [errorInfo, ...this.state.errors].slice(0, 50);
180
+ this.notify();
181
+ }
182
+ /**
183
+ * Clear requests
184
+ */
185
+ clearRequests() {
186
+ this.state.requests = [];
187
+ this.notify();
188
+ }
189
+ /**
190
+ * Clear console
191
+ */
192
+ clearConsole() {
193
+ this.state.console = [];
194
+ this.notify();
195
+ }
196
+ /**
197
+ * Clear errors
198
+ */
199
+ clearErrors() {
200
+ this.state.errors = [];
201
+ this.notify();
202
+ }
100
203
  /**
101
204
  * Subscribe to state changes
102
205
  */
@@ -117,6 +220,12 @@ class DevToolsManager {
117
220
  getOptions() {
118
221
  return this.options;
119
222
  }
223
+ /**
224
+ * Get uptime in ms
225
+ */
226
+ getUptime() {
227
+ return performance.now() - this.startTime;
228
+ }
120
229
  notify() {
121
230
  for (const callback of this.subscribers) {
122
231
  callback(this.state);
@@ -140,7 +249,7 @@ export function enableDevTools(options = {}) {
140
249
  }
141
250
  if (!devToolsInstance) {
142
251
  devToolsInstance = new DevToolsManager(options);
143
- console.log(`[Flight DevTools] Enabled on port ${options.port ?? 3001}`);
252
+ console.log(`[Flight DevTools] Enabled`);
144
253
  }
145
254
  return devToolsInstance;
146
255
  }
@@ -174,11 +283,23 @@ export function devToolsMiddleware() {
174
283
  try {
175
284
  const response = await next();
176
285
  const duration = performance.now() - start;
286
+ // Try to get response size
287
+ const clonedResponse = response.clone();
288
+ let size;
289
+ try {
290
+ const blob = await clonedResponse.blob();
291
+ size = blob.size;
292
+ }
293
+ catch {
294
+ // Ignore size calculation errors
295
+ }
177
296
  devToolsInstance.logRequest({
178
297
  method: request.method,
179
298
  path: new URL(request.url).pathname,
180
299
  status: response.status,
181
300
  duration: Math.round(duration),
301
+ size,
302
+ type: 'fetch',
182
303
  });
183
304
  return response;
184
305
  }
@@ -189,9 +310,12 @@ export function devToolsMiddleware() {
189
310
  path: new URL(request.url).pathname,
190
311
  status: 500,
191
312
  duration: Math.round(duration),
313
+ type: 'fetch',
192
314
  });
193
315
  throw error;
194
316
  }
195
317
  };
196
318
  }
319
+ // Re-export utility functions for panel use
320
+ export { generateId };
197
321
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,21 @@
1
1
  /**
2
2
  * @flight-framework/devtools/instrumentation - Auto-instrumentation
3
3
  *
4
- * Automatically instruments Flight apps to send data to DevTools.
5
- */
6
- import { type AdapterInfo } from './index.js';
7
- /**
8
- * Instrument file router to report routes to DevTools
4
+ * Automatically captures:
5
+ * - Fetch requests with timing and size
6
+ * - Performance metrics (Core Web Vitals)
7
+ * - JavaScript errors
8
+ * - Console output
9
9
  */
10
+ export declare function instrumentFetch(): void;
11
+ export declare function instrumentPerformance(): void;
12
+ export declare function instrumentErrors(): void;
13
+ export declare function instrumentConsole(): void;
10
14
  export declare function instrumentFileRouter(routes: unknown[]): void;
11
- /**
12
- * Instrument an adapter to report to DevTools
13
- */
14
- export declare function instrumentAdapter(adapter: {
15
+ export declare function instrumentAdapter<T extends object>(adapter: T, info: {
15
16
  name: string;
16
- }, type: AdapterInfo['type']): void;
17
- /**
18
- * Report adapter error to DevTools
19
- */
20
- export declare function reportAdapterError(adapterName: string): void;
21
- /**
22
- * Instrument a cache to report to DevTools
23
- */
24
- export declare function instrumentCache(cache: Map<string, unknown>): void;
25
- /**
26
- * Auto-instrument common Flight patterns
27
- * Call this once during app initialization
28
- */
17
+ type: 'db' | 'auth' | 'storage' | 'email' | 'payments' | 'realtime' | 'other';
18
+ }): T;
19
+ export declare function reportAdapterError(name: string, type: 'db' | 'auth' | 'storage' | 'email' | 'payments' | 'realtime' | 'other', error: Error): void;
29
20
  export declare function autoInstrument(): void;
30
21
  //# sourceMappingURL=instrumentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAM3E;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAc5D;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACzB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1B,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAa5D;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAYjE;AAMD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA8CrC"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../src/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,wBAAgB,eAAe,IAAI,IAAI,CAsDtC;AAMD,wBAAgB,qBAAqB,IAAI,IAAI,CA+D5C;AAMD,wBAAgB,gBAAgB,IAAI,IAAI,CA0BvC;AAQD,wBAAgB,iBAAiB,IAAI,IAAI,CA0BxC;AAMD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAiB5D;AAwBD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAC9C,OAAO,EAAE,CAAC,EACV,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAA;CAAE,GACtG,CAAC,CAuCH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CASlJ;AAQD,wBAAgB,cAAc,IAAI,IAAI,CAgBrC"}