vxrn 1.1.502 → 1.1.505

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.
@@ -1,5 +1,6 @@
1
- import FSExtra from "fs-extra";
2
1
  import path from "node:path";
2
+ import FSExtra from "fs-extra";
3
+ import { bundle as metroBundle } from "@vxrn/vite-plugin-metro/rn-commands";
3
4
  import { loadEnv } from "../../exports/loadEnv";
4
5
  import { fillOptions } from "../../config/getOptionsFilled";
5
6
  import { getReactNativeBundle } from "../../utils/getReactNativeBundle";
@@ -21,6 +22,13 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
21
22
  } = args, { root } = ctx;
22
23
  if (typeof root != "string")
23
24
  throw new Error(`Expected ctx.root to be a string, but got ${typeof root}`);
25
+ const metroBuildBundleFn = await metroBundle.getBuildBundleFn();
26
+ if (metroBuildBundleFn) {
27
+ console.info("Using @vxrn/vite-plugin-metro to build the bundle."), await metroBuildBundleFn(_argv, ctx, args, bundleImpl), setTimeout(() => {
28
+ console.info("Exiting process to prevent hanging."), process.exit();
29
+ }, 3e3);
30
+ return;
31
+ }
24
32
  process.env.IS_VXRN_CLI = "true", loadEnv(dev ? "development" : "production", root), dev || (process.env.NODE_ENV = "production");
25
33
  let nativeEntry;
26
34
  const appDir = path.join(root, "app");
@@ -42,7 +50,7 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
42
50
  '.getEnforcing("DevSettings")',
43
51
  ".patched_getEnforcing_DevSettings_will_not_work_in_production"
44
52
  )), console.info(`Writing bundle to ${bundleOutput}...`), FSExtra.writeFileSync(bundleOutput, builtBundle, { encoding: "utf8" }), console.info("Done."), setTimeout(() => {
45
- process.exit();
53
+ console.info("Exiting process to prevent hanging."), process.exit();
46
54
  }, 1e3);
47
55
  }
48
56
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/rn-commands/bundle/buildBundle.ts"],
4
- "mappings": "AAAA,OAAO,aAAa;AACpB,OAAO,UAAU;AACjB,SAAS,eAAe;AACxB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AAyBrC,eAAsB,YACpB,OACA,KACA,MACA,aAAkB,MACH;AACf,QAAM;AAAA,IACJ;AAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,IACA;AAAA;AAAA;AAAA,EAEF,IAAI,MAEE,EAAE,KAAK,IAAI;AACjB,MAAI,OAAO,QAAS;AAClB,UAAM,IAAI,MAAM,6CAA6C,OAAO,IAAI,EAAE;AAG5E,UAAQ,IAAI,cAAc,QAC1B,QAAQ,MAAM,gBAAgB,cAAc,IAAI,GAE3C,QAGH,QAAQ,IAAI,WAAW;AAGzB,MAAI;AAIJ,QAAM,SAAS,KAAK,KAAK,MAAM,KAAK;AACpC,EAAI,QAAQ,WAAW,MAAM,KAAK,QAAQ,SAAS,MAAM,EAAE,YAAY,MACrE,QAAQ,KAAK,gDAAgD,GAE7D,cAAc;AAGhB,QAAM,YAAY;AAAA,IAChB;AAAA,IACA,MAAM;AAAA;AAAA,IACN,SAAS;AAAA,MACP,GAAI,cAAc,EAAE,QAAQ,YAAY,IAAI,CAAC;AAAA,IAC/C;AAAA,EACF,GAEM,UAAU,MAAM,YAAY,WAAW,EAAE,MAAM,MAAM,QAAQ,OAAO,CAAC;AAC3E,MAAI,cAAc,MAAM,qBAAqB,SAAS,UAAU;AAAA,IAC9D,MAAM,MAAM,QAAQ;AAAA,IACpB;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AAGD,gBAAc,YAAY,QAAQ,gCAAgC,OAAO,GAEpE,QAEH,cAAc,YAAY;AAAA,IACxB;AAAA,IACA;AAAA,EACF,IAGF,QAAQ,KAAK,qBAAqB,YAAY,KAAK,GACnD,QAAQ,cAAc,cAAc,aAAa,EAAE,UAAU,OAAO,CAAC,GACrE,QAAQ,KAAK,OAAO,GAIpB,WAAW,MAAM;AACf,YAAQ,KAAK;AAAA,EACf,GAAG,GAAI;AACT;",
4
+ "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,aAAa;AACpB,SAAS,UAAU,mBAAmB;AACtC,SAAS,eAAe;AACxB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AAyBrC,eAAsB,YACpB,OACA,KACA,MACA,aAAkB,MACH;AACf,QAAM;AAAA,IACJ;AAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,IACA;AAAA;AAAA;AAAA,EAEF,IAAI,MAEE,EAAE,KAAK,IAAI;AACjB,MAAI,OAAO,QAAS;AAClB,UAAM,IAAI,MAAM,6CAA6C,OAAO,IAAI,EAAE;AAG5E,QAAM,qBAAqB,MAAM,YAAY,iBAAiB;AAE9D,MAAI,oBAAoB;AACtB,YAAQ,KAAK,oDAAoD,GACjE,MAAM,mBAAmB,OAAO,KAAK,MAAM,UAAU,GAIrD,WAAW,MAAM;AACf,cAAQ,KAAK,qCAAqC,GAClD,QAAQ,KAAK;AAAA,IACf,GAAG,GAAI;AAEP;AAAA,EACF;AAEA,UAAQ,IAAI,cAAc,QAC1B,QAAQ,MAAM,gBAAgB,cAAc,IAAI,GAE3C,QAGH,QAAQ,IAAI,WAAW;AAGzB,MAAI;AAIJ,QAAM,SAAS,KAAK,KAAK,MAAM,KAAK;AACpC,EAAI,QAAQ,WAAW,MAAM,KAAK,QAAQ,SAAS,MAAM,EAAE,YAAY,MACrE,QAAQ,KAAK,gDAAgD,GAE7D,cAAc;AAGhB,QAAM,YAAY;AAAA,IAChB;AAAA,IACA,MAAM;AAAA;AAAA,IACN,SAAS;AAAA,MACP,GAAI,cAAc,EAAE,QAAQ,YAAY,IAAI,CAAC;AAAA,IAC/C;AAAA,EACF,GAEM,UAAU,MAAM,YAAY,WAAW,EAAE,MAAM,MAAM,QAAQ,OAAO,CAAC;AAC3E,MAAI,cAAc,MAAM,qBAAqB,SAAS,UAAU;AAAA,IAC9D,MAAM,MAAM,QAAQ;AAAA,IACpB;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AAGD,gBAAc,YAAY,QAAQ,gCAAgC,OAAO,GAEpE,QAEH,cAAc,YAAY;AAAA,IACxB;AAAA,IACA;AAAA,EACF,IAGF,QAAQ,KAAK,qBAAqB,YAAY,KAAK,GACnD,QAAQ,cAAc,cAAc,aAAa,EAAE,UAAU,OAAO,CAAC,GACrE,QAAQ,KAAK,OAAO,GAIpB,WAAW,MAAM;AACf,YAAQ,KAAK,qCAAqC,GAClD,QAAQ,KAAK;AAAA,EACf,GAAG,GAAI;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,6 @@
1
- import FSExtra from "fs-extra";
2
1
  import path from "node:path";
