@tamagui/cli 1.61.3 → 1.62.0

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 (205) hide show
  1. package/dist/add.js +31 -74
  2. package/dist/add.js.map +1 -1
  3. package/dist/add.native.js +91 -0
  4. package/dist/add.native.js.map +6 -0
  5. package/dist/build.js +15 -34
  6. package/dist/build.js.map +1 -1
  7. package/dist/build.native.js +65 -0
  8. package/dist/build.native.js.map +6 -0
  9. package/dist/cli.js +33 -79
  10. package/dist/cli.js.map +1 -1
  11. package/dist/cli.native.js +169 -0
  12. package/dist/cli.native.js.map +6 -0
  13. package/dist/create.js +0 -1
  14. package/dist/create.native.js +2 -0
  15. package/dist/create.native.js.map +6 -0
  16. package/dist/dev/clientInjectPlugin.js +22 -55
  17. package/dist/dev/clientInjectPlugin.js.map +1 -1
  18. package/dist/dev/clientInjectPlugin.native.js +72 -0
  19. package/dist/dev/clientInjectPlugin.native.js.map +6 -0
  20. package/dist/dev/createDevServer.js +33 -84
  21. package/dist/dev/createDevServer.js.map +1 -1
  22. package/dist/dev/createDevServer.native.js +131 -0
  23. package/dist/dev/createDevServer.native.js.map +6 -0
  24. package/dist/dev/types.js +3 -6
  25. package/dist/dev/types.js.map +1 -1
  26. package/dist/dev/types.native.js +15 -0
  27. package/dist/dev/types.native.js.map +6 -0
  28. package/dist/dev.js +77 -156
  29. package/dist/dev.js.map +2 -2
  30. package/dist/dev.native.js +336 -0
  31. package/dist/dev.native.js.map +6 -0
  32. package/dist/generate.js +25 -46
  33. package/dist/generate.js.map +1 -1
  34. package/dist/generate.native.js +68 -0
  35. package/dist/generate.native.js.map +6 -0
  36. package/dist/index.js +0 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.native.js +4 -0
  39. package/dist/index.native.js.map +6 -0
  40. package/dist/studio.js +29 -67
  41. package/dist/studio.js.map +2 -2
  42. package/dist/studio.native.js +131 -0
  43. package/dist/studio.native.js.map +6 -0
  44. package/dist/test.js +8 -15
  45. package/dist/test.js.map +1 -1
  46. package/dist/test.native.js +37 -0
  47. package/dist/test.native.js.map +6 -0
  48. package/dist/update.js +5 -9
  49. package/dist/update.js.map +1 -1
  50. package/dist/update.native.js +27 -0
  51. package/dist/update.native.js.map +6 -0
  52. package/dist/utils/constants.js +5 -9
  53. package/dist/utils/constants.js.map +1 -1
  54. package/dist/utils/constants.native.js +26 -0
  55. package/dist/utils/constants.native.js.map +6 -0
  56. package/dist/utils.js +19 -43
  57. package/dist/utils.js.map +1 -1
  58. package/dist/utils.native.js +106 -0
  59. package/dist/utils.native.js.map +6 -0
  60. package/dist/vendor/debugger-app/index.js +5 -9
  61. package/dist/vendor/debugger-app/index.js.map +1 -1
  62. package/dist/vendor/debugger-app/index.native.js +24 -0
  63. package/dist/vendor/debugger-app/index.native.js.map +6 -0
  64. package/dist/vendor/debugger-app/src/debuggerWorker.js +16 -33
  65. package/dist/vendor/debugger-app/src/debuggerWorker.js.map +1 -1
  66. package/dist/vendor/debugger-app/src/debuggerWorker.native.js +48 -0
  67. package/dist/vendor/debugger-app/src/debuggerWorker.native.js.map +6 -0
  68. package/dist/vendor/debugger-app/src/index.css +1 -1
  69. package/dist/vendor/debugger-app/src/index.css.map +1 -1
  70. package/dist/vendor/debugger-app/src/index.js +28 -88
  71. package/dist/vendor/debugger-app/src/index.js.map +1 -1
  72. package/dist/vendor/debugger-app/src/index.native.js +106 -0
  73. package/dist/vendor/debugger-app/src/index.native.js.map +6 -0
  74. package/dist/vendor/repack/dev-server/src/createServer.js +21 -58
  75. package/dist/vendor/repack/dev-server/src/createServer.js.map +1 -1
  76. package/dist/vendor/repack/dev-server/src/createServer.native.js +120 -0
  77. package/dist/vendor/repack/dev-server/src/createServer.native.js.map +6 -0
  78. package/dist/vendor/repack/dev-server/src/index.js +4 -8
  79. package/dist/vendor/repack/dev-server/src/index.js.map +1 -1
  80. package/dist/vendor/repack/dev-server/src/index.native.js +22 -0
  81. package/dist/vendor/repack/dev-server/src/index.native.js.map +6 -0
  82. package/dist/vendor/repack/dev-server/src/plugins/api/apiPlugin.js +10 -19
  83. package/dist/vendor/repack/dev-server/src/plugins/api/apiPlugin.js.map +1 -1
  84. package/dist/vendor/repack/dev-server/src/plugins/api/apiPlugin.native.js +49 -0
  85. package/dist/vendor/repack/dev-server/src/plugins/api/apiPlugin.native.js.map +6 -0
  86. package/dist/vendor/repack/dev-server/src/plugins/api/index.js +7 -13
  87. package/dist/vendor/repack/dev-server/src/plugins/api/index.js.map +1 -1
  88. package/dist/vendor/repack/dev-server/src/plugins/api/index.native.js +30 -0
  89. package/dist/vendor/repack/dev-server/src/plugins/api/index.native.js.map +6 -0
  90. package/dist/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.js +19 -40
  91. package/dist/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.js.map +1 -1
  92. package/dist/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.native.js +77 -0
  93. package/dist/vendor/repack/dev-server/src/plugins/compiler/compilerPlugin.native.js.map +6 -0
  94. package/dist/vendor/repack/dev-server/src/plugins/compiler/index.js +8 -16
  95. package/dist/vendor/repack/dev-server/src/plugins/compiler/index.js.map +1 -1
  96. package/dist/vendor/repack/dev-server/src/plugins/compiler/index.native.js +34 -0
  97. package/dist/vendor/repack/dev-server/src/plugins/compiler/index.native.js.map +6 -0
  98. package/dist/vendor/repack/dev-server/src/plugins/compiler/types.js +3 -6
  99. package/dist/vendor/repack/dev-server/src/plugins/compiler/types.js.map +1 -1
  100. package/dist/vendor/repack/dev-server/src/plugins/compiler/types.native.js +15 -0
  101. package/dist/vendor/repack/dev-server/src/plugins/compiler/types.native.js.map +6 -0
  102. package/dist/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.js +25 -47
  103. package/dist/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.js.map +1 -1
  104. package/dist/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.native.js +96 -0
  105. package/dist/vendor/repack/dev-server/src/plugins/devtools/devtoolsPlugin.native.js.map +6 -0
  106. package/dist/vendor/repack/dev-server/src/plugins/devtools/index.js +7 -13
  107. package/dist/vendor/repack/dev-server/src/plugins/devtools/index.js.map +1 -1
  108. package/dist/vendor/repack/dev-server/src/plugins/devtools/index.native.js +30 -0
  109. package/dist/vendor/repack/dev-server/src/plugins/devtools/index.native.js.map +6 -0
  110. package/dist/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.js +9 -17
  111. package/dist/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.js.map +1 -1
  112. package/dist/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.native.js +37 -0
  113. package/dist/vendor/repack/dev-server/src/plugins/favicon/faviconPlugin.native.js.map +6 -0
  114. package/dist/vendor/repack/dev-server/src/plugins/favicon/index.js +7 -13
  115. package/dist/vendor/repack/dev-server/src/plugins/favicon/index.js.map +1 -1
  116. package/dist/vendor/repack/dev-server/src/plugins/favicon/index.native.js +30 -0
  117. package/dist/vendor/repack/dev-server/src/plugins/favicon/index.native.js.map +6 -0
  118. package/dist/vendor/repack/dev-server/src/plugins/multipart/index.js +8 -16
  119. package/dist/vendor/repack/dev-server/src/plugins/multipart/index.js.map +1 -1
  120. package/dist/vendor/repack/dev-server/src/plugins/multipart/index.native.js +34 -0
  121. package/dist/vendor/repack/dev-server/src/plugins/multipart/index.native.js.map +6 -0
  122. package/dist/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.js +15 -34
  123. package/dist/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.js.map +1 -1
  124. package/dist/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.native.js +62 -0
  125. package/dist/vendor/repack/dev-server/src/plugins/multipart/multipartPlugin.native.js.map +6 -0
  126. package/dist/vendor/repack/dev-server/src/plugins/multipart/types.js +3 -6
  127. package/dist/vendor/repack/dev-server/src/plugins/multipart/types.js.map +1 -1
  128. package/dist/vendor/repack/dev-server/src/plugins/multipart/types.native.js +15 -0
  129. package/dist/vendor/repack/dev-server/src/plugins/multipart/types.native.js.map +6 -0
  130. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.js +61 -86
  131. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.js.map +1 -1
  132. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.native.js +186 -0
  133. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/Symbolicator.native.js.map +6 -0
  134. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/index.js +8 -16
  135. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/index.js.map +1 -1
  136. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/index.native.js +36 -0
  137. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/index.native.js.map +6 -0
  138. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.js +13 -23
  139. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.js.map +1 -1
  140. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.native.js +56 -0
  141. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/sybmolicatePlugin.native.js.map +6 -0
  142. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/types.js +3 -6
  143. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/types.js.map +1 -1
  144. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/types.native.js +15 -0
  145. package/dist/vendor/repack/dev-server/src/plugins/symbolicate/types.native.js.map +6 -0
  146. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.js +17 -29
  147. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.js.map +1 -1
  148. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.native.js +66 -0
  149. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketRouter.native.js.map +6 -0
  150. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.js +13 -15
  151. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.js.map +1 -1
  152. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.native.js +50 -0
  153. package/dist/vendor/repack/dev-server/src/plugins/wss/WebSocketServer.native.js.map +6 -0
  154. package/dist/vendor/repack/dev-server/src/plugins/wss/index.js +8 -16
  155. package/dist/vendor/repack/dev-server/src/plugins/wss/index.js.map +1 -1
  156. package/dist/vendor/repack/dev-server/src/plugins/wss/index.native.js +36 -0
  157. package/dist/vendor/repack/dev-server/src/plugins/wss/index.native.js.map +6 -0
  158. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.js +30 -56
  159. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.js.map +1 -1
  160. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.native.js +118 -0
  161. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/HermesInspectorProxy.native.js.map +6 -0
  162. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.js +13 -23
  163. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.js.map +1 -1
  164. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.native.js +70 -0
  165. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketApiServer.native.js.map +6 -0
  166. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.js +21 -41
  167. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.js.map +1 -1
  168. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.native.js +103 -0
  169. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDebuggerServer.native.js.map +6 -0
  170. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.js +11 -26
  171. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.js.map +1 -1
  172. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.native.js +72 -0
  173. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketDevClientServer.native.js.map +6 -0
  174. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.js +63 -92
  175. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.js.map +1 -1
  176. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.native.js +163 -0
  177. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketEventsServer.native.js.map +6 -0
  178. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.js +26 -40
  179. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.js.map +1 -1
  180. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.native.js +87 -0
  181. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketHMRServer.native.js.map +6 -0
  182. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.js +54 -87
  183. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.js.map +1 -1
  184. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.native.js +325 -0
  185. package/dist/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.native.js.map +6 -0
  186. package/dist/vendor/repack/dev-server/src/plugins/wss/types.js +3 -6
  187. package/dist/vendor/repack/dev-server/src/plugins/wss/types.js.map +1 -1
  188. package/dist/vendor/repack/dev-server/src/plugins/wss/types.native.js +15 -0
  189. package/dist/vendor/repack/dev-server/src/plugins/wss/types.native.js.map +6 -0
  190. package/dist/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js +11 -39
  191. package/dist/vendor/repack/dev-server/src/plugins/wss/wssPlugin.js.map +1 -1
  192. package/dist/vendor/repack/dev-server/src/plugins/wss/wssPlugin.native.js +51 -0
  193. package/dist/vendor/repack/dev-server/src/plugins/wss/wssPlugin.native.js.map +6 -0
  194. package/dist/vendor/repack/dev-server/src/types.js +7 -15
  195. package/dist/vendor/repack/dev-server/src/types.js.map +1 -1
  196. package/dist/vendor/repack/dev-server/src/types.native.js +30 -0
  197. package/dist/vendor/repack/dev-server/src/types.native.js.map +6 -0
  198. package/package.json +9 -9
  199. package/src/dev.ts +0 -13
  200. package/src/index.ts +0 -2
  201. package/src/studio.ts +0 -2
  202. package/src/utils.ts +1 -0
  203. package/types/dev.d.ts.map +1 -1
  204. package/types/studio.d.ts.map +1 -1
  205. package/types/utils.d.ts.map +1 -1
