vxrn 1.2.65 → 1.2.67

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.
@@ -2,12 +2,16 @@ import { getPort } from "get-port-please";
2
2
  async function getServerOptionsFilled(serverOptions, mode) {
3
3
  const {
4
4
  host = "0.0.0.0",
5
- port: defaultPort = mode === "dev" ? 8081 : 3e3
6
- } = serverOptions || {}, protocol = "http:", port = await getPort({
7
- port: defaultPort,
8
- portRange: [defaultPort, defaultPort + 100],
5
+ port: requestedPort
6
+ } = serverOptions || {}, portToUse = requestedPort ?? (mode === "dev" ? 8081 : 3e3), protocol = "http:", port = await getPort({
7
+ port: portToUse,
8
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
9
9
  host
10
10
  });
11
+ if (requestedPort && port !== requestedPort)
12
+ throw new Error(
13
+ `Port ${requestedPort} is already in use. Either free the port or use a different one.`
14
+ );
11
15
  return {
12
16
  loadEnv: !1,
13
17
  compress: !0,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/config/getServerOptionsFilled.ts"],
4
- "mappings": "AAAA,SAAS,eAAe;AAGxB,eAAsB,uBACpB,eACA,MACiC;AACjC,QAAM;AAAA,IACJ,OAAO;AAAA,IACP,MAAM,cAAc,SAAS,QAAQ,OAAO;AAAA,EAC9C,IAAI,iBAAiB,CAAC,GAEhB,WAAW,SAEX,OAAO,MAAM,QAAQ;AAAA,IACzB,MAAM;AAAA,IACN,WAAW,CAAC,aAAa,cAAc,GAAG;AAAA,IAC1C;AAAA,EACF,CAAC;AAKD,SAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,GAAG,QAAQ,KATF,SAAS,YAAY,cAAc,IASrB,IAAI,IAAI;AAAA,EACtC;AACF;",
4
+ "mappings": "AAAA,SAAS,eAAe;AAGxB,eAAsB,uBACpB,eACA,MACiC;AACjC,QAAM;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,EACR,IAAI,iBAAiB,CAAC,GAGhB,YAAY,kBADE,SAAS,QAAQ,OAAO,MAEtC,WAAW,SAIX,OAAO,MAAM,QAAQ;AAAA,IACzB,MAAM;AAAA,IACN,WAAW,gBAAgB,CAAC,WAAW,SAAS,IAAI,CAAC,WAAW,YAAY,GAAG;AAAA,IAC/E;AAAA,EACF,CAAC;AAGD,MAAI,iBAAiB,SAAS;AAC5B,UAAM,IAAI;AAAA,MACR,QAAQ,aAAa;AAAA,IACvB;AAMF,SAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,GAAG,QAAQ,KATF,SAAS,YAAY,cAAc,IASrB,IAAI,IAAI;AAAA,EACtC;AACF;",
5
5
  "names": []
6
6
  }
@@ -2,14 +2,16 @@ import { getPort } from "get-port-please";
2
2
  async function getServerOptionsFilled(serverOptions, mode) {
3
3
  const {
4
4
  host = "0.0.0.0",
5
- port: defaultPort = mode === "dev" ? 8081 : 3e3
5
+ port: requestedPort
6
6
  } = serverOptions || {},
7
+ portToUse = requestedPort ?? (mode === "dev" ? 8081 : 3e3),
7
8
  protocol = "http:",
8
9
  port = await getPort({
9
- port: defaultPort,
10
- portRange: [defaultPort, defaultPort + 100],
10
+ port: portToUse,
11
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
11
12
  host
12
13
  });
14
+ if (requestedPort && port !== requestedPort) throw new Error(`Port ${requestedPort} is already in use. Either free the port or use a different one.`);
13
15
  return {
14
16
  loadEnv: !1,
15
17
  compress: !0,
@@ -1 +1 @@
1
- {"version":3,"names":["getPort","getServerOptionsFilled","serverOptions","mode","host","port","defaultPort","protocol","portRange","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,WAAA,GAAcH,IAAA,KAAS,QAAQ,OAAO;IAC9C,IAAID,aAAA,IAAiB,CAAC;IAEhBK,QAAA,GAAW;IAEXF,IAAA,GAAO,MAAML,OAAA,CAAQ;MACzBK,IAAA,EAAMC,WAAA;MACNE,SAAA,EAAW,CAACF,WAAA,EAAaA,WAAA,GAAc,GAAG;MAC1CF;IACF,CAAC;EAKD,OAAO;IACLK,OAAA,EAAS;IACTC,QAAA,EAAU;IACV,GAAGR,aAAA;IACHG,IAAA;IACAD,IAAA;IACAG,QAAA;IACAI,GAAA,EAAK,GAAGJ,QAAQ,KATFH,IAAA,KAAS,YAAY,cAAcA,IASrB,IAAIC,IAAI;EACtC;AACF","ignoreList":[]}
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":[]}
@@ -3,15 +3,18 @@ async function getServerOptionsFilled(serverOptions, mode) {
3
3
  var {
4
4
  host = "0.0.0.0",
5
5
  /* TODO: Better default to 127.0.0.1 due to security reasons, and only dynamically change to 0.0.0.0 if the user is requesting an Expo QR code */
6
- port: defaultPort = mode === "dev" ? 8081 : 3e3
6
+ port: requestedPort
7
7
  } = serverOptions || {},
8
+ defaultPort = mode === "dev" ? 8081 : 3e3,
9
+ portToUse = requestedPort ?? defaultPort,
8
10
  protocol = "http:",
9
11
  port = await getPort({
10
- port: defaultPort,
11
- portRange: [defaultPort, defaultPort + 100],
12
+ port: portToUse,
13
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
12
14
  host
13
- }),
14
- urlHost = host === "0.0.0.0" ? "localhost" : 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.`);
17
+ var urlHost = host === "0.0.0.0" ? "localhost" : host;
15
18
  return {
16
19
  loadEnv: !1,
17
20
  compress: !0,
@@ -1 +1 @@
1
- {"version":3,"names":["getPort","getServerOptionsFilled","serverOptions","mode","host","port","defaultPort","protocol","portRange","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,WAAA,GAAkBH,IAEhB,UAAW,UAEX;IAAqB,IACzBD,aAAM;IAAAK,QAAA;IAAAF,IAAA,SAAAL,OAAA;MACNK,IAAA,EAAAC,WAAY;MACZE,SAAA,GACDF,WAAA,EAKDA,WAAO,OACL;MACAF;IAAU,EACV;IAAAK,OAAG,GAAAL,IAAA,+BAAAA,IAAA;EAAA,OACH;IACAM,OAAA;IACAC,QAAA;IACA,GAAAT,aAAgB;IAClBG,IAAA;IACFD,IAAA","ignoreList":[]}
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxrn",
3
- "version": "1.2.65",
3
+ "version": "1.2.67",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -65,17 +65,17 @@
65
65
  "@hono/node-server": "^1.19.6",
66
66
  "@react-native/dev-middleware": "^0.83.0",
67
67
  "@rollup/plugin-node-resolve": "^15.3.1",
68
- "@vxrn/compiler": "1.2.65",
69
- "@vxrn/debug": "1.2.65",
70
- "@vxrn/query-string": "1.2.65",
71
- "@vxrn/react-native-prebuilt": "1.2.65",
72
- "@vxrn/resolve": "1.2.65",
73
- "@vxrn/safe-area": "1.2.65",
74
- "@vxrn/url-parse": "1.2.65",
75
- "@vxrn/utils": "1.2.65",
76
- "@vxrn/vendor": "1.2.65",
77
- "@vxrn/vite-flow": "1.2.65",
78
- "@vxrn/vite-plugin-metro": "1.2.65",
68
+ "@vxrn/compiler": "1.2.67",
69
+ "@vxrn/debug": "1.2.67",
70
+ "@vxrn/query-string": "1.2.67",
71
+ "@vxrn/react-native-prebuilt": "1.2.67",
72
+ "@vxrn/resolve": "1.2.67",
73
+ "@vxrn/safe-area": "1.2.67",
74
+ "@vxrn/url-parse": "1.2.67",
75
+ "@vxrn/utils": "1.2.67",
76
+ "@vxrn/vendor": "1.2.67",
77
+ "@vxrn/vite-flow": "1.2.67",
78
+ "@vxrn/vite-plugin-metro": "1.2.67",
79
79
  "citty": "^0.1.6",
80
80
  "dotenv": "^17.2.1",
81
81
  "dotenv-expand": "^12.0.2",
@@ -7,17 +7,28 @@ export async function getServerOptionsFilled(
7
7
  ): Promise<VXRNServeOptionsFilled> {
8
8
  const {
9
9
  host = '0.0.0.0' /* TODO: Better default to 127.0.0.1 due to security reasons, and only dynamically change to 0.0.0.0 if the user is requesting an Expo QR code */,
10
- port: defaultPort = mode === 'dev' ? 8081 : 3000,
10
+ port: requestedPort,
11
11
  } = serverOptions || {}
12
12
 
13
+ const defaultPort = mode === 'dev' ? 8081 : 3000
14
+ const portToUse = requestedPort ?? defaultPort
13
15
  const protocol = 'http:' as const
14
16
 
17
+ // if a specific port was requested, only try that port (strict mode)
18
+ // otherwise, allow finding an available port in a range
15
19
  const port = await getPort({
16
- port: defaultPort,
17
- portRange: [defaultPort, defaultPort + 100],
20
+ port: portToUse,
21
+ portRange: requestedPort ? [portToUse, portToUse] : [portToUse, portToUse + 100],
18
22
  host,
19
23
  })
20
24
 
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
+ )
30
+ }
31
+
21
32
  // Use localhost for the URL when host is 0.0.0.0 since that's how clients will access it
22
33
  const urlHost = host === '0.0.0.0' ? 'localhost' : host
23
34
 
@@ -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,CA0BjC"}
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"}