one 1.2.83 → 1.2.84

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 (288) hide show
  1. package/devtools/dev.mjs +44 -0
  2. package/devtools/devtools.mjs +540 -0
  3. package/devtools/source-inspector.mjs +201 -0
  4. package/dist/cjs/cli/daemon.cjs +136 -0
  5. package/dist/cjs/cli/daemon.js +112 -0
  6. package/dist/cjs/cli/daemon.js.map +6 -0
  7. package/dist/cjs/cli/daemon.native.js +173 -0
  8. package/dist/cjs/cli/daemon.native.js.map +1 -0
  9. package/dist/cjs/createHandleRequest.cjs +15 -8
  10. package/dist/cjs/createHandleRequest.js +10 -6
  11. package/dist/cjs/createHandleRequest.js.map +1 -1
  12. package/dist/cjs/createHandleRequest.native.js +8 -3
  13. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  14. package/dist/cjs/daemon/index.cjs +24 -0
  15. package/dist/cjs/daemon/index.js +21 -0
  16. package/dist/cjs/daemon/index.js.map +6 -0
  17. package/dist/cjs/daemon/index.native.js +27 -0
  18. package/dist/cjs/daemon/index.native.js.map +1 -0
  19. package/dist/cjs/daemon/ipc.cjs +235 -0
  20. package/dist/cjs/daemon/ipc.js +204 -0
  21. package/dist/cjs/daemon/ipc.js.map +6 -0
  22. package/dist/cjs/daemon/ipc.native.js +276 -0
  23. package/dist/cjs/daemon/ipc.native.js.map +1 -0
  24. package/dist/cjs/daemon/picker.cjs +223 -0
  25. package/dist/cjs/daemon/picker.js +191 -0
  26. package/dist/cjs/daemon/picker.js.map +6 -0
  27. package/dist/cjs/daemon/picker.native.js +308 -0
  28. package/dist/cjs/daemon/picker.native.js.map +1 -0
  29. package/dist/cjs/daemon/proxy.cjs +75 -0
  30. package/dist/cjs/daemon/proxy.js +70 -0
  31. package/dist/cjs/daemon/proxy.js.map +6 -0
  32. package/dist/cjs/daemon/proxy.native.js +81 -0
  33. package/dist/cjs/daemon/proxy.native.js.map +1 -0
  34. package/dist/cjs/daemon/registry.cjs +85 -0
  35. package/dist/cjs/daemon/registry.js +81 -0
  36. package/dist/cjs/daemon/registry.js.map +6 -0
  37. package/dist/cjs/daemon/registry.native.js +120 -0
  38. package/dist/cjs/daemon/registry.native.js.map +1 -0
  39. package/dist/cjs/daemon/server.cjs +178 -0
  40. package/dist/cjs/daemon/server.js +179 -0
  41. package/dist/cjs/daemon/server.js.map +6 -0
  42. package/dist/cjs/daemon/server.native.js +200 -0
  43. package/dist/cjs/daemon/server.native.js.map +1 -0
  44. package/dist/cjs/daemon/tui.cjs +223 -0
  45. package/dist/cjs/daemon/tui.js +192 -0
  46. package/dist/cjs/daemon/tui.js.map +6 -0
  47. package/dist/cjs/daemon/tui.native.js +234 -0
  48. package/dist/cjs/daemon/tui.native.js.map +1 -0
  49. package/dist/cjs/daemon/types.cjs +16 -0
  50. package/dist/cjs/daemon/types.js +14 -0
  51. package/dist/cjs/daemon/types.js.map +6 -0
  52. package/dist/cjs/daemon/types.native.js +19 -0
  53. package/dist/cjs/daemon/types.native.js.map +1 -0
  54. package/dist/cjs/daemon/utils.cjs +74 -0
  55. package/dist/cjs/daemon/utils.js +65 -0
  56. package/dist/cjs/daemon/utils.js.map +6 -0
  57. package/dist/cjs/daemon/utils.native.js +83 -0
  58. package/dist/cjs/daemon/utils.native.js.map +1 -0
  59. package/dist/cjs/fork/createMemoryHistory.cjs +22 -8
  60. package/dist/cjs/fork/createMemoryHistory.js +20 -6
  61. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  62. package/dist/cjs/fork/createMemoryHistory.native.js +22 -8
  63. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  64. package/dist/cjs/fork/useLinking.cjs +52 -13
  65. package/dist/cjs/fork/useLinking.js +35 -10
  66. package/dist/cjs/fork/useLinking.js.map +1 -1
  67. package/dist/cjs/index.cjs +6 -2
  68. package/dist/cjs/index.js +4 -2
  69. package/dist/cjs/index.js.map +2 -2
  70. package/dist/cjs/index.native.js +6 -2
  71. package/dist/cjs/index.native.js.map +1 -1
  72. package/dist/cjs/router/linkingConfig.cjs +13 -2
  73. package/dist/cjs/router/linkingConfig.js +14 -5
  74. package/dist/cjs/router/linkingConfig.js.map +1 -1
  75. package/dist/cjs/router/linkingConfig.native.js +10 -1
  76. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  77. package/dist/cjs/router/routeMask.cjs +137 -0
  78. package/dist/cjs/router/routeMask.js +127 -0
  79. package/dist/cjs/router/routeMask.js.map +6 -0
  80. package/dist/cjs/router/routeMask.native.js +160 -0
  81. package/dist/cjs/router/routeMask.native.js.map +1 -0
  82. package/dist/cjs/router/router.cjs +26 -3
  83. package/dist/cjs/router/router.js +23 -3
  84. package/dist/cjs/router/router.js.map +1 -1
  85. package/dist/cjs/router/router.native.js +26 -3
  86. package/dist/cjs/router/router.native.js.map +1 -1
  87. package/dist/cjs/server/PreloadScripts.native.js +45 -39
  88. package/dist/cjs/server/PreloadScripts.native.js.map +1 -6
  89. package/dist/cjs/vite/DevHead.cjs +2 -909
  90. package/dist/cjs/vite/DevHead.js +1 -917
  91. package/dist/cjs/vite/DevHead.js.map +1 -1
  92. package/dist/cjs/vite/DevHead.native.js +1 -882
  93. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  94. package/dist/cjs/vite/one.cjs +4 -1
  95. package/dist/cjs/vite/one.js +4 -2
  96. package/dist/cjs/vite/one.js.map +1 -1
  97. package/dist/cjs/vite/one.native.js +4 -1
  98. package/dist/cjs/vite/one.native.js.map +1 -1
  99. package/dist/cjs/vite/plugins/devtoolsPlugin.cjs +55 -0
  100. package/dist/cjs/vite/plugins/devtoolsPlugin.js +49 -0
  101. package/dist/cjs/vite/plugins/devtoolsPlugin.js.map +6 -0
  102. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js +58 -0
  103. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -0
  104. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -6
  105. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +1 -6
  106. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  107. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
  108. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  109. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -1
  110. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +5 -1
  111. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  112. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +8 -1
  113. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  114. package/dist/esm/cli/daemon.js +89 -0
  115. package/dist/esm/cli/daemon.js.map +6 -0
  116. package/dist/esm/cli/daemon.mjs +102 -0
  117. package/dist/esm/cli/daemon.mjs.map +1 -0
  118. package/dist/esm/cli/daemon.native.js +136 -0
  119. package/dist/esm/cli/daemon.native.js.map +1 -0
  120. package/dist/esm/createHandleRequest.js +10 -5
  121. package/dist/esm/createHandleRequest.js.map +1 -1
  122. package/dist/esm/createHandleRequest.mjs +15 -8
  123. package/dist/esm/createHandleRequest.mjs.map +1 -1
  124. package/dist/esm/createHandleRequest.native.js +8 -3
  125. package/dist/esm/createHandleRequest.native.js.map +1 -1
  126. package/dist/esm/daemon/index.js +8 -0
  127. package/dist/esm/daemon/index.js.map +6 -0
  128. package/dist/esm/daemon/index.mjs +8 -0
  129. package/dist/esm/daemon/index.mjs.map +1 -0
  130. package/dist/esm/daemon/index.native.js +8 -0
  131. package/dist/esm/daemon/index.native.js.map +1 -0
  132. package/dist/esm/daemon/ipc.js +192 -0
  133. package/dist/esm/daemon/ipc.js.map +6 -0
  134. package/dist/esm/daemon/ipc.mjs +191 -0
  135. package/dist/esm/daemon/ipc.mjs.map +1 -0
  136. package/dist/esm/daemon/ipc.native.js +229 -0
  137. package/dist/esm/daemon/ipc.native.js.map +1 -0
  138. package/dist/esm/daemon/picker.js +169 -0
  139. package/dist/esm/daemon/picker.js.map +6 -0
  140. package/dist/esm/daemon/picker.mjs +186 -0
  141. package/dist/esm/daemon/picker.mjs.map +1 -0
  142. package/dist/esm/daemon/picker.native.js +268 -0
  143. package/dist/esm/daemon/picker.native.js.map +1 -0
  144. package/dist/esm/daemon/proxy.js +47 -0
  145. package/dist/esm/daemon/proxy.js.map +6 -0
  146. package/dist/esm/daemon/proxy.mjs +40 -0
  147. package/dist/esm/daemon/proxy.mjs.map +1 -0
  148. package/dist/esm/daemon/proxy.native.js +43 -0
  149. package/dist/esm/daemon/proxy.native.js.map +1 -0
  150. package/dist/esm/daemon/registry.js +65 -0
  151. package/dist/esm/daemon/registry.js.map +6 -0
  152. package/dist/esm/daemon/registry.mjs +53 -0
  153. package/dist/esm/daemon/registry.mjs.map +1 -0
  154. package/dist/esm/daemon/registry.native.js +85 -0
  155. package/dist/esm/daemon/registry.native.js.map +1 -0
  156. package/dist/esm/daemon/server.js +167 -0
  157. package/dist/esm/daemon/server.js.map +6 -0
  158. package/dist/esm/daemon/server.mjs +143 -0
  159. package/dist/esm/daemon/server.mjs.map +1 -0
  160. package/dist/esm/daemon/server.native.js +162 -0
  161. package/dist/esm/daemon/server.native.js.map +1 -0
  162. package/dist/esm/daemon/tui.js +171 -0
  163. package/dist/esm/daemon/tui.js.map +6 -0
  164. package/dist/esm/daemon/tui.mjs +187 -0
  165. package/dist/esm/daemon/tui.mjs.map +1 -0
  166. package/dist/esm/daemon/tui.native.js +195 -0
  167. package/dist/esm/daemon/tui.native.js.map +1 -0
  168. package/dist/esm/daemon/types.js +1 -0
  169. package/dist/esm/daemon/types.js.map +6 -0
  170. package/dist/esm/daemon/types.mjs +2 -0
  171. package/dist/esm/daemon/types.mjs.map +1 -0
  172. package/dist/esm/daemon/types.native.js +2 -0
  173. package/dist/esm/daemon/types.native.js.map +1 -0
  174. package/dist/esm/daemon/utils.js +42 -0
  175. package/dist/esm/daemon/utils.js.map +6 -0
  176. package/dist/esm/daemon/utils.mjs +39 -0
  177. package/dist/esm/daemon/utils.mjs.map +1 -0
  178. package/dist/esm/daemon/utils.native.js +45 -0
  179. package/dist/esm/daemon/utils.native.js.map +1 -0
  180. package/dist/esm/fork/createMemoryHistory.js +20 -6
  181. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  182. package/dist/esm/fork/createMemoryHistory.mjs +22 -8
  183. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  184. package/dist/esm/fork/createMemoryHistory.native.js +22 -8
  185. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  186. package/dist/esm/fork/useLinking.js +35 -9
  187. package/dist/esm/fork/useLinking.js.map +1 -1
  188. package/dist/esm/fork/useLinking.mjs +52 -13
  189. package/dist/esm/fork/useLinking.mjs.map +1 -1
  190. package/dist/esm/index.js +4 -0
  191. package/dist/esm/index.js.map +1 -1
  192. package/dist/esm/index.mjs +3 -1
  193. package/dist/esm/index.mjs.map +1 -1
  194. package/dist/esm/index.native.js +3 -1
  195. package/dist/esm/index.native.js.map +1 -1
  196. package/dist/esm/router/linkingConfig.js +14 -4
  197. package/dist/esm/router/linkingConfig.js.map +1 -1
  198. package/dist/esm/router/linkingConfig.mjs +12 -1
  199. package/dist/esm/router/linkingConfig.mjs.map +1 -1
  200. package/dist/esm/router/linkingConfig.native.js +10 -1
  201. package/dist/esm/router/linkingConfig.native.js.map +1 -1
  202. package/dist/esm/router/routeMask.js +111 -0
  203. package/dist/esm/router/routeMask.js.map +6 -0
  204. package/dist/esm/router/routeMask.mjs +108 -0
  205. package/dist/esm/router/routeMask.mjs.map +1 -0
  206. package/dist/esm/router/routeMask.native.js +128 -0
  207. package/dist/esm/router/routeMask.native.js.map +1 -0
  208. package/dist/esm/router/router.js +23 -2
  209. package/dist/esm/router/router.js.map +1 -1
  210. package/dist/esm/router/router.mjs +24 -3
  211. package/dist/esm/router/router.mjs.map +1 -1
  212. package/dist/esm/router/router.native.js +24 -3
  213. package/dist/esm/router/router.native.js.map +1 -1
  214. package/dist/esm/server/PreloadScripts.native.js +29 -33
  215. package/dist/esm/server/PreloadScripts.native.js.map +1 -6
  216. package/dist/esm/vite/DevHead.js +1 -917
  217. package/dist/esm/vite/DevHead.js.map +1 -1
  218. package/dist/esm/vite/DevHead.mjs +2 -909
  219. package/dist/esm/vite/DevHead.mjs.map +1 -1
  220. package/dist/esm/vite/DevHead.native.js +0 -881
  221. package/dist/esm/vite/DevHead.native.js.map +1 -1
  222. package/dist/esm/vite/one.js +4 -1
  223. package/dist/esm/vite/one.js.map +1 -1
  224. package/dist/esm/vite/one.mjs +4 -1
  225. package/dist/esm/vite/one.mjs.map +1 -1
  226. package/dist/esm/vite/one.native.js +4 -1
  227. package/dist/esm/vite/one.native.js.map +1 -1
  228. package/dist/esm/vite/plugins/devtoolsPlugin.js +33 -0
  229. package/dist/esm/vite/plugins/devtoolsPlugin.js.map +6 -0
  230. package/dist/esm/vite/plugins/devtoolsPlugin.mjs +31 -0
  231. package/dist/esm/vite/plugins/devtoolsPlugin.mjs.map +1 -0
  232. package/dist/esm/vite/plugins/devtoolsPlugin.native.js +31 -0
  233. package/dist/esm/vite/plugins/devtoolsPlugin.native.js.map +1 -0
  234. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +1 -6
  235. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  236. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -6
  237. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  238. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
  239. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  240. package/dist/esm/vite/plugins/virtualEntryPlugin.js +5 -1
  241. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  242. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -1
  243. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  244. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +8 -1
  245. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  246. package/package.json +12 -10
  247. package/src/createHandleRequest.ts +16 -3
  248. package/src/fork/createMemoryHistory.tsx +39 -4
  249. package/src/fork/useLinking.ts +83 -12
  250. package/src/index.ts +3 -0
  251. package/src/router/linkingConfig.ts +21 -4
  252. package/src/router/routeMask.ts +293 -0
  253. package/src/router/router.ts +53 -1
  254. package/src/vite/DevHead.tsx +1 -924
  255. package/src/vite/one.ts +4 -0
  256. package/src/vite/plugins/devtoolsPlugin.ts +45 -0
  257. package/src/vite/plugins/fileSystemRouterPlugin.tsx +2 -7
  258. package/src/vite/plugins/virtualEntryPlugin.ts +12 -3
  259. package/src/vite/types.ts +1 -0
  260. package/types/cli/daemon.d.ts.map +1 -0
  261. package/types/createHandleRequest.d.ts.map +1 -1
  262. package/types/daemon/index.d.ts.map +1 -0
  263. package/types/daemon/ipc.d.ts.map +1 -0
  264. package/types/daemon/picker.d.ts.map +1 -0
  265. package/types/daemon/proxy.d.ts.map +1 -0
  266. package/types/daemon/registry.d.ts.map +1 -0
  267. package/types/daemon/server.d.ts.map +1 -0
  268. package/types/daemon/tui.d.ts.map +1 -0
  269. package/types/daemon/types.d.ts.map +1 -0
  270. package/types/daemon/utils.d.ts.map +1 -0
  271. package/types/fork/createMemoryHistory.d.ts +6 -2
  272. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  273. package/types/fork/useLinking.d.ts.map +1 -1
  274. package/types/index.d.ts +2 -0
  275. package/types/index.d.ts.map +1 -1
  276. package/types/router/linkingConfig.d.ts.map +1 -1
  277. package/types/router/routeMask.d.ts +130 -0
  278. package/types/router/routeMask.d.ts.map +1 -0
  279. package/types/router/router.d.ts +23 -0
  280. package/types/router/router.d.ts.map +1 -1
  281. package/types/vite/DevHead.d.ts.map +1 -1
  282. package/types/vite/one.d.ts.map +1 -1
  283. package/types/vite/plugins/devtoolsPlugin.d.ts +5 -0
  284. package/types/vite/plugins/devtoolsPlugin.d.ts.map +1 -0
  285. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  286. package/types/vite/plugins/virtualEntryPlugin.d.ts +1 -3
  287. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  288. package/types/vite/types.d.ts.map +1 -1
