vxrn 1.1.325 → 1.1.326

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 (73) hide show
  1. package/dist/exports/dev.js +20 -198
  2. package/dist/exports/dev.js.map +1 -1
  3. package/dist/exports/dev.mjs +22 -178
  4. package/dist/exports/dev.mjs.map +1 -1
  5. package/dist/exports/dev.native.js +18 -176
  6. package/dist/exports/dev.native.js.map +2 -2
  7. package/dist/plugins/autoPreBundleDepsForSsrPlugin.js +11 -4
  8. package/dist/plugins/autoPreBundleDepsForSsrPlugin.js.map +1 -1
  9. package/dist/plugins/autoPreBundleDepsForSsrPlugin.mjs +12 -4
  10. package/dist/plugins/autoPreBundleDepsForSsrPlugin.mjs.map +1 -1
  11. package/dist/plugins/autoPreBundleDepsForSsrPlugin.native.js +7 -4
  12. package/dist/plugins/autoPreBundleDepsForSsrPlugin.native.js.map +2 -2
  13. package/dist/plugins/expoManifestRequestHandlerPlugin.js +18 -9
  14. package/dist/plugins/expoManifestRequestHandlerPlugin.js.map +1 -1
  15. package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +16 -10
  16. package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  17. package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +15 -8
  18. package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +2 -2
  19. package/dist/plugins/reactNativeDevServer.js +91 -0
  20. package/dist/plugins/reactNativeDevServer.js.map +6 -0
  21. package/dist/plugins/reactNativeDevServer.mjs +91 -0
  22. package/dist/plugins/reactNativeDevServer.mjs.map +1 -0
  23. package/dist/plugins/reactNativeDevServer.native.js +94 -0
  24. package/dist/plugins/reactNativeDevServer.native.js.map +6 -0
  25. package/dist/user-interface/index.js +18 -15
  26. package/dist/user-interface/index.js.map +1 -1
  27. package/dist/user-interface/index.mjs +15 -7
  28. package/dist/user-interface/index.mjs.map +1 -1
  29. package/dist/user-interface/index.native.js +14 -6
  30. package/dist/user-interface/index.native.js.map +2 -2
  31. package/dist/utils/getReactNativeConfig.js +34 -6
  32. package/dist/utils/getReactNativeConfig.js.map +1 -1
  33. package/dist/utils/getReactNativeConfig.mjs +30 -4
  34. package/dist/utils/getReactNativeConfig.mjs.map +1 -1
  35. package/dist/utils/getReactNativeConfig.native.js +45 -6
  36. package/dist/utils/getReactNativeConfig.native.js.map +2 -2
  37. package/dist/utils/getViteServerConfig.js +4 -1
  38. package/dist/utils/getViteServerConfig.js.map +1 -1
  39. package/dist/utils/getViteServerConfig.mjs +4 -2
  40. package/dist/utils/getViteServerConfig.mjs.map +1 -1
  41. package/dist/utils/getViteServerConfig.native.js +4 -1
  42. package/dist/utils/getViteServerConfig.native.js.map +2 -2
  43. package/dist/utils/printServerUrls.js +12 -0
  44. package/dist/utils/printServerUrls.js.map +6 -0
  45. package/dist/utils/printServerUrls.mjs +8 -0
  46. package/dist/utils/printServerUrls.mjs.map +1 -0
  47. package/dist/utils/printServerUrls.native.js +43 -0
  48. package/dist/utils/printServerUrls.native.js.map +6 -0
  49. package/package.json +11 -13
  50. package/react-native-template.js +117 -103
  51. package/src/exports/dev.ts +34 -319
  52. package/src/plugins/autoPreBundleDepsForSsrPlugin.ts +20 -1
  53. package/src/plugins/expoManifestRequestHandlerPlugin.ts +40 -20
  54. package/src/plugins/reactNativeDevServer.ts +161 -0
  55. package/src/user-interface/index.ts +21 -20
  56. package/src/utils/getReactNativeConfig.ts +56 -11
  57. package/src/utils/getViteServerConfig.ts +4 -0
  58. package/src/utils/printServerUrls.ts +24 -0
  59. package/types/exports/dev.d.ts +2 -12
  60. package/types/exports/dev.d.ts.map +1 -1
  61. package/types/plugins/autoPreBundleDepsForSsrPlugin.d.ts.map +1 -1
  62. package/types/plugins/clientInjectPlugin.d.ts +2 -2
  63. package/types/plugins/clientInjectPlugin.d.ts.map +1 -1
  64. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -1
  65. package/types/plugins/reactNativeDevServer.d.ts +4 -0
  66. package/types/plugins/reactNativeDevServer.d.ts.map +1 -0
  67. package/types/user-interface/index.d.ts +2 -4
  68. package/types/user-interface/index.d.ts.map +1 -1
  69. package/types/utils/getReactNativeConfig.d.ts +2 -2
  70. package/types/utils/getReactNativeConfig.d.ts.map +1 -1
  71. package/types/utils/getViteServerConfig.d.ts.map +1 -1
  72. package/types/utils/printServerUrls.d.ts +3 -0
  73. package/types/utils/printServerUrls.d.ts.map +1 -0
@@ -1,216 +1,38 @@
1
- import wsAdapter from "crossws/adapters/node";
2
1
  import FSExtra from "fs-extra";
3
- import { createServer as nodeCreateServer } from "node:http";
2
+ import colors from "picocolors";
4
3
  import { createServer } from "vite";
