vxrn 0.1.46 → 0.1.48

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 (85) hide show
  1. package/dist/cjs/cli.js +12 -2
  2. package/dist/cjs/cli.js.map +1 -1
  3. package/dist/cjs/cli.native.js +47 -35
  4. package/dist/cjs/cli.native.js.map +2 -2
  5. package/dist/cjs/constants.js +2 -70
  6. package/dist/cjs/constants.js.map +1 -1
  7. package/dist/cjs/constants.native.js +2 -105
  8. package/dist/cjs/constants.native.js.map +2 -2
  9. package/dist/cjs/exports/build.js +50 -62
  10. package/dist/cjs/exports/build.js.map +1 -1
  11. package/dist/cjs/exports/build.native.js +224 -205
  12. package/dist/cjs/exports/build.native.js.map +2 -2
  13. package/dist/cjs/exports/dev.js +39 -24
  14. package/dist/cjs/exports/dev.js.map +1 -1
  15. package/dist/cjs/exports/dev.native.js +48 -50
  16. package/dist/cjs/exports/dev.native.js.map +2 -2
  17. package/dist/cjs/utils/getHtml.js +9 -6
  18. package/dist/cjs/utils/getHtml.js.map +1 -1
  19. package/dist/cjs/utils/getHtml.native.js +9 -5
  20. package/dist/cjs/utils/getHtml.native.js.map +2 -2
  21. package/dist/cjs/utils/getOptimizeDeps.js +132 -0
  22. package/dist/cjs/utils/getOptimizeDeps.js.map +6 -0
  23. package/dist/cjs/utils/getOptimizeDeps.native.js +171 -0
  24. package/dist/cjs/utils/getOptimizeDeps.native.js.map +6 -0
  25. package/dist/cjs/utils/getVitePath.js +3 -1
  26. package/dist/cjs/utils/getVitePath.js.map +1 -1
  27. package/dist/cjs/utils/getVitePath.native.js +1 -1
  28. package/dist/cjs/utils/getVitePath.native.js.map +1 -1
  29. package/dist/cjs/utils/readVXRNConfig.js +5 -3
  30. package/dist/cjs/utils/readVXRNConfig.js.map +1 -1
  31. package/dist/cjs/utils/readVXRNConfig.native.js +5 -1
  32. package/dist/cjs/utils/readVXRNConfig.native.js.map +2 -2
  33. package/dist/esm/cli.js +12 -2
  34. package/dist/esm/cli.js.map +1 -1
  35. package/dist/esm/cli.mjs +12 -2
  36. package/dist/esm/cli.native.js +47 -35
  37. package/dist/esm/cli.native.js.map +2 -2
  38. package/dist/esm/constants.js +2 -70
  39. package/dist/esm/constants.js.map +1 -1
  40. package/dist/esm/constants.mjs +2 -13
  41. package/dist/esm/constants.native.js +2 -102
  42. package/dist/esm/constants.native.js.map +2 -2
  43. package/dist/esm/exports/build.js +47 -60
  44. package/dist/esm/exports/build.js.map +1 -1
  45. package/dist/esm/exports/build.mjs +64 -63
  46. package/dist/esm/exports/build.native.js +223 -204
  47. package/dist/esm/exports/build.native.js.map +2 -2
  48. package/dist/esm/exports/dev.js +37 -21
  49. package/dist/esm/exports/dev.js.map +1 -1
  50. package/dist/esm/exports/dev.mjs +39 -30
  51. package/dist/esm/exports/dev.native.js +46 -47
  52. package/dist/esm/exports/dev.native.js.map +2 -2
  53. package/dist/esm/utils/getHtml.js +9 -6
  54. package/dist/esm/utils/getHtml.js.map +1 -1
  55. package/dist/esm/utils/getHtml.mjs +11 -4
  56. package/dist/esm/utils/getHtml.native.js +9 -5
  57. package/dist/esm/utils/getHtml.native.js.map +2 -2
  58. package/dist/esm/utils/getOptimizeDeps.js +116 -0
  59. package/dist/esm/utils/getOptimizeDeps.js.map +6 -0
  60. package/dist/esm/utils/getOptimizeDeps.mjs +18 -0
  61. package/dist/esm/utils/getOptimizeDeps.native.js +150 -0
  62. package/dist/esm/utils/getOptimizeDeps.native.js.map +6 -0
  63. package/dist/esm/utils/getVitePath.js +3 -1
  64. package/dist/esm/utils/getVitePath.js.map +1 -1
  65. package/dist/esm/utils/getVitePath.mjs +1 -1
  66. package/dist/esm/utils/getVitePath.native.js +1 -1
  67. package/dist/esm/utils/getVitePath.native.js.map +1 -1
  68. package/dist/esm/utils/readVXRNConfig.js +5 -3
  69. package/dist/esm/utils/readVXRNConfig.js.map +1 -1
  70. package/dist/esm/utils/readVXRNConfig.mjs +5 -1
  71. package/dist/esm/utils/readVXRNConfig.native.js +5 -1
  72. package/dist/esm/utils/readVXRNConfig.native.js.map +2 -2
  73. package/package.json +10 -10
  74. package/src/cli.ts +12 -2
  75. package/src/constants.ts +0 -77
  76. package/src/exports/build.ts +96 -100
  77. package/src/exports/dev.ts +49 -39
  78. package/src/utils/getHtml.ts +21 -6
  79. package/src/utils/getOptimizeDeps.ts +122 -0
  80. package/src/utils/getVitePath.ts +3 -1
  81. package/src/utils/readVXRNConfig.ts +6 -4
  82. package/types/constants.d.ts +0 -10
  83. package/types/exports/build.d.ts +6 -1
  84. package/types/utils/getHtml.d.ts +2 -1
  85. package/types/utils/getOptimizeDeps.d.ts +13 -0
