@teardown/cli 1.2.38 → 1.2.39

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 (118) hide show
  1. package/dist/commands/dev/dev.d.ts +22 -0
  2. package/dist/commands/dev/dev.js +1 -0
  3. package/dist/commands/dev/dev.js.map +1 -0
  4. package/dist/commands/init/init-teardown.d.ts +9 -0
  5. package/dist/commands/init/init-teardown.js +1 -0
  6. package/dist/commands/init/init-teardown.js.map +1 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/modules/dev/dev-menu/keyboard-handler.d.ts +21 -0
  11. package/dist/modules/dev/dev-menu/keyboard-handler.js +1 -0
  12. package/dist/modules/dev/dev-menu/keyboard-handler.js.map +1 -0
  13. package/dist/modules/dev/dev-menu/open-debugger-keyboard-handler.d.ts +18 -0
  14. package/dist/modules/dev/dev-menu/open-debugger-keyboard-handler.js +1 -0
  15. package/dist/modules/dev/dev-menu/open-debugger-keyboard-handler.js.map +1 -0
  16. package/dist/modules/dev/dev-server/cdp/cdp.adapter.d.ts +6 -0
  17. package/dist/modules/dev/dev-server/cdp/cdp.adapter.js +1 -0
  18. package/dist/modules/dev/dev-server/cdp/cdp.adapter.js.map +1 -0
  19. package/dist/modules/dev/dev-server/cdp/index.d.ts +2 -0
  20. package/dist/modules/dev/dev-server/cdp/index.js +1 -0
  21. package/dist/modules/dev/dev-server/cdp/index.js.map +1 -0
  22. package/dist/modules/dev/dev-server/cdp/types.d.ts +107 -0
  23. package/dist/modules/dev/dev-server/cdp/types.js +1 -0
  24. package/dist/modules/dev/dev-server/cdp/types.js.map +1 -0
  25. package/dist/modules/dev/dev-server/dev-server-checker.d.ts +22 -0
  26. package/dist/modules/dev/dev-server/dev-server-checker.js +1 -0
  27. package/dist/modules/dev/dev-server/dev-server-checker.js.map +1 -0
  28. package/dist/modules/dev/dev-server/dev-server.d.ts +74 -0
  29. package/dist/modules/dev/dev-server/dev-server.js +5 -2
  30. package/dist/modules/dev/dev-server/dev-server.js.map +1 -0
  31. package/dist/modules/dev/dev-server/inspector/device.d.ts +46 -0
  32. package/dist/modules/dev/dev-server/inspector/device.event-reporter.d.ts +37 -0
  33. package/dist/modules/dev/dev-server/inspector/device.event-reporter.js +1 -0
  34. package/dist/modules/dev/dev-server/inspector/device.event-reporter.js.map +1 -0
  35. package/dist/modules/dev/dev-server/inspector/device.js +1 -0
  36. package/dist/modules/dev/dev-server/inspector/device.js.map +1 -0
  37. package/dist/modules/dev/dev-server/inspector/inspector.d.ts +27 -0
  38. package/dist/modules/dev/dev-server/inspector/inspector.js +37 -16
  39. package/dist/modules/dev/dev-server/inspector/inspector.js.map +1 -0
  40. package/dist/modules/dev/dev-server/inspector/types.d.ts +156 -0
  41. package/dist/modules/dev/dev-server/inspector/types.js +1 -0
  42. package/dist/modules/dev/dev-server/inspector/types.js.map +1 -0
  43. package/dist/modules/dev/dev-server/inspector/wss/servers/debugger-connection.server.d.ts +14 -0
  44. package/dist/modules/dev/dev-server/inspector/wss/servers/debugger-connection.server.js +2 -0
  45. package/dist/modules/dev/dev-server/inspector/wss/servers/debugger-connection.server.js.map +1 -0
  46. package/dist/modules/dev/dev-server/inspector/wss/servers/device-connection.server.d.ts +19 -0
  47. package/dist/modules/dev/dev-server/inspector/wss/servers/device-connection.server.js +2 -0
  48. package/dist/modules/dev/dev-server/inspector/wss/servers/device-connection.server.js.map +1 -0
  49. package/dist/modules/dev/dev-server/plugins/devtools.plugin.d.ts +1 -0
  50. package/dist/modules/dev/dev-server/plugins/devtools.plugin.js +1 -0
  51. package/dist/modules/dev/dev-server/plugins/devtools.plugin.js.map +1 -0
  52. package/dist/modules/dev/dev-server/plugins/favicon.plugin.d.ts +1 -0
  53. package/dist/modules/dev/dev-server/plugins/favicon.plugin.js +1 -1
  54. package/dist/modules/dev/dev-server/plugins/favicon.plugin.js.map +1 -0
  55. package/dist/modules/dev/dev-server/plugins/multipart.plugin.d.ts +1 -0
  56. package/dist/modules/dev/dev-server/plugins/multipart.plugin.js +1 -0
  57. package/dist/modules/dev/dev-server/plugins/multipart.plugin.js.map +1 -0
  58. package/dist/modules/dev/dev-server/plugins/systrace.plugin.d.ts +1 -0
  59. package/dist/modules/dev/dev-server/plugins/systrace.plugin.js +1 -0
  60. package/dist/modules/dev/dev-server/plugins/systrace.plugin.js.map +1 -0
  61. package/dist/modules/dev/dev-server/plugins/types.d.ts +11 -0
  62. package/dist/modules/dev/dev-server/plugins/types.js +1 -0
  63. package/dist/modules/dev/dev-server/plugins/types.js.map +1 -0
  64. package/dist/modules/dev/dev-server/plugins/wss/index.d.ts +3 -0
  65. package/dist/modules/dev/dev-server/plugins/wss/index.js +1 -0
  66. package/dist/modules/dev/dev-server/plugins/wss/index.js.map +1 -0
  67. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-api.server.d.ts +37 -0
  68. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-api.server.js +1 -0
  69. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-api.server.js.map +1 -0
  70. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-debugger.server.d.ts +63 -0
  71. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-debugger.server.js +1 -0
  72. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-debugger.server.js.map +1 -0
  73. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-dev-client.server.d.ts +32 -0
  74. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-dev-client.server.js +1 -0
  75. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-dev-client.server.js.map +1 -0
  76. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-events.server.d.ts +75 -0
  77. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-events.server.js +1 -0
  78. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-events.server.js.map +1 -0
  79. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-hmr.server.d.ts +44 -0
  80. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-hmr.server.js +1 -0
  81. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-hmr.server.js.map +1 -0
  82. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-message.server.d.ts +135 -0
  83. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-message.server.js +7 -0
  84. package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-message.server.js.map +1 -0
  85. package/dist/modules/dev/dev-server/plugins/wss/types.d.ts +6 -0
  86. package/dist/modules/dev/dev-server/plugins/wss/types.js +1 -0
  87. package/dist/modules/dev/dev-server/plugins/wss/types.js.map +1 -0
  88. package/dist/modules/dev/dev-server/plugins/wss/web-socket-router.d.ts +32 -0
  89. package/dist/modules/dev/dev-server/plugins/wss/web-socket-router.js +1 -0
  90. package/dist/modules/dev/dev-server/plugins/wss/web-socket-router.js.map +1 -0
  91. package/dist/modules/dev/dev-server/plugins/wss/web-socket-server-adapter.d.ts +13 -0
  92. package/dist/modules/dev/dev-server/plugins/wss/web-socket-server-adapter.js +1 -0
  93. package/dist/modules/dev/dev-server/plugins/wss/web-socket-server-adapter.js.map +1 -0
  94. package/dist/modules/dev/dev-server/plugins/wss/web-socket-server.d.ts +39 -0
  95. package/dist/modules/dev/dev-server/plugins/wss/web-socket-server.js +1 -0
  96. package/dist/modules/dev/dev-server/plugins/wss/web-socket-server.js.map +1 -0
  97. package/dist/modules/dev/dev-server/plugins/wss/wss.plugin.d.ts +24 -0
  98. package/dist/modules/dev/dev-server/plugins/wss/wss.plugin.js +1 -0
  99. package/dist/modules/dev/dev-server/plugins/wss/wss.plugin.js.map +1 -0
  100. package/dist/modules/dev/dev-server/sybmolicate/sybmolicate.plugin.d.ts +7 -0
  101. package/dist/modules/dev/dev-server/sybmolicate/sybmolicate.plugin.js +13 -8
  102. package/dist/modules/dev/dev-server/sybmolicate/sybmolicate.plugin.js.map +1 -0
  103. package/dist/modules/dev/dev-server/sybmolicate/types.d.ts +64 -0
  104. package/dist/modules/dev/dev-server/sybmolicate/types.js +1 -0
  105. package/dist/modules/dev/dev-server/sybmolicate/types.js.map +1 -0
  106. package/dist/modules/dev/terminal/base.terminal.reporter.d.ts +25 -0
  107. package/dist/modules/dev/terminal/base.terminal.reporter.js +1 -0
  108. package/dist/modules/dev/terminal/base.terminal.reporter.js.map +1 -0
  109. package/dist/modules/dev/terminal/terminal.reporter.d.ts +13 -0
  110. package/dist/modules/dev/terminal/terminal.reporter.js +19 -12
  111. package/dist/modules/dev/terminal/terminal.reporter.js.map +1 -0
  112. package/dist/modules/dev/types.d.ts +20 -0
  113. package/dist/modules/dev/types.js +1 -0
  114. package/dist/modules/dev/types.js.map +1 -0
  115. package/dist/modules/dev/utils/log.d.ts +23 -0
  116. package/dist/modules/dev/utils/log.js +1 -0
  117. package/dist/modules/dev/utils/log.js.map +1 -0
  118. package/package.json +1 -1