@@ -0,0 +1,268 @@
1
+ import { exec } from "child_process";
2
+ import { promisify } from "util";
3
+ import * as readline from "readline";
4
+ var execAsync = promisify(exec),
5
+ activePickerContext = null,
6
+ rl = null,
7
+ stdinDataListener = null;
8
+ async function getBootedSimulators() {
9
+ try {
10
+ var {
11
+ stdout
12
+ } = await execAsync("xcrun simctl list devices booted -j"),
13
+ data = JSON.parse(stdout),
14
+ simulators = [],
15
+ _iteratorNormalCompletion = !0,
16
+ _didIteratorError = !1,
17
+ _iteratorError = void 0;
18
+ try {
19
+ for (var _iterator = Object.entries(data.devices || {})[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
20
+ var [runtime, devices] = _step.value,
21
+ versionMatch = runtime.match(/iOS-(\d+)-(\d+)/),
22
+ iosVersion = versionMatch ? `${versionMatch[1]}.${versionMatch[2]}` : void 0,
23
+ _iteratorNormalCompletion1 = !0,
24
+ _didIteratorError1 = !1,
25
+ _iteratorError1 = void 0;
26
+ try {
27
+ for (var _iterator1 = devices[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
28
+ var device = _step1.value;
29
+ device.state === "Booted" && simulators.push({
30
+ name: device.name,
31
+ udid: device.udid,
32
+ state: device.state,
33
+ iosVersion
34
+ });
35
+ }
36
+ } catch (err) {
37
+ _didIteratorError1 = !0, _iteratorError1 = err;
38
+ } finally {
39
+ try {
40
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
41
+ } finally {
42
+ if (_didIteratorError1) throw _iteratorError1;
43
+ }
44
+ }
45
+ }
46
+ } catch (err) {
47
+ _didIteratorError = !0, _iteratorError = err;
48
+ } finally {
49
+ try {
50
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
51
+ } finally {
52
+ if (_didIteratorError) throw _iteratorError;
53
+ }
54
+ }
55
+ return simulators;
56
+ } catch {
57
+ return [];
58
+ }
59
+ }
60
+ async function showMacOSDialog(bundleId, servers) {
61
+ if (process.platform !== "darwin") return null;
62
+ var simulators = await getBootedSimulators(),
63
+ simInfo = "";
64
+ if (simulators.length > 0) {
65
+ var seen = /* @__PURE__ */new Set(),
66
+ uniqueSims = [],
67
+ _iteratorNormalCompletion = !0,
68
+ _didIteratorError = !1,
69
+ _iteratorError = void 0;
70
+ try {
71
+ for (var _iterator = simulators[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
72
+ var sim = _step.value,
73
+ key = `${sim.name}-${sim.iosVersion || ""}`;
74
+ seen.has(key) || (seen.add(key), uniqueSims.push(sim.iosVersion ? `${sim.name} (iOS ${sim.iosVersion})` : sim.name));
75
+ }
76
+ } catch (err) {
77
+ _didIteratorError = !0, _iteratorError = err;
78
+ } finally {
79
+ try {
80
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
81
+ } finally {
82
+ if (_didIteratorError) throw _iteratorError;
83
+ }
84
+ }
85
+ uniqueSims.length === 1 ? simInfo = `\\n\\nFrom: ${uniqueSims[0]}` : simInfo = `\\n\\nActive simulators: ${uniqueSims.slice(0, 3).join(", ")}${uniqueSims.length > 3 ? "..." : ""}`;
86
+ }
87
+ var choices = servers.map(function (s, i) {
88
+ var shortRoot = s.root.replace(process.env.HOME || "", "~");
89
+ return `${i + 1}. ${shortRoot} (port ${s.port})`;
90
+ }),
91
+ choicesStr = choices.map(function (c) {
92
+ return `"${c.replace(/"/g, '\\"')}"`;
93
+ }).join(", "),
94
+ prompt = `${bundleId} bundle requested${simInfo}\\n\\nWhich project should serve it?`,
95
+ script = `choose from list {${choicesStr}} with title "one daemon" with prompt "${prompt}" default items {"${choices[0].replace(/"/g, '\\"')}"}`;
96
+ try {
97
+ var {
98
+ stdout
99
+ } = await execAsync(`osascript -e '${script}'`),
100
+ result = stdout.trim();
101
+ if (result === "false" || !result) return null;
102
+ var match = result.match(/^(\d+)\./);
103
+ if (match) {
104
+ var index = parseInt(match[1], 10) - 1;
105
+ if (index >= 0 && index < servers.length) return {
106
+ server: servers[index],
107
+ remember: !1
108
+ };
109
+ }
110
+ return null;
111
+ } catch {
112
+ return null;
113
+ }
114
+ }
115
+ function showPicker(context) {
116
+ if (activePickerContext = context, process.platform === "darwin") {
117
+ showMacOSDialog(context.bundleId, context.servers).then(function (result) {
118
+ result ? (cleanupPicker(), context.onSelect(result.server, result.remember)) : activePickerContext === context && showTerminalPicker(context);
119
+ });
120
+ return;
121
+ }
122
+ showTerminalPicker(context);
123
+ }
124
+ function showTerminalPicker(context) {
125
+ console.log(`
126
+ ` + "\u2500".repeat(60)), console.log(`\u{1F500} ${context.bundleId} bundle requested`), console.log("\u2500".repeat(60)), getBootedSimulators().then(function (sims) {
127
+ if (sims.length > 0) {
128
+ var seen = /* @__PURE__ */new Set(),
129
+ uniqueSims = [],
130
+ _iteratorNormalCompletion = !0,
131
+ _didIteratorError = !1,
132
+ _iteratorError = void 0;
133
+ try {
134
+ for (var _iterator = sims[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
135
+ var sim = _step.value,
136
+ key = `${sim.name}-${sim.iosVersion || ""}`;
137
+ seen.has(key) || (seen.add(key), uniqueSims.push(sim));
138
+ }
139
+ } catch (err) {
140
+ _didIteratorError = !0, _iteratorError = err;
141
+ } finally {
142
+ try {
143
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
144
+ } finally {
145
+ if (_didIteratorError) throw _iteratorError;
146
+ }
147
+ }
148
+ if (uniqueSims.length === 1) {
149
+ var sim1 = uniqueSims[0];
150
+ console.log(`
151
+ From: ${sim1.name}${sim1.iosVersion ? ` (iOS ${sim1.iosVersion})` : ""}`);
152
+ } else {
153
+ console.log(`
154
+ Active simulators:`);
155
+ var _iteratorNormalCompletion1 = !0,
156
+ _didIteratorError1 = !1,
157
+ _iteratorError1 = void 0;
158
+ try {
159
+ for (var _iterator1 = uniqueSims.slice(0, 5)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
160
+ var sim2 = _step1.value;
161
+ console.log(` \u2022 ${sim2.name}${sim2.iosVersion ? ` (iOS ${sim2.iosVersion})` : ""}`);
162
+ }
163
+ } catch (err) {
164
+ _didIteratorError1 = !0, _iteratorError1 = err;
165
+ } finally {
166
+ try {
167
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
168
+ } finally {
169
+ if (_didIteratorError1) throw _iteratorError1;
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }), console.log(`
175
+ Which project should serve it?`), context.servers.forEach(function (server, i) {
176
+ var shortRoot = server.root.replace(process.env.HOME || "", "~");
177
+ console.log(` [${i + 1}] ${shortRoot} (port ${server.port})`);
178
+ }), console.log(`
179
+ Press 1-` + context.servers.length + " to select"), console.log("Or 'r' + number to remember (e.g., 'r1')"), console.log(`Press 'c' to cancel
180
+ `), setupKeyboardInput();
181
+ }
182
+ function setupKeyboardInput() {
183
+ if (!rl) {
184
+ rl = readline.createInterface({
185
+ input: process.stdin,
186
+ output: process.stdout
187
+ }), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume();
188
+ var buffer = "";
189
+ stdinDataListener = function (key) {
190
+ var str = key.toString();
191
+ if (str === "") {
192
+ cancelPicker();
193
+ return;
194
+ }
195
+ if (str === "\x1B") {
196
+ cancelPicker();
197
+ return;
198
+ }
199
+ if (str === "\x7F") {
200
+ buffer = buffer.slice(0, -1);
201
+ return;
202
+ }
203
+ if (str === "\r" || str === `
204
+ `) {
205
+ processInput(buffer), buffer = "";
206
+ return;
207
+ }
208
+ buffer += str, buffer.length === 1 && /^[1-9]$/.test(buffer) || buffer.length === 2 && /^r[1-9]$/i.test(buffer) ? (processInput(buffer), buffer = "") : buffer.toLowerCase() === "c" && (cancelPicker(), buffer = "");
209
+ }, process.stdin.on("data", stdinDataListener);
210
+ }
211
+ }
212
+ function processInput(input) {
213
+ if (activePickerContext) {
214
+ var remember = input.toLowerCase().startsWith("r"),
215
+ numStr = remember ? input.slice(1) : input,
216
+ num = parseInt(numStr, 10);
217
+ if (isNaN(num) || num < 1 || num > activePickerContext.servers.length) {
218
+ console.log(`Invalid selection: ${input}`);
219
+ return;
220
+ }
221
+ var server = activePickerContext.servers[num - 1],
222
+ context = activePickerContext;
223
+ cleanupPicker(), context.onSelect(server, remember);
224
+ }
225
+ }
226
+ function cancelPicker() {
227
+ var context = activePickerContext;
228
+ cleanupPicker(), context && context.onCancel();
229
+ }
230
+ function cleanupPicker() {
231
+ activePickerContext = null, stdinDataListener && (process.stdin.removeListener("data", stdinDataListener), stdinDataListener = null), rl && (rl.close(), rl = null), process.stdin.isTTY && process.stdin.setRawMode(!1);
232
+ }
233
+ var pendingPickerResolvers = /* @__PURE__ */new Map();
234
+ function resolvePendingPicker(bundleId, serverId) {
235
+ var resolver = pendingPickerResolvers.get(bundleId);
236
+ if (!resolver || !activePickerContext) return !1;
237
+ var server = activePickerContext.servers.find(function (s) {
238
+ return s.id === serverId;
239
+ });
240
+ return server ? (pendingPickerResolvers.delete(bundleId), cleanupPicker(), resolver.resolve(server), !0) : !1;
241
+ }
242
+ function pickServer(bundleId, servers) {
243
+ return new Promise(function (resolve, reject) {
244
+ pendingPickerResolvers.set(bundleId, {
245
+ resolve: function (server) {
246
+ return resolve({
247
+ server,
248
+ remember: !1
249
+ });
250
+ },
251
+ reject
252
+ }), showPicker({
253
+ bundleId,
254
+ servers,
255
+ onSelect: function (server, remember) {
256
+ pendingPickerResolvers.delete(bundleId), resolve({
257
+ server,
258
+ remember
259
+ });
260
+ },
261
+ onCancel: function () {
262
+ pendingPickerResolvers.delete(bundleId), reject(new Error("Selection cancelled"));
263
+ }
264
+ });
265
+ });
266
+ }
267
+ export { getBootedSimulators, pickServer, resolvePendingPicker, showPicker };
268
+ //# sourceMappingURL=picker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exec","promisify","readline","execAsync","activePickerContext","rl","stdinDataListener","getBootedSimulators","stdout","data","JSON","parse","simulators","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","devices","Symbol","iterator","_step","next","done","runtime","value","versionMatch","match","iosVersion","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","device","state","push","name","udid","err","return","showMacOSDialog","bundleId","servers","process","platform","simInfo","length","seen","Set","uniqueSims","sim","key","has","add","slice","join","choices","map","s","i","shortRoot","root","replace","env","HOME","port","choicesStr","c","prompt","script","result","trim","index","parseInt","server","remember","showPicker","context","then","cleanupPicker","onSelect","showTerminalPicker","console","log","repeat","sims","sim1","sim2","forEach","setupKeyboardInput","createInterface","input","stdin","output","isTTY","setRawMode","resume","buffer"],"sources":["../../../src/daemon/picker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ import * as http from "node:http";
2
+ import * as net from "node:net";
3
+ function proxyHttpRequest(req, res, target) {
4
+ const options = {
5
+ hostname: "localhost",
6
+ port: target.port,
7
+ path: req.url,
8
+ method: req.method,
9
+ headers: {
10
+ ...req.headers,
11
+ // preserve original host but add forwarded headers
12
+ "x-forwarded-host": req.headers.host,
13
+ "x-forwarded-for": req.socket.remoteAddress
14
+ }
15
+ }, proxyReq = http.request(options, (proxyRes) => {
16
+ res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res);
17
+ });
18
+ proxyReq.on("error", (err) => {
19
+ console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`));
20
+ }), req.pipe(proxyReq);
21
+ }
22
+ function proxyWebSocket(req, socket, head, target) {
23
+ const proxySocket = net.connect(target.port, "localhost", () => {
24
+ const reqLines = [
25
+ `${req.method} ${req.url} HTTP/1.1`,
26
+ ...Object.entries(req.headers).map(([k, v]) => Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`),
27
+ "",
28
+ ""
29
+ ];
30
+ proxySocket.write(reqLines.join(`\r
31
+ `)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket);
32
+ });
33
+ proxySocket.on("error", (err) => {
34
+ console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end();
35
+ }), socket.on("error", (err) => {
36
+ console.error("[daemon] Client socket error:", err.message), proxySocket.end();
37
+ }), socket.on("close", () => {
38
+ proxySocket.end();
39
+ }), proxySocket.on("close", () => {
40
+ socket.end();
41
+ });
42
+ }
43
+ export {
44
+ proxyHttpRequest,
45
+ proxyWebSocket
46
+ };
47
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/daemon/proxy.ts"],
4
+ "mappings": "AAEA,YAAY,UAAU;AACtB,YAAY,SAAS;AAGd,SAAS,iBACd,KACA,KACA,QACM;AACN,QAAM,UAA+B;AAAA,IACnC,UAAU;AAAA,IACV,MAAM,OAAO;AAAA,IACb,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,IACZ,SAAS;AAAA,MACP,GAAG,IAAI;AAAA;AAAA,MAEP,oBAAoB,IAAI,QAAQ;AAAA,MAChC,mBAAmB,IAAI,OAAO;AAAA,IAChC;AAAA,EACF,GAEM,WAAW,KAAK,QAAQ,SAAS,CAAC,aAAa;AACnD,QAAI,UAAU,SAAS,cAAc,KAAK,SAAS,OAAO,GAC1D,SAAS,KAAK,GAAG;AAAA,EACnB,CAAC;AAED,WAAS,GAAG,SAAS,CAAC,QAAQ;AAC5B,YAAQ,MAAM,gCAAgC,OAAO,IAAI,KAAK,IAAI,OAAO,GACpE,IAAI,gBACP,IAAI,UAAU,GAAG,GACjB,IAAI,IAAI,gBAAgB,IAAI,OAAO,EAAE;AAAA,EAEzC,CAAC,GAED,IAAI,KAAK,QAAQ;AACnB;AAEO,SAAS,eACd,KACA,QACA,MACA,QACM;AACN,QAAM,cAAc,IAAI,QAAQ,OAAO,MAAM,aAAa,MAAM;AAE9D,UAAM,WAAW;AAAA,MACf,GAAG,IAAI,MAAM,IAAI,IAAI,GAAG;AAAA,MACxB,GAAG,OAAO,QAAQ,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MACnC,MAAM,QAAQ,CAAC,IAAU,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAC3C,GAAG,CAAC,KAAK,CAAC,EAClB;AAAA,MACD;AAAA,MACA;AAAA,IACF;AAEA,gBAAY,MAAM,SAAS,KAAK;AAAA,CAAM,CAAC,GACnC,KAAK,UACP,YAAY,MAAM,IAAI,GAIxB,OAAO,KAAK,WAAW,GACvB,YAAY,KAAK,MAAM;AAAA,EACzB,CAAC;AAED,cAAY,GAAG,SAAS,CAAC,QAAQ;AAC/B,YAAQ,MAAM,0CAA0C,OAAO,IAAI,KAAK,IAAI,OAAO,GACnF,OAAO,IAAI;AAAA,EACb,CAAC,GAED,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC1B,YAAQ,MAAM,iCAAiC,IAAI,OAAO,GAC1D,YAAY,IAAI;AAAA,EAClB,CAAC,GAED,OAAO,GAAG,SAAS,MAAM;AACvB,gBAAY,IAAI;AAAA,EAClB,CAAC,GAED,YAAY,GAAG,SAAS,MAAM;AAC5B,WAAO,IAAI;AAAA,EACb,CAAC;AACH;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ import * as http from "node:http";
2
+ import * as net from "node:net";
3
+ function proxyHttpRequest(req, res, target) {
4
+ const options = {
5
+ hostname: "localhost",
6
+ port: target.port,
7
+ path: req.url,
8
+ method: req.method,
9
+ headers: {
10
+ ...req.headers,
11
+ // preserve original host but add forwarded headers
12
+ "x-forwarded-host": req.headers.host,
13
+ "x-forwarded-for": req.socket.remoteAddress
14
+ }
15
+ },
16
+ proxyReq = http.request(options, proxyRes => {
17
+ res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res);
18
+ });
19
+ proxyReq.on("error", err => {
20
+ console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`));
21
+ }), req.pipe(proxyReq);
22
+ }
23
+ function proxyWebSocket(req, socket, head, target) {
24
+ const proxySocket = net.connect(target.port, "localhost", () => {
25
+ const reqLines = [`${req.method} ${req.url} HTTP/1.1`, ...Object.entries(req.headers).map(([k, v]) => Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`), "", ""];
26
+ proxySocket.write(reqLines.join(`\r
27
+ `)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket);
28
+ });
29
+ proxySocket.on("error", err => {
30
+ console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end();
31
+ }), socket.on("error", err => {
32
+ console.error("[daemon] Client socket error:", err.message), proxySocket.end();
33
+ }), socket.on("close", () => {
34
+ proxySocket.end();
35
+ }), proxySocket.on("close", () => {
36
+ socket.end();
37
+ });
38
+ }
39
+ export { proxyHttpRequest, proxyWebSocket };
40
+ //# sourceMappingURL=proxy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["http","net","proxyHttpRequest","req","res","target","options","hostname","port","path","url","method","headers","host","socket","remoteAddress","proxyReq","request","proxyRes","writeHead","statusCode","pipe","on","err","console","error","message","headersSent","end","proxyWebSocket","head","proxySocket","connect","reqLines","Object","entries","map","k","v","Array","isArray","join","write","length"],"sources":["../../../src/daemon/proxy.ts"],"sourcesContent":[null],"mappings":"AAEA,YAAYA,IAAA,MAAU;AACtB,YAAYC,GAAA,MAAS;AAGd,SAASC,iBACdC,GAAA,EACAC,GAAA,EACAC,MAAA,EACM;EACN,MAAMC,OAAA,GAA+B;MACnCC,QAAA,EAAU;MACVC,IAAA,EAAMH,MAAA,CAAOG,IAAA;MACbC,IAAA,EAAMN,GAAA,CAAIO,GAAA;MACVC,MAAA,EAAQR,GAAA,CAAIQ,MAAA;MACZC,OAAA,EAAS;QACP,GAAGT,GAAA,CAAIS,OAAA;QAAA;QAEP,oBAAoBT,GAAA,CAAIS,OAAA,CAAQC,IAAA;QAChC,mBAAmBV,GAAA,CAAIW,MAAA,CAAOC;MAChC;IACF;IAEMC,QAAA,GAAWhB,IAAA,CAAKiB,OAAA,CAAQX,OAAA,EAAUY,QAAA,IAAa;MACnDd,GAAA,CAAIe,SAAA,CAAUD,QAAA,CAASE,UAAA,IAAc,KAAKF,QAAA,CAASN,OAAO,GAC1DM,QAAA,CAASG,IAAA,CAAKjB,GAAG;IACnB,CAAC;EAEDY,QAAA,CAASM,EAAA,CAAG,SAAUC,GAAA,IAAQ;IAC5BC,OAAA,CAAQC,KAAA,CAAM,gCAAgCpB,MAAA,CAAOG,IAAI,KAAKe,GAAA,CAAIG,OAAO,GACpEtB,GAAA,CAAIuB,WAAA,KACPvB,GAAA,CAAIe,SAAA,CAAU,GAAG,GACjBf,GAAA,CAAIwB,GAAA,CAAI,gBAAgBL,GAAA,CAAIG,OAAO,EAAE;EAEzC,CAAC,GAEDvB,GAAA,CAAIkB,IAAA,CAAKL,QAAQ;AACnB;AAEO,SAASa,eACd1B,GAAA,EACAW,MAAA,EACAgB,IAAA,EACAzB,MAAA,EACM;EACN,MAAM0B,WAAA,GAAc9B,GAAA,CAAI+B,OAAA,CAAQ3B,MAAA,CAAOG,IAAA,EAAM,aAAa,MAAM;IAE9D,MAAMyB,QAAA,GAAW,CACf,GAAG9B,GAAA,CAAIQ,MAAM,IAAIR,GAAA,CAAIO,GAAG,aACxB,GAAGwB,MAAA,CAAOC,OAAA,CAAQhC,GAAA,CAAIS,OAAO,EAAEwB,GAAA,CAAI,CAAC,CAACC,CAAA,EAAGC,CAAC,MACnCC,KAAA,CAAMC,OAAA,CAAQF,CAAC,IAAU,GAAGD,CAAC,KAAKC,CAAA,CAAEG,IAAA,CAAK,IAAI,CAAC,KAC3C,GAAGJ,CAAC,KAAKC,CAAC,EAClB,GACD,IACA,GACF;IAEAP,WAAA,CAAYW,KAAA,CAAMT,QAAA,CAASQ,IAAA,CAAK;AAAA,CAAM,CAAC,GACnCX,IAAA,CAAKa,MAAA,IACPZ,WAAA,CAAYW,KAAA,CAAMZ,IAAI,GAIxBhB,MAAA,CAAOO,IAAA,CAAKU,WAAW,GACvBA,WAAA,CAAYV,IAAA,CAAKP,MAAM;EACzB,CAAC;EAEDiB,WAAA,CAAYT,EAAA,CAAG,SAAUC,GAAA,IAAQ;IAC/BC,OAAA,CAAQC,KAAA,CAAM,0CAA0CpB,MAAA,CAAOG,IAAI,KAAKe,GAAA,CAAIG,OAAO,GACnFZ,MAAA,CAAOc,GAAA,CAAI;EACb,CAAC,GAEDd,MAAA,CAAOQ,EAAA,CAAG,SAAUC,GAAA,IAAQ;IAC1BC,OAAA,CAAQC,KAAA,CAAM,iCAAiCF,GAAA,CAAIG,OAAO,GAC1DK,WAAA,CAAYH,GAAA,CAAI;EAClB,CAAC,GAEDd,MAAA,CAAOQ,EAAA,CAAG,SAAS,MAAM;IACvBS,WAAA,CAAYH,GAAA,CAAI;EAClB,CAAC,GAEDG,WAAA,CAAYT,EAAA,CAAG,SAAS,MAAM;IAC5BR,MAAA,CAAOc,GAAA,CAAI;EACb,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ import * as http from "http";
2
+ import * as net from "net";
3
+ function proxyHttpRequest(req, res, target) {
4
+ var options = {
5
+ hostname: "localhost",
6
+ port: target.port,
7
+ path: req.url,
8
+ method: req.method,
9
+ headers: {
10
+ ...req.headers,
11
+ // preserve original host but add forwarded headers
12
+ "x-forwarded-host": req.headers.host,
13
+ "x-forwarded-for": req.socket.remoteAddress
14
+ }
15
+ },
16
+ proxyReq = http.request(options, function (proxyRes) {
17
+ res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res);
18
+ });
19
+ proxyReq.on("error", function (err) {
20
+ console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`));
21
+ }), req.pipe(proxyReq);
22
+ }
23
+ function proxyWebSocket(req, socket, head, target) {
24
+ var proxySocket = net.connect(target.port, "localhost", function () {
25
+ var reqLines = [`${req.method} ${req.url} HTTP/1.1`, ...Object.entries(req.headers).map(function (param) {
26
+ var [k, v] = param;
27
+ return Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`;
28
+ }), "", ""];
29
+ proxySocket.write(reqLines.join(`\r
30
+ `)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket);
31
+ });
32
+ proxySocket.on("error", function (err) {
33
+ console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end();
34
+ }), socket.on("error", function (err) {
35
+ console.error("[daemon] Client socket error:", err.message), proxySocket.end();
36
+ }), socket.on("close", function () {
37
+ proxySocket.end();
38
+ }), proxySocket.on("close", function () {
39
+ socket.end();
40
+ });
41
+ }
42
+ export { proxyHttpRequest, proxyWebSocket };
43
+ //# sourceMappingURL=proxy.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["http","net","proxyHttpRequest","req","res","target","options","hostname","port","path","url","method","headers","host","socket","remoteAddress","proxyReq","request","proxyRes","writeHead","statusCode","pipe","on","err","console","error","message","headersSent","end","proxyWebSocket","head","proxySocket","connect","reqLines","Object","entries","map","param","k","v","Array","isArray","join","write","length"],"sources":["../../../src/daemon/proxy.ts"],"sourcesContent":[null],"mappings":"AAEA,YAAYA,IAAA,MAAU;AACtB,YAAYC,GAAA,MAAS;AAGd,SAASC,iBACdC,GAAA,EACAC,GAAA,EACAC,MAAA,EACM;EACN,IAAAC,OAAM;MACJC,QAAA,EAAU;MACVC,IAAA,EAAMH,MAAA,CAAOG,IAAA;MACbC,IAAA,EAAMN,GAAA,CAAIO,GAAA;MACVC,MAAA,EAAQR,GAAA,CAAIQ,MAAA;MACZC,OAAA,EAAS;QACP,GAAGT,GAAA,CAAIS,OAAA;QAAA;QAEP,oBAAoBT,GAAA,CAAIS,OAAA,CAAQC,IAAA;QAChC,mBAAmBV,GAAA,CAAIW,MAAA,CAAOC;MAChC;IACF;IAEMC,QAAA,GAAWhB,IAAA,CAAKiB,OAAA,CAAQX,OAAA,EAAS,UAACY,QAAa;MACnDd,GAAA,CAAIe,SAAA,CAAUD,QAAA,CAASE,UAAA,IAAc,KAAKF,QAAA,CAASN,OAAO,GAC1DM,QAAA,CAASG,IAAA,CAAKjB,GAAG;IACnB,CAAC;EAEDY,QAAA,CAASM,EAAA,CAAG,SAAS,UAASC,GAAA;IAC5BC,OAAA,CAAQC,KAAA,CAAM,gCAAgCpB,MAAA,CAAOG,IAAI,KAAKe,GAAA,CAAIG,OAAO,GACpEtB,GAAA,CAAIuB,WAAA,KACPvB,GAAA,CAAIe,SAAA,CAAU,GAAG,GACjBf,GAAA,CAAIwB,GAAA,CAAI,gBAAgBL,GAAA,CAAIG,OAAO,EAAE;EAEzC,CAAC,GAEDvB,GAAA,CAAIkB,IAAA,CAAKL,QAAQ;AACnB;AAEO,SAASa,eACd1B,GAAA,EACAW,MAAA,EACAgB,IAAA,EACAzB,MAAA,EACM;EACN,IAAA0B,WAAM,GAAA9B,GAAc,CAAA+B,OAAI,CAAA3B,MAAQ,CAAAG,IAAO,aAAM,cAAmB;IAE9D,IAAAyB,QAAM,IACJ,GAAG9B,GAAA,CAAIQ,MAAM,IAAIR,GAAA,CAAIO,GAAG,aACxB,GAAGwB,MAAA,CAAOC,OAAA,CAAQhC,GAAA,CAAIS,OAAO,EAAEwB,GAAA,CAAI,UAAMC,KACnC;MAGN,KAAAC,CAAA,EAAAC,CAAA,IAAAF,KAAA;MACA,OAAAG,KAAA,CAAAC,OAAA,CAAAF,CAAA,OAAAD,CAAA,KAAAC,CAAA,CAAAG,IAAA,cAAAJ,CAAA,KAAAC,CAAA;IACF,IAEA,IACI,GAOL;IAEDR,WAAY,CAAAY,KAAG,CAAAV,QAAU,CAAAS,IAAQ;AAC/B,KAAAZ,IAAA,CAAAc,MAAQ,IAAMb,WAAA,CAAAY,KAAA,CAAAb,IAAA,GAAAhB,MAAA,CAAAO,IAAA,CAAAU,WAAiD,GAAIA,WAAS,CAAAV,IAAO,CAAAP,MACnF;EACF,CAAC;EAGCiB,WAAQ,CAAAT,EAAA,QAAM,YAAAC,GAAA;IAEfC,OAED,CAAAC,KAAU,2CAAepB,MAAA,CAAAG,IAAA,KAAAe,GAAA,CAAAG,OAAA,GAAAZ,MAAA,CAAAc,GAAA;EACvB,IAAAd,MAAA,CAAAQ,EAAA,CAAY,OAAI,YAAAC,GAAA;IACjBC,OAED,CAAAC,KAAA,CAAY,+BAAkB,EAAAF,GAAA,CAAAG,OAAA,GAAAK,WAAA,CAAAH,GAAA;EAC5B,IAAAd,MAAO,CAAAQ,EAAI;IACZS,WAAA,CAAAH,GAAA;EACH,IAAAG,WAAA,CAAAT,EAAA","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ let idCounter = 0;
2
+ function createRegistry() {
3
+ return {
4
+ servers: /* @__PURE__ */ new Map(),
5
+ routes: /* @__PURE__ */ new Map()
6
+ };
7
+ }
8
+ function registerServer(state, opts) {
9
+ const id = `server-${++idCounter}`, registration = {
10
+ id,
11
+ port: opts.port,
12
+ bundleId: opts.bundleId,
13
+ root: opts.root,
14
+ registeredAt: Date.now()
15
+ };
16
+ return state.servers.set(id, registration), registration;
17
+ }
18
+ function unregisterServer(state, id) {
19
+ const deleted = state.servers.delete(id);
20
+ for (const [key, route] of state.routes)
21
+ route.serverId === id && state.routes.delete(key);
22
+ return deleted;
23
+ }
24
+ function findServersByBundleId(state, bundleId) {
25
+ const matches = [];
26
+ for (const server of state.servers.values())
27
+ server.bundleId === bundleId && matches.push(server);
28
+ return matches;
29
+ }
30
+ function findServerById(state, id) {
31
+ return state.servers.get(id);
32
+ }
33
+ function setRoute(state, key, serverId) {
34
+ const binding = {
35
+ key,
36
+ serverId,
37
+ createdAt: Date.now()
38
+ };
39
+ return state.routes.set(key, binding), binding;
40
+ }
41
+ function getRoute(state, key) {
42
+ return state.routes.get(key);
43
+ }
44
+ function clearRoute(state, key) {
45
+ return state.routes.delete(key);
46
+ }
47
+ function getAllServers(state) {
48
+ return Array.from(state.servers.values());
49
+ }
50
+ function getAllRoutes(state) {
51
+ return Array.from(state.routes.values());
52
+ }
53
+ export {
54
+ clearRoute,
55
+ createRegistry,
56
+ findServerById,
57
+ findServersByBundleId,
58
+ getAllRoutes,
59
+ getAllServers,
60
+ getRoute,
61
+ registerServer,
62
+ setRoute,
63
+ unregisterServer
64
+ };
65
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/daemon/registry.ts"],
4
+ "mappings": "AAIA,IAAI,YAAY;AAET,SAAS,iBAA8B;AAC5C,SAAO;AAAA,IACL,SAAS,oBAAI,IAAI;AAAA,IACjB,QAAQ,oBAAI,IAAI;AAAA,EAClB;AACF;AAEO,SAAS,eACd,OACA,MACoB;AACpB,QAAM,KAAK,UAAU,EAAE,SAAS,IAC1B,eAAmC;AAAA,IACvC;AAAA,IACA,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,IACf,MAAM,KAAK;AAAA,IACX,cAAc,KAAK,IAAI;AAAA,EACzB;AACA,eAAM,QAAQ,IAAI,IAAI,YAAY,GAC3B;AACT;AAEO,SAAS,iBAAiB,OAAoB,IAAqB;AACxE,QAAM,UAAU,MAAM,QAAQ,OAAO,EAAE;AAEvC,aAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,IAAI,MAAM,aAAa,MACrB,MAAM,OAAO,OAAO,GAAG;AAG3B,SAAO;AACT;AAEO,SAAS,sBACd,OACA,UACsB;AACtB,QAAM,UAAgC,CAAC;AACvC,aAAW,UAAU,MAAM,QAAQ,OAAO;AACxC,IAAI,OAAO,aAAa,YACtB,QAAQ,KAAK,MAAM;AAGvB,SAAO;AACT;AAEO,SAAS,eACd,OACA,IACgC;AAChC,SAAO,MAAM,QAAQ,IAAI,EAAE;AAC7B;AAEO,SAAS,SACd,OACA,KACA,UACc;AACd,QAAM,UAAwB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA,WAAW,KAAK,IAAI;AAAA,EACtB;AACA,eAAM,OAAO,IAAI,KAAK,OAAO,GACtB;AACT;AAEO,SAAS,SAAS,OAAoB,KAAuC;AAClF,SAAO,MAAM,OAAO,IAAI,GAAG;AAC7B;AAEO,SAAS,WAAW,OAAoB,KAAsB;AACnE,SAAO,MAAM,OAAO,OAAO,GAAG;AAChC;AAEO,SAAS,cAAc,OAA0C;AACtE,SAAO,MAAM,KAAK,MAAM,QAAQ,OAAO,CAAC;AAC1C;AAEO,SAAS,aAAa,OAAoC;AAC/D,SAAO,MAAM,KAAK,MAAM,OAAO,OAAO,CAAC;AACzC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,53 @@
1
+ let idCounter = 0;
2
+ function createRegistry() {
3
+ return {
4
+ servers: /* @__PURE__ */new Map(),
5
+ routes: /* @__PURE__ */new Map()
6
+ };
7
+ }
8
+ function registerServer(state, opts) {
9
+ const id = `server-${++idCounter}`,
10
+ registration = {
11
+ id,
12
+ port: opts.port,
13
+ bundleId: opts.bundleId,
14
+ root: opts.root,
15
+ registeredAt: Date.now()
16
+ };
17
+ return state.servers.set(id, registration), registration;
18
+ }
19
+ function unregisterServer(state, id) {
20
+ const deleted = state.servers.delete(id);
21
+ for (const [key, route] of state.routes) route.serverId === id && state.routes.delete(key);
22
+ return deleted;
23
+ }
24
+ function findServersByBundleId(state, bundleId) {
25
+ const matches = [];
26
+ for (const server of state.servers.values()) server.bundleId === bundleId && matches.push(server);
27
+ return matches;
28
+ }
29
+ function findServerById(state, id) {
30
+ return state.servers.get(id);
31
+ }
32
+ function setRoute(state, key, serverId) {
33
+ const binding = {
34
+ key,
35
+ serverId,
36
+ createdAt: Date.now()
37
+ };
38
+ return state.routes.set(key, binding), binding;
39
+ }
40
+ function getRoute(state, key) {
41
+ return state.routes.get(key);
42
+ }
43
+ function clearRoute(state, key) {
44
+ return state.routes.delete(key);
45
+ }
46
+ function getAllServers(state) {
47
+ return Array.from(state.servers.values());
48
+ }
49
+ function getAllRoutes(state) {
50
+ return Array.from(state.routes.values());
51
+ }
52
+ export { clearRoute, createRegistry, findServerById, findServersByBundleId, getAllRoutes, getAllServers, getRoute, registerServer, setRoute, unregisterServer };
53
+ //# sourceMappingURL=registry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["idCounter","createRegistry","servers","Map","routes","registerServer","state","opts","id","registration","port","bundleId","root","registeredAt","Date","now","set","unregisterServer","deleted","delete","key","route","serverId","findServersByBundleId","matches","server","values","push","findServerById","get","setRoute","binding","createdAt","getRoute","clearRoute","getAllServers","Array","from","getAllRoutes"],"sources":["../../../src/daemon/registry.ts"],"sourcesContent":[null],"mappings":"AAIA,IAAIA,SAAA,GAAY;AAET,SAASC,eAAA,EAA8B;EAC5C,OAAO;IACLC,OAAA,EAAS,mBAAIC,GAAA,CAAI;IACjBC,MAAA,EAAQ,mBAAID,GAAA,CAAI;EAClB;AACF;AAEO,SAASE,eACdC,KAAA,EACAC,IAAA,EACoB;EACpB,MAAMC,EAAA,GAAK,UAAU,EAAER,SAAS;IAC1BS,YAAA,GAAmC;MACvCD,EAAA;MACAE,IAAA,EAAMH,IAAA,CAAKG,IAAA;MACXC,QAAA,EAAUJ,IAAA,CAAKI,QAAA;MACfC,IAAA,EAAML,IAAA,CAAKK,IAAA;MACXC,YAAA,EAAcC,IAAA,CAAKC,GAAA,CAAI;IACzB;EACA,OAAAT,KAAA,CAAMJ,OAAA,CAAQc,GAAA,CAAIR,EAAA,EAAIC,YAAY,GAC3BA,YAAA;AACT;AAEO,SAASQ,iBAAiBX,KAAA,EAAoBE,EAAA,EAAqB;EACxE,MAAMU,OAAA,GAAUZ,KAAA,CAAMJ,OAAA,CAAQiB,MAAA,CAAOX,EAAE;EAEvC,WAAW,CAACY,GAAA,EAAKC,KAAK,KAAKf,KAAA,CAAMF,MAAA,EAC3BiB,KAAA,CAAMC,QAAA,KAAad,EAAA,IACrBF,KAAA,CAAMF,MAAA,CAAOe,MAAA,CAAOC,GAAG;EAG3B,OAAOF,OAAA;AACT;AAEO,SAASK,sBACdjB,KAAA,EACAK,QAAA,EACsB;EACtB,MAAMa,OAAA,GAAgC,EAAC;EACvC,WAAWC,MAAA,IAAUnB,KAAA,CAAMJ,OAAA,CAAQwB,MAAA,CAAO,GACpCD,MAAA,CAAOd,QAAA,KAAaA,QAAA,IACtBa,OAAA,CAAQG,IAAA,CAAKF,MAAM;EAGvB,OAAOD,OAAA;AACT;AAEO,SAASI,eACdtB,KAAA,EACAE,EAAA,EACgC;EAChC,OAAOF,KAAA,CAAMJ,OAAA,CAAQ2B,GAAA,CAAIrB,EAAE;AAC7B;AAEO,SAASsB,SACdxB,KAAA,EACAc,GAAA,EACAE,QAAA,EACc;EACd,MAAMS,OAAA,GAAwB;IAC5BX,GAAA;IACAE,QAAA;IACAU,SAAA,EAAWlB,IAAA,CAAKC,GAAA,CAAI;EACtB;EACA,OAAAT,KAAA,CAAMF,MAAA,CAAOY,GAAA,CAAII,GAAA,EAAKW,OAAO,GACtBA,OAAA;AACT;AAEO,SAASE,SAAS3B,KAAA,EAAoBc,GAAA,EAAuC;EAClF,OAAOd,KAAA,CAAMF,MAAA,CAAOyB,GAAA,CAAIT,GAAG;AAC7B;AAEO,SAASc,WAAW5B,KAAA,EAAoBc,GAAA,EAAsB;EACnE,OAAOd,KAAA,CAAMF,MAAA,CAAOe,MAAA,CAAOC,GAAG;AAChC;AAEO,SAASe,cAAc7B,KAAA,EAA0C;EACtE,OAAO8B,KAAA,CAAMC,IAAA,CAAK/B,KAAA,CAAMJ,OAAA,CAAQwB,MAAA,CAAO,CAAC;AAC1C;AAEO,SAASY,aAAahC,KAAA,EAAoC;EAC/D,OAAO8B,KAAA,CAAMC,IAAA,CAAK/B,KAAA,CAAMF,MAAA,CAAOsB,MAAA,CAAO,CAAC;AACzC","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ var idCounter = 0;
2
+ function createRegistry() {
3
+ return {
4
+ servers: /* @__PURE__ */new Map(),
5
+ routes: /* @__PURE__ */new Map()
6
+ };
7
+ }
8
+ function registerServer(state, opts) {
9
+ var id = `server-${++idCounter}`,
10
+ registration = {
11
+ id,
12
+ port: opts.port,
13
+ bundleId: opts.bundleId,
14
+ root: opts.root,
15
+ registeredAt: Date.now()
16
+ };
17
+ return state.servers.set(id, registration), registration;
18
+ }
19
+ function unregisterServer(state, id) {
20
+ var deleted = state.servers.delete(id),
21
+ _iteratorNormalCompletion = !0,
22
+ _didIteratorError = !1,
23
+ _iteratorError = void 0;
24
+ try {
25
+ for (var _iterator = state.routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
26
+ var [key, route] = _step.value;
27
+ route.serverId === id && state.routes.delete(key);
28
+ }
29
+ } catch (err) {
30
+ _didIteratorError = !0, _iteratorError = err;
31
+ } finally {
32
+ try {
33
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
34
+ } finally {
35
+ if (_didIteratorError) throw _iteratorError;
36
+ }
37
+ }
38
+ return deleted;
39
+ }
40
+ function findServersByBundleId(state, bundleId) {
41
+ var matches = [],
42
+ _iteratorNormalCompletion = !0,
43
+ _didIteratorError = !1,
44
+ _iteratorError = void 0;
45
+ try {
46
+ for (var _iterator = state.servers.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
47
+ var server = _step.value;
48
+ server.bundleId === bundleId && matches.push(server);
49
+ }
50
+ } catch (err) {
51
+ _didIteratorError = !0, _iteratorError = err;
52
+ } finally {
53
+ try {
54
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
55
+ } finally {
56
+ if (_didIteratorError) throw _iteratorError;
57
+ }
58
+ }
59
+ return matches;
60
+ }
61
+ function findServerById(state, id) {
62
+ return state.servers.get(id);
63
+ }
64
+ function setRoute(state, key, serverId) {
65
+ var binding = {
66
+ key,
67
+ serverId,
68
+ createdAt: Date.now()
69
+ };
70
+ return state.routes.set(key, binding), binding;
71
+ }
72
+ function getRoute(state, key) {
73
+ return state.routes.get(key);
74
+ }
75
+ function clearRoute(state, key) {
76
+ return state.routes.delete(key);
77
+ }
78
+ function getAllServers(state) {
79
+ return Array.from(state.servers.values());
80
+ }
81
+ function getAllRoutes(state) {
82
+ return Array.from(state.routes.values());
83
+ }
84
+ export { clearRoute, createRegistry, findServerById, findServersByBundleId, getAllRoutes, getAllServers, getRoute, registerServer, setRoute, unregisterServer };
85
+ //# sourceMappingURL=registry.native.js.map