2
+ import FSExtra from "fs-extra";
3
+ import { bundle as metroBundle } from "@vxrn/vite-plugin-metro/rn-commands";
3
4
  import { loadEnv } from "../../exports/loadEnv.mjs";
4
5
  import { fillOptions } from "../../config/getOptionsFilled.mjs";
5
6
  import { getReactNativeBundle } from "../../utils/getReactNativeBundle.mjs";
@@ -23,6 +24,13 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
23
24
  root
24
25
  } = ctx;
25
26
  if (typeof root != "string") throw new Error(`Expected ctx.root to be a string, but got ${typeof root}`);
27
+ const metroBuildBundleFn = await metroBundle.getBuildBundleFn();
28
+ if (metroBuildBundleFn) {
29
+ console.info("Using @vxrn/vite-plugin-metro to build the bundle."), await metroBuildBundleFn(_argv, ctx, args, bundleImpl), setTimeout(() => {
30
+ console.info("Exiting process to prevent hanging."), process.exit();
31
+ }, 3e3);
32
+ return;
33
+ }
26
34
  process.env.IS_VXRN_CLI = "true", loadEnv(dev ? "development" : "production", root), dev || (process.env.NODE_ENV = "production");
27
35
  let nativeEntry;
28
36
  const appDir = path.join(root, "app");
@@ -48,7 +56,7 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
48
56
  builtBundle = builtBundle.replace(/process\.env\.VXRN_REACT_19/g, "false"), dev || (builtBundle = builtBundle.replace('.getEnforcing("DevSettings")', ".patched_getEnforcing_DevSettings_will_not_work_in_production")), console.info(`Writing bundle to ${bundleOutput}...`), FSExtra.writeFileSync(bundleOutput, builtBundle, {
49
57
  encoding: "utf8"
50
58
  }), console.info("Done."), setTimeout(() => {
51
- process.exit();
59
+ console.info("Exiting process to prevent hanging."), process.exit();
52
60
  }, 1e3);
53
61
  }
54
62
  export { buildBundle };