@@ -1,40 +1,25 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
12
10
  for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
12
  return to;
17
13
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
19
15
  var WebSocketMessageServer_exports = {};
20
16
  __export(WebSocketMessageServer_exports, {
21
17
  WebSocketMessageServer: () => WebSocketMessageServer
22
18
  });
23
19
  module.exports = __toCommonJS(WebSocketMessageServer_exports);
24
- var import_url = require("url");
25
- var import_WebSocketServer = require("../WebSocketServer");
26
- const _WebSocketMessageServer = class _WebSocketMessageServer extends import_WebSocketServer.WebSocketServer {
27
- /**
28
- * Create new instance of WebSocketMessageServer and attach it to the given Fastify instance.
29
- * Any logging information, will be passed through standard `fastify.log` API.
30
- *
31
- * @param fastify Fastify instance to attach the WebSocket server to.
32
- */
33
- constructor(fastify) {
34
- super(fastify, "/message");
35
- this.clients = /* @__PURE__ */ new Map();
36
- this.nextClientId = 0;
37
- }
20
+ var import_url = require("url"), import_WebSocketServer = require("../WebSocketServer");
21
+ class WebSocketMessageServer extends import_WebSocketServer.WebSocketServer {
22
+ static PROTOCOL_VERSION = 2;
38
23
  /**
39
24
  * Check if message is a broadcast request.
40
25
  *
@@ -43,7 +28,7 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
43
28
  * with {@link sendBroadcast}.
44
29
  */
45
30
  static isBroadcast(message) {
46
- return typeof message.method === "string" && message.id === void 0 && message.target === void 0;
31
+ return typeof message.method == "string" && message.id === void 0 && message.target === void 0;
47
32
  }
48
33
  /**
49
34
  * Check if message is a method request.
@@ -52,7 +37,7 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
52
37
  * @returns True if message is a request.
53
38
  */
54
39
  static isRequest(message) {
55
- return typeof message.method === "string" && typeof message.target === "string";
40
+ return typeof message.method == "string" && typeof message.target == "string";
56
41
  }
57
42
  /**
58
43
  * Check if message is a response with results of performing some request.
@@ -61,7 +46,18 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
61
46
  * @returns True if message is a response.
62
47
  */
63
48
  static isResponse(message) {
64
- return typeof message.id === "object" && typeof message.id.requestId !== "undefined" && typeof message.id.clientId === "string" && (message.result !== void 0 || message.error !== void 0);
49
+ return typeof message.id == "object" && typeof message.id.requestId < "u" && typeof message.id.clientId == "string" && (message.result !== void 0 || message.error !== void 0);
50
+ }
51
+ clients = /* @__PURE__ */ new Map();
52
+ nextClientId = 0;
53
+ /**
54
+ * Create new instance of WebSocketMessageServer and attach it to the given Fastify instance.
55
+ * Any logging information, will be passed through standard `fastify.log` API.
56
+ *
57
+ * @param fastify Fastify instance to attach the WebSocket server to.
58
+ */
59
+ constructor(fastify) {
60
+ super(fastify, "/message");
65
61
  }
66
62
  /**
67
63
  * Parse stringified message into a {@link ReactNativeMessage}.
@@ -75,25 +71,22 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
75
71
  this.fastify.log.error({
76
72
  msg: "Failed to parse message - expected text message, got binary"
77
73
  });
78
- return void 0;
74
+ return;
79
75
  }
80
76
  try {
81
77
  const message = JSON.parse(data);
82
- console.log("message", message);
83
- if (message.version === _WebSocketMessageServer.PROTOCOL_VERSION.toString()) {
78
+ if (console.log("message", message), message.version === WebSocketMessageServer.PROTOCOL_VERSION.toString())
84
79
  return message;
85
- }
86
80
  this.fastify.log.error({
87
81
  msg: "Received message had wrong protocol version",
88
82
  message
89
83
  });
90
- } catch (e) {
84
+ } catch {
91
85
  this.fastify.log.error({
92
86
  msg: "Failed to parse the message as JSON",
93
87
  data
94
88
  });
95
89
  }
96
- return void 0;
97
90
  }
98
91
  /**
99
92
  * Get client's WebSocket connection for given `clientId`.
@@ -104,9 +97,8 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
104
97
  */
105
98
  getClientSocket(clientId) {
106
99
  const socket = this.clients.get(clientId);
107
- if (socket === void 0) {
100
+ if (socket === void 0)
108
101
  throw new Error(`Could not find client with id "${clientId}"`);
109
- }
110
102
  return socket;
111
103
  }
112
104
  /**
@@ -126,19 +118,18 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
126
118
  params: message.params === void 0 ? "undefined" : "defined",
127
119
  result: message.result === void 0 ? "undefined" : "defined"
128
120
  };
129
- if (message.id === void 0) {
121
+ if (message.id === void 0)
130
122
  this.fastify.log.error({
131
123
  msg: "Handling message failed",
132
124
  clientId,
133
125
  error,
134
126
  errorMessage
135
127
  });
136
- } else {
128
+ else
137
129
  try {
138
- const socket = this.getClientSocket(clientId);
139
- socket.send(
130
+ this.getClientSocket(clientId).send(
140
131
  JSON.stringify({
141
- version: _WebSocketMessageServer.PROTOCOL_VERSION,
132
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
142
133
  error,
143
134
  id: message.id
144
135
  })
@@ -150,7 +141,6 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
150
141
  errorMessage
151
142
  });
152
143
  }
153
- }
154
144
  }
155
145
  /**
156
146
  * Send given request `message` to it's designated client's socket based on `message.target`.
@@ -168,10 +158,9 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
168
158
  });
169
159
  return;
170
160
  }
171
- const socket = this.getClientSocket(message.target);
172
- socket.send(
161
+ this.getClientSocket(message.target).send(
173
162
  JSON.stringify({
174
- version: _WebSocketMessageServer.PROTOCOL_VERSION,
163
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
175
164
  method: message.method,
176
165
  params: message.params,
177
166
  id: message.id === void 0 ? void 0 : { requestId: message.id, clientId }
@@ -186,13 +175,11 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
186
175
  * @param message Message to forward.
187
176
  */
188
177
  forwardResponse(message) {
189
- if (!message.id) {
178
+ if (!message.id)
190
179
  return;
191
- }
192
- const socket = this.getClientSocket(message.id.clientId);
193
- socket.send(
180
+ this.getClientSocket(message.id.clientId).send(
194
181
  JSON.stringify({
195
- version: _WebSocketMessageServer.PROTOCOL_VERSION,
182
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
196
183
  result: message.result,
197
184
  error: message.error,
198
185
  id: message.id.requestId
@@ -215,9 +202,8 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
215
202
  case "getpeers": {
216
203
  const output = {};
217
204
  this.clients.forEach((peerSocket, peerId) => {
218
- var _a;
219
205
  if (clientId !== peerId) {
220
- const { searchParams } = new import_url.URL(((_a = peerSocket.upgradeReq) == null ? void 0 : _a.url) || "");
206
+ const { searchParams } = new import_url.URL(peerSocket.upgradeReq?.url || "");
221
207
  output[peerId] = [...searchParams.entries()].reduce(
222
208
  (acc, [key, value]) => ({
223
209
  ...acc,
@@ -226,8 +212,7 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
226
212
  {}
227
213
  );
228
214
  }
229
- });
230
- result = output;
215
+ }), result = output;
231
216
  break;
232
217
  }
233
218
  default:
@@ -238,10 +223,9 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
238
223
  })}`
239
224
  );
240
225
  }
241
- const socket = this.getClientSocket(clientId);
242
- socket.send(
226
+ this.getClientSocket(clientId).send(
243
227
  JSON.stringify({
244
- version: _WebSocketMessageServer.PROTOCOL_VERSION,
228
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
245
229
  result,
246
230
  id: message.id
247
231
  })
@@ -255,17 +239,15 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
255
239
  */
256
240
  sendBroadcast(broadcasterId, message) {
257
241
  const forwarded = {
258
- version: _WebSocketMessageServer.PROTOCOL_VERSION,
242
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
259
243
  method: message.method,
260
244
  params: message.params
261
245
  };
262
- if (this.clients.size === 0) {
263
- this.fastify.log.warn({
264
- msg: `No apps connected. Sending "${message.method}" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.`
265
- });
266
- }
267
- for (const [clientId, socket] of this.clients) {
268
- if (clientId !== broadcasterId) {
246
+ this.clients.size === 0 && this.fastify.log.warn({
247
+ msg: `No apps connected. Sending "${message.method}" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.`
248
+ });
249
+ for (const [clientId, socket] of this.clients)
250
+ if (clientId !== broadcasterId)
269
251
  try {
270
252
  socket.send(JSON.stringify(forwarded));
271
253
  } catch (error) {
@@ -276,8 +258,6 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
276
258
  forwarded
277
259
  });
278
260
  }
279
- }
280
- }
281
261
  }
282
262
  /**
283
263
  * Send method broadcast to all connected clients.
@@ -297,17 +277,11 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
297
277
  onConnection(socket, request) {
298
278
  const clientId = `client#${this.nextClientId++}`;
299
279
  let client = socket;
300
- client.upgradeReq = request;
301
- this.clients.set(clientId, client);
302
- this.fastify.log.debug({ msg: "Message client connected", clientId });
280
+ client.upgradeReq = request, this.clients.set(clientId, client), this.fastify.log.debug({ msg: "Message client connected", clientId });
303
281
  const onClose = () => {
304
- this.fastify.log.debug({ msg: "Message client disconnected", clientId });
305
- socket.removeAllListeners();
306
- this.clients.delete(clientId);
282
+ this.fastify.log.debug({ msg: "Message client disconnected", clientId }), socket.removeAllListeners(), this.clients.delete(clientId);
307
283
  };
308
- socket.addEventListener("error", onClose);
309
- socket.addEventListener("close", onClose);
310
- socket.addEventListener("message", (event) => {
284
+ socket.addEventListener("error", onClose), socket.addEventListener("close", onClose), socket.addEventListener("message", (event) => {
311
285
  const message = this.parseMessage(
312
286
  event.data.toString(),
313
287
  // @ts-ignore
@@ -322,32 +296,25 @@ const _WebSocketMessageServer = class _WebSocketMessageServer extends import_Web
322
296
  return;
323
297
  }
324
298
  try {
325
- if (_WebSocketMessageServer.isBroadcast(message)) {
299
+ if (WebSocketMessageServer.isBroadcast(message))
326
300
  this.sendBroadcast(clientId, message);
327
- } else if (_WebSocketMessageServer.isRequest(message)) {
328
- if (message.target === "server") {
329
- this.processServerRequest(clientId, message);
330
- } else {
331
- this.forwardRequest(clientId, message);
332
- }
333
- } else if (_WebSocketMessageServer.isResponse(message)) {
301
+ else if (WebSocketMessageServer.isRequest(message))
302
+ message.target === "server" ? this.processServerRequest(clientId, message) : this.forwardRequest(clientId, message);
303
+ else if (WebSocketMessageServer.isResponse(message))
334
304
  this.forwardResponse(message);
335
- } else {
305
+ else
336
306
  throw new Error(
337
307
  `Invalid message, did not match the protocol ${JSON.stringify({
338
308
  clientId,
339
309
  message
340
310
  })}`
341
311
  );
342
- }
343
312
  } catch (error) {
344
313
  this.handleError(clientId, message, error);
345
314
  }
346
315
  });
347
316
  }
348
- };
349
- _WebSocketMessageServer.PROTOCOL_VERSION = 2;
350
- let WebSocketMessageServer = _WebSocketMessageServer;
317
+ }
351
318
  // Annotate the CommonJS export names for ESM import in node:
352
319
  0 && (module.exports = {
353
320
  WebSocketMessageServer
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/vendor/repack/dev-server/src/plugins/wss/servers/WebSocketMessageServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["error"]
6
6
  }
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var WebSocketMessageServer_exports = {};
17
+ __export(WebSocketMessageServer_exports, {
18
+ WebSocketMessageServer: () => WebSocketMessageServer
19
+ });
20
+ module.exports = __toCommonJS(WebSocketMessageServer_exports);
21
+ var import_url = require("url"), import_WebSocketServer = require("../WebSocketServer");
22
+ class WebSocketMessageServer extends import_WebSocketServer.WebSocketServer {
23
+ /**
24
+ * Create new instance of WebSocketMessageServer 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) {
30
+ super(fastify, "/message");
31
+ this.clients = /* @__PURE__ */ new Map();
32
+ this.nextClientId = 0;
33
+ }
34
+ static {
35
+ this.PROTOCOL_VERSION = 2;
36
+ }
37
+ /**
38
+ * Check if message is a broadcast request.
39
+ *
40
+ * @param message Message to check.
41
+ * @returns True if message is a broadcast request and should be broadcasted
42
+ * with {@link sendBroadcast}.
43
+ */
44
+ static isBroadcast(message) {
45
+ return typeof message.method == "string" && message.id === void 0 && message.target === void 0;
46
+ }
47
+ /**
48
+ * Check if message is a method request.
49
+ *
50
+ * @param message Message to check.
51
+ * @returns True if message is a request.
52
+ */
53
+ static isRequest(message) {
54
+ return typeof message.method == "string" && typeof message.target == "string";
55
+ }
56
+ /**
57
+ * Check if message is a response with results of performing some request.
58
+ *
59
+ * @param message Message to check.
60
+ * @returns True if message is a response.
61
+ */
62
+ static isResponse(message) {
63
+ return typeof message.id == "object" && typeof message.id.requestId < "u" && typeof message.id.clientId == "string" && (message.result !== void 0 || message.error !== void 0);
64
+ }
65
+ /**
66
+ * Parse stringified message into a {@link ReactNativeMessage}.
67
+ *
68
+ * @param data Stringified message.
69
+ * @param binary Additional binary data if any.
70
+ * @returns Parsed message or `undefined` if parsing failed.
71
+ */
72
+ parseMessage(data, binary) {
73
+ if (binary) {
74
+ this.fastify.log.error({
75
+ msg: "Failed to parse message - expected text message, got binary"
76
+ });
77
+ return;
78
+ }
79
+ try {
80
+ const message = JSON.parse(data);
81
+ if (console.log("message", message), message.version === WebSocketMessageServer.PROTOCOL_VERSION.toString())
82
+ return message;
83
+ this.fastify.log.error({
84
+ msg: "Received message had wrong protocol version",
85
+ message
86
+ });
87
+ } catch {
88
+ this.fastify.log.error({
89
+ msg: "Failed to parse the message as JSON",
90
+ data
91
+ });
92
+ }
93
+ }
94
+ /**
95
+ * Get client's WebSocket connection for given `clientId`.
96
+ * Throws if no such client is connected.
97
+ *
98
+ * @param clientId Id of the client.
99
+ * @returns WebSocket connection.
100
+ */
101
+ getClientSocket(clientId) {
102
+ const socket = this.clients.get(clientId);
103
+ if (socket === void 0)
104
+ throw new Error(`Could not find client with id "${clientId}"`);
105
+ return socket;
106
+ }
107
+ /**
108
+ * Process error by sending an error message to the client whose message caused the error
109
+ * to occur.
110
+ *
111
+ * @param clientId Id of the client whose message caused an error.
112
+ * @param message Original message which caused the error.
113
+ * @param error Concrete instance of an error that occurred.
114
+ */
115
+ handleError(clientId, message, error) {
116
+ const errorMessage = {
117
+ id: message.id,
118
+ method: message.method,
119
+ target: message.target,
120
+ error: message.error === void 0 ? "undefined" : "defined",
121
+ params: message.params === void 0 ? "undefined" : "defined",
122
+ result: message.result === void 0 ? "undefined" : "defined"
123
+ };
124
+ if (message.id === void 0)
125
+ this.fastify.log.error({
126
+ msg: "Handling message failed",
127
+ clientId,
128
+ error,
129
+ errorMessage
130
+ });
131
+ else
132
+ try {
133
+ this.getClientSocket(clientId).send(
134
+ JSON.stringify({
135
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
136
+ error,
137
+ id: message.id
138
+ })
139
+ );
140
+ } catch (error2) {
141
+ this.fastify.log.error("Failed to reply", {
142
+ clientId,
143
+ error: error2,
144
+ errorMessage
145
+ });
146
+ }
147
+ }
148
+ /**
149
+ * Send given request `message` to it's designated client's socket based on `message.target`.
150
+ * The target client must be connected, otherwise it will throw an error.
151
+ *
152
+ * @param clientId Id of the client that requested the forward.
153
+ * @param message Message to forward.
154
+ */
155
+ forwardRequest(clientId, message) {
156
+ if (!message.target) {
157
+ this.fastify.log.error({
158
+ msg: "Failed to forward request - message.target is missing",
159
+ clientId,
160
+ message
161
+ });
162
+ return;
163
+ }
164
+ this.getClientSocket(message.target).send(
165
+ JSON.stringify({
166
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
167
+ method: message.method,
168
+ params: message.params,
169
+ id: message.id === void 0 ? void 0 : { requestId: message.id, clientId }
170
+ })
171
+ );
172
+ }
173
+ /**
174
+ * Send given response `message` to it's designated client's socket based
175
+ * on `message.id.clientId`.
176
+ * The target client must be connected, otherwise it will throw an error.
177
+ *
178
+ * @param message Message to forward.
179
+ */
180
+ forwardResponse(message) {
181
+ if (!message.id)
182
+ return;
183
+ this.getClientSocket(message.id.clientId).send(
184
+ JSON.stringify({
185
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
186
+ result: message.result,
187
+ error: message.error,
188
+ id: message.id.requestId
189
+ })
190
+ );
191
+ }
192
+ /**
193
+ * Process request message targeted towards this {@link WebSocketMessageServer}
194
+ * and send back the results.
195
+ *
196
+ * @param clientId Id of the client who send the message.
197
+ * @param message The message to process by the server.
198
+ */
199
+ processServerRequest(clientId, message) {
200
+ let result;
201
+ switch (message.method) {
202
+ case "getid":
203
+ result = clientId;
204
+ break;
205
+ case "getpeers": {
206
+ const output = {};
207
+ this.clients.forEach((peerSocket, peerId) => {
208
+ if (clientId !== peerId) {
209
+ const { searchParams } = new import_url.URL(peerSocket.upgradeReq?.url || "");
210
+ output[peerId] = [...searchParams.entries()].reduce(
211
+ (acc, [key, value]) => ({
212
+ ...acc,
213
+ [key]: value
214
+ }),
215
+ {}
216
+ );
217
+ }
218
+ }), result = output;
219
+ break;
220
+ }
221
+ default:
222
+ throw new Error(
223
+ `Cannot process server request - unknown method ${JSON.stringify({
224
+ clientId,
225
+ message
226
+ })}`
227
+ );
228
+ }
229
+ this.getClientSocket(clientId).send(
230
+ JSON.stringify({
231
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
232
+ result,
233
+ id: message.id
234
+ })
235
+ );
236
+ }
237
+ /**
238
+ * Broadcast given message to all connected clients.
239
+ *
240
+ * @param broadcasterId Id of the client who is broadcasting.
241
+ * @param message Message to broadcast.
242
+ */
243
+ sendBroadcast(broadcasterId, message) {
244
+ const forwarded = {
245
+ version: WebSocketMessageServer.PROTOCOL_VERSION,
246
+ method: message.method,
247
+ params: message.params
248
+ };
249
+ this.clients.size === 0 && this.fastify.log.warn({
250
+ msg: `No apps connected. Sending "${message.method}" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.`
251
+ });
252
+ for (const [clientId, socket] of this.clients)
253
+ if (clientId !== broadcasterId)
254
+ try {
255
+ socket.send(JSON.stringify(forwarded));
256
+ } catch (error) {
257
+ this.fastify.log.error({
258
+ msg: "Failed to send broadcast",
259
+ clientId,
260
+ error,
261
+ forwarded
262
+ });
263
+ }
264
+ }
265
+ /**
266
+ * Send method broadcast to all connected clients.
267
+ *
268
+ * @param method Method name to broadcast.
269
+ * @param params Method parameters.
270
+ */
271
+ broadcast(method, params) {
272
+ this.sendBroadcast(void 0, { method, params });
273
+ }
274
+ /**
275
+ * Process new client's WebSocket connection.
276
+ *
277
+ * @param socket Incoming WebSocket connection.
278
+ * @param request Upgrade request for the connection.
279
+ */
280
+ onConnection(socket, request) {
281
+ const clientId = `client#${this.nextClientId++}`;
282
+ let client = socket;
283
+ client.upgradeReq = request, this.clients.set(clientId, client), this.fastify.log.debug({ msg: "Message client connected", clientId });
284
+ const onClose = () => {
285
+ this.fastify.log.debug({ msg: "Message client disconnected", clientId }), socket.removeAllListeners(), this.clients.delete(clientId);
286
+ };
287
+ socket.addEventListener("error", onClose), socket.addEventListener("close", onClose), socket.addEventListener("message", (event) => {
288
+ const message = this.parseMessage(
289
+ event.data.toString(),
290
+ // @ts-ignore
291
+ event.binary
292
+ );
293
+ if (!message) {
294
+ this.fastify.log.error({
295
+ msg: "Received message not matching protocol",
296
+ clientId,
297
+ message
298
+ });
299
+ return;
300
+ }
301
+ try {
302
+ if (WebSocketMessageServer.isBroadcast(message))
303
+ this.sendBroadcast(clientId, message);
304
+ else if (WebSocketMessageServer.isRequest(message))
305
+ message.target === "server" ? this.processServerRequest(clientId, message) : this.forwardRequest(clientId, message);
306
+ else if (WebSocketMessageServer.isResponse(message))
307
+ this.forwardResponse(message);
308
+ else
309
+ throw new Error(
310
+ `Invalid message, did not match the protocol ${JSON.stringify({
311
+ clientId,
312
+ message
313
+ })}`
314
+ );
315
+ } catch (error) {
316
+ this.handleError(clientId, message, error);
317
+ }
318
+ });
319
+ }
320
+ }
321
+ // Annotate the CommonJS export names for ESM import in node:
322
+ 0 && (module.exports = {
323
+ WebSocketMessageServer
324
+ });
325
+ //# sourceMappingURL=WebSocketMessageServer.js.map