@@ -27,15 +27,18 @@ import {
27
27
  } from "vite";
28
28
  import createViteFlow from "@vxrn/vite-flow";
29
29
  import { resolve as importMetaResolve } from "import-meta-resolve";
30
- import { depsToOptimize, nativeExtensions, optimizeDeps } from "../constants";
30
+ import { nativeExtensions } from "../constants";
31
31
  import { clientInjectionsPlugin } from "../plugins/clientInjectPlugin";
32
32
  import { reactNativeCommonJsPlugin } from "../plugins/reactNativeCommonJsPlugin";
33
33
  import { getBaseViteConfig } from "../utils/getBaseViteConfig";
34
34
  import { getOptionsFilled } from "../utils/getOptionsFilled";
35
35
  import { getVitePath } from "../utils/getVitePath";
36
36
  import { checkPatches } from "../utils/patches";
37
+ import { getOptimizeDeps } from "../utils/getOptimizeDeps";
37
38
  let isBuildingNativeBundle = null;
38
- const hotUpdateCache = /* @__PURE__ */ new Map(), resolveFile = (path) => {
39
+ const hotUpdateCache = /* @__PURE__ */ new Map();
40
+ let connectedNativeClients = 0;
41
+ const resolveFile = (path) => {
39
42
  try {
40
43
  return importMetaResolve(path, import.meta.url).replace("file://", "");
41
44
  } catch {
@@ -134,13 +137,13 @@ const hotUpdateCache = /* @__PURE__ */ new Map(), resolveFile = (path) => {
134
137
  },
135
138
  websocket: {
136
139
  open(peer) {
137
- console.debug("[hmr] open", peer);
140
+ console.debug("[hmr] open", peer), connectedNativeClients++;
138
141
  },
139
142
  message(peer, message) {
140
143
  console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
141
144
  },
142
145
  close(peer, event) {
143
- console.info("[hmr] close", peer, event);
146
+ console.info("[hmr] close", peer, event), connectedNativeClients--;
144
147
  },
145
148
  error(peer, error) {
146
149
  console.error("[hmr] error", peer, error);
@@ -178,24 +181,28 @@ const hotUpdateCache = /* @__PURE__ */ new Map(), resolveFile = (path) => {
178
181
  }
179
182
  }
180
183
  })
184
+ ), app.use(
185
+ eventHandler(
186
+ createProxyEventHandler({
187
+ target: `http://127.0.0.1:${vitePort}`,
188
+ enableLogger: process.env.DEBUG?.startsWith("vxrn")
189
+ })
190
+ )
181
191
  );
182
- const proxyEventHandler = createProxyEventHandler({
183
- target: `http://127.0.0.1:${vitePort}`,
184
- enableLogger: !!process.env.DEBUG
185
- });
186
- app.use(eventHandler(proxyEventHandler));
187
192
  const server = nodeCreateServer(toNodeListener(app));
188
193
  return server.on("upgrade", handleUpgrade), {
189
194
  server,
190
195
  viteServer,
191
196
  async start() {
192
- return server.listen(port), console.info(`Server running on http://localhost:${port}`), vitePort && (socket = new WebSocket(`ws://localhost:${vitePort}/__vxrnhmr`, "vite-hmr"), socket.on("message", (msg) => {
193
- const message = msg.toString();
194
- for (const listener of [...clients])
195
- listener.send(message);
196
- }), socket.on("error", (err) => {
197
- console.info("error bridging socket to vite", err);
198
- })), {
197
+ return server.listen(port), console.info(`Server running on http://localhost:${port}`), server.once("listening", () => {
198
+ vitePort && (socket = new WebSocket(`ws://127.0.0.1:${vitePort}/__vxrnhmr`, "vite-hmr"), socket.on("message", (msg) => {
199
+ const message = msg.toString();
200
+ for (const listener of [...clients])
201
+ listener.send(message);
202
+ }), socket.on("error", (err) => {
203
+ console.info("error bridging socket to vite", err);
204
+ }));
205
+ }), {
199
206
  closePromise: new Promise((res) => viteServer.httpServer?.on("close", res))
200
207
  };
201
208
  },
@@ -205,7 +212,7 @@ const hotUpdateCache = /* @__PURE__ */ new Map(), resolveFile = (path) => {
205
212
  };
206
213
  };
207
214
  async function getReactNativeBundle(options, viteRNClientPlugin) {
208
- const { root, port, cacheDir } = options;
215
+ const { root, port, cacheDir } = options, { depsToOptimize } = getOptimizeDeps("build");
209
216
  if (process.env.LOAD_TMP_BUNDLE) {
210
217
  const tmpBundle = join(process.cwd(), "bundle.tmp.js");
211
218
  if (await pathExists(tmpBundle))
@@ -499,7 +506,7 @@ function isWithin(outer, inner) {
499
506
  }
500
507
  let entryRoot = "";
501
508
  async function getViteServerConfig(config) {
502
- const { root, host, webConfig, cacheDir } = config;
509
+ const { root, host, webConfig } = config, { optimizeDeps } = getOptimizeDeps("serve");
503
510
  let serverConfig = mergeConfig(
504
511
  getBaseViteConfig({
505
512
  mode: "development"
@@ -509,7 +516,6 @@ async function getViteServerConfig(config) {
509
516
  clearScreen: !1,
510
517
  plugins: [
511
518
  reactNativeHMRPlugin(config),
512
- // watchNodeModules(['@tamagui/popper'])
513
519
  {
514
520
  name: "process-env-ssr",
515
521
  transform(code, id, options) {
@@ -520,7 +526,17 @@ async function getViteServerConfig(config) {
520
526
  ],
521
527
  optimizeDeps,
522
528
  ssr: {
523
- noExternal: !0,
529
+ // noExternal true causes many incompat issues because we need things on disk to work
530
+ // eg generally node uses .cjs extensions to "switch" back to cjs mode on import, but once bundled
531
+ // this wont happen, breaking many things
532
+ // but we need react related things always so they dont duplicate
533
+ noExternal: [
534
+ ...optimizeDeps.include,
535
+ "react",
536
+ "react-dom",
537
+ "react-dom/server",
538
+ "react-dom/client"
539
+ ],
524
540
  optimizeDeps
525
541
  },
526
542
  server: {
@@ -548,7 +564,7 @@ function reactNativeHMRPlugin({ root }) {
548
564
  name: "client-transform",
549
565
  async handleHotUpdate({ read, modules, file }) {
550
566
  try {
551
- if (!isWithin(root, file))
567
+ if (!isWithin(root, file) || !connectedNativeClients)
552
568
  return;
553
569
  const [module] = modules;
554
570
  if (!module)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/exports/dev.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["id"]
6
6
  }
@@ -14,16 +14,18 @@ import FSExtra from "fs-extra";
14
14
  import { build, createServer, mergeConfig, resolveConfig, transformWithEsbuild } from "vite";
15
15
  import createViteFlow from "@vxrn/vite-flow";
16
16
  import { resolve as importMetaResolve } from "import-meta-resolve";
17
- import { depsToOptimize, nativeExtensions, optimizeDeps } from "../constants.mjs";
17
+ import { nativeExtensions } from "../constants.mjs";
18
18
  import { clientInjectionsPlugin } from "../plugins/clientInjectPlugin.mjs";
19
19
  import { reactNativeCommonJsPlugin } from "../plugins/reactNativeCommonJsPlugin.mjs";
20
20
  import { getBaseViteConfig } from "../utils/getBaseViteConfig.mjs";
21
21
  import { getOptionsFilled } from "../utils/getOptionsFilled.mjs";
22
22
  import { getVitePath } from "../utils/getVitePath.mjs";
23
23
  import { checkPatches } from "../utils/patches.mjs";
24
+ import { getOptimizeDeps } from "../utils/getOptimizeDeps.mjs";
24
25
  let isBuildingNativeBundle = null;
25
- const hotUpdateCache = /* @__PURE__ */new Map(),
26
- resolveFile = path => {
26
+ const hotUpdateCache = /* @__PURE__ */new Map();
27
+ let connectedNativeClients = 0;
28
+ const resolveFile = path => {
27
29
  try {
28
30
  return importMetaResolve(path, import.meta.url).replace("file://", "");
29
31
  } catch {
@@ -129,13 +131,13 @@ const hotUpdateCache = /* @__PURE__ */new Map(),
129
131
  handler() {},
130
132
  websocket: {
131
133
  open(peer) {
132
- console.debug("[hmr] open", peer);
134
+ console.debug("[hmr] open", peer), connectedNativeClients++;
133
135
  },
134
136
  message(peer, message) {
135
137
  console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
136
138
  },
137
139
  close(peer, event) {
138
- console.info("[hmr] close", peer, event);
140
+ console.info("[hmr] close", peer, event), connectedNativeClients--;
139
141
  },
140
142
  error(peer, error) {
141
143
  console.error("[hmr] error", peer, error);
@@ -166,23 +168,23 @@ const hotUpdateCache = /* @__PURE__ */new Map(),
166
168
  console.error("[client] error", peer, error);
167
169
  }
168
170
  }
169
- }));
170
- const proxyEventHandler = createProxyEventHandler({
171
+ })), app.use(eventHandler(createProxyEventHandler({
171
172
  target: `http://127.0.0.1:${vitePort}`,
172
- enableLogger: !!process.env.DEBUG
173
- });
174
- app.use(eventHandler(proxyEventHandler));
173
+ enableLogger: process.env.DEBUG?.startsWith("vxrn")
174
+ })));
175
175
  const server = nodeCreateServer(toNodeListener(app));
176
176
  return server.on("upgrade", handleUpgrade), {
177
177
  server,
178
178
  viteServer,
179
179
  async start() {
180
- return server.listen(port), console.info(`Server running on http://localhost:${port}`), vitePort && (socket = new WebSocket(`ws://localhost:${vitePort}/__vxrnhmr`, "vite-hmr"), socket.on("message", msg => {
181
- const message = msg.toString();
182
- for (const listener of [...clients]) listener.send(message);
183
- }), socket.on("error", err => {
184
- console.info("error bridging socket to vite", err);
185
- })), {
180
+ return server.listen(port), console.info(`Server running on http://localhost:${port}`), server.once("listening", () => {
181
+ vitePort && (socket = new WebSocket(`ws://127.0.0.1:${vitePort}/__vxrnhmr`, "vite-hmr"), socket.on("message", msg => {
182
+ const message = msg.toString();
183
+ for (const listener of [...clients]) listener.send(message);
184
+ }), socket.on("error", err => {
185
+ console.info("error bridging socket to vite", err);
186
+ }));
187
+ }), {
186
188
  closePromise: new Promise(res => viteServer.httpServer?.on("close", res))
187
189
  };
188
190
  },
@@ -193,10 +195,13 @@ const hotUpdateCache = /* @__PURE__ */new Map(),
193
195
  };
194
196
  async function getReactNativeBundle(options, viteRNClientPlugin) {
195
197
  const {
196
- root,
197
- port,
198
- cacheDir
199
- } = options;
198
+ root,
199
+ port,
200
+ cacheDir
201
+ } = options,
202
+ {
203
+ depsToOptimize
204
+ } = getOptimizeDeps("build");
200
205
  if (process.env.LOAD_TMP_BUNDLE) {
201
206
  const tmpBundle = join(process.cwd(), "bundle.tmp.js");
202
207
  if (await pathExists(tmpBundle)) return console.info("\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F returning temp bundle \u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F", tmpBundle), await readFile(tmpBundle, "utf-8");
@@ -485,19 +490,19 @@ function isWithin(outer, inner) {
485
490
  let entryRoot = "";
486
491
  async function getViteServerConfig(config) {
487
492
  const {
488
- root,
489
- host,
490
- webConfig,
491
- cacheDir
492
- } = config;
493
+ root,
494
+ host,
495
+ webConfig
496
+ } = config,
497
+ {
498
+ optimizeDeps
499
+ } = getOptimizeDeps("serve");
493
500
  let serverConfig = mergeConfig(getBaseViteConfig({
494
501
  mode: "development"
495
502
  }), {
496
503
  root,
497
504
  clearScreen: !1,
498
- plugins: [reactNativeHMRPlugin(config),
499
- // watchNodeModules(['@tamagui/popper'])
500
- {
505
+ plugins: [reactNativeHMRPlugin(config), {
501
506
  name: "process-env-ssr",
502
507
  transform(code, id, options) {
503
508
  if (!id.includes("node_modules") && code.includes("process.env.TAMAGUI_IS_SERVER")) return code.replaceAll("process.env.TAMAGUI_IS_SERVER", `${!!options?.ssr}`);
@@ -505,7 +510,11 @@ async function getViteServerConfig(config) {
505
510
  }],
506
511
  optimizeDeps,
507
512
  ssr: {
508
- noExternal: !0,
513
+ // noExternal true causes many incompat issues because we need things on disk to work
514
+ // eg generally node uses .cjs extensions to "switch" back to cjs mode on import, but once bundled
515
+ // this wont happen, breaking many things
516
+ // but we need react related things always so they dont duplicate
517
+ noExternal: [...optimizeDeps.include, "react", "react-dom", "react-dom/server", "react-dom/client"],
509
518
  optimizeDeps
510
519
  },
511
520
  server: {
@@ -538,7 +547,7 @@ function reactNativeHMRPlugin({
538
547
  file
539
548
  }) {
540
549
  try {
541
- if (!isWithin(root, file)) return;
550
+ if (!isWithin(root, file) || !connectedNativeClients) return;
542
551
  const [module] = modules;
543
552
  if (!module) return;
544
553
  const id = module?.url || file.replace(root, ""),
@@ -14,13 +14,14 @@ import FSExtra from "fs-extra";
14
14
  import { build, createServer, mergeConfig, resolveConfig, transformWithEsbuild } from "vite";
15
15
  import createViteFlow from "@vxrn/vite-flow";
16
16
  import { resolve as importMetaResolve } from "import-meta-resolve";
17
- import { depsToOptimize, nativeExtensions, optimizeDeps } from "../constants";
17
+ import { nativeExtensions } from "../constants";
18
18
  import { clientInjectionsPlugin } from "../plugins/clientInjectPlugin";
19
19
  import { reactNativeCommonJsPlugin } from "../plugins/reactNativeCommonJsPlugin";
20
20
  import { getBaseViteConfig } from "../utils/getBaseViteConfig";
21
21
  import { getOptionsFilled } from "../utils/getOptionsFilled";
22
22
  import { getVitePath } from "../utils/getVitePath";
23
23
  import { checkPatches } from "../utils/patches";
24
+ import { getOptimizeDeps } from "../utils/getOptimizeDeps";
24
25
  function _array_like_to_array(arr, len) {
25
26
  (len == null || len > arr.length) && (len = arr.length);
26
27
  for (var i = 0, arr2 = new Array(len); i < len; i++)
@@ -253,7 +254,7 @@ function _ts_generator(thisArg, body) {
253
254
  };
254
255
  }
255
256
  }
256
- var isBuildingNativeBundle = null, hotUpdateCache = /* @__PURE__ */ new Map(), resolveFile = function(path) {
257
+ var isBuildingNativeBundle = null, hotUpdateCache = /* @__PURE__ */ new Map(), connectedNativeClients = 0, resolveFile = function(path) {
257
258
  try {
258
259
  return importMetaResolve(path, import.meta.url).replace("file://", "");
259
260
  } catch {
@@ -261,7 +262,7 @@ var isBuildingNativeBundle = null, hotUpdateCache = /* @__PURE__ */ new Map(), r
261
262
  }
262
263
  }, ensureDir = FSExtra.ensureDir, pathExists = FSExtra.pathExists, pathExistsSync = FSExtra.pathExistsSync, dev = function() {
263
264
  var _ref = _async_to_generator(function(_param) {
264
- var clean, rest, options, host, port, root, cacheDir, err, serverConfig, viteServer, resolvedConfig, viteRNClientPlugin, vitePort, router, app, clients, socket, handleUpgrade, proxyEventHandler, server;
265
+ var clean, rest, _process_env_DEBUG, options, host, port, root, cacheDir, err, serverConfig, viteServer, resolvedConfig, viteRNClientPlugin, vitePort, router, app, clients, socket, handleUpgrade, server;
265
266
  return _ts_generator(this, function(_state) {
266
267
  switch (_state.label) {
267
268
  case 0:
@@ -445,13 +446,13 @@ var isBuildingNativeBundle = null, hotUpdateCache = /* @__PURE__ */ new Map(), r
445
446
  // avoid errors
446
447
  websocket: {
447
448
  open: function(peer) {
448
- console.debug("[hmr] open", peer);
449
+ console.debug("[hmr] open", peer), connectedNativeClients++;
449
450
  },
450
451
  message: function(peer, message) {
451
452
  console.info("[hmr] message", peer, message), message.text().includes("ping") && peer.send("pong");
452
453
  },
453
454
  close: function(peer, event) {
454
- console.info("[hmr] close", peer, event);
455
+ console.info("[hmr] close", peer, event), connectedNativeClients--;
455
456
  },
456
457
  error: function(peer, error) {
457
458
  console.error("[hmr] error", peer, error);
@@ -488,10 +489,10 @@ var isBuildingNativeBundle = null, hotUpdateCache = /* @__PURE__ */ new Map(), r
488
489
  console.error("[client] error", peer, error);
489
490
  }
490
491
  }
491
- })), proxyEventHandler = createProxyEventHandler({
492
+ })), app.use(eventHandler(createProxyEventHandler({
492
493
  target: "http://127.0.0.1:".concat(vitePort),
493
- enableLogger: !!process.env.DEBUG
494
- }), app.use(eventHandler(proxyEventHandler)), server = nodeCreateServer(toNodeListener(app)), server.on("upgrade", handleUpgrade), [
494
+ enableLogger: (_process_env_DEBUG = process.env.DEBUG) === null || _process_env_DEBUG === void 0 ? void 0 : _process_env_DEBUG.startsWith("vxrn")
495
+ }))), server = nodeCreateServer(toNodeListener(app)), server.on("upgrade", handleUpgrade), [
495
496
  2,
496
497
  {
497
498
  server,
@@ -499,26 +500,28 @@ var isBuildingNativeBundle = null, hotUpdateCache = /* @__PURE__ */ new Map(), r
499
500
  start: function() {
500
501
  return _async_to_generator(function() {
501
502
  return _ts_generator(this, function(_state2) {
502
- return server.listen(port), console.info("Server running on http://localhost:".concat(port)), vitePort && (socket = new WebSocket("ws://localhost:".concat(vitePort, "/__vxrnhmr"), "vite-hmr"), socket.on("message", function(msg) {
503
- var message = msg.toString(), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
504
- try {
505
- for (var _iterator = _to_consumable_array(clients)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
506
- var listener = _step.value;
507
- listener.send(message);
508
- }
509
- } catch (err2) {
510
- _didIteratorError = !0, _iteratorError = err2;
511
- } finally {
503
+ return server.listen(port), console.info("Server running on http://localhost:".concat(port)), server.once("listening", function() {
504
+ vitePort && (socket = new WebSocket("ws://127.0.0.1:".concat(vitePort, "/__vxrnhmr"), "vite-hmr"), socket.on("message", function(msg) {
505
+ var message = msg.toString(), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
512
506
  try {
513
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
507
+ for (var _iterator = _to_consumable_array(clients)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
508
+ var listener = _step.value;
509
+ listener.send(message);
510
+ }
511
+ } catch (err2) {
512
+ _didIteratorError = !0, _iteratorError = err2;
514
513
  } finally {
515
- if (_didIteratorError)
516
- throw _iteratorError;
514
+ try {
515
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
516
+ } finally {
517
+ if (_didIteratorError)
518
+ throw _iteratorError;
519
+ }
517
520
  }
518
- }
519
- }), socket.on("error", function(err2) {
520
- console.info("error bridging socket to vite", err2);
521
- })), [
521
+ }), socket.on("error", function(err2) {
522
+ console.info("error bridging socket to vite", err2);
523
+ }));
524
+ }), [
522
525
  2,
523
526
  {
524
527
  closePromise: new Promise(function(res) {
@@ -562,7 +565,7 @@ function getReactNativeBundle(options, viteRNClientPlugin) {
562
565
  }
563
566
  function _getReactNativeBundle() {
564
567
  return _getReactNativeBundle = _async_to_generator(function(options, viteRNClientPlugin) {
565
- var root, port, cacheDir, tmpBundle, res, done, viteFlow, nativeBuildConfig, buildOutput, appCode, appRootParent, prebuilds, templateFile, template, out;
568
+ var root, port, cacheDir, depsToOptimize, tmpBundle, res, done, viteFlow, nativeBuildConfig, buildOutput, appCode, appRootParent, prebuilds, templateFile, template, out;
566
569
  function babelReanimated(input, filename) {
567
570
  return _babelReanimated.apply(this, arguments);
568
571
  }
@@ -596,7 +599,7 @@ function _getReactNativeBundle() {
596
599
  return _ts_generator(this, function(_state) {
597
600
  switch (_state.label) {
598
601
  case 0:
599
- return root = options.root, port = options.port, cacheDir = options.cacheDir, process.env.LOAD_TMP_BUNDLE ? (tmpBundle = join(process.cwd(), "bundle.tmp.js"), [
602
+ return root = options.root, port = options.port, cacheDir = options.cacheDir, depsToOptimize = getOptimizeDeps("build").depsToOptimize, process.env.LOAD_TMP_BUNDLE ? (tmpBundle = join(process.cwd(), "bundle.tmp.js"), [
600
603
  4,
601
604
  pathExists(tmpBundle)
602
605
  ]) : [
@@ -1030,31 +1033,16 @@ function getViteServerConfig(config) {
1030
1033
  return _getViteServerConfig.apply(this, arguments);
1031
1034
  }
1032
1035
  function _getViteServerConfig() {
1033
- return _getViteServerConfig = // function watchNodeModules(modules: string[]): PluginOption {
1034
- // return {
1035
- // name: 'watch-node-modules',
1036
- // config() {
1037
- // return {
1038
- // server: {
1039
- // watch: {
1040
- // ignored: modules.map((m) => `!**/packages/${m}/**`),
1041
- // },
1042
- // },
1043
- // }
1044
- // },
1045
- // }
1046
- // }
1047
- _async_to_generator(function(config) {
1048
- var root, host, webConfig, cacheDir, serverConfig, _webConfig_ssr, theirNoExternal;
1036
+ return _getViteServerConfig = _async_to_generator(function(config) {
1037
+ var root, host, webConfig, optimizeDeps, serverConfig, _webConfig_ssr, theirNoExternal;
1049
1038
  return _ts_generator(this, function(_state) {
1050
- return root = config.root, host = config.host, webConfig = config.webConfig, cacheDir = config.cacheDir, serverConfig = mergeConfig(getBaseViteConfig({
1039
+ return root = config.root, host = config.host, webConfig = config.webConfig, optimizeDeps = getOptimizeDeps("serve").optimizeDeps, serverConfig = mergeConfig(getBaseViteConfig({
1051
1040
  mode: "development"
1052
1041
  }), {
1053
1042
  root,
1054
1043
  clearScreen: !1,
1055
1044
  plugins: [
1056
1045
  reactNativeHMRPlugin(config),
1057
- // watchNodeModules(['@tamagui/popper'])
1058
1046
  {
1059
1047
  name: "process-env-ssr",
1060
1048
  transform: function(code, id, options) {
@@ -1065,7 +1053,16 @@ function _getViteServerConfig() {
1065
1053
  ],
1066
1054
  optimizeDeps,
1067
1055
  ssr: {
1068
- noExternal: !0,
1056
+ // noExternal true causes many incompat issues because we need things on disk to work
1057
+ // eg generally node uses .cjs extensions to "switch" back to cjs mode on import, but once bundled
1058
+ // this wont happen, breaking many things
1059
+ // but we need react related things always so they dont duplicate
1060
+ noExternal: _to_consumable_array(optimizeDeps.include).concat([
1061
+ "react",
1062
+ "react-dom",
1063
+ "react-dom/server",
1064
+ "react-dom/client"
1065
+ ]),
1069
1066
  optimizeDeps
1070
1067
  },
1071
1068
  server: {
@@ -1101,13 +1098,15 @@ function reactNativeHMRPlugin(param) {
1101
1098
  12,
1102
1099
  ,
1103
1100
  13
1104
- ]), isWithin(root, file) ? (_modules = _sliced_to_array(modules, 1), module = _modules[0], module ? (id = (module == null ? void 0 : module.url) || file.replace(root, ""), [
1101
+ ]), isWithin(root, file) ? connectedNativeClients ? (_modules = _sliced_to_array(modules, 1), module = _modules[0], module ? (id = (module == null ? void 0 : module.url) || file.replace(root, ""), [
1105
1102
  4,
1106
1103
  read()
1107
1104
  ]) : [
1108
1105
  2
1109
1106
  ]) : [
1110
1107
  2
1108
+ ] : [
1109
+ 2
1111
1110
  ];
1112
1111
  case 1:
1113
1112
  return code = _state.sent(), code.startsWith("'use strict';") ? [