vxrn 1.1.366 → 1.1.368
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.
- package/dist/cli.js +8 -3
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +8 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/cli.native.js +8 -3
- package/dist/cli.native.js.map +2 -2
- package/dist/plugins/reactNativeDevServer.js +15 -1
- package/dist/plugins/reactNativeDevServer.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +14 -1
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +15 -1
- package/dist/plugins/reactNativeDevServer.native.js.map +2 -2
- package/dist/utils/depPatches.js +19 -12
- package/dist/utils/depPatches.js.map +1 -1
- package/dist/utils/depPatches.mjs +21 -6
- package/dist/utils/depPatches.mjs.map +1 -1
- package/dist/utils/depPatches.native.js +19 -8
- package/dist/utils/depPatches.native.js.map +2 -2
- package/dist/utils/getOptionsFilled.js +6 -1
- package/dist/utils/getOptionsFilled.js.map +1 -1
- package/dist/utils/getOptionsFilled.mjs +6 -0
- package/dist/utils/getOptionsFilled.mjs.map +1 -1
- package/dist/utils/getOptionsFilled.native.js +6 -1
- package/dist/utils/getOptionsFilled.native.js.map +2 -2
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/utils.mjs.map +1 -1
- package/dist/utils/utils.native.js.map +1 -1
- package/expo-js-native-debugging-plugin.cjs +234 -0
- package/package.json +13 -12
- package/src/cli.ts +7 -1
- package/src/plugins/reactNativeDevServer.ts +22 -1
- package/src/types.ts +5 -0
- package/src/utils/depPatches.ts +21 -21
- package/src/utils/getOptionsFilled.ts +6 -0
- package/src/utils/utils.ts +4 -1
- package/types/exports/build.d.ts +5 -0
- package/types/exports/build.d.ts.map +1 -1
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/types.d.ts +4 -0
- package/types/types.d.ts.map +1 -1
- package/types/utils/getOptionsFilled.d.ts +10 -0
- package/types/utils/getOptionsFilled.d.ts.map +1 -1
- package/types/utils/utils.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPort","createHash","createRequire","join","readPackageJSON","readState","writeState","require2","import","meta","url","optionsFilled","fillOptions","options","internal","mode","root","process","cwd","server","entries","host","https","devMode","console","info","defaultPort","port","packageRootDir","resolve","cacheDir","state","packageJSON","Promise","all","portRange","deps","dependencies","packageVersions","react","replace","reactNative","versionHash","hashString","JSON","stringify","clean","build","protocol","final","native","getOptionsFilled","str","hash","update","digest"],"sources":["../../src/utils/getOptionsFilled.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,UAAA,QAAkB;AAC3B,SAASC,aAAA,QAAqB;AAC9B,SAASC,IAAA,QAAY;AACrB,SAASC,eAAA,QAAuB;AAEhC,SAASC,SAAA,EAAWC,UAAA,QAAkB;
|
|
1
|
+
{"version":3,"names":["getPort","createHash","createRequire","join","readPackageJSON","readState","writeState","tmpdir","require2","import","meta","url","optionsFilled","fillOptions","options","internal","mode","root","process","cwd","server","entries","host","https","devMode","console","info","defaultPort","port","packageRootDir","resolve","cacheDir","state","packageJSON","Promise","all","portRange","deps","dependencies","packageVersions","react","replace","reactNative","versionHash","hashString","JSON","stringify","clean","build","protocol","bundleId","Math","round","random","final","debugBundlePaths","ios","android","native","getOptionsFilled","str","hash","update","digest"],"sources":["../../src/utils/getOptionsFilled.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { createRequire } from "node:module";
|
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { readPackageJSON } from "pkg-types";
|
|
6
6
|
import { readState, writeState } from "./state";
|
|
7
|
+
import { tmpdir } from "node:os";
|
|
7
8
|
var require2 = createRequire(import.meta.url), optionsFilled = null;
|
|
8
9
|
async function fillOptions(options) {
|
|
9
10
|
var internal = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
@@ -35,8 +36,12 @@ async function fillOptions(options) {
|
|
|
35
36
|
var _options;
|
|
36
37
|
(_options = options).build || (_options.build = {}), options.build.server = !1;
|
|
37
38
|
}
|
|
38
|
-
var protocol = https ? "https:" : "http:", final = {
|
|
39
|
+
var protocol = https ? "https:" : "http:", bundleId = Math.round(Math.random() * 1e5), final = {
|
|
39
40
|
...options,
|
|
41
|
+
debugBundlePaths: {
|
|
42
|
+
ios: join(tmpdir(), `bundle-${bundleId}-ios.js`),
|
|
43
|
+
android: join(tmpdir(), `bundle-${bundleId}-android.js`)
|
|
44
|
+
},
|
|
40
45
|
mode: devMode ? "development" : "production",
|
|
41
46
|
clean,
|
|
42
47
|
root,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/Users/n8/one/packages/vxrn/src/utils/getOptionsFilled.ts"],
|
|
4
|
-
"mappings": "AAAA,SAASA,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,SAASC,uBAAuB;AAEhC,SAASC,WAAWC,kBAAkB;
|
|
5
|
-
"names": ["getPort", "createHash", "createRequire", "join", "readPackageJSON", "readState", "writeState", "require", "url", "optionsFilled", "fillOptions", "options", "internal", "mode", "root", "process", "cwd", "server", "entries", "host", "https", "devMode", "console", "info", "defaultPort", "port", "packageRootDir", "resolve", "cacheDir", "state", "packageJSON", "Promise", "all", "portRange", "deps", "dependencies", "packageVersions", "react", "replace", "reactNative", "undefined", "versionHash", "hashString", "JSON", "stringify", "clean", "Boolean", "build", "protocol", "final", "native", "getOptionsFilled", "str", "hash", "update", "digest"]
|
|
4
|
+
"mappings": "AAAA,SAASA,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,SAASC,uBAAuB;AAEhC,SAASC,WAAWC,kBAAkB;AACtC,SAASC,cAAc;AAEvB,IAAMC,WAAUN,cAAc,YAAYO,GAAG,GAIzCC,gBAA0C;AAE9C,eAAsBC,YACpBC,SAAoB;MACpBC,WAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAsC;IAAEC,MAAM;EAAM,GA4CzCF,gBAAwCA,iBA1C7C,EAAEG,OAAOC,QAAQC,IAAG,GAAIC,SAAS,CAAC,GAAGC,QAAO,IAAKP,SACjD;IACJQ,OAAO;;IACPC;EAAK,IACHH,QAEEI,UAAUV,QAAQE,SAAS,eAAe,KAAQD,SAASC,SAAS;AAE1E,EAAKQ,WACHC,QAAQC,KAAK,8CAAyC;AAGxD,MAAMC,cAAcP,OAAOQ,SAASb,SAASC,SAAS,QAAQ,OAAO,MAC/Da,iBAAiBxB,KAAKK,SAAQoB,QAAQ,MAAA,GAAS,OAAA,GAC/CC,WAAW1B,KAAKY,MAAM,gBAAgB,OAAA,GAEtC,CAACW,MAAMI,OAAOC,WAAAA,IAAe,MAAMC,QAAQC,IAAI;IACnDjC,QAAQ;MACN0B,MAAMD;MACNS,WAAW;QAACT;QAAaA,cAAc;;MACvCL;IACF,CAAA;IACAf,UAAUwB,QAAAA;IACVzB,gBAAAA;GACD,GAEK+B,OAAOJ,YAAYK,gBAAgB,CAAC,GAEpCC,kBACJF,KAAKG,SAASH,KAAK,cAAA,IACf;IACEG,OAAOH,KAAKG,MAAMC,QAAQ,UAAU,EAAA;IACpCC,aAAaL,KAAK,cAAA,EAAgBI,QAAQ,UAAU,EAAA;EACtD,IACAE,QAEAC,cAAcC,WAAWC,KAAKC,UAAUd,WAAAA,CAAAA,GACxBnB,gBAAhBkC,QAAQC,IAAQnC,iBAAAA,QAAQkC,WAAK,QAAblC,mBAAAA,SAAAA,iBAAkBkB,MAAMY,eAAeZ,MAAMY,gBAAgBA;AAKnF,MAFKpC,WAAWuB,UAAU;IAAEa;EAAY,CAAA,GAEpC,SAAO9B,iBAAAA,QAAQoC,WAAK,QAAbpC,mBAAAA,SAAAA,SAAAA,eAAeM,WAAW,aAAa,EAACN,qBAAAA,QAAQoC,WAAK,QAAbpC,oBAAAA,WAAAA,gBAAeM,SAAQ;QAExEN;AAAAA,KAAAA,WAAAA,SAAQoC,UAARpC,SAAQoC,QAAU,CAAC,IACnBpC,QAAQoC,MAAM9B,SAAS;EACzB;AAEA,MAAM+B,WAAW5B,QAAS,WAAsB,SAC1C6B,WAAWC,KAAKC,MAAMD,KAAKE,OAAM,IAAK,GAAA,GAEtCC,QAAQ;IACZ,GAAG1C;IACH2C,kBAAkB;MAChBC,KAAKrD,KAAKI,OAAAA,GAAU,UAAU2C,QAAAA,SAAiB;MAC/CO,SAAStD,KAAKI,OAAAA,GAAU,UAAU2C,QAAAA,aAAqB;IACzD;IACApC,MAAMQ,UAAW,gBAA2B;IAC5CwB;IACA/B;IACAG,QAAQ;MACN,GAAGN,QAAQM;MACXQ;MACAN;MACA6B;MACAxC,KAAK,GAAGwC,QAAAA,KAAa7B,IAAAA,IAAQM,IAAAA;IAC/B;IACAP,SAAS;MACPuC,QAAQ;MACRxC,QAAQ;MACR,GAAGC;IACL;IACAY;IACAM;IACAP;IACAH;IACAE;EACF;AAEAnB,yBAAgB4C,OAETA;AACT;AAEO,SAASK,mBAAAA;AACd,SAAOjD;AACT;AAEA,SAASiC,WAAWiB,KAAW;AAC7B,MAAMC,OAAO5D,WAAW,QAAA;AACxB4D,cAAKC,OAAOF,GAAAA,GACLC,KAAKE,OAAO,KAAA;AACrB;",
|
|
5
|
+
"names": ["getPort", "createHash", "createRequire", "join", "readPackageJSON", "readState", "writeState", "tmpdir", "require", "url", "optionsFilled", "fillOptions", "options", "internal", "mode", "root", "process", "cwd", "server", "entries", "host", "https", "devMode", "console", "info", "defaultPort", "port", "packageRootDir", "resolve", "cacheDir", "state", "packageJSON", "Promise", "all", "portRange", "deps", "dependencies", "packageVersions", "react", "replace", "reactNative", "undefined", "versionHash", "hashString", "JSON", "stringify", "clean", "Boolean", "build", "protocol", "bundleId", "Math", "round", "random", "final", "debugBundlePaths", "ios", "android", "native", "getOptionsFilled", "str", "hash", "update", "digest"]
|
|
6
6
|
}
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/utils.ts"],
|
|
4
|
-
"mappings": "AACA,OAAO,aAAa;AACpB,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAEpB,SAAS,YAAY,MAAoC;AAC9D,MAAI;AAEF,WAAO,QAAQ,SAAS,MAAM,EAAE,gBAAgB,GAAM,CAAC;AAAA,EACzD,QAAQ;AAAA,EAAC;AACX;AAEA,eAAsB,WAAW,KAAa,WAAkD;AAC9F,SAAO,OAAK;AACV,eAAW,YAAY,WAAW;AAChC,YAAM,WAAW,KAAK,KAAK,KAAK,QAAQ;AACxC,UAAI,YAAY,QAAQ,GAAG,OAAO,EAAG,QAAO;AAAA,IAC9C;AACA,UAAM,YAAY,KAAK,QAAQ,GAAG;AAClC,QAAI,cAAc,IAAK;AAEvB,UAAM;AAAA,EACR;AACF;AAEO,SAAS,QAAQ,MAAuB,SAAS,GAAW;AACjE,QAAM,IAAI,WAAW,QAAQ,
|
|
4
|
+
"mappings": "AACA,OAAO,aAAa;AACpB,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAEpB,SAAS,YAAY,MAAoC;AAC9D,MAAI;AAEF,WAAO,QAAQ,SAAS,MAAM,EAAE,gBAAgB,GAAM,CAAC;AAAA,EACzD,QAAQ;AAAA,EAAC;AACX;AAEA,eAAsB,WAAW,KAAa,WAAkD;AAC9F,SAAO,OAAK;AACV,eAAW,YAAY,WAAW;AAChC,YAAM,WAAW,KAAK,KAAK,KAAK,QAAQ;AACxC,UAAI,YAAY,QAAQ,GAAG,OAAO,EAAG,QAAO;AAAA,IAC9C;AACA,UAAM,YAAY,KAAK,QAAQ,GAAG;AAClC,QAAI,cAAc,IAAK;AAEvB,UAAM;AAAA,EACR;AACF;AAEO,SAAS,QAAQ,MAAuB,SAAS,GAAW;AACjE,QAAM,IAAI,WAAW,QAAQ,EAC1B,OAAO,IAAW,EAClB,OAAO,KAAK,EACZ,UAAU,GAAG,MAAM;AACtB,SAAI,UAAU,KAAW,IAClB,EAAE,OAAO,QAAQ,GAAG;AAC7B;AAEA,eAAsB,YAAYA,OAAc;AAC9C,QAAM,UAAU,MAAM,QAAQ,SAASA,OAAM,OAAO;AACpD,SAAO,QAAQ,OAAO;AACxB;",
|
|
5
5
|
"names": ["path"]
|
|
6
6
|
}
|
package/dist/utils/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","path","createHash","tryStatSync","file","statSync","throwIfNoEntry","lookupFile","dir","fileNames","fileName","fullPath","join","isFile","parentDir","dirname","getHash","text","length","h","update","digest","substring","padEnd","getFileHash","path2","content","readFile"],"sources":["../../src/utils/utils.ts"],"sourcesContent":[null],"mappings":"AACA,OAAOA,OAAA,MAAa;AACpB,OAAOC,IAAA,MAAU;AACjB,SAASC,UAAA,QAAkB;AAEpB,SAASC,YAAYC,IAAA,EAAoC;EAC9D,IAAI;IAEF,OAAOJ,OAAA,CAAQK,QAAA,CAASD,IAAA,EAAM;MAAEE,cAAA,EAAgB;IAAM,CAAC;EACzD,QAAQ,CAAC;AACX;AAEA,eAAsBC,WAAWC,GAAA,EAAaC,SAAA,EAAkD;EAC9F,OAAOD,GAAA,GAAK;IACV,WAAWE,QAAA,IAAYD,SAAA,EAAW;MAChC,MAAME,QAAA,GAAWV,IAAA,CAAKW,IAAA,CAAKJ,GAAA,EAAKE,QAAQ;MACxC,IAAIP,WAAA,CAAYQ,QAAQ,GAAGE,MAAA,CAAO,GAAG,OAAOF,QAAA;IAC9C;IACA,MAAMG,SAAA,GAAYb,IAAA,CAAKc,OAAA,CAAQP,GAAG;IAClC,IAAIM,SAAA,KAAcN,GAAA,EAAK;IAEvBA,GAAA,GAAMM,SAAA;EACR;AACF;AAEO,SAASE,QAAQC,IAAA,EAAuBC,MAAA,GAAS,GAAW;EACjE,MAAMC,CAAA,GAAIjB,UAAA,CAAW,QAAQ,
|
|
1
|
+
{"version":3,"names":["FSExtra","path","createHash","tryStatSync","file","statSync","throwIfNoEntry","lookupFile","dir","fileNames","fileName","fullPath","join","isFile","parentDir","dirname","getHash","text","length","h","update","digest","substring","padEnd","getFileHash","path2","content","readFile"],"sources":["../../src/utils/utils.ts"],"sourcesContent":[null],"mappings":"AACA,OAAOA,OAAA,MAAa;AACpB,OAAOC,IAAA,MAAU;AACjB,SAASC,UAAA,QAAkB;AAEpB,SAASC,YAAYC,IAAA,EAAoC;EAC9D,IAAI;IAEF,OAAOJ,OAAA,CAAQK,QAAA,CAASD,IAAA,EAAM;MAAEE,cAAA,EAAgB;IAAM,CAAC;EACzD,QAAQ,CAAC;AACX;AAEA,eAAsBC,WAAWC,GAAA,EAAaC,SAAA,EAAkD;EAC9F,OAAOD,GAAA,GAAK;IACV,WAAWE,QAAA,IAAYD,SAAA,EAAW;MAChC,MAAME,QAAA,GAAWV,IAAA,CAAKW,IAAA,CAAKJ,GAAA,EAAKE,QAAQ;MACxC,IAAIP,WAAA,CAAYQ,QAAQ,GAAGE,MAAA,CAAO,GAAG,OAAOF,QAAA;IAC9C;IACA,MAAMG,SAAA,GAAYb,IAAA,CAAKc,OAAA,CAAQP,GAAG;IAClC,IAAIM,SAAA,KAAcN,GAAA,EAAK;IAEvBA,GAAA,GAAMM,SAAA;EACR;AACF;AAEO,SAASE,QAAQC,IAAA,EAAuBC,MAAA,GAAS,GAAW;EACjE,MAAMC,CAAA,GAAIjB,UAAA,CAAW,QAAQ,EAC1BkB,MAAA,CAAOH,IAAW,EAClBI,MAAA,CAAO,KAAK,EACZC,SAAA,CAAU,GAAGJ,MAAM;EACtB,OAAIA,MAAA,IAAU,KAAWC,CAAA,GAClBA,CAAA,CAAEI,MAAA,CAAOL,MAAA,EAAQ,GAAG;AAC7B;AAEA,eAAsBM,YAAYC,KAAA,EAAc;EAC9C,MAAMC,OAAA,GAAU,MAAM1B,OAAA,CAAQ2B,QAAA,CAASF,KAAA,EAAM,OAAO;EACpD,OAAOT,OAAA,CAAQU,OAAO;AACxB","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/Users/n8/one/packages/vxrn/src/utils/utils.ts"],
|
|
4
|
-
"mappings": "AACA,OAAOA,aAAa;AACpB,OAAOC,UAAU;AACjB,SAASC,kBAAkB;AAEpB,SAASC,YAAYC,MAAY;AACtC,MAAI;AAEF,WAAOJ,QAAQK,SAASD,MAAM;MAAEE,gBAAgB;IAAM,CAAA;EACxD,QAAQ;EAAC;AACX;AAEA,eAAsBC,WAAWC,KAAaC,WAAmB;AAC/D,SAAOD,OAAK;QACL,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,eAAK,YAAkBC,UAAAA,OAAAA,QAAAA,EAAAA,GAAlB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAA6B;AAA7B,YAAMC,WAAN,MAAA,OAECP,cADEQ,WAAWV,KAAKW,KAAKJ,KAAKE,QAAAA;AAChC,YAAIP,kBAAAA,YAAYQ,QAAAA,OAAAA,QAAZR,iBAAAA,WAAAA,aAAuBU,OAAM,EAAI,QAAOF;MAC9C;;AAHK,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;AAIL,QAAMG,YAAYb,KAAKc,QAAQP,GAAAA;AAC/B,QAAIM,cAAcN,IAAK;AAEvBA,UAAMM;EACR;AACF;AAEO,SAASE,QAAQC,MAAqB;MAAEC,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,GAChDC,IAAIjB,WAAW,QAAA,
|
|
4
|
+
"mappings": "AACA,OAAOA,aAAa;AACpB,OAAOC,UAAU;AACjB,SAASC,kBAAkB;AAEpB,SAASC,YAAYC,MAAY;AACtC,MAAI;AAEF,WAAOJ,QAAQK,SAASD,MAAM;MAAEE,gBAAgB;IAAM,CAAA;EACxD,QAAQ;EAAC;AACX;AAEA,eAAsBC,WAAWC,KAAaC,WAAmB;AAC/D,SAAOD,OAAK;QACL,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,eAAK,YAAkBC,UAAAA,OAAAA,QAAAA,EAAAA,GAAlB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAA6B;AAA7B,YAAMC,WAAN,MAAA,OAECP,cADEQ,WAAWV,KAAKW,KAAKJ,KAAKE,QAAAA;AAChC,YAAIP,kBAAAA,YAAYQ,QAAAA,OAAAA,QAAZR,iBAAAA,WAAAA,aAAuBU,OAAM,EAAI,QAAOF;MAC9C;;AAHK,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;AAIL,QAAMG,YAAYb,KAAKc,QAAQP,GAAAA;AAC/B,QAAIM,cAAcN,IAAK;AAEvBA,UAAMM;EACR;AACF;AAEO,SAASE,QAAQC,MAAqB;MAAEC,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,GAChDC,IAAIjB,WAAW,QAAA,EAClBkB,OAAOH,IAAAA,EACPI,OAAO,KAAA,EACPC,UAAU,GAAGJ,MAAAA;AAChB,SAAIA,UAAU,KAAWC,IAClBA,EAAEI,OAAOL,QAAQ,GAAA;AAC1B;AAEA,eAAsBM,YAAYvB,OAAY;AAC5C,MAAMwB,UAAU,MAAMzB,QAAQ0B,SAASzB,OAAM,OAAA;AAC7C,SAAOe,QAAQS,OAAAA;AACjB;",
|
|
5
5
|
"names": ["FSExtra", "path", "createHash", "tryStatSync", "file", "statSync", "throwIfNoEntry", "lookupFile", "dir", "fileNames", "fileName", "fullPath", "join", "isFile", "parentDir", "dirname", "getHash", "text", "length", "h", "update", "digest", "substring", "padEnd", "getFileHash", "content", "readFile"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a internal plugin for the convenience of VxRN developers to debug the JavaScript bundle.
|
|
3
|
+
* It'll add files into the native code which provides a starting point for debugging the JavaScript bundle with native code.
|
|
4
|
+
* Please consider this as an incomplete tool only for development purposes.
|
|
5
|
+
*
|
|
6
|
+
* To use this plugin, you need to add it (`vxrn/expo-js-native-debugging-plugin`) to the `plugins` array in your `app.json` file, and run prebuild. Then,
|
|
7
|
+
*
|
|
8
|
+
* * For iOS, a `JsNativeDebugging` (`RCTJsNativeDebugging`) native module will be added to the project, under the Libraries group.
|
|
9
|
+
*
|
|
10
|
+
* References:
|
|
11
|
+
* * https://hackmd.io/@z/rn-use-native-modules-without-importing-react-native
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const fs = require('node:fs')
|
|
15
|
+
const path = require('node:path')
|
|
16
|
+
const { withPlugins, withDangerousMod, withXcodeProject } = require('@expo/config-plugins')
|
|
17
|
+
|
|
18
|
+
const plugin = (config, options = {}) => {
|
|
19
|
+
return withPlugins(config, [
|
|
20
|
+
[
|
|
21
|
+
withDangerousMod,
|
|
22
|
+
[
|
|
23
|
+
'ios',
|
|
24
|
+
async (config) => {
|
|
25
|
+
const srcPath = path.resolve(config.modRequest.projectRoot, config.modRequest.platformProjectRoot)
|
|
26
|
+
|
|
27
|
+
for (const [fileName, fileContent] of Object.entries(IOS_FILES)) {
|
|
28
|
+
const filePath = path.resolve(srcPath, fileName)
|
|
29
|
+
if (!fs.existsSync(filePath)) {
|
|
30
|
+
fs.writeFileSync(filePath, fileContent)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return config
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
withXcodeProject,
|
|
40
|
+
async (config) => {
|
|
41
|
+
const xcodeProject = config.modResults
|
|
42
|
+
|
|
43
|
+
const librariesGroupKey = xcodeProject.findPBXGroupKey({ name: 'Libraries' })
|
|
44
|
+
|
|
45
|
+
for (const fileName in IOS_FILES) {
|
|
46
|
+
if (!xcodeProject.hasFile(fileName)) {
|
|
47
|
+
if (fileName.endsWith('.h')) {
|
|
48
|
+
xcodeProject.addHeaderFile(fileName, {}, librariesGroupKey)
|
|
49
|
+
} else {
|
|
50
|
+
xcodeProject.addSourceFile(fileName, {}, librariesGroupKey)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return config
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
])
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const IOS_FILES = {
|
|
62
|
+
'RCTJsNativeDebugging.h': `
|
|
63
|
+
//
|
|
64
|
+
// RCTJsNativeDebugging.h
|
|
65
|
+
//
|
|
66
|
+
|
|
67
|
+
#import <React/RCTBridgeModule.h>
|
|
68
|
+
@interface RCTJsNativeDebugging : NSObject <RCTBridgeModule>
|
|
69
|
+
@end
|
|
70
|
+
`.trim(),
|
|
71
|
+
'RCTJsNativeDebugging.m': `
|
|
72
|
+
//
|
|
73
|
+
// RCTJsNativeDebugging.m
|
|
74
|
+
//
|
|
75
|
+
|
|
76
|
+
#import "RCTJsNativeDebugging.h"
|
|
77
|
+
|
|
78
|
+
@implementation RCTJsNativeDebugging
|
|
79
|
+
|
|
80
|
+
RCT_EXPORT_MODULE();
|
|
81
|
+
|
|
82
|
+
RCT_EXPORT_METHOD(log:(NSString *)message)
|
|
83
|
+
{
|
|
84
|
+
NSLog(@"%@", message);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@end
|
|
88
|
+
`.trim(),
|
|
89
|
+
|
|
90
|
+
'JSIDebuggingModule.h': `
|
|
91
|
+
//
|
|
92
|
+
// JSIDebuggingModule.h
|
|
93
|
+
//
|
|
94
|
+
|
|
95
|
+
#import <React/RCTBridgeModule.h>
|
|
96
|
+
|
|
97
|
+
@interface JSIDebuggingModule : NSObject <RCTBridgeModule>;
|
|
98
|
+
|
|
99
|
+
@property (nonatomic, assign) BOOL setBridgeOnMainQueue;
|
|
100
|
+
|
|
101
|
+
@end
|
|
102
|
+
`.trim(),
|
|
103
|
+
|
|
104
|
+
'JSIDebuggingModule.mm': `
|
|
105
|
+
//
|
|
106
|
+
// JSIDebuggingModule.mm
|
|
107
|
+
//
|
|
108
|
+
|
|
109
|
+
#import "JSIDebuggingModule.h"
|
|
110
|
+
#import <React/RCTBridge+Private.h>
|
|
111
|
+
#import <React/RCTUtils.h>
|
|
112
|
+
#import <jsi/jsi.h>
|
|
113
|
+
#import "jsi_debugging.h"
|
|
114
|
+
|
|
115
|
+
@implementation JSIDebuggingModule
|
|
116
|
+
|
|
117
|
+
@synthesize bridge = _bridge;
|
|
118
|
+
@synthesize methodQueue = _methodQueue;
|
|
119
|
+
|
|
120
|
+
RCT_EXPORT_MODULE()
|
|
121
|
+
|
|
122
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
123
|
+
|
|
124
|
+
return YES;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
- (void)setBridge:(RCTBridge *)bridge {
|
|
128
|
+
_bridge = bridge;
|
|
129
|
+
_setBridgeOnMainQueue = RCTIsMainQueue();
|
|
130
|
+
[self installLibrary];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
- (void)installLibrary {
|
|
134
|
+
|
|
135
|
+
RCTCxxBridge *cxxBridge = (RCTCxxBridge *)self.bridge;
|
|
136
|
+
|
|
137
|
+
if (cxxBridge.runtime) {
|
|
138
|
+
jsi_debugging::install(*(facebook::jsi::Runtime *)cxxBridge.runtime);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@end
|
|
143
|
+
`.trim(),
|
|
144
|
+
|
|
145
|
+
'jsi_debugging.h': `
|
|
146
|
+
//
|
|
147
|
+
// jsi_debugging.h
|
|
148
|
+
//
|
|
149
|
+
|
|
150
|
+
#include <jsi/jsi.h>
|
|
151
|
+
|
|
152
|
+
using namespace facebook::jsi;
|
|
153
|
+
|
|
154
|
+
#ifndef JSIDebugging_h
|
|
155
|
+
#define JSIDebugging_h
|
|
156
|
+
|
|
157
|
+
namespace jsi_debugging {
|
|
158
|
+
void install(Runtime & jsiRuntime);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
#endif /* JSIDebugging_h */
|
|
162
|
+
`.trim(),
|
|
163
|
+
|
|
164
|
+
'jsi_debugging.cpp': `
|
|
165
|
+
//
|
|
166
|
+
// jsi_debugging.cpp
|
|
167
|
+
//
|
|
168
|
+
|
|
169
|
+
#include "jsi_debugging.h"
|
|
170
|
+
#include <jsi/jsi.h>
|
|
171
|
+
#include <string>
|
|
172
|
+
#include <iostream>
|
|
173
|
+
#include <sstream>
|
|
174
|
+
|
|
175
|
+
using namespace facebook::jsi;
|
|
176
|
+
using namespace std;
|
|
177
|
+
|
|
178
|
+
namespace jsi_debugging {
|
|
179
|
+
std::string jsiValueToCppString(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) {
|
|
180
|
+
if (value.isString()) {
|
|
181
|
+
facebook::jsi::String jsiStr = value.asString(runtime);
|
|
182
|
+
return jsiStr.utf8(runtime);
|
|
183
|
+
} else if (value.isNumber()) {
|
|
184
|
+
return std::to_string(value.asNumber());
|
|
185
|
+
} else if (value.isBool()) {
|
|
186
|
+
return value.getBool() ? "true" : "false";
|
|
187
|
+
} else if (value.isObject()) {
|
|
188
|
+
facebook::jsi::Object obj = value.asObject(runtime);
|
|
189
|
+
if (obj.isFunction(runtime)) {
|
|
190
|
+
return "[Function]";
|
|
191
|
+
} else {
|
|
192
|
+
return "[Object]";
|
|
193
|
+
}
|
|
194
|
+
} else if (value.isNull()) {
|
|
195
|
+
return "null";
|
|
196
|
+
} else if (value.isUndefined()) {
|
|
197
|
+
return "undefined";
|
|
198
|
+
} else {
|
|
199
|
+
return "[Unknown Value]";
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
void install(Runtime & jsiRuntime) {
|
|
204
|
+
auto nativeLog = Function::createFromHostFunction(
|
|
205
|
+
jsiRuntime,
|
|
206
|
+
PropNameID::forAscii(jsiRuntime, "nativeLog"),
|
|
207
|
+
1,
|
|
208
|
+
[](
|
|
209
|
+
facebook::jsi::Runtime& runtime,
|
|
210
|
+
const facebook::jsi::Value&,
|
|
211
|
+
const facebook::jsi::Value* args,
|
|
212
|
+
size_t count
|
|
213
|
+
) {
|
|
214
|
+
std::ostringstream output;
|
|
215
|
+
|
|
216
|
+
for (size_t i = 0; i < count; i++) {
|
|
217
|
+
if (i > 0) {
|
|
218
|
+
output << " "; // Add space between arguments
|
|
219
|
+
}
|
|
220
|
+
output << jsiValueToCppString(runtime, args[i]);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
std::cout << output.str() << std::endl;
|
|
224
|
+
|
|
225
|
+
return Value::undefined();
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
jsiRuntime.global().setProperty(jsiRuntime, "nativeLog", std::move(nativeLog));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
`.trim(),
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
module.exports = plugin
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxrn",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.368",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"patches",
|
|
13
13
|
"dist",
|
|
14
14
|
"run.mjs",
|
|
15
|
+
"expo-js-native-debugging-plugin.cjs",
|
|
15
16
|
"react-native-template.js",
|
|
16
17
|
"react-native-commands.cjs",
|
|
17
18
|
"expo-plugin.cjs"
|
|
@@ -53,15 +54,15 @@
|
|
|
53
54
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
54
55
|
"@tamagui/react-native-svg": "^1.120.2",
|
|
55
56
|
"@vitejs/plugin-react-swc": "^3.7.0",
|
|
56
|
-
"@vxrn/debug": "1.1.
|
|
57
|
-
"@vxrn/query-string": "1.1.
|
|
58
|
-
"@vxrn/react-native-prebuilt": "1.1.
|
|
59
|
-
"@vxrn/resolve": "1.1.
|
|
60
|
-
"@vxrn/safe-area": "1.1.
|
|
61
|
-
"@vxrn/url-parse": "1.1.
|
|
62
|
-
"@vxrn/vendor": "1.1.
|
|
63
|
-
"@vxrn/vite-flow": "1.1.
|
|
64
|
-
"@vxrn/vite-native-swc": "1.1.
|
|
57
|
+
"@vxrn/debug": "1.1.368",
|
|
58
|
+
"@vxrn/query-string": "1.1.368",
|
|
59
|
+
"@vxrn/react-native-prebuilt": "1.1.368",
|
|
60
|
+
"@vxrn/resolve": "1.1.368",
|
|
61
|
+
"@vxrn/safe-area": "1.1.368",
|
|
62
|
+
"@vxrn/url-parse": "1.1.368",
|
|
63
|
+
"@vxrn/vendor": "1.1.368",
|
|
64
|
+
"@vxrn/vite-flow": "1.1.368",
|
|
65
|
+
"@vxrn/vite-native-swc": "1.1.368",
|
|
65
66
|
"citty": "^0.1.6",
|
|
66
67
|
"env-editor": "^1.1.0",
|
|
67
68
|
"es-module-lexer": "^1.3.0",
|
|
@@ -76,12 +77,12 @@
|
|
|
76
77
|
"picocolors": "^1.0.0",
|
|
77
78
|
"pkg-types": "^1.0.3",
|
|
78
79
|
"qrcode-terminal": "^0.12.0",
|
|
79
|
-
"rollup": "^4",
|
|
80
|
+
"rollup": "^4.29.1",
|
|
80
81
|
"semver": "^7.6.3",
|
|
81
82
|
"vite": "^6.0.3",
|
|
82
83
|
"vite-bundle-analyzer": "^0.9.4",
|
|
83
84
|
"vite-plugin-mkcert": "^1.17.5",
|
|
84
|
-
"ws": "^8.
|
|
85
|
+
"ws": "^8.18.0"
|
|
85
86
|
},
|
|
86
87
|
"devDependencies": {
|
|
87
88
|
"@biomejs/biome": "^1.8.3",
|
package/src/cli.ts
CHANGED
|
@@ -23,6 +23,10 @@ const dev = defineCommand({
|
|
|
23
23
|
https: {
|
|
24
24
|
type: 'boolean',
|
|
25
25
|
},
|
|
26
|
+
'debug-bundle': {
|
|
27
|
+
type: 'boolean',
|
|
28
|
+
description: `Will output the bundle to a temp file and then serve it from there afterwards allowing you to easily edit the bundle to debug problems.`,
|
|
29
|
+
},
|
|
26
30
|
},
|
|
27
31
|
async run({ args }) {
|
|
28
32
|
const imported = await import(
|
|
@@ -36,6 +40,7 @@ const dev = defineCommand({
|
|
|
36
40
|
const { start, stop } = await dev({
|
|
37
41
|
clean: args.clean,
|
|
38
42
|
root: process.cwd(),
|
|
43
|
+
debugBundle: !!args['debug-bundle'],
|
|
39
44
|
server: {
|
|
40
45
|
https: args.https,
|
|
41
46
|
host: args.host,
|
|
@@ -139,11 +144,12 @@ const prebuild = defineCommand({
|
|
|
139
144
|
meta: {
|
|
140
145
|
name: 'prebuild',
|
|
141
146
|
version: '0.0.0',
|
|
142
|
-
description: 'Prebuild native
|
|
147
|
+
description: 'Prebuild native project',
|
|
143
148
|
},
|
|
144
149
|
args: {
|
|
145
150
|
platform: {
|
|
146
151
|
type: 'string',
|
|
152
|
+
description: 'ios or android',
|
|
147
153
|
},
|
|
148
154
|
},
|
|
149
155
|
async run({ args }) {
|
|
@@ -8,6 +8,8 @@ import type { VXRNOptionsFilled } from '../utils/getOptionsFilled'
|
|
|
8
8
|
import { clearCachedBundle, getReactNativeBundle } from '../utils/getReactNativeBundle'
|
|
9
9
|
import { hotUpdateCache } from '../utils/hotUpdateCache'
|
|
10
10
|
import { URL } from 'node:url'
|
|
11
|
+
import { existsSync } from 'node:fs'
|
|
12
|
+
import { readFile, writeFile } from 'node:fs/promises'
|
|
11
13
|
|
|
12
14
|
type ClientMessage = {
|
|
13
15
|
type: 'client-log'
|
|
@@ -108,7 +110,26 @@ export function createReactNativeDevServerPlugin(options: VXRNOptionsFilled): Pl
|
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
try {
|
|
111
|
-
const bundle = await
|
|
113
|
+
const bundle = await (async () => {
|
|
114
|
+
if (options.debugBundle) {
|
|
115
|
+
const path = options.debugBundlePaths[platform]
|
|
116
|
+
if (existsSync(path)) {
|
|
117
|
+
console.info(` !!! - serving debug bundle from`, path)
|
|
118
|
+
return await readFile(path, 'utf-8')
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const outBundle = await getReactNativeBundle(options, platform)
|
|
123
|
+
|
|
124
|
+
if (options.debugBundle) {
|
|
125
|
+
const path = options.debugBundlePaths[platform]
|
|
126
|
+
console.info(` !!! - writing debug bundle to`, path)
|
|
127
|
+
await writeFile(path, outBundle)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return outBundle
|
|
131
|
+
})()
|
|
132
|
+
|
|
112
133
|
res.writeHead(200, { 'Content-Type': 'text/javascript' })
|
|
113
134
|
res.end(bundle)
|
|
114
135
|
} catch (err) {
|
package/src/types.ts
CHANGED
|
@@ -105,6 +105,11 @@ export type VXRNOptions = {
|
|
|
105
105
|
* Whether to clean cache directories on startup
|
|
106
106
|
*/
|
|
107
107
|
clean?: boolean
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Will output the bundle to a temp file and then serve it from there afterwards allowing you to easily edit the bundle to debug problems.
|
|
111
|
+
*/
|
|
112
|
+
debugBundle?: boolean
|
|
108
113
|
}
|
|
109
114
|
|
|
110
115
|
export type HMRListener = (update: { file: string; contents: string }) => void
|
package/src/utils/depPatches.ts
CHANGED
|
@@ -236,27 +236,27 @@ ${contents}
|
|
|
236
236
|
},
|
|
237
237
|
},
|
|
238
238
|
|
|
239
|
-
{
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
},
|
|
239
|
+
// {
|
|
240
|
+
// module: 'rollup',
|
|
241
|
+
// patchFiles: {
|
|
242
|
+
// 'dist/es/shared/node-entry.js': (contents) => {
|
|
243
|
+
// assertString(contents)
|
|
244
|
+
// // fixes problem with @sentry/react-native 5.5.0 using setimmediate polyfill causing error
|
|
245
|
+
// contents = contents.replace(
|
|
246
|
+
// `return this.exportNamesByVariable.get(variable)[0];`,
|
|
247
|
+
// `return this.exportNamesByVariable.get(variable)?.[0];`
|
|
248
|
+
// )
|
|
249
|
+
|
|
250
|
+
// // fix https://github.com/rollup/rollup/issues/5770
|
|
251
|
+
// contents = contents.replaceAll(
|
|
252
|
+
// `this.expressionsToBeDeoptimized = EMPTY_ARRAY;`,
|
|
253
|
+
// `this.expressionsToBeDeoptimized = [];`
|
|
254
|
+
// )
|
|
255
|
+
|
|
256
|
+
// return contents
|
|
257
|
+
// },
|
|
258
|
+
// },
|
|
259
|
+
// },
|
|
260
260
|
|
|
261
261
|
{
|
|
262
262
|
module: '@react-native/assets-registry',
|
|
@@ -5,6 +5,7 @@ import { join } from 'node:path'
|
|
|
5
5
|
import { readPackageJSON } from 'pkg-types'
|
|
6
6
|
import type { VXRNOptions } from '../types'
|
|
7
7
|
import { readState, writeState } from './state'
|
|
8
|
+
import { tmpdir } from 'node:os'
|
|
8
9
|
|
|
9
10
|
const require = createRequire(import.meta.url)
|
|
10
11
|
|
|
@@ -65,9 +66,14 @@ export async function fillOptions(
|
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
const protocol = https ? ('https:' as const) : ('http:' as const)
|
|
69
|
+
const bundleId = Math.round(Math.random() * 100_000)
|
|
68
70
|
|
|
69
71
|
const final = {
|
|
70
72
|
...options,
|
|
73
|
+
debugBundlePaths: {
|
|
74
|
+
ios: join(tmpdir(), `bundle-${bundleId}-ios.js`),
|
|
75
|
+
android: join(tmpdir(), `bundle-${bundleId}-android.js`),
|
|
76
|
+
},
|
|
71
77
|
mode: devMode ? ('development' as const) : ('production' as const),
|
|
72
78
|
clean,
|
|
73
79
|
root,
|
package/src/utils/utils.ts
CHANGED
|
@@ -24,7 +24,10 @@ export async function lookupFile(dir: string, fileNames: string[]): Promise<stri
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export function getHash(text: Buffer | string, length = 8): string {
|
|
27
|
-
const h = createHash('sha256')
|
|
27
|
+
const h = createHash('sha256')
|
|
28
|
+
.update(text as any)
|
|
29
|
+
.digest('hex')
|
|
30
|
+
.substring(0, length)
|
|
28
31
|
if (length <= 64) return h
|
|
29
32
|
return h.padEnd(length, '_')
|
|
30
33
|
}
|
package/types/exports/build.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { BuildArgs, VXRNOptions } from '../types';
|
|
2
2
|
export declare const build: (optionsIn: VXRNOptions, buildArgs?: BuildArgs) => Promise<{
|
|
3
3
|
options: {
|
|
4
|
+
debugBundlePaths: {
|
|
5
|
+
ios: string;
|
|
6
|
+
android: string;
|
|
7
|
+
};
|
|
4
8
|
mode: "development" | "production";
|
|
5
9
|
clean: boolean;
|
|
6
10
|
root: string;
|
|
@@ -34,6 +38,7 @@ export declare const build: (optionsIn: VXRNOptions, buildArgs?: BuildArgs) => P
|
|
|
34
38
|
server?: boolean | import("..").VXRNBuildOptions;
|
|
35
39
|
analyze?: boolean;
|
|
36
40
|
};
|
|
41
|
+
debugBundle?: boolean;
|
|
37
42
|
};
|
|
38
43
|
buildArgs: BuildArgs;
|
|
39
44
|
serverEntry: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/exports/build.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA8BtD,eAAO,MAAM,KAAK,cAAqB,WAAW,cAAa,SAAS
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/exports/build.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA8BtD,eAAO,MAAM,KAAK,cAAqB,WAAW,cAAa,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBnE,CAAC;mBAGiB,CAAC;;;;;;;;;;;EA6KvB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactNativeDevServer.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"reactNativeDevServer.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAalE,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAsKnF"}
|
package/types/types.d.ts
CHANGED
|
@@ -91,6 +91,10 @@ export type VXRNOptions = {
|
|
|
91
91
|
* Whether to clean cache directories on startup
|
|
92
92
|
*/
|
|
93
93
|
clean?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Will output the bundle to a temp file and then serve it from there afterwards allowing you to easily edit the bundle to debug problems.
|
|
96
|
+
*/
|
|
97
|
+
debugBundle?: boolean;
|
|
94
98
|
};
|
|
95
99
|
export type HMRListener = (update: {
|
|
96
100
|
file: string;
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEtC,KAAK,gBAAgB,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,EAAE,gBAAgB,CAAA;IAC9B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,cAAc,EAAE,UAAU,CAAA;IAC1B,iBAAiB,EAAE,UAAU,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,cAAc,EAAE;QAEd,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;KACnC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AAErF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IAE5B,SAAS,CAAC,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEhE,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IAEnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QAEnC;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;IAED,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,YAAY,CAAC,EAAE,KAAK,CAAA;QACpB,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAA;QAEf;;;;WAIG;QACH,QAAQ,CAAC,EAAE,iBAAiB,CAAA;KAC7B,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEtC,KAAK,gBAAgB,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,EAAE,gBAAgB,CAAA;IAC9B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,cAAc,EAAE,UAAU,CAAA;IAC1B,iBAAiB,EAAE,UAAU,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,cAAc,EAAE;QAEd,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;KACnC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AAErF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IAE5B,SAAS,CAAC,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEhE,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IAEnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;QAEnC;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;IAED,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,YAAY,CAAC,EAAE,KAAK,CAAA;QACpB,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAA;QAEf;;;;WAIG;QACH,QAAQ,CAAC,EAAE,iBAAiB,CAAA;KAC7B,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAA"}
|
|
@@ -3,6 +3,10 @@ export type VXRNOptionsFilled = Awaited<ReturnType<typeof fillOptions>>;
|
|
|
3
3
|
export declare function fillOptions(options: VXRNOptions, internal?: {
|
|
4
4
|
mode?: 'dev' | 'prod';
|
|
5
5
|
}): Promise<{
|
|
6
|
+
debugBundlePaths: {
|
|
7
|
+
ios: string;
|
|
8
|
+
android: string;
|
|
9
|
+
};
|
|
6
10
|
mode: "development" | "production";
|
|
7
11
|
clean: boolean;
|
|
8
12
|
root: string;
|
|
@@ -36,8 +40,13 @@ export declare function fillOptions(options: VXRNOptions, internal?: {
|
|
|
36
40
|
server?: boolean | import("..").VXRNBuildOptions;
|
|
37
41
|
analyze?: boolean;
|
|
38
42
|
};
|
|
43
|
+
debugBundle?: boolean;
|
|
39
44
|
}>;
|
|
40
45
|
export declare function getOptionsFilled(): {
|
|
46
|
+
debugBundlePaths: {
|
|
47
|
+
ios: string;
|
|
48
|
+
android: string;
|
|
49
|
+
};
|
|
41
50
|
mode: "development" | "production";
|
|
42
51
|
clean: boolean;
|
|
43
52
|
root: string;
|
|
@@ -71,5 +80,6 @@ export declare function getOptionsFilled(): {
|
|
|
71
80
|
server?: boolean | import("..").VXRNBuildOptions;
|
|
72
81
|
analyze?: boolean;
|
|
73
82
|
};
|
|
83
|
+
debugBundle?: boolean;
|
|
74
84
|
} | null;
|
|
75
85
|
//# sourceMappingURL=getOptionsFilled.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOptionsFilled.d.ts","sourceRoot":"","sources":["../../src/utils/getOptionsFilled.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"getOptionsFilled.d.ts","sourceRoot":"","sources":["../../src/utils/getOptionsFilled.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAM3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;AAIvE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,QAAQ,GAAE;IAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuCvB,CAAC;eAK5B,CAAA;;;GAwCJ;AAED,wBAAgB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA/CA,CAAC;eAK5B,CAAA;;;SA4CJ"}
|