@@ -0,0 +1,27 @@
1
+ import { WebSocketServer } from "ws";
2
+ import type { IncomingMessage, ServerResponse } from "node:http";
3
+ import type { EventReporter, PageDescription } from "./types";
4
+ import type { CDPAdapter } from "../cdp/cdp.adapter";
5
+ export interface InspectorOptions {
6
+ projectRoot: string;
7
+ serverBaseUrl: string;
8
+ eventReporter?: EventReporter;
9
+ cdpAdapter?: CDPAdapter;
10
+ }
11
+ export declare class Inspector {
12
+ private devices;
13
+ private deviceCounter;
14
+ private readonly projectRoot;
15
+ private readonly serverBaseUrl;
16
+ private readonly eventReporter?;
17
+ private readonly cdpAdapter?;
18
+ constructor(options: InspectorOptions);
19
+ getPageDescriptions(): PageDescription[];
20
+ handleHttpRequest(req: IncomingMessage, res: ServerResponse, next: (error?: Error) => void): void;
21
+ createWebSocketServers(): Record<string, WebSocketServer>;
22
+ private createPageDescription;
23
+ private createDeviceWebSocketServer;
24
+ private createDebuggerWebSocketServer;
25
+ private setupHeartbeat;
26
+ private sendJsonResponse;
27
+ }
@@ -14,7 +14,7 @@ const JSON_VERSION_PATH = "/json/version";
14
14
  const JSON_LIST_PATH = "/json";