@@ -1 +1 @@
1
- {"version":3,"names":["FSExtra","path","loadEnv","fillOptions","getReactNativeBundle","buildBundle","_argv","ctx","args","bundleImpl","platform","dev","bundleOutput","assetsDest","root","Error","process","env","IS_VXRN_CLI","NODE_ENV","nativeEntry","appDir","join","existsSync","statSync","isDirectory","console","info","optionsIn","host","entries","native","options","mode","builtBundle","useCache","replace","writeFileSync","encoding","setTimeout","exit"],"sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,OAAOC,IAAA,MAAU;AACjB,SAASC,OAAA,QAAe;AACxB,SAASC,WAAA,QAAmB;AAC5B,SAASC,oBAAA,QAA4B;AAyBrC,eAAsBC,YACpBC,KAAA,EACAC,GAAA,EACAC,IAAA,EACAC,UAAA,GAAkB,MACH;EACf,MAAM;MACJC,QAAA;MAAA;MACAC,GAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAOAC,YAAA;MACAC;MAAA;MAAA;IAEF,IAAIL,IAAA;IAEE;MAAEM;IAAK,IAAIP,GAAA;EACjB,IAAI,OAAOO,IAAA,IAAS,UAClB,MAAM,IAAIC,KAAA,CAAM,6CAA6C,OAAOD,IAAI,EAAE;EAG5EE,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc,QAC1BhB,OAAA,CAAQS,GAAA,GAAM,gBAAgB,cAAcG,IAAI,GAE3CH,GAAA,KAGHK,OAAA,CAAQC,GAAA,CAAIE,QAAA,GAAW;EAGzB,IAAIC,WAAA;EAIJ,MAAMC,MAAA,GAASpB,IAAA,CAAKqB,IAAA,CAAKR,IAAA,EAAM,KAAK;EAChCd,OAAA,CAAQuB,UAAA,CAAWF,MAAM,KAAKrB,OAAA,CAAQwB,QAAA,CAASH,MAAM,EAAEI,WAAA,CAAY,MACrEC,OAAA,CAAQC,IAAA,CAAK,gDAAgD,GAE7DP,WAAA,GAAc;EAGhB,MAAMQ,SAAA,GAAY;MAChBd,IAAA;MACAe,IAAA,EAAM;MAAA;MACNC,OAAA,EAAS;QACP,IAAIV,WAAA,GAAc;UAAEW,MAAA,EAAQX;QAAY,IAAI,CAAC;MAC/C;IACF;IAEMY,OAAA,GAAU,MAAM7B,WAAA,CAAYyB,SAAA,EAAW;MAAEK,IAAA,EAAMtB,GAAA,GAAM,QAAQ;IAAO,CAAC;EAC3E,IAAIuB,WAAA,GAAc,MAAM9B,oBAAA,CAAqB4B,OAAA,EAAStB,QAAA,EAAU;IAC9DuB,IAAA,EAAMtB,GAAA,GAAM,QAAQ;IACpBE,UAAA;IACAsB,QAAA,EAAU;EACZ,CAAC;EAGDD,WAAA,GAAcA,WAAA,CAAYE,OAAA,CAAQ,gCAAgC,OAAO,GAEpEzB,GAAA,KAEHuB,WAAA,GAAcA,WAAA,CAAYE,OAAA,CACxB,gCACA,+DACF,IAGFV,OAAA,CAAQC,IAAA,CAAK,qBAAqBf,YAAY,KAAK,GACnDZ,OAAA,CAAQqC,aAAA,CAAczB,YAAA,EAAcsB,WAAA,EAAa;IAAEI,QAAA,EAAU;EAAO,CAAC,GACrEZ,OAAA,CAAQC,IAAA,CAAK,OAAO,GAIpBY,UAAA,CAAW,MAAM;IACfvB,OAAA,CAAQwB,IAAA,CAAK;EACf,GAAG,GAAI;AACT","ignoreList":[]}
1
+ {"version":3,"names":["path","FSExtra","bundle","metroBundle","loadEnv","fillOptions","getReactNativeBundle","buildBundle","_argv","ctx","args","bundleImpl","platform","dev","bundleOutput","assetsDest","root","Error","metroBuildBundleFn","getBuildBundleFn","console","info","setTimeout","process","exit","env","IS_VXRN_CLI","NODE_ENV","nativeEntry","appDir","join","existsSync","statSync","isDirectory","optionsIn","host","entries","native","options","mode","builtBundle","useCache","replace","writeFileSync","encoding"],"sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,OAAA,MAAa;AACpB,SAASC,MAAA,IAAUC,WAAA,QAAmB;AACtC,SAASC,OAAA,QAAe;AACxB,SAASC,WAAA,QAAmB;AAC5B,SAASC,oBAAA,QAA4B;AAyBrC,eAAsBC,YACpBC,KAAA,EACAC,GAAA,EACAC,IAAA,EACAC,UAAA,GAAkB,MACH;EACf,MAAM;MACJC,QAAA;MAAA;MACAC,GAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAOAC,YAAA;MACAC;MAAA;MAAA;IAEF,IAAIL,IAAA;IAEE;MAAEM;IAAK,IAAIP,GAAA;EACjB,IAAI,OAAOO,IAAA,IAAS,UAClB,MAAM,IAAIC,KAAA,CAAM,6CAA6C,OAAOD,IAAI,EAAE;EAG5E,MAAME,kBAAA,GAAqB,MAAMf,WAAA,CAAYgB,gBAAA,CAAiB;EAE9D,IAAID,kBAAA,EAAoB;IACtBE,OAAA,CAAQC,IAAA,CAAK,oDAAoD,GACjE,MAAMH,kBAAA,CAAmBV,KAAA,EAAOC,GAAA,EAAKC,IAAA,EAAMC,UAAU,GAIrDW,UAAA,CAAW,MAAM;MACfF,OAAA,CAAQC,IAAA,CAAK,qCAAqC,GAClDE,OAAA,CAAQC,IAAA,CAAK;IACf,GAAG,GAAI;IAEP;EACF;EAEAD,OAAA,CAAQE,GAAA,CAAIC,WAAA,GAAc,QAC1BtB,OAAA,CAAQS,GAAA,GAAM,gBAAgB,cAAcG,IAAI,GAE3CH,GAAA,KAGHU,OAAA,CAAQE,GAAA,CAAIE,QAAA,GAAW;EAGzB,IAAIC,WAAA;EAIJ,MAAMC,MAAA,GAAS7B,IAAA,CAAK8B,IAAA,CAAKd,IAAA,EAAM,KAAK;EAChCf,OAAA,CAAQ8B,UAAA,CAAWF,MAAM,KAAK5B,OAAA,CAAQ+B,QAAA,CAASH,MAAM,EAAEI,WAAA,CAAY,MACrEb,OAAA,CAAQC,IAAA,CAAK,gDAAgD,GAE7DO,WAAA,GAAc;EAGhB,MAAMM,SAAA,GAAY;MAChBlB,IAAA;MACAmB,IAAA,EAAM;MAAA;MACNC,OAAA,EAAS;QACP,IAAIR,WAAA,GAAc;UAAES,MAAA,EAAQT;QAAY,IAAI,CAAC;MAC/C;IACF;IAEMU,OAAA,GAAU,MAAMjC,WAAA,CAAY6B,SAAA,EAAW;MAAEK,IAAA,EAAM1B,GAAA,GAAM,QAAQ;IAAO,CAAC;EAC3E,IAAI2B,WAAA,GAAc,MAAMlC,oBAAA,CAAqBgC,OAAA,EAAS1B,QAAA,EAAU;IAC9D2B,IAAA,EAAM1B,GAAA,GAAM,QAAQ;IACpBE,UAAA;IACA0B,QAAA,EAAU;EACZ,CAAC;EAGDD,WAAA,GAAcA,WAAA,CAAYE,OAAA,CAAQ,gCAAgC,OAAO,GAEpE7B,GAAA,KAEH2B,WAAA,GAAcA,WAAA,CAAYE,OAAA,CACxB,gCACA,+DACF,IAGFtB,OAAA,CAAQC,IAAA,CAAK,qBAAqBP,YAAY,KAAK,GACnDb,OAAA,CAAQ0C,aAAA,CAAc7B,YAAA,EAAc0B,WAAA,EAAa;IAAEI,QAAA,EAAU;EAAO,CAAC,GACrExB,OAAA,CAAQC,IAAA,CAAK,OAAO,GAIpBC,UAAA,CAAW,MAAM;IACfF,OAAA,CAAQC,IAAA,CAAK,qCAAqC,GAClDE,OAAA,CAAQC,IAAA,CAAK;EACf,GAAG,GAAI;AACT","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import FSExtra from "fs-extra";
2
1
  import path from "node:path";
2
+ import FSExtra from "fs-extra";
3
+ import { bundle as metroBundle } from "@vxrn/vite-plugin-metro/rn-commands";
3
4
  import { loadEnv } from "../../exports/loadEnv.native.js";
4
5
  import { fillOptions } from "../../config/getOptionsFilled.native.js";
5
6
  import { getReactNativeBundle } from "../../utils/getReactNativeBundle.native.js";
@@ -25,6 +26,13 @@ async function buildBundle(_argv, ctx, args) {
25
26
  root
26
27
  } = ctx;
27
28
  if (typeof root != "string") throw new Error(`Expected ctx.root to be a string, but got ${typeof root}`);
29
+ var metroBuildBundleFn = await metroBundle.getBuildBundleFn();
30
+ if (metroBuildBundleFn) {
31
+ console.info("Using @vxrn/vite-plugin-metro to build the bundle."), await metroBuildBundleFn(_argv, ctx, args, bundleImpl), setTimeout(function () {
32
+ console.info("Exiting process to prevent hanging."), process.exit();
33
+ }, 3e3);
34
+ return;
35
+ }
28
36
  process.env.IS_VXRN_CLI = "true", loadEnv(dev ? "development" : "production", root), dev || (process.env.NODE_ENV = "production");
29
37
  var nativeEntry = void 0,
30
38
  appDir = path.join(root, "app");
@@ -50,7 +58,7 @@ async function buildBundle(_argv, ctx, args) {
50
58
  builtBundle = builtBundle.replace(/process\.env\.VXRN_REACT_19/g, "false"), dev || (builtBundle = builtBundle.replace('.getEnforcing("DevSettings")', ".patched_getEnforcing_DevSettings_will_not_work_in_production")), console.info(`Writing bundle to ${bundleOutput}...`), FSExtra.writeFileSync(bundleOutput, builtBundle, {
51
59
  encoding: "utf8"
52
60
  }), console.info("Done."), setTimeout(function () {
53
- process.exit();
61
+ console.info("Exiting process to prevent hanging."), process.exit();
54
62
  }, 1e3);
55
63
  }
56
64
  export { buildBundle };
@@ -1 +1 @@
1
- {"version":3,"names":["FSExtra","path","loadEnv","fillOptions","getReactNativeBundle","buildBundle","_argv","ctx","args","bundleImpl","arguments","length","platform","dev","bundleOutput","assetsDest","root","Error","process","env","IS_VXRN_CLI","NODE_ENV","nativeEntry","appDir","join","existsSync","statSync","isDirectory","console","info","optionsIn","host","entries","native","options","mode","builtBundle","useCache","replace","writeFileSync","encoding","setTimeout"],"sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,OAAOC,IAAA,MAAU;AACjB,SAASC,OAAA,QAAe;AACxB,SAASC,WAAA,QAAmB;AAC5B,SAASC,oBAAA,QAA4B;AAyBrC,eAAsBC,YACpBC,KAAA,EACAC,GAAA,EACAC,IAAA,EACA;EAEA,IAAAC,UAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAA;MACJE,QAAA;MAAA;MACAC,GAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAOAC,YAAA;MACAC;IAAA;IAAA;IAEF;IAGAP,IACE;IAAA;MAAAQ;IAAM,IAAIT,GAAA;EAGZ,WAAQS,IAAI,YAAc,EAS1B,MAAI,IAAAC,KAAA,qDAAAD,IAAA;EAIJE,OAAM,CAAAC,GAAA,CAAAC,WAAc,GAAK,MAAM,EAAAlB,OAAK,CAAAW,GAAA,iCAAAG,IAAA,GAAAH,GAAA,KAAAK,OAAA,CAAAC,GAAA,CAAAE,QAAA;EAChC,IAAAC,WAAQ,QAAW;IAAMC,MAAK,GAAAtB,IAAQ,CAAAuB,IAAA,CAAAR,IAAS,OAAQ;EAM3DhB,OAAM,CAAAyB,UAAY,CAAAF,MAAA,KAAAvB,OAAA,CAAA0B,QAAA,CAAAH,MAAA,EAAAI,WAAA,OAAAC,OAAA,CAAAC,IAAA,oDAAAP,WAAA;EAAA,IAChBQ,SAAA;MACAd,IAAA;MAAMe,IAAA;MACN;MAASC,OACH;QACN,IAAAV,WAAA;UAGIW,MAAA,EAAUX;QACZ;MACF;IAAoB;IACpBY,OAAA,SAAA/B,WAAA,CAAA2B,SAAA;MACAK,IAAA,EAAAtB,GAAA,GAAU;IACZ,CAAC;IAAAuB,WAAA,SAAAhC,oBAAA,CAAA8B,OAAA,EAAAtB,QAAA;MAGDuB,IAAA,EAAAtB,GAAA,GAAc,cAAY;MAKtBE,UAAA;MACAsB,QAAA;IACF;EAUAD,WAAQ,GAAAA,WAAK,CAAAE,OAAA,2CAAAzB,GAAA,KAAAuB,WAAA,GAAAA,WAAA,CAAAE,OAAA,oGAAAV,OAAA,CAAAC,IAAA,sBAAAf,YAAA,QAAAd,OAAA,CAAAuC,aAAA,CAAAzB,YAAA,EAAAsB,WAAA;IACfI,QAAO;EACT,IAAAZ,OAAA,CAAAC,IAAA,WAAAY,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["path","FSExtra","bundle","metroBundle","loadEnv","fillOptions","getReactNativeBundle","buildBundle","_argv","ctx","args","bundleImpl","arguments","length","platform","dev","bundleOutput","assetsDest","root","Error","metroBuildBundleFn","getBuildBundleFn","console","info","setTimeout","process","exit","env","IS_VXRN_CLI","NODE_ENV","nativeEntry","appDir","join","existsSync","statSync","isDirectory","optionsIn","host","entries","native","options","mode","builtBundle","useCache","replace","writeFileSync","encoding"],"sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,OAAA,MAAa;AACpB,SAASC,MAAA,IAAUC,WAAA,QAAmB;AACtC,SAASC,OAAA,QAAe;AACxB,SAASC,WAAA,QAAmB;AAC5B,SAASC,oBAAA,QAA4B;AAyBrC,eAAsBC,YACpBC,KAAA,EACAC,GAAA,EACAC,IAAA,EACA;EAEA,IAAAC,UAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAA;MACJE,QAAA;MAAA;MACAC,GAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAOAC,YAAA;MACAC;IAAA;IAAA;IAEF;IAGAP,IACE;IAAA;MAAAQ;IAAM,IAAIT,GAAA;EAGZ,WAAMS,IAAA,YAAqB,EAE3B,MAAI,IAAAC,KAAA,8CAAoB,OAAAD,IAAA;EACtB,IAAAE,kBAAa,SAAAjB,WAAA,CAAAkB,gBAAA;EAMX,IAAAD,kBAAa;IAEfE,OAAO,CAAAC,IAAA,8DAAAH,kBAAA,CAAAZ,KAAA,EAAAC,GAAA,EAAAC,IAAA,EAAAC,UAAA,GAAAa,UAAA;MAEPF,OAAA,CAAAC,IAAA,yCAAAE,OAAA,CAAAC,IAAA;IACF;IAEA;EASA;EAIAD,OAAM,CAAAE,GAAA,CAAAC,WAAc,GAAK,MAAM,EAAAxB,OAAK,CAAAW,GAAA,iCAAAG,IAAA,GAAAH,GAAA,KAAAU,OAAA,CAAAE,GAAA,CAAAE,QAAA;EAChC,IAAAC,WAAQ,QAAW;IAAMC,MAAK,GAAA/B,IAAQ,CAAAgC,IAAA,CAAAd,IAAS,OAAQ;EAM3DjB,OAAM,CAAAgC,UAAY,CAAAF,MAAA,KAAA9B,OAAA,CAAAiC,QAAA,CAAAH,MAAA,EAAAI,WAAA,OAAAb,OAAA,CAAAC,IAAA,oDAAAO,WAAA;EAAA,IAChBM,SAAA;MACAlB,IAAA;MAAMmB,IAAA;MACN;MAASC,OACH;QACN,IAAAR,WAAA;UAGIS,MAAA,EAAUT;QACZ;MACF;IAAoB;IACpBU,OAAA,SAAAnC,WAAA,CAAA+B,SAAA;MACAK,IAAA,EAAA1B,GAAA,GAAU;IACZ,CAAC;IAAA2B,WAAA,SAAApC,oBAAA,CAAAkC,OAAA,EAAA1B,QAAA;MAGD2B,IAAA,EAAA1B,GAAA,GAAc,cAAY;MAKtBE,UAAA;MACA0B,QAAA;IACF;EAUAD,WAAQ,GAAAA,WAAK,CAAAE,OAAA,+BACL,SAAK,GAAA7B,GAAA,KAAA2B,WAAA,GAAAA,WAAA,CAAAE,OAAA,oGAAAtB,OAAA,CAAAC,IAAA,sBAAAP,YAAA,QAAAf,OAAA,CAAA4C,aAAA,CAAA7B,YAAA,EAAA0B,WAAA;IACfI,QAAO;EACT,IAAAxB,OAAA,CAAAC,IAAA,WAAAC,UAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxrn",
3
- "version": "1.1.502",
3
+ "version": "1.1.505",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -65,17 +65,17 @@
65
65
  "@hono/node-server": "^1.13.7",
66
66
  "@react-native/dev-middleware": "^0.76.5",
67
67
  "@rollup/plugin-node-resolve": "^15.2.3",
68
- "@vxrn/compiler": "1.1.502",
69
- "@vxrn/debug": "1.1.502",
70
- "@vxrn/query-string": "1.1.502",
71
- "@vxrn/react-native-prebuilt": "1.1.502",
72
- "@vxrn/resolve": "1.1.502",
73
- "@vxrn/safe-area": "1.1.502",
74
- "@vxrn/url-parse": "1.1.502",
75
- "@vxrn/utils": "1.1.502",
76
- "@vxrn/vendor": "1.1.502",
77
- "@vxrn/vite-flow": "1.1.502",
78
- "@vxrn/vite-plugin-metro": "1.1.502",
68
+ "@vxrn/compiler": "1.1.505",
69
+ "@vxrn/debug": "1.1.505",
70
+ "@vxrn/query-string": "1.1.505",
71
+ "@vxrn/react-native-prebuilt": "1.1.505",
72
+ "@vxrn/resolve": "1.1.505",
73
+ "@vxrn/safe-area": "1.1.505",
74
+ "@vxrn/url-parse": "1.1.505",
75
+ "@vxrn/utils": "1.1.505",
76
+ "@vxrn/vendor": "1.1.505",
77
+ "@vxrn/vite-flow": "1.1.505",
78
+ "@vxrn/vite-plugin-metro": "1.1.505",
79
79
  "citty": "^0.1.6",
80
80
  "env-editor": "^1.1.0",
81
81
  "es-module-lexer": "^1.3.0",
@@ -85,21 +85,21 @@
85
85
  "get-port-please": "^3.1.2",
86
86
  "hono": "^4.6.16",
87
87
  "ip": "^2.0.1",
88
- "lightningcss": "^1.27.0",
88
+ "lightningcss": "^1.30.1",
89
89
  "metro-react-native-babel-preset": "^0.77.0",
90
90
  "picocolors": "^1.0.0",
91
91
  "pkg-types": "^1.0.3",
92
92
  "qrcode-terminal": "^0.12.0",
93
93
  "rollup": "^4.29.1",
94
94
  "semver": "^7.6.3",
95
- "vite": "^6.1.0",
95
+ "vite": "^7.0.1",
96
96
  "vite-bundle-analyzer": "^0.9.4",
97
97
  "ws": "^8.18.0"
98
98
  },
99
99
  "devDependencies": {
100
100
  "@biomejs/biome": "1.9.4",
101
101
  "@react-native-community/cli": "19.0.0",
102
- "@tamagui/build": "^1.129.5",
102
+ "@tamagui/build": "^1.131.3",
103
103
  "@types/find-node-modules": "^2.1.2",
104
104
  "@types/node": "^22.1.0",
105
105
  "@types/qrcode-terminal": "^0",
@@ -1,111 +1,72 @@
1
+ const { dirname } = require('node:path')
2
+ const resolvePath = require('@vxrn/resolve').resolvePath
3
+
4
+ const reactNativePath = (() => {
5
+ try {
6
+ return dirname(resolvePath('react-native/package.json'))
7
+ } catch (e) {
8
+ if (e instanceof Error) {
9
+ e.message = `[vxrn/react-native-commands] Failed to resolve react-native/package.json. Is react-native installed in your project? ${e.message}`
10
+ }
11
+
12
+ throw e
13
+ }
14
+ })()
15
+ const rnCommunityCliPluginPath = (() => {
16
+ // First try to resolve from the current directory (normally the user's project dir).
17
+ let firstError
18
+ try {
19
+ return resolvePath('@react-native/community-cli-plugin')
20
+ } catch (e) {
21
+ firstError = e
22
+ }
23
+ // If that fails, try to resolve from the react-native package.
24
+ try {
25
+ return resolvePath('@react-native/community-cli-plugin', reactNativePath)
26
+ } catch (e) {
27
+ if (e instanceof Error) {
28
+ e.message = `[vxrn/react-native-commands] Failed to resolve @react-native/community-cli-plugin. It should be a react-native dependency and normally will be installed if you are using react-native. But you can still try to install it manually to resolve this issue.\n1. ${firstError instanceof Error ? firstError.message : 'unknown error'}\n2. ${e.message}`
29
+ }
30
+
31
+ throw e
32
+ }
33
+ })()
34
+
35
+ const rnCommunityCliPlugin = require(rnCommunityCliPluginPath)
36
+
1
37
  const bundleCommand = {
38
+ ...rnCommunityCliPlugin.bundleCommand,
2
39
  name: 'bundle',
3
- description: 'Build the bundle for the provided JavaScript entry file with VxRN.',
4
- func: async (...args) => {
5
- const buildBundleModule = await import('./dist/rn-commands/bundle/buildBundle.mjs')
6
- return await buildBundleModule.buildBundle(...args)
7
- },
8
40
  options: [
9
- {
10
- name: '--entry-file <path>',
11
- description: 'Path to the root JS file, either absolute or relative to JS root',
12
- },
13
- {
14
- name: '--platform <string>',
15
- description: 'Either "ios" or "android"',
16
- default: 'ios',
17
- },
18
- {
19
- name: '--transformer <string>',
20
- description: 'Specify a custom transformer to be used',
21
- },
22
- {
23
- name: '--dev [boolean]',
24
- description: 'If false, warnings are disabled and the bundle is minified',
25
- parse: (val) => val !== 'false',
26
- default: true,
27
- },
28
- {
29
- name: '--minify [boolean]',
30
- description:
31
- 'Allows overriding whether bundle is minified. This defaults to ' +
32
- 'false if dev is true, and true if dev is false. Disabling minification ' +
33
- 'can be useful for speeding up production builds for testing purposes.',
34
- parse: (val) => val !== 'false',
35
- },
36
- {
37
- name: '--bundle-output <string>',
38
- description: 'File name where to store the resulting bundle, ex. /tmp/groups.bundle',
39
- },
40
- {
41
- name: '--bundle-encoding <string>',
42
- description:
43
- 'Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer).',
44
- default: 'utf8',
45
- },
46
- {
47
- name: '--max-workers <number>',
48
- description:
49
- 'Specifies the maximum number of workers the worker-pool ' +
50
- 'will spawn for transforming files. This defaults to the number of the ' +
51
- 'cores available on your machine.',
52
- parse: (workers) => Number(workers),
53
- },
54
- {
55
- name: '--sourcemap-output <string>',
56
- description:
57
- 'File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map',
58
- },
59
- {
60
- name: '--sourcemap-sources-root <string>',
61
- description: "Path to make sourcemap's sources entries relative to, ex. /root/dir",
62
- },
63
- {
64
- name: '--sourcemap-use-absolute-path',
65
- description: 'Report SourceMapURL using its full path',
66
- default: false,
67
- },
68
- {
69
- name: '--assets-dest <string>',
70
- description: 'Directory name where to store assets referenced in the bundle',
71
- },
72
- {
73
- name: '--unstable-transform-profile <string>',
74
- description:
75
- 'Experimental, transform JS for a specific JS engine. Currently supported: hermes, hermes-canary, default',
76
- default: 'default',
77
- },
78
- {
79
- name: '--asset-catalog-dest [string]',
80
- description: 'Path where to create an iOS Asset Catalog for images',
81
- },
82
- {
83
- name: '--reset-cache',
84
- description: 'Removes cached files',
85
- default: false,
86
- },
87
- {
88
- name: '--read-global-cache',
89
- description: 'Try to fetch transformed JS code from the global cache, if configured.',
90
- default: false,
91
- },
92
- {
93
- name: '--config <string>',
94
- description: 'Path to the CLI configuration file',
95
- parse: (val) => path.resolve(val),
96
- },
97
- {
98
- name: '--resolver-option <string...>',
99
- description:
100
- 'Custom resolver options of the form key=value. URL-encoded. May be specified multiple times.',
101
- parse: (val, previous = []) => previous.concat([val]),
102
- },
41
+ ...rnCommunityCliPlugin.bundleCommand.options.map((o) => {
42
+ if (o.name.startsWith('--entry-file')) {
43
+ return {
44
+ ...o,
45
+ description: [
46
+ o.description,
47
+ 'but note that with VxRN, this is not going to be used since the entry file should be specified via plugin options.',
48
+ ].join(', '),
49
+ }
50
+ }
103
51
 
52
+ return o
53
+ }),
104
54
  {
105
55
  name: '--config-cmd',
106
- description: 'This is not actually in use, but it is needed for the compatibility with React Native v0.76 since it is passed during the build process of native apps (see: https://github.com/facebook/react-native/blob/v0.76.0/packages/react-native/scripts/react-native-xcode.sh#L142-L149).',
56
+ description:
57
+ 'This is not actually in use, but it is needed for the compatibility with React Native v0.76 since it is passed during the build process of native apps (see: https://github.com/facebook/react-native/blob/v0.76.0/packages/react-native/scripts/react-native-xcode.sh#L142-L149).',
107
58
  },
108
59
  ],
60
+
61
+ func: async (...args) => {
62
+ const buildBundleModule = await import('./dist/rn-commands/bundle/buildBundle.mjs')
63
+ // const buildBundleModule = await import('./dist/rn-commands/bundle/buildBundle.metro.mjs')
64
+ // const buildBundle = buildBundleModule.buildBundle.bind({
65
+ // rnCommunityCliPluginPath,
66
+ // })
67
+ const { buildBundle } = buildBundleModule
68
+ return await buildBundle(...args)
69
+ },
109
70
  }
110
71
 
111
72
  const commands = [bundleCommand]
@@ -1,5 +1,6 @@
1
- import FSExtra from 'fs-extra'
2
1
  import path from 'node:path'
2
+ import FSExtra from 'fs-extra'
3
+ import { bundle as metroBundle } from '@vxrn/vite-plugin-metro/rn-commands'
3
4
  import { loadEnv } from '../../exports/loadEnv'
4
5
  import { fillOptions } from '../../config/getOptionsFilled'
5
6
  import { getReactNativeBundle } from '../../utils/getReactNativeBundle'
@@ -52,6 +53,22 @@ export async function buildBundle(
52
53
  throw new Error(`Expected ctx.root to be a string, but got ${typeof root}`)
53
54
  }
54
55
 
56
+ const metroBuildBundleFn = await metroBundle.getBuildBundleFn()
57
+
58
+ if (metroBuildBundleFn) {
59
+ console.info('Using @vxrn/vite-plugin-metro to build the bundle.')
60
+ await metroBuildBundleFn(_argv, ctx, args, bundleImpl)
61
+
62
+ // Prevent the process not getting exited for some unknown reason.
63
+ // If the process is not exited, it might hang the native build process.
64
+ setTimeout(() => {
65
+ console.info('Exiting process to prevent hanging.')
66
+ process.exit()
67
+ }, 3000)
68
+
69
+ return
70
+ }
71
+
55
72
  process.env.IS_VXRN_CLI = 'true'
56
73
  loadEnv(dev ? 'development' : 'production', root)
57
74
 
@@ -105,6 +122,7 @@ export async function buildBundle(
105
122
  // Prevent the process not getting exited for some unknown reason.
106
123
  // If the process is not exited, it might hang the native build process.
107
124
  setTimeout(() => {
125
+ console.info('Exiting process to prevent hanging.')
108
126
  process.exit()
109
127
  }, 1000)
110
128
  }
@@ -5,6 +5,6 @@ export declare function getReactNativePlugins(config?: Partial<Pick<VXRNOptionsF
5
5
  metro?: (MetroPluginOptions & ExpoManifestRequestHandlerPluginPluginOptions) | null;
6
6
  }): import("vite").PluginOption[] | (import("vite").Plugin<any> | {
7
7
  name: string;
8
- configResolved(this: void, conf: import("vite").ResolvedConfig): void;
8
+ configResolved(this: import("vite").MinimalPluginContextWithoutEnvironment, conf: import("vite").ResolvedConfig): void;
9
9
  })[];
10
10
  //# sourceMappingURL=getReactNativePlugins.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import type { Plugin, ResolvedConfig } from 'vite';
2
2
  export declare function getServerConfigPlugin(): {
3
3
  name: string;
4
- configResolved(this: void, conf: ResolvedConfig): void;
4
+ configResolved(this: import("vite").MinimalPluginContextWithoutEnvironment, conf: ResolvedConfig): void;
5
5
  };
6
6
  /**
7
7
  * some values used by the client needs to be dynamically injected by the server
@@ -4,7 +4,7 @@ export declare function reactNativeHMRPlugin({ assetExts, root: rootIn, mode: mo
4
4
  assetExts: string[];
5
5
  }): {
6
6
  name: string;
7
- configResolved(this: void, resolvedConfig: ResolvedConfig): void;
8
- handleHotUpdate(this: void, { read, modules, file, server }: import("vite").HmrContext): Promise<void>;
7
+ configResolved(this: import("vite").MinimalPluginContextWithoutEnvironment, resolvedConfig: ResolvedConfig): void;
8
+ handleHotUpdate(this: import("vite").MinimalPluginContextWithoutEnvironment, { read, modules, file, server }: import("vite").HmrContext): Promise<void>;
9
9
  };
10
10
  //# sourceMappingURL=reactNativeHMRPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildBundle.d.ts","sourceRoot":"","sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wBAAwB,EAAE,OAAO,CAAA;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,wBAAwB,EAAE,MAAM,CAAA;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,iBAAiB,EACvB,UAAU,GAAE,GAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA2Ef"}
1
+ {"version":3,"file":"buildBundle.d.ts","sourceRoot":"","sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wBAAwB,EAAE,OAAO,CAAA;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,wBAAwB,EAAE,MAAM,CAAA;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,iBAAiB,EACvB,UAAU,GAAE,GAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Ff"}