vxrn 1.25.8 → 1.25.9
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/config/getViteServerConfig.mjs +6 -0
- package/dist/config/getViteServerConfig.mjs.map +1 -1
- package/dist/config/getViteServerConfig.native.js +6 -0
- package/dist/config/getViteServerConfig.native.js.map +1 -1
- package/dist/config/getViteServerConfig.test.mjs +26 -0
- package/dist/config/getViteServerConfig.test.mjs.map +1 -0
- package/dist/config/getViteServerConfig.test.native.js +26 -0
- package/dist/config/getViteServerConfig.test.native.js.map +1 -0
- package/dist/exports/dev.mjs +26 -1
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +26 -1
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +80 -7
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +80 -7
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/runtime/native-prelude.mjs +7 -0
- package/dist/runtime/native-prelude.mjs.map +1 -1
- package/dist/runtime/native-prelude.native.js +7 -0
- package/dist/runtime/native-prelude.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +302 -197
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +410 -221
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.test.mjs +536 -6
- package/dist/utils/createNativeDevEngine.test.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.test.native.js +559 -6
- package/dist/utils/createNativeDevEngine.test.native.js.map +1 -1
- package/package.json +11 -11
- package/src/config/getViteServerConfig.test.ts +29 -0
- package/src/config/getViteServerConfig.ts +11 -0
- package/src/exports/dev.ts +34 -3
- package/src/plugins/reactNativeDevServer.ts +89 -12
- package/src/runtime/native-prelude.ts +7 -0
- package/src/utils/createNativeDevEngine.test.ts +682 -5
- package/src/utils/createNativeDevEngine.ts +516 -229
- package/types/config/getViteServerConfig.d.ts.map +1 -1
- package/types/config/getViteServerConfig.test.d.ts +2 -0
- package/types/config/getViteServerConfig.test.d.ts.map +1 -0
- package/types/exports/dev.d.ts.map +1 -1
- package/types/plugins/reactNativeDevServer.d.ts +1 -0
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/runtime/native-prelude.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts +40 -2
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
|
@@ -37,6 +37,12 @@ async function getViteServerConfig(config, userViteConfig) {
|
|
|
37
37
|
...rest
|
|
38
38
|
};
|
|
39
39
|
serverConfig = mergeUserConfig(optimizeDeps, serverConfig, mergableUserConf);
|
|
40
|
+
serverConfig.server = {
|
|
41
|
+
...serverConfig.server,
|
|
42
|
+
host: server.host,
|
|
43
|
+
https: server.https,
|
|
44
|
+
port: server.port
|
|
45
|
+
};
|
|
40
46
|
if (rerouteNoExternalConfig) {
|
|
41
47
|
serverConfig.ssr.noExternal = true;
|
|
42
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mergeConfig","getBaseViteConfigWithPlugins","getOptimizeDeps","mergeUserConfig","getReactNativePlugins","getAdditionalViteConfig","getViteServerConfig","config","userViteConfig","root","server","optimizeDeps","serverConfig","plugins","ws","path","host","https","port","rerouteNoExternalConfig","ssr","noExternal","rest","mergableUserConf","process","env","DEBUG","console","debug","JSON","stringify"],"sources":["../../src/config/getViteServerConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAuD;AAEhE,SAASC,4BAAA,QAAoC;AAC7C,SAASC,eAAA,QAAuB;AAEhC,SAASC,eAAA,QAAuB;AAEhC,SAASC,qBAAA,QAA6B;AACtC,SAASC,uBAAA,QAA+B;AAMxC,eAAsBC,oBACpBC,MAAA,EACAC,cAAA,EACA;EACA,MAAM;IAAEC,IAAA;IAAMC;EAAO,IAAIH,MAAA;EACzB,MAAM;IAAEI;EAAa,IAAIT,eAAA,CAAgB,OAAO;EAGhD,IAAIU,YAAA,GAA2BZ,WAAA,CAC7B,MAAMC,4BAAA,CAA6BM,MAAM,GAEzCP,WAAA,CAAYK,uBAAA,CAAwB,GAAG;IACrCQ,OAAA,EAAS,CAAC,GAAGT,qBAAA,CAAsBG,MAAM,CAAC;IAC1CG,MAAA,EAAQ;MAAA;MAENI,EAAA,EAAI;QACFC,IAAA,EAAM;MACR;MACAC,IAAA,EAAMN,MAAA,CAAOM,IAAA;MACbC,KAAA,EAAOP,MAAA,CAAOO,KAAA;MACdC,IAAA,EAAMR,MAAA,CAAOQ;IACf;IACAT;EACF,CAAsB,CACxB;EAEA,MAAMU,uBAAA,GAA0BX,cAAA,EAAgBY,GAAA,EAAKC,UAAA,KAAe;EACpE,IAAIF,uBAAA,EAAyB;IAC3B,OAAOX,cAAA,CAAeY,GAAA,CAAKC,UAAA;EAC7B;EAMA,MAAM;IAAER,OAAA;IAAS,GAAGS;EAAK,IAAId,cAAA,IAAkB,CAAC;EAChD,MAAMe,gBAAA,GAAmB;IACvB,GAAGD;EACL;EAEAV,YAAA,GAAeT,eAAA,CAAgBQ,YAAA,EAAcC,YAAA,EAAcW,gBAAgB;
|
|
1
|
+
{"version":3,"names":["mergeConfig","getBaseViteConfigWithPlugins","getOptimizeDeps","mergeUserConfig","getReactNativePlugins","getAdditionalViteConfig","getViteServerConfig","config","userViteConfig","root","server","optimizeDeps","serverConfig","plugins","ws","path","host","https","port","rerouteNoExternalConfig","ssr","noExternal","rest","mergableUserConf","process","env","DEBUG","console","debug","JSON","stringify"],"sources":["../../src/config/getViteServerConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAuD;AAEhE,SAASC,4BAAA,QAAoC;AAC7C,SAASC,eAAA,QAAuB;AAEhC,SAASC,eAAA,QAAuB;AAEhC,SAASC,qBAAA,QAA6B;AACtC,SAASC,uBAAA,QAA+B;AAMxC,eAAsBC,oBACpBC,MAAA,EACAC,cAAA,EACA;EACA,MAAM;IAAEC,IAAA;IAAMC;EAAO,IAAIH,MAAA;EACzB,MAAM;IAAEI;EAAa,IAAIT,eAAA,CAAgB,OAAO;EAGhD,IAAIU,YAAA,GAA2BZ,WAAA,CAC7B,MAAMC,4BAAA,CAA6BM,MAAM,GAEzCP,WAAA,CAAYK,uBAAA,CAAwB,GAAG;IACrCQ,OAAA,EAAS,CAAC,GAAGT,qBAAA,CAAsBG,MAAM,CAAC;IAC1CG,MAAA,EAAQ;MAAA;MAENI,EAAA,EAAI;QACFC,IAAA,EAAM;MACR;MACAC,IAAA,EAAMN,MAAA,CAAOM,IAAA;MACbC,KAAA,EAAOP,MAAA,CAAOO,KAAA;MACdC,IAAA,EAAMR,MAAA,CAAOQ;IACf;IACAT;EACF,CAAsB,CACxB;EAEA,MAAMU,uBAAA,GAA0BX,cAAA,EAAgBY,GAAA,EAAKC,UAAA,KAAe;EACpE,IAAIF,uBAAA,EAAyB;IAC3B,OAAOX,cAAA,CAAeY,GAAA,CAAKC,UAAA;EAC7B;EAMA,MAAM;IAAER,OAAA;IAAS,GAAGS;EAAK,IAAId,cAAA,IAAkB,CAAC;EAChD,MAAMe,gBAAA,GAAmB;IACvB,GAAGD;EACL;EAEAV,YAAA,GAAeT,eAAA,CAAgBQ,YAAA,EAAcC,YAAA,EAAcW,gBAAgB;EAM3EX,YAAA,CAAaF,MAAA,GAAS;IACpB,GAAGE,YAAA,CAAaF,MAAA;IAChBM,IAAA,EAAMN,MAAA,CAAOM,IAAA;IACbC,KAAA,EAAOP,MAAA,CAAOO,KAAA;IACdC,IAAA,EAAMR,MAAA,CAAOQ;EACf;EAEA,IAAIC,uBAAA,EAAyB;IAC3BP,YAAA,CAAaQ,GAAA,CAAKC,UAAA,GAAa;EACjC;EAGA,IAAIG,OAAA,CAAQC,GAAA,CAAIC,KAAA,EAAO;IAErBC,OAAA,CAAQC,KAAA,CAAM,kBAAkBC,IAAA,CAAKC,SAAA,CAAUlB,YAAA,EAAc,MAAM,CAAC,GAAG;AAAA;AAAA,CAAU;EACnF;EAEA,OAAOA,YAAA;AACT","ignoreList":[]}
|
|
@@ -38,6 +38,12 @@ async function getViteServerConfig(config, userViteConfig) {
|
|
|
38
38
|
...rest
|
|
39
39
|
};
|
|
40
40
|
serverConfig = mergeUserConfig(optimizeDeps, serverConfig, mergableUserConf);
|
|
41
|
+
serverConfig.server = {
|
|
42
|
+
...serverConfig.server,
|
|
43
|
+
host: server.host,
|
|
44
|
+
https: server.https,
|
|
45
|
+
port: server.port
|
|
46
|
+
};
|
|
41
47
|
if (rerouteNoExternalConfig) {
|
|
42
48
|
serverConfig.ssr.noExternal = true;
|
|
43
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mergeConfig","getBaseViteConfigWithPlugins","getOptimizeDeps","mergeUserConfig","getReactNativePlugins","getAdditionalViteConfig","getViteServerConfig","config","userViteConfig","_userViteConfig_ssr","root","server","optimizeDeps","serverConfig","plugins","ws","path","host","https","port","rerouteNoExternalConfig","ssr","noExternal","rest","mergableUserConf","process","env","DEBUG","console","debug","JSON","stringify"],"sources":["../../src/config/getViteServerConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAuD;AAEhE,SAASC,4BAAA,QAAoC;AAC7C,SAASC,eAAA,QAAuB;AAEhC,SAASC,eAAA,QAAuB;AAEhC,SAASC,qBAAA,QAA6B;AACtC,SAASC,uBAAA,QAA+B;AAMxC,eAAsBC,oBACpBC,MAAA,EACAC,cAAA,EACA;EACA,IAAAC,mBAAqB;EACrB;IAAMC,IAAE;IAAAC;EAAA,IAAaJ,MAAI;EAGzB,IAAI;IAAAK;EAA2B,IAAAV,eAAA;EAAA,IAC7BW,YAAM,GAAAb,WAAA,OAA6BC,4BAAM,CAAAM,MAAA,GAAAP,WAAA,CAAAK,uBAAA;IAEzCS,OAAA,GACE,GAAAV,qBAAa,CAAAG,MAAA,EAA6B;IAClCI,MAAA;MAAA;MAEFI,EAAA,EACF;QACFC,IAAA;MAAA;MACaC,IACb,EAAAN,MAAO,CAAAM,IAAO;MAAAC,KACd,EAAAP,MAAM,CAAAO,KAAO;MACfC,IAAA,EAAAR,MAAA,CAAAQ;IAAA;IAEFT;EACF;EAEA,IAAAU,uBAAM,IAAAZ,cAA0B,KAAgB,IAAK,IAAAA,cAAe,wBAAAC,mBAAA,GAAAD,cAAA,CAAAa,GAAA,cAAAZ,mBAAA,uBAAAA,mBAAA,CAAAa,UAAA;EACpE,IAAIF,uBAAA,EAAyB;IAC3B,OAAOZ,cAAA,CAAea,GAAA,CAAKC,UAAA;EAC7B;EAMA;IAAMR,OAAE;IAAA,GAASS;EAAG,IAAKf,cAAI,MAAkB;EAC/C,IAAAgB,gBAAM;IACJ,GAAGD;EACL;EAEAV,YAAA,GAAeV,eAAA,CAAgBS,YAAA,EAAcC,YAAA,EAAcW,gBAAgB;
|
|
1
|
+
{"version":3,"names":["mergeConfig","getBaseViteConfigWithPlugins","getOptimizeDeps","mergeUserConfig","getReactNativePlugins","getAdditionalViteConfig","getViteServerConfig","config","userViteConfig","_userViteConfig_ssr","root","server","optimizeDeps","serverConfig","plugins","ws","path","host","https","port","rerouteNoExternalConfig","ssr","noExternal","rest","mergableUserConf","process","env","DEBUG","console","debug","JSON","stringify"],"sources":["../../src/config/getViteServerConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAuD;AAEhE,SAASC,4BAAA,QAAoC;AAC7C,SAASC,eAAA,QAAuB;AAEhC,SAASC,eAAA,QAAuB;AAEhC,SAASC,qBAAA,QAA6B;AACtC,SAASC,uBAAA,QAA+B;AAMxC,eAAsBC,oBACpBC,MAAA,EACAC,cAAA,EACA;EACA,IAAAC,mBAAqB;EACrB;IAAMC,IAAE;IAAAC;EAAA,IAAaJ,MAAI;EAGzB,IAAI;IAAAK;EAA2B,IAAAV,eAAA;EAAA,IAC7BW,YAAM,GAAAb,WAAA,OAA6BC,4BAAM,CAAAM,MAAA,GAAAP,WAAA,CAAAK,uBAAA;IAEzCS,OAAA,GACE,GAAAV,qBAAa,CAAAG,MAAA,EAA6B;IAClCI,MAAA;MAAA;MAEFI,EAAA,EACF;QACFC,IAAA;MAAA;MACaC,IACb,EAAAN,MAAO,CAAAM,IAAO;MAAAC,KACd,EAAAP,MAAM,CAAAO,KAAO;MACfC,IAAA,EAAAR,MAAA,CAAAQ;IAAA;IAEFT;EACF;EAEA,IAAAU,uBAAM,IAAAZ,cAA0B,KAAgB,IAAK,IAAAA,cAAe,wBAAAC,mBAAA,GAAAD,cAAA,CAAAa,GAAA,cAAAZ,mBAAA,uBAAAA,mBAAA,CAAAa,UAAA;EACpE,IAAIF,uBAAA,EAAyB;IAC3B,OAAOZ,cAAA,CAAea,GAAA,CAAKC,UAAA;EAC7B;EAMA;IAAMR,OAAE;IAAA,GAASS;EAAG,IAAKf,cAAI,MAAkB;EAC/C,IAAAgB,gBAAM;IACJ,GAAGD;EACL;EAEAV,YAAA,GAAeV,eAAA,CAAgBS,YAAA,EAAcC,YAAA,EAAcW,gBAAgB;EAM3EX,YAAA,CAAaF,MAAA,GAAS;IACpB,GAAGE,YAAA,CAAaF,MAAA;IAChBM,IAAA,EAAMN,MAAA,CAAOM,IAAA;IACbC,KAAA,EAAOP,MAAA,CAAOO,KAAA;IACdC,IAAA,EAAMR,MAAA,CAAOQ;EACf;EAEA,IAAIC,uBAAA,EAAyB;IAC3BP,YAAA,CAAaQ,GAAA,CAAKC,UAAA,GAAa;EACjC;EAGA,IAAIG,OAAA,CAAQC,GAAA,CAAIC,KAAA,EAAO;IAErBC,OAAA,CAAQC,KAAA,CAAM,kBAAkBC,IAAA,CAAKC,SAAA,CAAUlB,YAAA,EAAc,MAAM,CAAC,GAAG;AAAA;AAAA,CAAU;EACnF;EAEA,OAAOA,YAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { getViteServerConfig } from "./getViteServerConfig.mjs";
|
|
3
|
+
describe("getViteServerConfig", () => {
|
|
4
|
+
test("preserves the resolved CLI address over a static Vite server block", async () => {
|
|
5
|
+
const config = {
|
|
6
|
+
root: process.cwd(),
|
|
7
|
+
mode: "development",
|
|
8
|
+
server: {
|
|
9
|
+
host: "127.0.0.1",
|
|
10
|
+
https: void 0,
|
|
11
|
+
port: 4301
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const result = await getViteServerConfig(config, {
|
|
15
|
+
server: {
|
|
16
|
+
host: "0.0.0.0",
|
|
17
|
+
port: 4280
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
expect(result.server).toMatchObject({
|
|
21
|
+
host: "127.0.0.1",
|
|
22
|
+
port: 4301
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=getViteServerConfig.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","test","getViteServerConfig","config","root","process","cwd","mode","server","host","https","port","result","toMatchObject"],"sources":["../../src/config/getViteServerConfig.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAASC,mBAAA,QAA2B;AAEpCH,QAAA,CAAS,uBAAuB,MAAM;EACpCE,IAAA,CAAK,sEAAsE,YAAY;IACrF,MAAME,MAAA,GAAS;MACbC,IAAA,EAAMC,OAAA,CAAQC,GAAA,CAAI;MAClBC,IAAA,EAAM;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;QACNC,KAAA,EAAO;QACPC,IAAA,EAAM;MACR;IACF;IAEA,MAAMC,MAAA,GAAS,MAAMV,mBAAA,CAAoBC,MAAA,EAAQ;MAC/CK,MAAA,EAAQ;QACNC,IAAA,EAAM;QACNE,IAAA,EAAM;MACR;IACF,CAAC;IAEDX,MAAA,CAAOY,MAAA,CAAOJ,MAAM,EAAEK,aAAA,CAAc;MAClCJ,IAAA,EAAM;MACNE,IAAA,EAAM;IACR,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { getViteServerConfig } from "./getViteServerConfig.native.js";
|
|
3
|
+
describe("getViteServerConfig", function () {
|
|
4
|
+
test("preserves the resolved CLI address over a static Vite server block", async function () {
|
|
5
|
+
var config = {
|
|
6
|
+
root: process.cwd(),
|
|
7
|
+
mode: "development",
|
|
8
|
+
server: {
|
|
9
|
+
host: "127.0.0.1",
|
|
10
|
+
https: void 0,
|
|
11
|
+
port: 4301
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var result = await getViteServerConfig(config, {
|
|
15
|
+
server: {
|
|
16
|
+
host: "0.0.0.0",
|
|
17
|
+
port: 4280
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
expect(result.server).toMatchObject({
|
|
21
|
+
host: "127.0.0.1",
|
|
22
|
+
port: 4301
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=getViteServerConfig.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","test","getViteServerConfig","config","root","process","cwd","mode","server","host","https","port","result","toMatchObject"],"sources":["../../src/config/getViteServerConfig.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAASC,mBAAA,QAA2B;AAEpCH,QAAA,CAAS,uBAAuB,YAAM;EACpCE,IAAA,CAAK,sEAAsE,kBAAY;IACrF,IAAAE,MAAM;MACJC,IAAA,EAAMC,OAAA,CAAQC,GAAA,CAAI;MAClBC,IAAA,EAAM;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;QACNC,KAAA,EAAO;QACPC,IAAA,EAAM;MACR;IACF;IAEA,IAAAC,MAAM,SAASV,mBAAM,CAAAC,MAAoB;MACvCK,MAAA,EAAQ;QACNC,IAAA,EAAM;QACNE,IAAA,EAAM;MACR;IACF,CAAC;IAEDX,MAAA,CAAOY,MAAA,CAAOJ,MAAM,EAAEK,aAAA,CAAc;MAClCJ,IAAA,EAAM;MACNE,IAAA,EAAM;IACR,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
|
package/dist/exports/dev.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
1
2
|
import FSExtra from "fs-extra";
|
|
2
3
|
import colors from "picocolors";
|
|
3
4
|
import { debounce } from "perfect-debounce";
|
|
@@ -5,11 +6,35 @@ import { normalizePath } from "vite";
|
|
|
5
6
|
const {
|
|
6
7
|
ensureDir
|
|
7
8
|
} = FSExtra;
|
|
9
|
+
function readParentPid(pid) {
|
|
10
|
+
try {
|
|
11
|
+
const output = execFileSync("ps", ["-o", "ppid=", "-p", `${pid}`], {
|
|
12
|
+
encoding: "utf8",
|
|
13
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
14
|
+
}).trim();
|
|
15
|
+
const ppid = Number.parseInt(output, 10);
|
|
16
|
+
return Number.isFinite(ppid) ? ppid : void 0;
|
|
17
|
+
} catch {
|
|
18
|
+
return void 0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function processExists(pid) {
|
|
22
|
+
try {
|
|
23
|
+
process.kill(pid, 0);
|
|
24
|
+
return true;
|
|
25
|
+
} catch (error) {
|
|
26
|
+
return error.code !== "ESRCH";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
8
29
|
function setupOrphanDetection() {
|
|
9
30
|
if (process.platform === "win32") return;
|
|
10
31
|
const initialPpid = process.ppid;
|
|
32
|
+
const launcherPid = readParentPid(initialPpid);
|
|
33
|
+
if (initialPpid === 1 || launcherPid === 1) {
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
11
36
|
const interval = setInterval(() => {
|
|
12
|
-
if (process.ppid !== initialPpid) {
|
|
37
|
+
if (process.ppid !== initialPpid || launcherPid !== void 0 && !processExists(launcherPid)) {
|
|
13
38
|
process.exit(0);
|
|
14
39
|
}
|
|
15
40
|
}, 500);
|
package/dist/exports/dev.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","colors","debounce","normalizePath","ensureDir","
|
|
1
|
+
{"version":3,"names":["execFileSync","FSExtra","colors","debounce","normalizePath","ensureDir","readParentPid","pid","output","encoding","stdio","trim","ppid","Number","parseInt","isFinite","processExists","process","kill","error","code","setupOrphanDetection","platform","initialPpid","launcherPid","exit","interval","setInterval","unref","collectStartupGarbage","server","webEnvironmentsIdle","map","name","environments","filter","Boolean","environment","waitForRequestsIdle","Promise","all","then","res","setTimeout","v8","vm","setFlagsFromString","gc","runInNewContext","dev","optionsIn","devStartTime","Date","now","env","IS_VXRN_CLI","debug","DEBUG","startUserInterface","bindKeypressInput","fillOptions","getViteServerConfig","printServerUrls","prepareCacheForVersion","filterViteServerResolvedUrls","removeUndefined","createServer","loadConfigFromFile","config","mode","command","console","extraConfig","resolve","extraConfigPath","extraResult","mergeConfig","info","cyan","warn","yellow","oneServerConfig","plugins","find","x","Array","isArray","viteServerConfig","options","host","https","port","cacheDir","cacheWasCleaned","root","versionHash","forceClean","clean","METRO_RESET_CACHE","serverConfig","viteServer","isClosing","start","connectedNativeClients","pendingTransforms","Map","watcher","addListener","path","normalizedPath","includes","normalizedCwd","cwd","id","replace","endsWith","has","set","transformRequest","err","get","httpServer","on","listen","totalStartupTime","bold","viteServerResolvedUrls","resolvedUrls","logger","closePromise","stop","removeAllListeners","close"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { execFileSync } from "child_process";
|
|
1
2
|
import FSExtra from "fs-extra";
|
|
2
3
|
import colors from "picocolors";
|
|
3
4
|
import { debounce } from "perfect-debounce";
|
|
@@ -5,11 +6,35 @@ import { normalizePath } from "vite";
|
|
|
5
6
|
var {
|
|
6
7
|
ensureDir
|
|
7
8
|
} = FSExtra;
|
|
9
|
+
function readParentPid(pid) {
|
|
10
|
+
try {
|
|
11
|
+
var output = execFileSync("ps", ["-o", "ppid=", "-p", `${pid}`], {
|
|
12
|
+
encoding: "utf8",
|
|
13
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
14
|
+
}).trim();
|
|
15
|
+
var ppid = Number.parseInt(output, 10);
|
|
16
|
+
return Number.isFinite(ppid) ? ppid : void 0;
|
|
17
|
+
} catch (unused) {
|
|
18
|
+
return void 0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function processExists(pid) {
|
|
22
|
+
try {
|
|
23
|
+
process.kill(pid, 0);
|
|
24
|
+
return true;
|
|
25
|
+
} catch (error) {
|
|
26
|
+
return error.code !== "ESRCH";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
8
29
|
function setupOrphanDetection() {
|
|
9
30
|
if (process.platform === "win32") return;
|
|
10
31
|
var initialPpid = process.ppid;
|
|
32
|
+
var launcherPid = readParentPid(initialPpid);
|
|
33
|
+
if (initialPpid === 1 || launcherPid === 1) {
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
11
36
|
var interval = setInterval(function () {
|
|
12
|
-
if (process.ppid !== initialPpid) {
|
|
37
|
+
if (process.ppid !== initialPpid || launcherPid !== void 0 && !processExists(launcherPid)) {
|
|
13
38
|
process.exit(0);
|
|
14
39
|
}
|
|
15
40
|
}, 500);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","colors","debounce","normalizePath","ensureDir","
|
|
1
|
+
{"version":3,"names":["execFileSync","FSExtra","colors","debounce","normalizePath","ensureDir","readParentPid","pid","output","encoding","stdio","trim","ppid","Number","parseInt","isFinite","unused","processExists","process","kill","error","code","setupOrphanDetection","platform","initialPpid","launcherPid","exit","interval","setInterval","unref","collectStartupGarbage","server","webEnvironmentsIdle","map","name","environments","filter","Boolean","environment","waitForRequestsIdle","Promise","all","then","res","setTimeout","v8","vm","setFlagsFromString","gc","runInNewContext","dev","optionsIn","_ref","_config_plugins_find____get","_config_plugins_find_","_config_plugins_find","_config_plugins","devStartTime","Date","now","env","IS_VXRN_CLI","debug","_process_env","DEBUG","startUserInterface","bindKeypressInput","fillOptions","getViteServerConfig","printServerUrls","prepareCacheForVersion","filterViteServerResolvedUrls","removeUndefined","createServer","loadConfigFromFile","config","mode","command","console","extraConfig","resolve","extraConfigPath","extraResult","mergeConfig","info","cyan","warn","yellow","oneServerConfig","plugins","find","x","_x_","Array","isArray","viteServerConfig","options","host","https","port","cacheDir","cacheWasCleaned","root","versionHash","forceClean","clean","METRO_RESET_CACHE","serverConfig","viteServer","isClosing","start","_viteServer_httpServer","connectedNativeClients","pendingTransforms","Map","watcher","addListener","path","normalizedPath","includes","normalizedCwd","cwd","id","replace","endsWith","has","set","transformRequest","err","get","httpServer","on","listen","totalStartupTime"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,9 +2,39 @@ import { WebSocketServer } from "ws";
|
|
|
2
2
|
import { createMessageSocket } from "@vxrn/utils";
|
|
3
3
|
import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.mjs";
|
|
4
4
|
import { URL } from "node:url";
|
|
5
|
+
import { readFile } from "node:fs/promises";
|
|
5
6
|
import { createDevMiddleware } from "@react-native/dev-middleware";
|
|
6
7
|
import { createNativeDevEngine } from "../utils/createNativeDevEngine.mjs";
|
|
7
8
|
import { getBoundPort } from "../utils/getBoundPort.mjs";
|
|
9
|
+
function getNativeAssetContentType(type) {
|
|
10
|
+
switch (type.toLowerCase()) {
|
|
11
|
+
case "bmp":
|
|
12
|
+
return "image/bmp";
|
|
13
|
+
case "gif":
|
|
14
|
+
return "image/gif";
|
|
15
|
+
case "jpeg":
|
|
16
|
+
case "jpg":
|
|
17
|
+
return "image/jpeg";
|
|
18
|
+
case "json":
|
|
19
|
+
return "application/json";
|
|
20
|
+
case "otf":
|
|
21
|
+
return "font/otf";
|
|
22
|
+
case "png":
|
|
23
|
+
return "image/png";
|
|
24
|
+
case "svg":
|
|
25
|
+
return "image/svg+xml";
|
|
26
|
+
case "ttf":
|
|
27
|
+
return "font/ttf";
|
|
28
|
+
case "webp":
|
|
29
|
+
return "image/webp";
|
|
30
|
+
case "woff":
|
|
31
|
+
return "font/woff";
|
|
32
|
+
case "woff2":
|
|
33
|
+
return "font/woff2";
|
|
34
|
+
default:
|
|
35
|
+
return "application/octet-stream";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
8
38
|
function createReactNativeDevServerPlugin(options) {
|
|
9
39
|
return {
|
|
10
40
|
name: "vite-plugin-react-native-server",
|
|
@@ -22,6 +52,12 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
22
52
|
noServer: true
|
|
23
53
|
});
|
|
24
54
|
const messageWSS = createMessageSocket();
|
|
55
|
+
const validPlatforms = {
|
|
56
|
+
ios: "ios",
|
|
57
|
+
android: "android"
|
|
58
|
+
};
|
|
59
|
+
const devEngines = {};
|
|
60
|
+
const devEngineCreating = {};
|
|
25
61
|
const devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
|
|
26
62
|
const reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;
|
|
27
63
|
const {
|
|
@@ -34,6 +70,49 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
34
70
|
enableStandaloneFuseboxShell: false
|
|
35
71
|
}
|
|
36
72
|
});
|
|
73
|
+
server.middlewares.use(async (req, res, next) => {
|
|
74
|
+
if (req.method !== "GET" && req.method !== "HEAD") return next();
|
|
75
|
+
const rawUrl = req.url || "/";
|
|
76
|
+
const rawPathname = rawUrl.split("?", 1)[0];
|
|
77
|
+
if (!rawPathname.startsWith("/assets/")) return next();
|
|
78
|
+
const url = new URL(rawUrl, `http://${req.headers.host || "localhost"}`);
|
|
79
|
+
const platform = validPlatforms[url.searchParams.get("platform") || ""];
|
|
80
|
+
const engine = platform ? devEngines[platform] : void 0;
|
|
81
|
+
if (!engine) return next();
|
|
82
|
+
let pathname;
|
|
83
|
+
try {
|
|
84
|
+
pathname = decodeURIComponent(rawPathname);
|
|
85
|
+
} catch {
|
|
86
|
+
res.writeHead(400, {
|
|
87
|
+
"Content-Type": "text/plain"
|
|
88
|
+
});
|
|
89
|
+
res.end("Invalid native asset path");
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const asset = engine.getAsset(pathname, url.searchParams.get("hash") || void 0);
|
|
93
|
+
if (!asset) {
|
|
94
|
+
res.writeHead(404, {
|
|
95
|
+
"Content-Type": "text/plain"
|
|
96
|
+
});
|
|
97
|
+
res.end("Native asset not found");
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
const contents = await readFile(asset.filePath);
|
|
102
|
+
res.writeHead(200, {
|
|
103
|
+
"Cache-Control": "no-cache",
|
|
104
|
+
"Content-Length": String(contents.byteLength),
|
|
105
|
+
"Content-Type": getNativeAssetContentType(asset.type)
|
|
106
|
+
});
|
|
107
|
+
res.end(req.method === "HEAD" ? void 0 : contents);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
console.error(`[vxrn] failed to serve native asset ${pathname}: ${error instanceof Error ? error.message : String(error)}`);
|
|
110
|
+
res.writeHead(500, {
|
|
111
|
+
"Content-Type": "text/plain"
|
|
112
|
+
});
|
|
113
|
+
res.end("Failed to read native asset");
|
|
114
|
+
}
|
|
115
|
+
});
|
|
37
116
|
server.middlewares.use(middleware);
|
|
38
117
|
server.httpServer?.on("upgrade", (req, socket, head) => {
|
|
39
118
|
const url = req.url || "";
|
|
@@ -138,12 +217,6 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
138
217
|
}
|
|
139
218
|
});
|
|
140
219
|
});
|
|
141
|
-
const validPlatforms = {
|
|
142
|
-
ios: "ios",
|
|
143
|
-
android: "android"
|
|
144
|
-
};
|
|
145
|
-
const devEngines = {};
|
|
146
|
-
const devEngineCreating = {};
|
|
147
220
|
const handleRNBundle = async (req, res) => {
|
|
148
221
|
const url = new URL(req.url, `http://${req.headers.host}`);
|
|
149
222
|
const platformString = url.searchParams.get("platform") || "";
|
|
@@ -217,5 +290,5 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
217
290
|
}
|
|
218
291
|
};
|
|
219
292
|
}
|
|
220
|
-
export { createReactNativeDevServerPlugin };
|
|
293
|
+
export { createReactNativeDevServerPlugin, getNativeAssetContentType };
|
|
221
294
|
//# sourceMappingURL=reactNativeDevServer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","createDevMiddleware","createNativeDevEngine","getBoundPort","createReactNativeDevServerPlugin","options","name","configureServer","server","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","
|
|
1
|
+
{"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","endpoint","wss","handleUpgrade","ws","emit","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","value","toString","send","update","JSON","parse","triggerFullBuild","ensureLatestBuildOutput","stringify","removeClient","catch","messageRaw","level","data","info","warn","handleRNBundle","platformString","bundle","port","serverUrl","onHmrUpdate","msg","clients","forEach","client","nativeClient","readyState","err","getBundle","then","r","code","stack","endsWith","_req"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { WebSocketServer } from "ws";
|
|
|
2
2
|
import { createMessageSocket } from "@vxrn/utils";
|
|
3
3
|
import { addConnectedNativeClient, removeConnectedNativeClient } from "../utils/connectedNativeClients.native.js";
|
|
4
4
|
import { URL } from "url";
|
|
5
|
+
import { readFile } from "fs/promises";
|
|
5
6
|
import { createDevMiddleware } from "@react-native/dev-middleware";
|
|
6
7
|
import { createNativeDevEngine } from "../utils/createNativeDevEngine.native.js";
|
|
7
8
|
import { getBoundPort } from "../utils/getBoundPort.native.js";
|
|
@@ -17,6 +18,35 @@ function _type_of(obj) {
|
|
|
17
18
|
|
|
18
19
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
19
20
|
}
|
|
21
|
+
function getNativeAssetContentType(type) {
|
|
22
|
+
switch (type.toLowerCase()) {
|
|
23
|
+
case "bmp":
|
|
24
|
+
return "image/bmp";
|
|
25
|
+
case "gif":
|
|
26
|
+
return "image/gif";
|
|
27
|
+
case "jpeg":
|
|
28
|
+
case "jpg":
|
|
29
|
+
return "image/jpeg";
|
|
30
|
+
case "json":
|
|
31
|
+
return "application/json";
|
|
32
|
+
case "otf":
|
|
33
|
+
return "font/otf";
|
|
34
|
+
case "png":
|
|
35
|
+
return "image/png";
|
|
36
|
+
case "svg":
|
|
37
|
+
return "image/svg+xml";
|
|
38
|
+
case "ttf":
|
|
39
|
+
return "font/ttf";
|
|
40
|
+
case "webp":
|
|
41
|
+
return "image/webp";
|
|
42
|
+
case "woff":
|
|
43
|
+
return "font/woff";
|
|
44
|
+
case "woff2":
|
|
45
|
+
return "font/woff2";
|
|
46
|
+
default:
|
|
47
|
+
return "application/octet-stream";
|
|
48
|
+
}
|
|
49
|
+
}
|
|
20
50
|
function createReactNativeDevServerPlugin(options) {
|
|
21
51
|
return {
|
|
22
52
|
name: "vite-plugin-react-native-server",
|
|
@@ -35,6 +65,12 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
35
65
|
noServer: true
|
|
36
66
|
});
|
|
37
67
|
var messageWSS = createMessageSocket();
|
|
68
|
+
var validPlatforms = {
|
|
69
|
+
ios: "ios",
|
|
70
|
+
android: "android"
|
|
71
|
+
};
|
|
72
|
+
var devEngines = {};
|
|
73
|
+
var devEngineCreating = {};
|
|
38
74
|
var devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
|
|
39
75
|
var reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;
|
|
40
76
|
var {
|
|
@@ -47,6 +83,49 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
47
83
|
enableStandaloneFuseboxShell: false
|
|
48
84
|
}
|
|
49
85
|
});
|
|
86
|
+
server.middlewares.use(async function (req, res, next) {
|
|
87
|
+
if (req.method !== "GET" && req.method !== "HEAD") return next();
|
|
88
|
+
var rawUrl = req.url || "/";
|
|
89
|
+
var rawPathname = rawUrl.split("?", 1)[0];
|
|
90
|
+
if (!rawPathname.startsWith("/assets/")) return next();
|
|
91
|
+
var url = new URL(rawUrl, `http://${req.headers.host || "localhost"}`);
|
|
92
|
+
var platform = validPlatforms[url.searchParams.get("platform") || ""];
|
|
93
|
+
var engine = platform ? devEngines[platform] : void 0;
|
|
94
|
+
if (!engine) return next();
|
|
95
|
+
var pathname;
|
|
96
|
+
try {
|
|
97
|
+
pathname = decodeURIComponent(rawPathname);
|
|
98
|
+
} catch (unused) {
|
|
99
|
+
res.writeHead(400, {
|
|
100
|
+
"Content-Type": "text/plain"
|
|
101
|
+
});
|
|
102
|
+
res.end("Invalid native asset path");
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
var asset = engine.getAsset(pathname, url.searchParams.get("hash") || void 0);
|
|
106
|
+
if (!asset) {
|
|
107
|
+
res.writeHead(404, {
|
|
108
|
+
"Content-Type": "text/plain"
|
|
109
|
+
});
|
|
110
|
+
res.end("Native asset not found");
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
var contents = await readFile(asset.filePath);
|
|
115
|
+
res.writeHead(200, {
|
|
116
|
+
"Cache-Control": "no-cache",
|
|
117
|
+
"Content-Length": String(contents.byteLength),
|
|
118
|
+
"Content-Type": getNativeAssetContentType(asset.type)
|
|
119
|
+
});
|
|
120
|
+
res.end(req.method === "HEAD" ? void 0 : contents);
|
|
121
|
+
} catch (error) {
|
|
122
|
+
console.error(`[vxrn] failed to serve native asset ${pathname}: ${_instanceof(error, Error) ? error.message : String(error)}`);
|
|
123
|
+
res.writeHead(500, {
|
|
124
|
+
"Content-Type": "text/plain"
|
|
125
|
+
});
|
|
126
|
+
res.end("Failed to read native asset");
|
|
127
|
+
}
|
|
128
|
+
});
|
|
50
129
|
server.middlewares.use(middleware);
|
|
51
130
|
(_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on("upgrade", function (req, socket, head) {
|
|
52
131
|
var url = req.url || "";
|
|
@@ -177,12 +256,6 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
177
256
|
}
|
|
178
257
|
});
|
|
179
258
|
});
|
|
180
|
-
var validPlatforms = {
|
|
181
|
-
ios: "ios",
|
|
182
|
-
android: "android"
|
|
183
|
-
};
|
|
184
|
-
var devEngines = {};
|
|
185
|
-
var devEngineCreating = {};
|
|
186
259
|
var handleRNBundle = async function (req, res) {
|
|
187
260
|
var url = new URL(req.url, `http://${req.headers.host}`);
|
|
188
261
|
var platformString = url.searchParams.get("platform") || "";
|
|
@@ -259,5 +332,5 @@ function createReactNativeDevServerPlugin(options) {
|
|
|
259
332
|
}
|
|
260
333
|
};
|
|
261
334
|
}
|
|
262
|
-
export { createReactNativeDevServerPlugin };
|
|
335
|
+
export { createReactNativeDevServerPlugin, getNativeAssetContentType };
|
|
263
336
|
//# sourceMappingURL=reactNativeDevServer.native.js.map
|