5
- import { WebSocket } from "ws";
6
4
  import { startUserInterface } from "../user-interface/index";
7
5
  import { bindKeypressInput } from "../utils/bindKeypressInput";
8
- import {
9
- addConnectedNativeClient,
10
- removeConnectedNativeClient
11
- } from "../utils/connectedNativeClients";
12
6
  import { fillOptions } from "../utils/getOptionsFilled";
13
- import { getReactNativeBundle } from "../utils/getReactNativeBundle";
14
7
  import { getViteServerConfig } from "../utils/getViteServerConfig";
15
- import { hotUpdateCache } from "../utils/hotUpdateCache";
16
8
  import { applyBuiltInPatches } from "../utils/patches";
9
+ import { printServerUrls } from "../utils/printServerUrls";
17
10
  import { clean } from "./clean";
18
11
  const { ensureDir } = FSExtra, dev = async (optionsIn) => {
19
- const options = await fillOptions(optionsIn), { cacheDir, server } = options;
20
- options.clean && await clean(optionsIn), bindKeypressInput(), applyBuiltInPatches(options).catch((err) => {
12
+ const options = await fillOptions(optionsIn), { cacheDir } = options;
13
+ bindKeypressInput(), options.clean && await clean(optionsIn), applyBuiltInPatches(options).catch((err) => {
21
14
  console.error(`
22
15
  \u{1F97A} error applying built-in patches`, err);
23
16
  }), await ensureDir(cacheDir);
24
- const serverConfig = await getViteServerConfig(options), viteServer = await createServer(serverConfig);
25
- viteServer.watcher.addListener("change", async (path) => {
26
- const id = path.replace(process.cwd(), "");
27
- if (!(!id.endsWith("tsx") && !id.endsWith("jsx")))
28
- try {
29
- viteServer.transformRequest(id);
30
- } catch (err) {
31
- console.info("err", err);
32
- }
33
- }), await viteServer.listen();
34
- const vitePort = viteServer.config.server.port, { createApp, createRouter, defineEventHandler, eventHandler, getQuery, toNodeListener } = await import("h3"), { createProxyEventHandler } = await import("h3-proxy"), router = createRouter(), app = createApp({
35
- onError: (error) => {
36
- console.error(error);
37
- },
38
- onRequest: (event) => {
39
- process.env.DEBUG && console.info(" \u2192", event.path);
40
- }
41
- });
42
- router.get(
43
- "/file",
44
- defineEventHandler((e) => {
45
- const query = getQuery(e);
46
- if (typeof query.file == "string") {
47
- const source = hotUpdateCache.get(query.file);
48
- return source ? new Response(source, {
49
- headers: {
50
- "content-type": "text/javascript"
51
- }
52
- }) : (console.warn("No hot source found for", query.file), new Response("", {
53
- headers: {
54
- "content-type": "text/javascript"
55
- }
56
- }));
57
- }
58
- })
59
- );
60
- let cachedReactNativeBundle = null;
61
- const rnBundleHandler = defineEventHandler(async (e) => {
62
- try {
63
- const bundle = await (async () => {
64
- if (cachedReactNativeBundle && !process.env.VXRN_DISABLE_CACHE)
65
- return cachedReactNativeBundle;
66
- const builtBundle = await getReactNativeBundle(options);
67
- return cachedReactNativeBundle = builtBundle, builtBundle;
68
- })();
69
- return new Response(bundle, {
70
- headers: {
71
- "content-type": "text/javascript"
72
- }
73
- });
74
- } catch (err) {
75
- console.error(` Error building React Native bundle: ${err}`), console.error(
76
- `
77
-
78
- Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`
79
- );
80
- }
81
- });
82
- viteServer.watcher.addListener("change", () => {
83
- cachedReactNativeBundle = null;
84
- }), router.get("/index.bundle", rnBundleHandler), router.get(
85
- "/.expo/.virtual-metro-entry.bundle",
86
- // for Expo development builds
87
- rnBundleHandler
88
- ), router.get(
89
- "/status",
90
- defineEventHandler(() => "packager-status:running")
91
- ), app.use(router);
92
- const clients = /* @__PURE__ */ new Set();
93
- let socket = null;
94
- const { handleUpgrade } = wsAdapter(app.websocket);
95
- app.use(
96
- "/__vxrnhmr",
97
- defineEventHandler({
98
- handler() {
99
- },
100
- websocket: {
101
- open(peer) {
102
- process.env.DEBUG && console.debug("[hmr:web] open", peer), clients.add(peer);
103
- },
104
- message(peer, message) {
105
- socket?.send(message.rawData);
106
- },
107
- close(peer, event) {
108
- process.env.DEBUG && console.info("[hmr:web] close", peer, event), clients.delete(peer);
109
- },
110
- error(peer, error) {
111
- console.error("[hmr:web] error", peer, error);
112
- }
113
- }
114
- })
115
- ), app.use(
116
- "/__hmr",
117
- defineEventHandler({
118
- handler() {
119
- },
120
- websocket: {
121
- open(peer) {
122
- process.env.DEBUG && console.debug("[hmr] open", peer), addConnectedNativeClient();
123
- },
124
- message(peer, message) {
125
- console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
126
- },
127
- close(peer, event) {
128
- process.env.DEBUG && console.info("[hmr] close", peer, event), removeConnectedNativeClient();
129
- },
130
- error(peer, error) {
131
- console.error("[hmr] error", peer, error);
132
- }
133
- }
134
- })
135
- ), app.use(
136
- "/symbolicate",
137
- defineEventHandler(() => "TODO")
138
- ), app.use(
139
- "/__client",
140
- defineEventHandler({
141
- handler() {
142
- },
143
- websocket: {
144
- open(peer) {
145
- console.info(" \u2460 open", peer);
146
- },
147
- message(peer, messageRaw) {
148
- const message = JSON.parse(messageRaw.text());
149
- switch (message.type) {
150
- case "client-log": {
151
- if (message.level === "warn" && message.data[0]?.startsWith(
152
- "Sending `appearanceChanged` with no listeners registered."
153
- ))
154
- return;
155
- console.info(
156
- ` \u2460 ${message.level === "info" ? "" : ` [${message.level}]`}`,
157
- ...message.data
158
- );
159
- return;
160
- }
161
- default:
162
- console.warn(" \u2460 Unknown message type", message);
163
- }
164
- },
165
- close(peer, event) {
166
- console.info(" \u2460 close", peer, event);
167
- },
168
- error(peer, error) {
169
- console.error(" \u2460 error", peer, error);
170
- }
171
- }
172
- })
173
- ), app.use(
174
- eventHandler(
175
- createProxyEventHandler({
176
- target: `${server.protocol}//${server.host}:${vitePort}`,
177
- enableLogger: process.env.DEBUG?.startsWith("vxrn"),
178
- configureProxyRequest(event) {
179
- return {
180
- fetchOptions: {
181
- // h3 proxy is using `fetch` internally (https://github.com/unjs/h3/blob/v1.11.1/src/utils/proxy.ts#L84-L88) and by default it will follow redirects.
182
- // This will cause unexpected behavior when the target server returns a 3xx response, which the client will not get the 3xx response but instead get the content of the redirected URL as proxied.
183
- // See: https://github.com/onejs/one/issues/156#issuecomment-2412876573
184
- redirect: "manual"
185
- }
186
- };
17
+ const serverConfig = await getViteServerConfig(options);
18
+ let viteServer = null;
19
+ return {
20
+ viteServer,
21
+ start: async () => (viteServer = await createServer(serverConfig), viteServer.watcher.addListener("change", async (path) => {
22
+ const id = path.replace(process.cwd(), "");
23
+ if (!(!id.endsWith("tsx") && !id.endsWith("jsx")))
24
+ try {
25
+ viteServer.transformRequest(id);
26
+ } catch (err) {
27
+ console.info("err", err);
187
28
  }
29
+ }), await viteServer.listen(), console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info(), viteServer.resolvedUrls && printServerUrls(viteServer.resolvedUrls, {}, viteServer.config.logger.info), startUserInterface({ server: viteServer }), {
30
+ closePromise: new Promise((res) => {
31
+ viteServer?.httpServer?.on("close", res);
188
32
  })
189
- )
190
- );
191
- const nodeServer = nodeCreateServer(toNodeListener(app));
192
- return nodeServer.on("upgrade", handleUpgrade), {
193
- server: nodeServer,
194
- viteServer,
195
- async start() {
196
- nodeServer.listen(server.port, server.host);
197
- const url = `${server.protocol}//${server.host}:${server.port}`;
198
- return process.env.NODE_ENV === "test" ? console.info(`
199
- Server running on ${url}`) : console.info(`
200
- Server running on \x1B[1m${url}\x1B[0m`), startUserInterface({ server }), nodeServer.once("listening", () => {
201
- vitePort && (socket = new WebSocket(`ws://${server.host}:${vitePort}/__vxrnhmr`, "vite-hmr"), socket.on("message", (msg) => {
202
- const message = msg.toString();
203
- for (const listener of [...clients])
204
- listener.send(message);
205
- }), socket.on("error", (err) => {
206
- console.info("error bridging socket to vite", err);
207
- }));
208
- }), {
209
- closePromise: new Promise((res) => viteServer.httpServer?.on("close", res))
210
- };
211
- },
33
+ }),
212
34
  stop: async () => {
213
- viteServer.watcher.removeAllListeners(), await Promise.all([nodeServer.close(), viteServer.close()]);
35
+ viteServer && (viteServer.watcher.removeAllListeners(), await viteServer.close());
214
36
  }
215
37
  };
216
38
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/exports/dev.ts"],
4
- "mappings": "AACA,OAAO,eAAe;AACtB,OAAO,aAAa;AACpB,SAAS,gBAAgB,wBAAwB;AACjD,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAE1B,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,aAAa;AAEtB,MAAM,EAAE,UAAU,IAAI,SAcT,MAAM,OAAO,cAA0B;AAClD,QAAM,UAAU,MAAM,YAAY,SAAS,GACrC,EAAE,UAAU,OAAO,IAAI;AAE7B,EAAI,QAAQ,SACV,MAAM,MAAM,SAAS,GAIvB,kBAAkB,GAElB,oBAAoB,OAAO,EAAE,MAAM,CAAC,QAAQ;AAC1C,YAAQ,MAAM;AAAA,6CAAyC,GAAG;AAAA,EAC5D,CAAC,GAED,MAAM,UAAU,QAAQ;AAExB,QAAM,eAAe,MAAM,oBAAoB,OAAO,GAEhD,aAAa,MAAM,aAAa,YAAY;AAIlD,aAAW,QAAQ,YAAY,UAAU,OAAO,SAAS;AACvD,UAAM,KAAK,KAAK,QAAQ,QAAQ,IAAI,GAAG,EAAE;AACzC,QAAI,GAAC,GAAG,SAAS,KAAK,KAAK,CAAC,GAAG,SAAS,KAAK;AAI7C,UAAI;AACF,QAAK,WAAW,iBAAiB,EAAE;AAAA,MACrC,SAAS,KAAK;AAEZ,gBAAQ,KAAK,OAAO,GAAG;AAAA,MACzB;AAAA,EACF,CAAC,GAED,MAAM,WAAW,OAAO;AACxB,QAAM,WAAW,WAAW,OAAO,OAAO,MAGpC,EAAE,WAAW,cAAc,oBAAoB,cAAc,UAAU,eAAe,IAC1F,MAAM,OAAO,IAAI,GACb,EAAE,wBAAwB,IAAI,MAAM,OAAO,UAAU,GAErD,SAAS,aAAa,GACtB,MAAM,UAAU;AAAA,IACpB,SAAS,CAAC,UAAU;AAClB,cAAQ,MAAM,KAAK;AAAA,IACrB;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,MAAI,QAAQ,IAAI,SACd,QAAQ,KAAK,WAAM,MAAM,IAAI;AAAA,IAEjC;AAAA,EACF,CAAC;AAID,SAAO;AAAA,IACL;AAAA,IACA,mBAAmB,CAAC,MAAM;AACxB,YAAM,QAAQ,SAAS,CAAC;AACxB,UAAI,OAAO,MAAM,QAAS,UAAU;AAClC,cAAM,SAAS,eAAe,IAAI,MAAM,IAAI;AAE5C,eAAK,SASE,IAAI,SAAS,QAAQ;AAAA,UAC1B,SAAS;AAAA,YACP,gBAAgB;AAAA,UAClB;AAAA,QACF,CAAC,KAZC,QAAQ,KAAK,2BAA2B,MAAM,IAAI,GAC3C,IAAI,SAAS,IAAI;AAAA,UACtB,SAAS;AAAA,YACP,gBAAgB;AAAA,UAClB;AAAA,QACF,CAAC;AAAA,MAQL;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,0BAAyC;AAG7C,QAAM,kBAAkB,mBAAmB,OAAO,MAAM;AACtD,QAAI;AACF,YAAM,SAAS,OAAO,YAAY;AAChC,YAAI,2BAA2B,CAAC,QAAQ,IAAI;AAC1C,iBAAO;AAGT,cAAM,cAAc,MAAM,qBAAqB,OAAO;AACtD,yCAA0B,aACnB;AAAA,MACT,GAAG;AAEH,aAAO,IAAI,SAAS,QAAQ;AAAA,QAC1B,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,cAAQ,MAAM,wCAAwC,GAAG,EAAE,GAC3D,QAAQ;AAAA,QACN;AAAA;AAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,aAAW,QAAQ,YAAY,UAAU,MAAM;AAC7C,8BAA0B;AAAA,EAC5B,CAAC,GAED,OAAO,IAAI,iBAAiB,eAAe,GAC3C,OAAO;AAAA,IACL;AAAA;AAAA,IACA;AAAA,EACF,GAEA,OAAO;AAAA,IACL;AAAA,IACA,mBAAmB,MAAM,yBAAyB;AAAA,EACpD,GAEA,IAAI,IAAI,MAAM;AAEd,QAAM,UAAU,oBAAI,IAAU;AAC9B,MAAI,SAA2B;AAE/B,QAAM,EAAE,cAAc,IAAI,UAAU,IAAI,SAAS;AAGjD,MAAI;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MAEV;AAAA,MAEA,WAAW;AAAA,QACT,KAAK,MAAM;AACT,UAAI,QAAQ,IAAI,SAAO,QAAQ,MAAM,kBAAkB,IAAI,GAC3D,QAAQ,IAAI,IAAI;AAAA,QAClB;AAAA,QAEA,QAAQ,MAAM,SAAS;AACrB,kBAAQ,KAAK,QAAQ,OAAO;AAAA,QAC9B;AAAA,QAEA,MAAM,MAAM,OAAO;AACjB,UAAI,QAAQ,IAAI,SAAO,QAAQ,KAAK,mBAAmB,MAAM,KAAK,GAClE,QAAQ,OAAO,IAAI;AAAA,QACrB;AAAA,QAEA,MAAM,MAAM,OAAO;AACjB,kBAAQ,MAAM,mBAAmB,MAAM,KAAK;AAAA,QAC9C;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,GAGA,IAAI;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MAEV;AAAA,MAEA,WAAW;AAAA,QACT,KAAK,MAAM;AACT,UAAI,QAAQ,IAAI,SAAO,QAAQ,MAAM,cAAc,IAAI,GACvD,yBAAyB;AAAA,QAC3B;AAAA,QAEA,QAAQ,MAAM,SAAS;AACrB,kBAAQ,KAAK,iBAAiB,MAAM,OAAO,GACvC,QAAQ,KAAK,EAAE,SAAS,MAAM,KAChC,KAAK,KAAK,MAAM;AAAA,QAEpB;AAAA,QAEA,MAAM,MAAM,OAAO;AACjB,UAAI,QAAQ,IAAI,SAAO,QAAQ,KAAK,eAAe,MAAM,KAAK,GAC9D,4BAA4B;AAAA,QAC9B;AAAA,QAEA,MAAM,MAAM,OAAO;AACjB,kBAAQ,MAAM,eAAe,MAAM,KAAK;AAAA,QAC1C;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,GASA,IAAI;AAAA,IACF;AAAA,IACA,mBAAmB,MACV,MACR;AAAA,EACH,GAGA,IAAI;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MAEV;AAAA,MAEA,WAAW;AAAA,QACT,KAAK,MAAM;AACT,kBAAQ,KAAK,iBAAY,IAAI;AAAA,QAC/B;AAAA,QAEA,QAAQ,MAAM,YAAY;AACxB,gBAAM,UAAU,KAAK,MAAM,WAAW,KAAK,CAAC;AAE5C,kBAAQ,QAAQ,MAAM;AAAA,YACpB,KAAK,cAAc;AAEjB,kBACE,QAAQ,UAAU,UAClB,QAAQ,KAAK,CAAC,GAAG;AAAA,gBACf;AAAA,cACF;AAEA;AAGF,sBAAQ;AAAA,gBACN,YAAO,QAAQ,UAAU,SAAS,KAAK,KAAK,QAAQ,KAAK,GAAG;AAAA,gBAC5D,GAAG,QAAQ;AAAA,cACb;AACA;AAAA,YACF;AAAA,YAEA;AACE,sBAAQ,KAAK,iCAA4B,OAAO;AAAA,UAEpD;AAAA,QACF;AAAA,QAEA,MAAM,MAAM,OAAO;AACjB,kBAAQ,KAAK,kBAAa,MAAM,KAAK;AAAA,QACvC;AAAA,QAEA,MAAM,MAAM,OAAO;AACjB,kBAAQ,MAAM,kBAAa,MAAM,KAAK;AAAA,QACxC;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,GAGA,IAAI;AAAA,IACF;AAAA,MACE,wBAAwB;AAAA,QACtB,QAAQ,GAAG,OAAO,QAAQ,KAAK,OAAO,IAAI,IAAI,QAAQ;AAAA,QACtD,cAAc,QAAQ,IAAI,OAAO,WAAW,MAAM;AAAA,QAClD,sBAAsB,OAAO;AAC3B,iBAAO;AAAA,YACL,cAAc;AAAA;AAAA;AAAA;AAAA,cAIZ,UAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,aAAa,iBAAiB,eAAe,GAAG,CAAC;AAEvD,oBAAW,GAAG,WAAW,aAAa,GAE/B;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IAEA,MAAM,QAAQ;AACZ,iBAAW,OAAO,OAAO,MAAM,OAAO,IAAI;AAE1C,YAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,OAAO,IAAI,IAAI,OAAO,IAAI;AAE7D,aAAI,QAAQ,IAAI,aAAa,SAC3B,QAAQ,KAAK;AAAA,oBAAuB,GAAG,EAAE,IAEzC,QAAQ,KAAK;AAAA,2BAA8B,GAAG,SAAS,GAGzD,mBAAmB,EAAE,OAAO,CAAC,GAE7B,WAAW,KAAK,aAAa,MAAM;AAEjC,QAAI,aACF,SAAS,IAAI,UAAU,QAAQ,OAAO,IAAI,IAAI,QAAQ,cAAc,UAAU,GAE9E,OAAO,GAAG,WAAW,CAAC,QAAQ;AAC5B,gBAAM,UAAU,IAAI,SAAS;AAC7B,qBAAW,YAAY,CAAC,GAAG,OAAO;AAChC,qBAAS,KAAK,OAAO;AAAA,QAEzB,CAAC,GAED,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC1B,kBAAQ,KAAK,iCAAiC,GAAG;AAAA,QACnD,CAAC;AAAA,MAEL,CAAC,GAEM;AAAA,QACL,cAAc,IAAI,QAAQ,CAAC,QAAQ,WAAW,YAAY,GAAG,SAAS,GAAG,CAAC;AAAA,MAC5E;AAAA,IACF;AAAA,IAEA,MAAM,YAAY;AAChB,iBAAW,QAAQ,mBAAmB,GACtC,MAAM,QAAQ,IAAI,CAAC,WAAW,MAAM,GAAG,WAAW,MAAM,CAAC,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,SAAS,oBAAwC;AAEjD,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,aAAa;AAEtB,MAAM,EAAE,UAAU,IAAI,SAIT,MAAM,OAAO,cAA0B;AAClD,QAAM,UAAU,MAAM,YAAY,SAAS,GACrC,EAAE,SAAS,IAAI;AAErB,oBAAkB,GAEd,QAAQ,SACV,MAAM,MAAM,SAAS,GAGvB,oBAAoB,OAAO,EAAE,MAAM,CAAC,QAAQ;AAC1C,YAAQ,MAAM;AAAA,6CAAyC,GAAG;AAAA,EAC5D,CAAC,GAED,MAAM,UAAU,QAAQ;AAExB,QAAM,eAAe,MAAM,oBAAoB,OAAO;AAEtD,MAAI,aAAmC;AAEvC,SAAO;AAAA,IACL;AAAA,IAEA,OAAO,aACL,aAAa,MAAM,aAAa,YAAY,GAG5C,WAAW,QAAQ,YAAY,UAAU,OAAO,SAAS;AACvD,YAAM,KAAK,KAAK,QAAQ,QAAQ,IAAI,GAAG,EAAE;AACzC,UAAI,GAAC,GAAG,SAAS,KAAK,KAAK,CAAC,GAAG,SAAS,KAAK;AAG7C,YAAI;AACF,UAAK,WAAY,iBAAiB,EAAE;AAAA,QACtC,SAAS,KAAK;AACZ,kBAAQ,KAAK,OAAO,GAAG;AAAA,QACzB;AAAA,IACF,CAAC,GAED,MAAM,WAAW,OAAO,GAExB,QAAQ,KAAK,GACb,QAAQ,KAAK,OAAO,KAAK,mBAAmB,IAAI,SAAI,GACpD,QAAQ,KAAK,GAET,WAAW,gBACb,gBAAgB,WAAW,cAAc,CAAC,GAAG,WAAW,OAAO,OAAO,IAAI,GAG5E,mBAAmB,EAAE,QAAQ,WAAW,CAAC,GAElC;AAAA,MACL,cAAc,IAAI,QAAQ,CAAC,QAAQ;AACjC,oBAAY,YAAY,GAAG,SAAS,GAAG;AAAA,MACzC,CAAC;AAAA,IACH;AAAA,IAGF,MAAM,YAAY;AAChB,MAAI,eACF,WAAW,QAAQ,mBAAmB,GACtC,MAAM,WAAW,MAAM;AAAA,IAE3B;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -1,16 +1,12 @@
1
- import wsAdapter from "crossws/adapters/node";
2
1
  import FSExtra from "fs-extra";
3
- import { createServer as nodeCreateServer } from "node:http";
2
+ import colors from "picocolors";
4
3
  import { createServer } from "vite";
5
- import { WebSocket } from "ws";
6
4
  import { startUserInterface } from "../user-interface/index.mjs";
7
5
  import { bindKeypressInput } from "../utils/bindKeypressInput.mjs";
8
- import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.mjs";
9
6
  import { fillOptions } from "../utils/getOptionsFilled.mjs";
10
- import { getReactNativeBundle } from "../utils/getReactNativeBundle.mjs";
11
7
  import { getViteServerConfig } from "../utils/getViteServerConfig.mjs";
12
- import { hotUpdateCache } from "../utils/hotUpdateCache.mjs";
13
8
  import { applyBuiltInPatches } from "../utils/patches.mjs";
9
+ import { printServerUrls } from "../utils/printServerUrls.mjs";
14
10
  import { clean } from "./clean.mjs";
15
11
  const {
16
12
  ensureDir
@@ -18,184 +14,32 @@ const {
18
14
  dev = async optionsIn => {
19
15
  const options = await fillOptions(optionsIn),
20
16
  {
21
- cacheDir,
22
- server
17
+ cacheDir
23
18
  } = options;
24
- options.clean && (await clean(optionsIn)), bindKeypressInput(), applyBuiltInPatches(options).catch(err => {
19
+ bindKeypressInput(), options.clean && (await clean(optionsIn)), applyBuiltInPatches(options).catch(err => {
25
20
  console.error(`
26
21
  \u{1F97A} error applying built-in patches`, err);
27
22
  }), await ensureDir(cacheDir);
28
- const serverConfig = await getViteServerConfig(options),
29
- viteServer = await createServer(serverConfig);
30
- viteServer.watcher.addListener("change", async path => {
31
- const id = path.replace(process.cwd(), "");
32
- if (!(!id.endsWith("tsx") && !id.endsWith("jsx"))) try {
33
- viteServer.transformRequest(id);
34
- } catch (err) {
35
- console.info("err", err);
36
- }
37
- }), await viteServer.listen();
38
- const vitePort = viteServer.config.server.port,
39
- {
40
- createApp,
41
- createRouter,
42
- defineEventHandler,
43
- eventHandler,
44
- getQuery,
45
- toNodeListener
46
- } = await import("h3"),
47
- {
48
- createProxyEventHandler
49
- } = await import("h3-proxy"),
50
- router = createRouter(),
51
- app = createApp({
52
- onError: error => {
53
- console.error(error);
54
- },
55
- onRequest: event => {
56
- process.env.DEBUG && console.info(" \u2192", event.path);
57
- }
58
- });
59
- router.get("/file", defineEventHandler(e => {
60
- const query = getQuery(e);
61
- if (typeof query.file == "string") {
62
- const source = hotUpdateCache.get(query.file);
63
- return source ? new Response(source, {
64
- headers: {
65
- "content-type": "text/javascript"
66
- }
67
- }) : (console.warn("No hot source found for", query.file), new Response("", {
68
- headers: {
69
- "content-type": "text/javascript"
70
- }
71
- }));
72
- }
73
- }));
74
- let cachedReactNativeBundle = null;
75
- const rnBundleHandler = defineEventHandler(async e => {
76
- try {
77
- const bundle = await (async () => {
78
- if (cachedReactNativeBundle && !process.env.VXRN_DISABLE_CACHE) return cachedReactNativeBundle;
79
- const builtBundle = await getReactNativeBundle(options);
80
- return cachedReactNativeBundle = builtBundle, builtBundle;
81
- })();
82
- return new Response(bundle, {
83
- headers: {
84
- "content-type": "text/javascript"
85
- }
86
- });
87
- } catch (err) {
88
- console.error(` Error building React Native bundle: ${err}`), console.error(`
89
-
90
- Note, some errors may happen due to a stale Vite cache, you may want to try re-running with the "--clean" flag`);
91
- }
92
- });
93
- viteServer.watcher.addListener("change", () => {
94
- cachedReactNativeBundle = null;
95
- }), router.get("/index.bundle", rnBundleHandler), router.get("/.expo/.virtual-metro-entry.bundle",
96
- // for Expo development builds
97
- rnBundleHandler), router.get("/status", defineEventHandler(() => "packager-status:running")), app.use(router);
98
- const clients = /* @__PURE__ */new Set();
99
- let socket = null;
100
- const {
101
- handleUpgrade
102
- } = wsAdapter(app.websocket);
103
- app.use("/__vxrnhmr", defineEventHandler({
104
- handler() {},
105
- websocket: {
106
- open(peer) {
107
- process.env.DEBUG && console.debug("[hmr:web] open", peer), clients.add(peer);
108
- },
109
- message(peer, message) {
110
- socket?.send(message.rawData);
111
- },
112
- close(peer, event) {
113
- process.env.DEBUG && console.info("[hmr:web] close", peer, event), clients.delete(peer);
114
- },
115
- error(peer, error) {
116
- console.error("[hmr:web] error", peer, error);
117
- }
118
- }
119
- })), app.use("/__hmr", defineEventHandler({
120
- handler() {},
121
- websocket: {
122
- open(peer) {
123
- process.env.DEBUG && console.debug("[hmr] open", peer), addConnectedNativeClient();
124
- },
125
- message(peer, message) {
126
- console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
127
- },
128
- close(peer, event) {
129
- process.env.DEBUG && console.info("[hmr] close", peer, event), removeConnectedNativeClient();
130
- },
131
- error(peer, error) {
132
- console.error("[hmr] error", peer, error);
133
- }
134
- }
135
- })), app.use("/symbolicate", defineEventHandler(() => "TODO")), app.use("/__client", defineEventHandler({
136
- handler() {},
137
- websocket: {
138
- open(peer) {
139
- console.info(" \u2460 open", peer);
140
- },
141
- message(peer, messageRaw) {
142
- const message = JSON.parse(messageRaw.text());
143
- switch (message.type) {
144
- case "client-log":
145
- {
146
- if (message.level === "warn" && message.data[0]?.startsWith("Sending `appearanceChanged` with no listeners registered.")) return;
147
- console.info(` \u2460 ${message.level === "info" ? "" : ` [${message.level}]`}`, ...message.data);
148
- return;
149
- }
150
- default:
151
- console.warn(" \u2460 Unknown message type", message);
152
- }
153
- },
154
- close(peer, event) {
155
- console.info(" \u2460 close", peer, event);
156
- },
157
- error(peer, error) {
158
- console.error(" \u2460 error", peer, error);
159
- }
160
- }
161
- })), app.use(eventHandler(createProxyEventHandler({
162
- target: `${server.protocol}//${server.host}:${vitePort}`,
163
- enableLogger: process.env.DEBUG?.startsWith("vxrn"),
164
- configureProxyRequest(event) {
165
- return {
166
- fetchOptions: {
167
- // h3 proxy is using `fetch` internally (https://github.com/unjs/h3/blob/v1.11.1/src/utils/proxy.ts#L84-L88) and by default it will follow redirects.
168
- // This will cause unexpected behavior when the target server returns a 3xx response, which the client will not get the 3xx response but instead get the content of the redirected URL as proxied.
169
- // See: https://github.com/onejs/one/issues/156#issuecomment-2412876573
170
- redirect: "manual"
171
- }
172
- };
173
- }
174
- })));
175
- const nodeServer = nodeCreateServer(toNodeListener(app));
176
- return nodeServer.on("upgrade", handleUpgrade), {
177
- server: nodeServer,
23
+ const serverConfig = await getViteServerConfig(options);
24
+ let viteServer = null;
25
+ return {
178
26
  viteServer,
179
- async start() {
180
- nodeServer.listen(server.port, server.host);
181
- const url = `${server.protocol}//${server.host}:${server.port}`;
182
- return process.env.NODE_ENV === "test" ? console.info(`
183
- Server running on ${url}`) : console.info(`
184
- Server running on \x1B[1m${url}\x1B[0m`), startUserInterface({
185
- server
186
- }), nodeServer.once("listening", () => {
187
- vitePort && (socket = new WebSocket(`ws://${server.host}:${vitePort}/__vxrnhmr`, "vite-hmr"), socket.on("message", msg => {
188
- const message = msg.toString();
189
- for (const listener of [...clients]) listener.send(message);
190
- }), socket.on("error", err => {
191
- console.info("error bridging socket to vite", err);
192
- }));
193
- }), {
194
- closePromise: new Promise(res => viteServer.httpServer?.on("close", res))
195
- };
196
- },
27
+ start: async () => (viteServer = await createServer(serverConfig), viteServer.watcher.addListener("change", async path => {
28
+ const id = path.replace(process.cwd(), "");
29
+ if (!(!id.endsWith("tsx") && !id.endsWith("jsx"))) try {
30
+ viteServer.transformRequest(id);
31
+ } catch (err) {
32
+ console.info("err", err);
33
+ }
34
+ }), await viteServer.listen(), console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info(), viteServer.resolvedUrls && printServerUrls(viteServer.resolvedUrls, {}, viteServer.config.logger.info), startUserInterface({
35
+ server: viteServer
36
+ }), {
37
+ closePromise: new Promise(res => {
38
+ viteServer?.httpServer?.on("close", res);
39
+ })
40
+ }),
197
41
  stop: async () => {
198
- viteServer.watcher.removeAllListeners(), await Promise.all([nodeServer.close(), viteServer.close()]);
42
+ viteServer && (viteServer.watcher.removeAllListeners(), await viteServer.close());
199
43
  }
200
44
  };
201
45
  };
@@ -1 +1 @@
1
- {"version":3,"names":["wsAdapter","FSExtra","createServer","nodeCreateServer","WebSocket","startUserInterface","bindKeypressInput","addConnectedNativeClient","removeConnectedNativeClient","fillOptions","getReactNativeBundle","getViteServerConfig","hotUpdateCache","applyBuiltInPatches","clean","ensureDir","dev","optionsIn","options","cacheDir","server","catch","err","console","error","serverConfig","viteServer","watcher","addListener","path","id","replace","process","cwd","endsWith","transformRequest","info","listen","vitePort","config","port","createApp","createRouter","defineEventHandler","eventHandler","getQuery","toNodeListener","createProxyEventHandler","router","app","onError","onRequest","event","env","DEBUG","get","e","query","file","source","Response","headers","warn","cachedReactNativeBundle","rnBundleHandler","bundle","VXRN_DISABLE_CACHE","builtBundle","use","clients","Set","socket","handleUpgrade","websocket","handler","open","peer","debug","add","message","send","rawData","close","delete","text","includes","messageRaw","JSON","parse","type","level","data","startsWith","target","protocol","host","enableLogger","configureProxyRequest","fetchOptions","redirect","nodeServer","on","start","url","NODE_ENV","once","msg","toString","listener","closePromise","Promise","res","httpServer","stop","removeAllListeners","all"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FSExtra","colors","createServer","startUserInterface","bindKeypressInput","fillOptions","getViteServerConfig","applyBuiltInPatches","printServerUrls","clean","ensureDir","dev","optionsIn","options","cacheDir","catch","err","console","error","serverConfig","viteServer","start","watcher","addListener","path","id","replace","process","cwd","endsWith","transformRequest","info","listen","bold","resolvedUrls","config","logger","server","closePromise","Promise","res","httpServer","on","stop","removeAllListeners","close"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,OAAOC,MAAA,MAAY;AACnB,SAASC,YAAA,QAAwC;AAEjD,SAASC,kBAAA,QAA0B;AACnC,SAASC,iBAAA,QAAyB;AAClC,SAASC,WAAA,QAAmB;AAC5B,SAASC,mBAAA,QAA2B;AACpC,SAASC,mBAAA,QAA2B;AACpC,SAASC,eAAA,QAAuB;AAChC,SAASC,KAAA,QAAa;AAEtB,MAAM;IAAEC;EAAU,IAAIV,OAAA;EAITW,GAAA,GAAM,MAAOC,SAAA,IAA0B;IAClD,MAAMC,OAAA,GAAU,MAAMR,WAAA,CAAYO,SAAS;MACrC;QAAEE;MAAS,IAAID,OAAA;IAErBT,iBAAA,CAAkB,GAEdS,OAAA,CAAQJ,KAAA,KACV,MAAMA,KAAA,CAAMG,SAAS,IAGvBL,mBAAA,CAAoBM,OAAO,EAAEE,KAAA,CAAOC,GAAA,IAAQ;MAC1CC,OAAA,CAAQC,KAAA,CAAM;AAAA,6CAAyCF,GAAG;IAC5D,CAAC,GAED,MAAMN,SAAA,CAAUI,QAAQ;IAExB,MAAMK,YAAA,GAAe,MAAMb,mBAAA,CAAoBO,OAAO;IAEtD,IAAIO,UAAA,GAAmC;IAEvC,OAAO;MACLA,UAAA;MAEAC,KAAA,EAAO,MAAAA,CAAA,MACLD,UAAA,GAAa,MAAMlB,YAAA,CAAaiB,YAAY,GAG5CC,UAAA,CAAWE,OAAA,CAAQC,WAAA,CAAY,UAAU,MAAOC,IAAA,IAAS;QACvD,MAAMC,EAAA,GAAKD,IAAA,CAAKE,OAAA,CAAQC,OAAA,CAAQC,GAAA,CAAI,GAAG,EAAE;QACzC,IAAI,GAACH,EAAA,CAAGI,QAAA,CAAS,KAAK,KAAK,CAACJ,EAAA,CAAGI,QAAA,CAAS,KAAK,IAG7C,IAAI;UACGT,UAAA,CAAYU,gBAAA,CAAiBL,EAAE;QACtC,SAAST,GAAA,EAAK;UACZC,OAAA,CAAQc,IAAA,CAAK,OAAOf,GAAG;QACzB;MACF,CAAC,GAED,MAAMI,UAAA,CAAWY,MAAA,CAAO,GAExBf,OAAA,CAAQc,IAAA,CAAK,GACbd,OAAA,CAAQc,IAAA,CAAK9B,MAAA,CAAOgC,IAAA,CAAK,mBAAmB,IAAI,SAAI,GACpDhB,OAAA,CAAQc,IAAA,CAAK,GAETX,UAAA,CAAWc,YAAA,IACb1B,eAAA,CAAgBY,UAAA,CAAWc,YAAA,EAAc,CAAC,GAAGd,UAAA,CAAWe,MAAA,CAAOC,MAAA,CAAOL,IAAI,GAG5E5B,kBAAA,CAAmB;QAAEkC,MAAA,EAAQjB;MAAW,CAAC,GAElC;QACLkB,YAAA,EAAc,IAAIC,OAAA,CAASC,GAAA,IAAQ;UACjCpB,UAAA,EAAYqB,UAAA,EAAYC,EAAA,CAAG,SAASF,GAAG;QACzC,CAAC;MACH;MAGFG,IAAA,EAAM,MAAAA,CAAA,KAAY;QACZvB,UAAA,KACFA,UAAA,CAAWE,OAAA,CAAQsB,kBAAA,CAAmB,GACtC,MAAMxB,UAAA,CAAWyB,KAAA,CAAM;MAE3B;IACF;EACF","ignoreList":[]}