vxrn 1.12.7 → 1.12.8

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.
@@ -6,12 +6,13 @@ async function getServerOptionsFilled(serverOptions, mode) {
6
6
  } = serverOptions || {},
7
7
  portToUse = requestedPort ?? (mode === "dev" ? 8081 : 3e3),
8
8
  protocol = "http:",
9
- port = await getPort({
10
- port: portToUse,
11
- portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
12
- host
13
- });
14
- if (requestedPort && port !== requestedPort) throw new Error(`Port ${requestedPort} is already in use. Either free the port or use a different one.`);
9
+ isClusterWorker = process.env.ONE_CLUSTER_WORKER === "1";
10
+ let port;
11
+ if (isClusterWorker) port = portToUse;else if (port = await getPort({
12
+ port: portToUse,
13
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
14
+ host
15
+ }), requestedPort && port !== requestedPort) throw new Error(`Port ${requestedPort} is already in use. Either free the port or use a different one.`);
15
16
  return {
16
17
  loadEnv: !1,
17
18
  compress: !0,
@@ -1 +1 @@
1
- {"version":3,"names":["getPort","getServerOptionsFilled","serverOptions","mode","host","port","requestedPort","portToUse","protocol","portRange","Error","loadEnv","compress","url"],"sources":["../../src/config/getServerOptionsFilled.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AAGxB,eAAsBC,uBACpBC,aAAA,EACAC,IAAA,EACiC;EACjC,MAAM;MACJC,IAAA,GAAO;MACPC,IAAA,EAAMC;IACR,IAAIJ,aAAA,IAAiB,CAAC;IAGhBK,SAAA,GAAYD,aAAA,KADEH,IAAA,KAAS,QAAQ,OAAO;IAEtCK,QAAA,GAAW;IAIXH,IAAA,GAAO,MAAML,OAAA,CAAQ;MACzBK,IAAA,EAAME,SAAA;MACNE,SAAA,EAAWH,aAAA,GAAgB,CAACC,SAAA,EAAWA,SAAS,IAAI,CAACA,SAAA,EAAWA,SAAA,GAAY,GAAG;MAC/EH;IACF,CAAC;EAGD,IAAIE,aAAA,IAAiBD,IAAA,KAASC,aAAA,EAC5B,MAAM,IAAII,KAAA,CACR,QAAQJ,aAAa,kEACvB;EAMF,OAAO;IACLK,OAAA,EAAS;IACTC,QAAA,EAAU;IACV,GAAGV,aAAA;IACHG,IAAA;IACAD,IAAA;IACAI,QAAA;IACAK,GAAA,EAAK,GAAGL,QAAQ,KATFJ,IAAA,KAAS,YAAY,cAAcA,IASrB,IAAIC,IAAI;EACtC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getPort","getServerOptionsFilled","serverOptions","mode","host","port","requestedPort","portToUse","protocol","isClusterWorker","process","env","ONE_CLUSTER_WORKER","portRange","Error","loadEnv","compress","url"],"sources":["../../src/config/getServerOptionsFilled.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AAGxB,eAAsBC,uBACpBC,aAAA,EACAC,IAAA,EACiC;EACjC,MAAM;MACJC,IAAA,GAAO;MACPC,IAAA,EAAMC;IACR,IAAIJ,aAAA,IAAiB,CAAC;IAGhBK,SAAA,GAAYD,aAAA,KADEH,IAAA,KAAS,QAAQ,OAAO;IAEtCK,QAAA,GAAW;IAIXC,eAAA,GAAkBC,OAAA,CAAQC,GAAA,CAAIC,kBAAA,KAAuB;EAE3D,IAAIP,IAAA;EACJ,IAAII,eAAA,EACFJ,IAAA,GAAOE,SAAA,UAIPF,IAAA,GAAO,MAAML,OAAA,CAAQ;IACnBK,IAAA,EAAME,SAAA;IACNM,SAAA,EAAWP,aAAA,GAAgB,CAACC,SAAA,EAAWA,SAAS,IAAI,CAACA,SAAA,EAAWA,SAAA,GAAY,GAAG;IAC/EH;EACF,CAAC,GAGGE,aAAA,IAAiBD,IAAA,KAASC,aAAA,EAC5B,MAAM,IAAIQ,KAAA,CACR,QAAQR,aAAa,kEACvB;EAOJ,OAAO;IACLS,OAAA,EAAS;IACTC,QAAA,EAAU;IACV,GAAGd,aAAA;IACHG,IAAA;IACAD,IAAA;IACAI,QAAA;IACAS,GAAA,EAAK,GAAGT,QAAQ,KATFJ,IAAA,KAAS,YAAY,cAAcA,IASrB,IAAIC,IAAI;EACtC;AACF","ignoreList":[]}
@@ -8,12 +8,13 @@ async function getServerOptionsFilled(serverOptions, mode) {
8
8
  defaultPort = mode === "dev" ? 8081 : 3e3,
9
9
  portToUse = requestedPort ?? defaultPort,
10
10
  protocol = "http:",
11
- port = await getPort({
12
- port: portToUse,
13
- portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
14
- host
15
- });
16
- if (requestedPort && port !== requestedPort) throw new Error(`Port ${requestedPort} is already in use. Either free the port or use a different one.`);
11
+ isClusterWorker = process.env.ONE_CLUSTER_WORKER === "1",
12
+ port;
13
+ if (isClusterWorker) port = portToUse;else if (port = await getPort({
14
+ port: portToUse,
15
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
16
+ host
17
+ }), requestedPort && port !== requestedPort) throw new Error(`Port ${requestedPort} is already in use. Either free the port or use a different one.`);
17
18
  var urlHost = host === "0.0.0.0" ? "localhost" : host;
18
19
  return {
19
20
  loadEnv: !1,
@@ -1 +1 @@
1
- {"version":3,"names":["getPort","getServerOptionsFilled","serverOptions","mode","host","port","requestedPort","defaultPort","portToUse","protocol","portRange","Error","urlHost","loadEnv","compress"],"sources":["../../src/config/getServerOptionsFilled.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AAGxB,eAAsBC,uBACpBC,aAAA,EACAC,IAAA,EACiC;EACjC;MACEC,IAAA,GAAO;MACP;MACFC,IAAI,EAAAC;IAQuB,IACzBJ,aAAM;IAAAK,WAAA,GAAAJ,IAAA;IAAAK,SAAA,GAAAF,aAAA,IAAAC,WAAA;IAAAE,QAAA;IAAAJ,IAAA,SAAAL,OAAA;MACNK,IAAA,EAAAG,SAAW;MACXE,SAAA,EAAAJ,aAAA,IACDE,SAAA,EAGGA,SAAA,CACF,IACEA,SAAQ,EACVA,SAAA,OAMF;MACEJ;IAAS,EACT;EAAU,IACVE,aAAG,IAAAD,IAAA,KAAAC,aAAA,EACH,UAAAK,KAAA,SAAAL,aAAA;EAAA,IACAM,OAAA,GAAAR,IAAA,+BAAAA,IAAA;EAAA,OACA;IACAS,OAAK,EAAG;IACVC,QAAA;IACF,GAAAZ,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["getPort","getServerOptionsFilled","serverOptions","mode","host","port","requestedPort","defaultPort","portToUse","protocol","isClusterWorker","process","env","ONE_CLUSTER_WORKER","portRange","Error","urlHost","loadEnv","compress"],"sources":["../../src/config/getServerOptionsFilled.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AAGxB,eAAsBC,uBACpBC,aAAA,EACAC,IAAA,EACiC;EACjC;MACEC,IAAA,GAAO;MACP;MACFC,IAAI,EAAAC;IAUJ,IAAIJ,aAAA;IAAAK,WAAA,GAAAJ,IAAA;IAAAK,SAAA,GAAAF,aAAA,IAAAC,WAAA;IAAAE,QAAA;IAAAC,eAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,kBAAA;IAAAR,IAAA;EACJ,IAAIK,eAAA,EACFL,IAAA,GAAOG,SAAA,UAIPH,IAAA,GAAO,MAAML,OAAA,CAAQ;IACnBK,IAAA,EAAMG,SAAA;IACNM,SAAA,EAAWR,aAAA,GAAgB,CAC3BE,SAAA,EAIEA,SAAA,CACF,IACEA,SAAQ,EACVA,SAAA,OAOJ;IACEJ;EAAS,EACT,EAAAE,aAAU,IAAAD,IAAA,KAAAC,aAAA,EACV,MAAG,IAAAS,KAAA,SAAAT,aAAA;EAAA,IACHU,OAAA,GAAAZ,IAAA,+BAAAA,IAAA;EAAA,OACA;IACAa,OAAA;IACAC,QAAQ;IACV,GAAAhB,aAAA;IACFG,IAAA","ignoreList":[]}
@@ -6,10 +6,11 @@ import colors from "picocolors";
6
6
  function getNetworkAddress() {
7
7
  for (const addresses of Object.values(networkInterfaces())) for (const addr of addresses || []) if (addr.family === "IPv4" && !addr.internal) return addr.address;
8
8
  }
9
- const canReusePort = !["win32", "darwin"].includes(platform()) && (() => {
10
- const [major, minor] = process.versions.node.split(".").map(Number);
11
- return major > 22 || major === 22 && minor >= 12 || major >= 23;
12
- })();
9
+ const isBun = typeof process.versions.bun < "u",
10
+ canReusePort = !["win32", "darwin"].includes(platform()) && (isBun || (() => {
11
+ const [major, minor] = process.versions.node.split(".").map(Number);
12
+ return major > 22 || major === 22 && minor >= 12 || major >= 23;
13
+ })());
13
14
  async function honoServeNode(app, options) {
14
15
  const port = options.port ?? 3e3,
15
16
  host = options.host ?? "0.0.0.0";
@@ -1 +1 @@
1
- {"version":3,"names":["createServer","networkInterfaces","platform","getRequestListener","serve","honoServe","colors","getNetworkAddress","addresses","Object","values","addr","family","internal","address","canReusePort","includes","major","minor","process","versions","node","split","map","Number","honoServeNode","app","options","port","host","server","listener","fetch","listen","reusePort","hostname","colorUrl","url","cyan","replace","_","port2","bold","localUrl","console","info","green","networkHost","networkUrl","shutdown","close","exit","on","Promise","res"],"sources":["../../src/serve/node.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createServer","networkInterfaces","platform","getRequestListener","serve","honoServe","colors","getNetworkAddress","addresses","Object","values","addr","family","internal","address","isBun","process","versions","bun","canReusePort","includes","major","minor","node","split","map","Number","honoServeNode","app","options","port","host","server","listener","fetch","listen","reusePort","hostname","colorUrl","url","cyan","replace","_","port2","bold","localUrl","console","info","green","networkHost","networkUrl","shutdown","close","exit","on","Promise","res"],"sources":["../../src/serve/node.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -38,10 +38,11 @@ function getNetworkAddress() {
38
38
  }
39
39
  }
40
40
  }
41
- var canReusePort = !["win32", "darwin"].includes(platform()) && function () {
42
- var [major, minor] = process.versions.node.split(".").map(Number);
43
- return major > 22 || major === 22 && minor >= 12 || major >= 23;
44
- }();
41
+ var isBun = typeof process.versions.bun < "u",
42
+ canReusePort = !["win32", "darwin"].includes(platform()) && (isBun || function () {
43
+ var [major, minor] = process.versions.node.split(".").map(Number);
44
+ return major > 22 || major === 22 && minor >= 12 || major >= 23;
45
+ }());
45
46
  async function honoServeNode(app, options) {
46
47
  var _options_port,
47
48
  _options_host,
@@ -1 +1 @@
1
- {"version":3,"names":["createServer","networkInterfaces","platform","getRequestListener","serve","honoServe","colors","getNetworkAddress","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","values","Symbol","iterator","_step","next","done","addresses","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","addr","family","internal","address","err","return","canReusePort","includes","major","minor","process","versions","node","split","map","Number","honoServeNode","app","options","_options_port","_options_host","port","host","server","listener","fetch"],"sources":["../../src/serve/node.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAiC;AAC1C,SAASC,iBAAA,EAAmBC,QAAA,QAAgB;AAC5C,SAASC,kBAAA,QAA0B;AACnC,SAASC,KAAA,IAASC,SAAA,QAAiB;AAGnC,OAAOC,MAAA,MAAY;AAGnB,SAASC,kBAAA,EAAwC;EAC/C,IAAAC,yBAAwB,GAAO;IAAAC,iBAAO,GAAkB,CAAC;IAAAC,cAAA;EACvD;IACE,SAAIC,SAAK,GAAAC,MAAW,CAAAC,MAAW,CAAAZ,iBAAK,IAAAa,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MAClC,IAAAW,SAAO,GAAKH,KAAA,CAAAI,KAAA;QAAAC,0BAAA;QAAAC,kBAAA;QAAAC,eAAA;MAIpB;QAGM,SAAAC,UACF,IAAAL,SAAiB,IAAE,IAAAL,MAAS,CAAAC,QAAU,KACvCU,MAAM,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAP,IAAA,IAAAC,IAAA,GAAAG,0BAAA;UACE,IAAAK,IAAO,GAAKD,MAAI,CAAAL,KAAQ;UACxB,IAAAM,IAAQ,CAAAC,MAAO,WAAU,IAAM,CAAAD,IAAA,CAAAE,QAAgB,EACrD,OAAAF,IAAA,CAAAG,OAAA;QAIL;MACE,EAAM,OAAOC,GAAA;QAGTR,kBAAA,OAAAC,eAAA,GAAAO,GAAA;MAEA;QAGF,IAAM;UACN,CAAAT,0BACA,IAAAG,UAAc,CAAAO,MAAE,IAAM,IAAM,IAAAP,UAAiB,CAAAO,MAAA;QAC/C;UACE,IAAST,kBAAU,EACjB,MAAWC,eAAA;QACX;MACA;IACF;EAGF,SAAMO,GAAA;IASNrB,iBAHa,GACb,IAAAC,cAAkB,GAAAoB,GAAO;EAGvB,UAAM;IACN,IAAI;MACF,CAAAtB,yBAAmB,IAAUG,SAAA,CAAWoB,MAAI,IAAI,QAAApB,SAAA,CAAAoB,MAAA;IAChD,UAAQ;MAAA,IACNtB,iBAAkB,EACpB,MAAAC,cAAA;IACF;EACF;AACA;AAEA,IAAAsB,YAAM,GAAW,EACf,SACE,SAAc,CAAAC,QACf,CAAA/B,QAAA;EACH,KAAAgC,KAAA,EAAAC,KAAA,IAAAC,OAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAC,KAAA,MAAAC,GAAA,CAAAC,MAAA;EAEA,OAAAP,KAAW,SAAUA,KAAA,KAAQ,EAC7B,IAAAC,KAAQ,IAAG,MAAAD,KAAW,MAAQ;AAG5B;AACE,eAAIQ,cAAAC,GAAA,EAAAC,OAAA;EAAA,IACLC,aAAA;IAAAC,aAAA;IAAAC,IAAA,IAAAF,aAAA,GAAAD,OAAA,CAAAG,IAAA,cAAAF,aAAA,cAAAA,aAAA;IAAAG,IAAA,IAAAF,aAAA,GAAAF,OAAA,CAAAI,IAAA,cAAAF,aAAA,cAAAA,aAAA;IAAAG,MAAA;EACH,IAACjB,YAAA;IACH,IAAAkB,QAAA,GAAA/C,kBAAA,CAAAwC,GAAA,CAAAQ,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["createServer","networkInterfaces","platform","getRequestListener","serve","honoServe","colors","getNetworkAddress","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","values","Symbol","iterator","_step","next","done","addresses","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","addr","family","internal","address","err","return","isBun","process","versions","bun","canReusePort","includes","major","minor","node","split","map","Number","honoServeNode","app","options","_options_port","_options_host","port","host","server","listener","fetch"],"sources":["../../src/serve/node.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAiC;AAC1C,SAASC,iBAAA,EAAmBC,QAAA,QAAgB;AAC5C,SAASC,kBAAA,QAA0B;AACnC,SAASC,KAAA,IAASC,SAAA,QAAiB;AAGnC,OAAOC,MAAA,MAAY;AAGnB,SAASC,kBAAA,EAAwC;EAC/C,IAAAC,yBAAwB,GAAO;IAAAC,iBAAO,GAAkB,CAAC;IAAAC,cAAA;EACvD;IACE,SAAIC,SAAK,GAAAC,MAAW,CAAAC,MAAW,CAAAZ,iBAAK,IAAAa,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MAClC,IAAAW,SAAO,GAAKH,KAAA,CAAAI,KAAA;QAAAC,0BAAA;QAAAC,kBAAA;QAAAC,eAAA;MAIpB;QAEM,SAAQC,UAAO,GAAQ,CAAAL,SAAS,IAAQ,IAAAL,MAIxC,CAAAC,QAAA,CACJ,CAAC,CAAC,EAAAU,MAAA,EAAS,EAAAJ,0BAA6B,IAAAI,MACvC,GAAAD,UACQ,CAAAP,IAAA,IAAAC,IAAA,GAAAG,0BAAA;UACE,IAAAK,IAAO,GAAKD,MAAI,CAAAL,KAAQ;UACxB,IAAAM,IAAQ,CAAAC,MAAO,WAAU,IAAM,CAAAD,IAAA,CAAAE,QAAgB,EACrD,OAAAF,IAAA,CAAAG,OAAA;QAIP;MACE,EAAM,OAAOC,GAAA;QAGTR,kBAAA,OAAAC,eAAA,GAAAO,GAAA;MAEA;QAGF,IAAM;UACN,CAAAT,0BACA,IAAAG,UAAc,CAAAO,MAAE,IAAM,IAAM,IAAAP,UAAiB,CAAAO,MAAA;QAC/C;UACE,IAAST,kBAAU,EACjB,MAAWC,eAAA;QACX;MACA;IACF;EAGF,SAAMO,GAAA;IASNrB,iBAHa,GACb,IAAAC,cAAkB,GAAAoB,GAAO;EAGvB,UAAM;IACN,IAAI;MACF,CAAAtB,yBAAmB,IAAUG,SAAA,CAAWoB,MAAI,IAAI,QAAApB,SAAA,CAAAoB,MAAA;IAChD,UAAQ;MAAA,IACNtB,iBAAkB,EACpB,MAAAC,cAAA;IACF;EACF;AACA;AAEA,IAAAsB,KAAM,UAAWC,OAAM,CAAAC,QAAA,CAAAC,GAAA;EAAAC,YAAA,KACrB,SACE,SAAc,CAAAC,QACf,CAAAnC,QAAA,QAAA8B,KAAA;IACH,KAAAM,KAAA,EAAAC,KAAA,IAAAN,OAAA,CAAAC,QAAA,CAAAM,IAAA,CAAAC,KAAA,MAAAC,GAAA,CAAAC,MAAA;IAEA,OAAAL,KAAW,SAAUA,KAAA,KAAQ,EAC7B,IAAAC,KAAQ,IAAG,MAAAD,KAAW,MAAQ;EAG5B;AACE,eAAIM,cAAAC,GAAA,EAAAC,OAAA;EAAA,IACLC,aAAA;IAAAC,aAAA;IAAAC,IAAA,IAAAF,aAAA,GAAAD,OAAA,CAAAG,IAAA,cAAAF,aAAA,cAAAA,aAAA;IAAAG,IAAA,IAAAF,aAAA,GAAAF,OAAA,CAAAI,IAAA,cAAAF,aAAA,cAAAA,aAAA;IAAAG,MAAA;EACH,IAACf,YAAA;IACH,IAAAgB,QAAA,GAAAjD,kBAAA,CAAA0C,GAAA,CAAAQ,KAAA","ignoreList":[]}
package/expo-plugin.cjs CHANGED
@@ -225,13 +225,21 @@ function addDepsPatchToAppBuildGradle(input) {
225
225
  `
226
226
  /**
227
227
  * [vxrn/one] ensure patches are applied
228
+ * uses ExecOperations injection (Gradle 9 compatible)
228
229
  */
230
+ interface InjectedExecOps {
231
+ @Inject
232
+ ExecOperations getExecOps()
233
+ }
234
+
235
+ def injected = objects.newInstance(InjectedExecOps)
236
+
229
237
  gradle.taskGraph.whenReady { taskGraph ->
230
238
  tasks.named("createBundleReleaseJsAndAssets").configure {
231
239
  doFirst {
232
240
  def vxrnCli = new File(["node", "--print", "require.resolve('vxrn/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/run.mjs"
233
- exec {
234
- commandLine vxrnCli, "patch"
241
+ injected.execOps.exec {
242
+ commandLine "node", vxrnCli, "patch"
235
243
  }
236
244
  }
237
245
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxrn",
3
- "version": "1.12.7",
3
+ "version": "1.12.8",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -66,17 +66,17 @@
66
66
  "@hono/node-server": "^1.19.10",
67
67
  "@react-native/dev-middleware": "^0.83.4",
68
68
  "@rollup/plugin-node-resolve": "^15.3.1",
69
- "@vxrn/compiler": "1.12.7",
70
- "@vxrn/debug": "1.12.7",
71
- "@vxrn/query-string": "1.12.7",
72
- "@vxrn/react-native-prebuilt": "1.12.7",
73
- "@vxrn/resolve": "1.12.7",
74
- "@vxrn/safe-area": "1.12.7",
75
- "@vxrn/url-parse": "1.12.7",
76
- "@vxrn/utils": "1.12.7",
77
- "@vxrn/vendor": "1.12.7",
78
- "@vxrn/vite-flow": "1.12.7",
79
- "@vxrn/vite-plugin-metro": "1.12.7",
69
+ "@vxrn/compiler": "1.12.8",
70
+ "@vxrn/debug": "1.12.8",
71
+ "@vxrn/query-string": "1.12.8",
72
+ "@vxrn/react-native-prebuilt": "1.12.8",
73
+ "@vxrn/resolve": "1.12.8",
74
+ "@vxrn/safe-area": "1.12.8",
75
+ "@vxrn/url-parse": "1.12.8",
76
+ "@vxrn/utils": "1.12.8",
77
+ "@vxrn/vendor": "1.12.8",
78
+ "@vxrn/vite-flow": "1.12.8",
79
+ "@vxrn/vite-plugin-metro": "1.12.8",
80
80
  "citty": "^0.1.6",
81
81
  "dotenv": "^17.2.1",
82
82
  "dotenv-expand": "^12.0.2",
@@ -98,7 +98,7 @@
98
98
  "devDependencies": {
99
99
  "@biomejs/biome": "2.3.3",
100
100
  "@react-native-community/cli": "^20.1.2",
101
- "@tamagui/build": "2.0.0-rc.30",
101
+ "@tamagui/build": "2.0.0-rc.31",
102
102
  "@types/find-node-modules": "^2.1.2",
103
103
  "@types/node": "^24.10.0",
104
104
  "@types/qrcode-terminal": "^0",
@@ -14,19 +14,28 @@ export async function getServerOptionsFilled(
14
14
  const portToUse = requestedPort ?? defaultPort
15
15
  const protocol = 'http:' as const
16
16
 
17
- // if a specific port was requested, only try that port (strict mode)
18
- // otherwise, allow finding an available port in a range
19
- const port = await getPort({
20
- port: portToUse,
21
- portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
22
- host,
23
- })
17
+ // in cluster worker mode with SO_REUSEPORT, skip the port check
18
+ // multiple processes intentionally bind the same port
19
+ const isClusterWorker = process.env.ONE_CLUSTER_WORKER === '1'
20
+
21
+ let port: number
22
+ if (isClusterWorker) {
23
+ port = portToUse
24
+ } else {
25
+ // if a specific port was requested, only try that port (strict mode)
26
+ // otherwise, allow finding an available port in a range
27
+ port = await getPort({
28
+ port: portToUse,
29
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
30
+ host,
31
+ })
24
32
 
25
- // if user explicitly requested a port and we couldn't get it, error out
26
- if (requestedPort && port !== requestedPort) {
27
- throw new Error(
28
- `Port ${requestedPort} is already in use. Either free the port or use a different one.`
29
- )
33
+ // if user explicitly requested a port and we couldn't get it, error out
34
+ if (requestedPort && port !== requestedPort) {
35
+ throw new Error(
36
+ `Port ${requestedPort} is already in use. Either free the port or use a different one.`
37
+ )
38
+ }
30
39
  }
31
40
 
32
41
  // Use localhost for the URL when host is 0.0.0.0 since that's how clients will access it
package/src/serve/node.ts CHANGED
@@ -17,13 +17,17 @@ function getNetworkAddress(): string | undefined {
17
17
  }
18
18
  }
19
19
 
20
- // linux 3.9+ with node 22.12+ supports SO_REUSEPORT
20
+ const isBun = typeof process.versions.bun !== 'undefined'
21
+
22
+ // linux 3.9+ supports SO_REUSEPORT
23
+ // node 22.12+ exposes reusePort in listen(), bun supports it natively
21
24
  const canReusePort =
22
25
  !['win32', 'darwin'].includes(platform()) &&
23
- (() => {
24
- const [major, minor] = process.versions.node.split('.').map(Number)
25
- return major > 22 || (major === 22 && minor >= 12) || major >= 23
26
- })()
26
+ (isBun ||
27
+ (() => {
28
+ const [major, minor] = process.versions.node.split('.').map(Number)
29
+ return major > 22 || (major === 22 && minor >= 12) || major >= 23
30
+ })())
27
31
 
28
32
  export { canReusePort }
29
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"getServerOptionsFilled.d.ts","sourceRoot":"","sources":["../../src/config/getServerOptionsFilled.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEzE,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,EACpC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,sBAAsB,CAAC,CAqCjC"}
1
+ {"version":3,"file":"getServerOptionsFilled.d.ts","sourceRoot":"","sources":["../../src/config/getServerOptionsFilled.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEzE,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,EACpC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,sBAAsB,CAAC,CA8CjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/serve/node.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAahD,QAAA,MAAM,YAAY,SAKZ,CAAA;AAEN,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,wBAAsB,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,iBAsDvE"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/serve/node.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAgBhD,QAAA,MAAM,YAAY,SAMT,CAAA;AAET,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,wBAAsB,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,iBAsDvE"}