15
15
  const JSON_LIST_PATH_2 = "/json/list";
16
16
  const HEARTBEAT_INTERVAL = 10000;
17
- const MAX_PONG_TIMEOUT = 5000;
17
+ const MAX_PONG_TIMEOUT = 15000;
18
18
  const INTERNAL_ERROR_CODE = 1011;
19
19
  class Inspector {
20
20
  devices = new Map();
@@ -41,7 +41,6 @@ class Inspector {
41
41
  }
42
42
  handleHttpRequest(req, res, next) {
43
43
  const pathname = new node_url_1.URL(req.url || "", "http://localhost").pathname;
44
- console.log("handleHttpRequest", { pathname });
45
44
  if (pathname === JSON_LIST_PATH || pathname === JSON_LIST_PATH_2) {
46
45
  this.sendJsonResponse(res, this.getPageDescriptions());
47
46
  }
@@ -129,17 +128,22 @@ class Inspector {
129
128
  noServer: true,
130
129
  maxPayload: 0,
131
130
  });
131
+ wss.on("open", () => {
132
+ console.info("open");
133
+ });
132
134
  wss.on("connection", (ws, req) => {
133
135
  try {
134
136
  const query = new node_url_1.URL(req.url || "", "http://localhost").searchParams;
135
137
  const deviceId = query.get("device");
136
138
  const pageId = query.get("page");
137
139
  if (!deviceId || !pageId) {
138
- throw new Error("Missing device or page ID");
140
+ console.info("missing device or page id", deviceId, pageId);
141
+ return;
139
142
  }
140
143
  const device = this.devices.get(deviceId);
141
144
  if (!device) {
142
- throw new Error(`Unknown device: ${deviceId}`);
145
+ console.info("device not found", deviceId);
146
+ return;
143
147
  }
144
148
  this.setupHeartbeat(ws);
145
149
  device.handleDebuggerConnection(ws, pageId, {
@@ -159,32 +163,48 @@ class Inspector {
159
163
  return wss;
160
164
  }
161
165
  setupHeartbeat(ws) {
162
- let pendingPong = false;
166
+ let pendingHeartbeat = false;
163
167
  let terminateTimeout = null;
164
168
  const heartbeat = setInterval(() => {
165
169
  if (ws.readyState !== ws_1.WebSocket.OPEN) {
166
170
  return;
167
171
  }
168
- pendingPong = true;
169
- ws.ping(() => {
170
- if (!pendingPong)
171
- return;
172
- terminateTimeout = setTimeout(() => {
173
- if (ws.readyState === ws_1.WebSocket.OPEN) {
172
+ pendingHeartbeat = true;
173
+ // Send a heartbeat message instead of ping
174
+ ws.send(JSON.stringify({ method: "_heartbeat" }));
175
+ terminateTimeout = setTimeout(() => {
176
+ if (ws.readyState === ws_1.WebSocket.OPEN) {
177
+ try {
174
178
  ws.terminate();
175
179
  }
176
- }, MAX_PONG_TIMEOUT);
177
- });
180
+ catch (e) {
181
+ ws.close(INTERNAL_ERROR_CODE, "Termination failed");
182
+ }
183
+ }
184
+ }, MAX_PONG_TIMEOUT);
178
185
  }, HEARTBEAT_INTERVAL);
179
186
  const resetHeartbeat = () => {
180
- pendingPong = false;
187
+ pendingHeartbeat = false;
181
188
  if (terminateTimeout) {
182
189
  clearTimeout(terminateTimeout);
183
190
  terminateTimeout = null;
184
191
  }
185
192
  };
186
- ws.on("pong", resetHeartbeat);
187
- ws.on("message", resetHeartbeat);
193
+ ws.on("message", (data) => {
194
+ try {
195
+ const message = JSON.parse(data.toString());
196
+ // Check for heartbeat response
197
+ if (message.method === "_heartbeat_response") {
198
+ resetHeartbeat();
199
+ return;
200
+ }
201
+ }
202
+ catch (e) {
203
+ // If message isn't JSON or doesn't have expected format,
204
+ // treat it as regular message for heartbeat purposes
205
+ resetHeartbeat();
206
+ }
207
+ });
188
208
  ws.on("close", () => {
189
209
  clearInterval(heartbeat);
190
210
  resetHeartbeat();
@@ -202,3 +222,4 @@ class Inspector {
202
222
  }
203
223
  }
204
224
  exports.Inspector = Inspector;
225
+ //# sourceMappingURL=inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/inspector/inspector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import type WS from "ws";
2
+ export type JSONSerializable = boolean | number | string | null | ReadonlyArray<JSONSerializable> | {
3
+ [key: string]: JSONSerializable;
4
+ };
5
+ export interface PageFromDevice {
6
+ id: string;
7
+ title: string;
8
+ vm: string;
9
+ app: string;
10
+ capabilities: Record<string, boolean>;
11
+ }
12
+ export type Page = Omit<PageFromDevice, "capabilities"> & {
13
+ capabilities: NonNullable<PageFromDevice["capabilities"]>;
14
+ };
15
+ export type WrappedEvent = {
16
+ event: "wrappedEvent";
17
+ payload: {
18
+ pageId: string;
19
+ wrappedEvent: string;
20
+ };
21
+ };
22
+ export type ConnectRequest = {
23
+ event: "connect";
24
+ payload: {
25
+ pageId: string;
26
+ };
27
+ };
28
+ export type DisconnectRequest = {
29
+ event: "disconnect";
30
+ payload: {
31
+ pageId: string;
32
+ };
33
+ };
34
+ export type GetPagesRequest = {
35
+ event: "getPages";
36
+ };
37
+ export type GetPagesResponse = {
38
+ event: "getPages";
39
+ payload: ReadonlyArray<PageFromDevice>;
40
+ };
41
+ export type MessageFromDevice = GetPagesResponse | WrappedEvent | DisconnectRequest;
42
+ export type MessageToDevice = GetPagesRequest | WrappedEvent | ConnectRequest | DisconnectRequest;
43
+ export type PageDescription = {
44
+ id: string;
45
+ title: string;
46
+ appId: string;
47
+ description: string;
48
+ type: string;
49
+ devtoolsFrontendUrl: string;
50
+ webSocketDebuggerUrl: string;
51
+ /** @deprecated Prefer `title` */
52
+ deviceName: string;
53
+ /** @deprecated This is sent from legacy targets only */
54
+ vm?: string;
55
+ reactNative: {
56
+ logicalDeviceId: string;
57
+ capabilities: Page["capabilities"];
58
+ };
59
+ };
60
+ export interface CDPMessage {
61
+ id?: number;
62
+ method?: string;
63
+ params?: any;
64
+ result?: any;
65
+ }
66
+ export interface DebuggerConnection {
67
+ socket: WS;
68
+ originalSourceURLAddress?: string;
69
+ prependedFilePrefix: boolean;
70
+ pageId: string;
71
+ userAgent: string | null;
72
+ customHandler: any | null;
73
+ }
74
+ type SuccessResult<Props extends Record<string, any> = {}> = {
75
+ status: "success";
76
+ } & Props;
77
+ type ErrorResult<ErrorT = unknown> = {
78
+ status: "error";
79
+ error: ErrorT;
80
+ prefersFuseboxFrontend?: boolean | null;
81
+ };
82
+ type CodedErrorResult<ErrorCode extends string> = {
83
+ status: "coded_error";
84
+ errorCode: ErrorCode;
85
+ errorDetails?: string;
86
+ };
87
+ type DebuggerSessionIDs = {
88
+ appId: string;
89
+ deviceName: string;
90
+ deviceId: string;
91
+ pageId: string | null;
92
+ };
93
+ export type ReportableEvent = ({
94
+ type: "launch_debugger_frontend";
95
+ launchType: "launch" | "redirect";
96
+ } & (SuccessResult<{
97
+ appId: string | null;
98
+ deviceId: string | null;
99
+ resolvedTargetDescription: string;
100
+ resolvedTargetAppId: string;
101
+ prefersFuseboxFrontend: boolean;
102
+ }> | ErrorResult | CodedErrorResult<"NO_APPS_FOUND">)) | ({
103
+ type: "connect_debugger_frontend";
104
+ } & (SuccessResult<{
105
+ frontendUserAgent: string | null;
106
+ } & DebuggerSessionIDs> | ErrorResult)) | ({
107
+ type: "debugger_command";
108
+ protocol: "CDP";
109
+ method: string | null;
110
+ requestOrigin: "proxy" | "debugger" | null;
111
+ responseOrigin: "proxy" | "device";
112
+ timeSinceStart: number | null;
113
+ frontendUserAgent: string | null;
114
+ prefersFuseboxFrontend: boolean | null;
115
+ } & DebuggerSessionIDs & (SuccessResult | CodedErrorResult<"TIMED_OUT" | "DEVICE_DISCONNECTED" | "DEBUGGER_DISCONNECTED" | "UNMATCHED_REQUEST_ID" | "PROTOCOL_ERROR">)) | ({
116
+ type: "proxy_error";
117
+ status: "error";
118
+ messageOrigin: "debugger" | "device";
119
+ message: string;
120
+ error: string;
121
+ errorStack: string;
122
+ } & DebuggerSessionIDs);
123
+ export interface EventReporter {
124
+ logEvent(event: ReportableEvent): void;
125
+ }
126
+ export type ExposedDevice = {
127
+ appId: string;
128
+ id: string;
129
+ name: string;
130
+ sendMessage: (message: JSONSerializable) => void;
131
+ };
132
+ export type ExposedDebugger = {
133
+ userAgent: string | null;
134
+ sendMessage: (message: JSONSerializable) => void;
135
+ };
136
+ export type CustomMessageHandlerConnection = {
137
+ page: Page;
138
+ device: ExposedDevice;
139
+ debugger: ExposedDebugger;
140
+ };
141
+ export type CreateCustomMessageHandlerFn = (connection: CustomMessageHandlerConnection) => CustomMessageHandler;
142
+ export interface CustomMessageHandler {
143
+ /**
144
+ * Handle a CDP message coming from the device.
145
+ * This is invoked before the message is sent to the debugger.
146
+ * When returning true, the message is considered handled and will not be sent to the debugger.
147
+ */
148
+ handleDeviceMessage(message: JSONSerializable): boolean;
149
+ /**
150
+ * Handle a CDP message coming from the debugger.
151
+ * This is invoked before the message is sent to the device.
152
+ * When returning true, the message is considered handled and will not be sent to the device.
153
+ */
154
+ handleDebuggerMessage(message: JSONSerializable): boolean;
155
+ }
156
+ export {};
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/inspector/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import WS from "ws";
2
+ import type { EventReporter } from "../../types";
3
+ import type { Device } from "../../device";
4
+ interface DebuggerConnectionServerConfig {
5
+ devices: Map<string, Device>;
6
+ eventReporter: EventReporter | null;
7
+ startHeartbeat: (socket: WS, intervalMs: number) => void;
8
+ }
9
+ export default class DebuggerConnectionServer {
10
+ #private;
11
+ constructor({ devices, eventReporter, startHeartbeat, }: DebuggerConnectionServerConfig);
12
+ createServer(): WS.Server;
13
+ }
14
+ export {};
@@ -27,6 +27,7 @@ class DebuggerConnectionServer {
27
27
  maxPayload: 0,
28
28
  });
29
29
  wss.on("connection", async (socket, req) => {
30
+ console.log("debugger-connection onConnection", req.url);
30
31
  try {
31
32
  const query = node_url_1.default.parse(req.url || "", true).query || {};
32
33
  const deviceId = query.device;
@@ -59,3 +60,4 @@ class DebuggerConnectionServer {
59
60
  }
60
61
  }
61
62
  exports.default = DebuggerConnectionServer;
63
+ //# sourceMappingURL=debugger-connection.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger-connection.server.js","sourceRoot":"","sources":["../../../../../../../src/modules/dev/dev-server/inspector/wss/servers/debugger-connection.server.ts"],"names":[],"mappings":";;;;;AAAA,wDAA2B;AAC3B,4CAAoB;AAIpB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEvD,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAQjC,MAAqB,wBAAwB;IAC5C,QAAQ,CAAsB;IAC9B,cAAc,CAAuB;IACrC,eAAe,CAA2C;IAE1D,YAAY,EACX,OAAO,EACP,aAAa,EACb,cAAc,GACkB;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,YAAY;QACX,MAAM,GAAG,GAAG,IAAI,YAAE,CAAC,MAAM,CAAC;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,KAAK;YACxB,uEAAuE;YACvE,oEAAoE;YACpE,UAAU,EAAE,CAAC;SACb,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,kBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAA4B,CAAC;gBACpD,MAAM,MAAM,GAAG,KAAK,CAAC,IAA0B,CAAC;gBAEhD,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;gBACvD,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;gBAE7D,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE;oBAC/C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAClD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;iBACvD,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,eAAe,CAAC,CAAC;gBACpE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;oBAC7B,IAAI,EAAE,2BAA2B;oBACjC,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,CAAC;iBACR,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AA5DD,2CA4DC"}
@@ -0,0 +1,19 @@
1
+ import WS from "ws";
2
+ import { Device } from "../../device";
3
+ import type { EventReporter, CreateCustomMessageHandlerFn } from "../../types";
4
+ interface DeviceCounter {
5
+ value: number;
6
+ }
7
+ interface DeviceConnectionServerConfig {
8
+ devices: Map<string, Device>;
9
+ deviceCounter: DeviceCounter;
10
+ projectRoot: string;
11
+ eventReporter?: EventReporter;
12
+ customMessageHandler: CreateCustomMessageHandlerFn | null;
13
+ }
14
+ export default class DeviceConnectionServer {
15
+ #private;
16
+ constructor({ devices, deviceCounter, projectRoot, eventReporter, customMessageHandler, }: DeviceConnectionServerConfig);
17
+ createServer(): WS.Server;
18
+ }
19
+ export {};
@@ -28,6 +28,7 @@ class DeviceConnectionServer {
28
28
  maxPayload: 0,
29
29
  });
30
30
  wss.on("connection", async (socket, req) => {
31
+ console.log("device-connection onConnection", req.url);
31
32
  try {
32
33
  const fallbackDeviceId = String(this.#deviceCounter.value++);
33
34
  const query = node_url_1.default.parse(req.url || "", true).query || {};
@@ -62,3 +63,4 @@ class DeviceConnectionServer {
62
63
  }
63
64
  }
64
65
  exports.default = DeviceConnectionServer;
66
+ //# sourceMappingURL=device-connection.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-connection.server.js","sourceRoot":"","sources":["../../../../../../../src/modules/dev/dev-server/inspector/wss/servers/device-connection.server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const devtoolsPlugin: any;
@@ -48,3 +48,4 @@ exports.devtoolsPlugin = (0, fastify_plugin_1.default)(async (instance, options)
48
48
  name: "devtools-plugin",
49
49
  dependencies: ["wss-plugin"],
50
50
  });
51
+ //# sourceMappingURL=devtools.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.plugin.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/plugins/devtools.plugin.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA2C;AAC3C,gDAAwB;AAWX,QAAA,cAAc,GAAG,IAAA,wBAAa,EAC1C,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC3B,QAAQ,CAAC,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QAC9B,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CACV,qBAAqB,EACrB,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAC5C,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;KACD,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QAC9B,GAAG,EAAE,qBAAqB;QAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACjC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YAClD,IAAI,cAAc,EAAE,CAAC;gBACpB,eAAe;gBACf,uCAAuC;YACxC,CAAC;iBAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC/D,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAC9C,OAAO,CAAC,IAAI,IAAI,WACjB,IAAI,OAAO,CAAC,IAAI,cAAc,CAAC;gBAC/B,IAAI,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,KAAK,EAAE,CAAC;wBACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;4BACjB,GAAG,EAAE,yBAAyB;4BAC9B,GAAG;4BACH,KAAK;yBACL,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;KACD,CAAC,CAAC;AACJ,CAAC,EACD;IACC,IAAI,EAAE,iBAAiB;IACvB,YAAY,EAAE,CAAC,YAAY,CAAC;CAC5B,CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const faviconPlugin: any;
@@ -10,10 +10,10 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const node_url_1 = require("node:url");
11
11
  // @ts-ignore
12
12
  const dirname = node_path_1.default.dirname((0, node_url_1.fileURLToPath)(import.meta.url));
13
- console.log("dirname", dirname);
14
13
  const pathToImgDir = node_path_1.default.join(dirname, "../../../../../assets");
15
14
  exports.faviconPlugin = (0, fastify_plugin_1.default)(async (instance) => {
16
15
  instance.register(fastify_favicon_1.default, { path: pathToImgDir });
17
16
  }, {
18
17
  name: "favicon-plugin",
19
18
  });
19
+ //# sourceMappingURL=favicon.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"favicon.plugin.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/plugins/favicon.plugin.ts"],"names":[],"mappings":";;;;;;AAAA,sEAA6C;AAC7C,oEAA2C;AAC3C,0DAA6B;AAC7B,uCAAyC;AAEzC,aAAa;AACb,MAAM,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AAEpD,QAAA,aAAa,GAAG,IAAA,wBAAa,EACzC,KAAK,EAAE,QAAQ,EAAE,EAAE;IAClB,QAAQ,CAAC,QAAQ,CAAC,yBAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAC3D,CAAC,EACD;IACC,IAAI,EAAE,gBAAgB;CACtB,CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const multipartPlugin: any;
@@ -60,3 +60,4 @@ exports.multipartPlugin = (0, fastify_plugin_1.default)(async (instance) => {
60
60
  }, {
61
61
  name: "multipart-plugin",
62
62
  });
63
+ //# sourceMappingURL=multipart.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.plugin.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/plugins/multipart.plugin.ts"],"names":[],"mappings":";;;;;;AACA,oEAA2C;AAE3C,6CAA0C;AAG1C;;;GAGG;AAEH,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE/B,QAAA,eAAe,GAAG,IAAA,wBAAa,EAC3C,KAAK,EAAE,QAAQ,EAAE,EAAE;IAClB,SAAS,WAAW;QACnB,gFAAgF;QAChF,mFAAmF;QACnF,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;aACZ,MAAM,CAAC,cAAc,EAAE,8BAA8B,QAAQ,GAAG,CAAC;aACjE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,SAAS,gBAAgB,CAAC,OAA4B;YACrD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;iBACvC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;QAED,SAAS,UAAU,CAClB,OAA4B,EAC5B,IAAO,EACP,MAAgB;YAEhB,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,QAAQ,GAAG,IAAI,EAAE,CAAC;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACb,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;YAClD,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACV,KAAK,IAAI,IAAI,CAAC;YACf,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACZ,KAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAoC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,SAAS,GAAG,CAAI,IAAO;YACtB,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QAED,OAAO;YACN,UAAU;YACV,SAAS;YACT,GAAG;SACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC,EACD;IACC,IAAI,EAAE,kBAAkB;CACxB,CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const systracePlugin: any;
@@ -26,3 +26,4 @@ exports.systracePlugin = (0, fastify_plugin_1.default)(async (instance) => {
26
26
  }, {
27
27
  name: "systrace-plugin",
28
28
  });
29
+ //# sourceMappingURL=systrace.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systrace.plugin.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/plugins/systrace.plugin.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA2C;AAC3C,sDAAyB;AACzB,iEAA2D;AAG9C,QAAA,cAAc,GAAG,IAAA,wBAAa,EAC1C,KAAK,EAAE,QAAQ,EAAE,EAAE;IAClB,QAAQ,CAAC,IAAI,CACZ,WAAW,EACX,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;QACtD,kBAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;QAEhD,oCAAoC;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QACnC,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpD,MAAM,QAAQ;QACb,qDAAqD;QACrD,+BAA+B,QAAQ,MAAM;YAC7C,yEAAyE;YACzE,yCAAyC;YACzC,oFAAoF,CAAC;QAEtF,kBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CACD,CAAC;AACH,CAAC,EACD;IACC,IAAI,EAAE,iBAAiB;CACvB,CACD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { IncomingHttpHeaders } from 'node:http';
2
+ export interface MultipartHandler {
3
+ writeChunk: <T>(headers: IncomingHttpHeaders, data: T, isLast?: boolean) => void;
4
+ setHeader: (name: string, value: string | string[] | undefined) => void;
5
+ end: <T>(data: T) => void;
6
+ }
7
+ declare module 'fastify' {
8
+ interface FastifyReply {
9
+ asMultipart: () => MultipartHandler | undefined;
10
+ }
11
+ }
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modules/dev/dev-server/plugins/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "./wss.plugin";
2
+ export * from "./web-socket-server";
3
+ export * from "./types";
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./wss.plugin"), exports);
18
18
  __exportStar(require("./web-socket-server"), exports);
19
19
  __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/dev/dev-server/plugins/wss/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,sDAAoC;AACpC,0CAAwB"}
@@ -0,0 +1,37 @@
1
+ import type { FastifyInstance } from "fastify";
2
+ import type { TerminalReportableEvent } from "metro/src/lib/TerminalReporter";
3
+ import type WebSocket from "ws";
4
+ import { WebSocketServer } from "../web-socket-server";
5
+ export type WebSocketApiEvent = {
6
+ type: "metro_event";
7
+ event: TerminalReportableEvent;
8
+ };
9
+ /**
10
+ * Class for creating a WebSocket server for API clients.
11
+ * Useful to listening for compilation events and new logs.
12
+ *
13
+ * @category Development server
14
+ */
15
+ export declare class WebSocketApiServer extends WebSocketServer {
16
+ private clients;
17
+ private nextClientId;
18
+ /**
19
+ * Create new instance of WebSocketApiServer and attach it to the given Fastify instance.
20
+ * Any logging information, will be passed through standard `fastify.log` API.
21
+ *
22
+ * @param fastify Fastify instance to attach the WebSocket server to.
23
+ */
24
+ constructor(fastify: FastifyInstance);
25
+ /**
26
+ * Send message to all connected API clients.
27
+ *
28
+ * @param event Event string or object to send.
29
+ */
30
+ send(event: unknown | WebSocketApiEvent): void;
31
+ /**
32
+ * Process new WebSocket connection from client application.
33
+ *
34
+ * @param socket Incoming client's WebSocket connection.
35
+ */
36
+ onConnection(socket: WebSocket): void;
37
+ }
@@ -64,3 +64,4 @@ class WebSocketApiServer extends web_socket_server_1.WebSocketServer {
64
64
  }
65
65
  }
66
66
  exports.WebSocketApiServer = WebSocketApiServer;
67
+ //# sourceMappingURL=web-socket-api.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-socket-api.server.js","sourceRoot":"","sources":["../../../../../../../src/modules/dev/dev-server/plugins/wss/servers/web-socket-api.server.ts"],"names":[],"mappings":";;;AAGA,4DAAuD;AAOvD;;;;;GAKG;AACH,MAAa,kBAAmB,SAAQ,mCAAe;IAC9C,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IACvC,YAAY,GAAG,CAAC,CAAC;IAEzB;;;;;OAKG;IACH,YAAY,OAAwB;QACnC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAkC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE;oBAC7D,KAAK;iBACL,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAAiB;QAC7B,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7C,QAAQ;SACR,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAChD,QAAQ;aACR,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACD;AA5DD,gDA4DC"}
@@ -0,0 +1,63 @@
1
+ import type { IncomingMessage } from "node:http";
2
+ import type { FastifyInstance } from "fastify";
3
+ import type WebSocket from "ws";
4
+ import { WebSocketServer } from "../web-socket-server";
5
+ /**
6
+ * Class for creating a WebSocket server and providing a bridge between
7
+ * debugger UI (Remote JS debugger) and the running React Native application.
8
+ *
9
+ * React Native application (aka client) will send and receive messages from the debugger UI
10
+ * which runs inside a browser.
11
+ *
12
+ * @category Development server
13
+ */
14
+ export declare class WebSocketDebuggerServer extends WebSocketServer {
15
+ /**
16
+ * A WebSocket connection with the debugger UI.
17
+ */
18
+ private debuggerSocket;
19
+ /**
20
+ * A WebSocket connection with the client (React Native app).
21
+ */
22
+ private clientSocket;
23
+ /**
24
+ * Create new instance of WebSocketDebuggerServer and attach it to the given Fastify instance.
25
+ * Any logging information, will be passed through standard `fastify.log` API.
26
+ *
27
+ * @param fastify Fastify instance to attach the WebSocket server to.
28
+ */
29
+ constructor(fastify: FastifyInstance);
30
+ /**
31
+ * Check if debugger UI is connected to the WebSocketDebuggerServer.
32
+ */
33
+ isDebuggerConnected(): boolean;
34
+ /**
35
+ * Send a message to a given WebSocket connection.
36
+ *
37
+ * @param socket WebSocket connection to send the message to.
38
+ * @param message Message to send.
39
+ */
40
+ send(socket: WebSocket | undefined, message: string): void;
41
+ /**
42
+ * Process new WebSocket connection. The upgrade request should contain `role` query param
43
+ * for determining the type of the connection.
44
+ *
45
+ * @param socket Incoming WebSocket connection.
46
+ * @param request Upgrade request for the connection.
47
+ */
48
+ onConnection(socket: WebSocket, request: IncomingMessage): void;
49
+ /**
50
+ * Process new WebSocket connection from Debugger UI (Remote JS Debugger).
51
+ * If there's already open connection, the new one gets closed automatically.
52
+ *
53
+ * @param socket Incoming debugger WebSocket connection.
54
+ */
55
+ onDebuggerConnection(socket: WebSocket): void;
56
+ /**
57
+ * Process new WebSocket connection from React Native app (client)
58
+ * and close any previous connection.
59
+ *
60
+ * @param socket Incoming client WebSocket connection.
61
+ */
62
+ onClientConnection(socket: WebSocket): void;
63
+ }
@@ -126,3 +126,4 @@ class WebSocketDebuggerServer extends web_socket_server_1.WebSocketServer {
126
126
  }
127
127
  }
128
128
  exports.WebSocketDebuggerServer = WebSocketDebuggerServer;
129
+ //# sourceMappingURL=web-socket-debugger.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-socket-debugger.server.js","sourceRoot":"","sources":["../../../../../../../src/modules/dev/dev-server/plugins/wss/servers/web-socket-debugger.server.ts"],"names":[],"mappings":"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"}