vxrn 1.2.53 → 1.2.55

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,7 +1,16 @@
1
1
  import FSExtra from "fs-extra";
2
2
  import colors from "picocolors";
3
3
  import { debounce } from "perfect-debounce";
4
- const { ensureDir } = FSExtra, dev = async (optionsIn) => {
4
+ const { ensureDir } = FSExtra;
5
+ function setupOrphanDetection() {
6
+ if (process.platform === "win32") return;
7
+ const initialPpid = process.ppid;
8
+ setInterval(() => {
9
+ process.ppid !== initialPpid && process.exit(0);
10
+ }, 500).unref();
11
+ }
12
+ const dev = async (optionsIn) => {
13
+ setupOrphanDetection();
5
14
  const devStartTime = Date.now();
6
15
  process.env.IS_VXRN_CLI = "true", typeof optionsIn.debug == "string" && (process.env.DEBUG ||= optionsIn.debug ? `vite:${optionsIn.debug}` : "vite");
7
16
  const { startUserInterface } = await import("../user-interface/index"), { bindKeypressInput } = await import("../utils/bindKeypressInput"), { fillOptions } = await import("../config/getOptionsFilled"), { getViteServerConfig } = await import("../config/getViteServerConfig"), { printServerUrls } = await import("../utils/printServerUrls"), { clean } = await import("./clean"), { filterViteServerResolvedUrls } = await import("../utils/filterViteServerResolvedUrls"), { removeUndefined } = await import("../utils/removeUndefined"), { createServer, loadConfigFromFile } = await import("vite"), { config } = await loadConfigFromFile({
@@ -32,26 +41,29 @@ export default defineConfig({
32
41
  }), { cacheDir } = options;
33
42
  bindKeypressInput(), options.clean && await clean(optionsIn, options.clean), await ensureDir(cacheDir);
34
43
  const serverConfig = await getViteServerConfig(options, config);
35
- let viteServer = null;
44
+ let viteServer = null, isClosing = !1;
36
45
  return {
37
46
  viteServer,
38
47
  start: async () => {
39
48
  viteServer = await createServer(serverConfig);
40
- const pendingTransforms = /* @__PURE__ */ new Map();
49
+ const { connectedNativeClients } = await import("../utils/connectedNativeClients"), pendingTransforms = /* @__PURE__ */ new Map();
41
50
  viteServer.watcher.addListener("change", async (path) => {
42
- if (path.includes("/dist/") || path.includes("\\dist\\"))
51
+ if (isClosing || connectedNativeClients === 0 || path.includes("/dist/") || path.includes("\\dist\\"))
43
52
  return;
44
53
  const id = path.replace(process.cwd(), "");
45
54
  !id.endsWith("tsx") && !id.endsWith("jsx") || (pendingTransforms.has(id) || pendingTransforms.set(
46
55
  id,
47
56
  debounce(async () => {
48
- try {
49
- await viteServer.transformRequest(id);
50
- } catch (err) {
51
- console.info("err", err);
52
- }
57
+ if (!isClosing)
58
+ try {
59
+ await viteServer.transformRequest(id);
60
+ } catch (err) {
61
+ isClosing || console.info("err", err);
62
+ }
53
63
  }, 100)
54
64
  ), pendingTransforms.get(id)());
65
+ }), viteServer.httpServer?.on("close", () => {
66
+ isClosing = !0;
55
67
  }), await viteServer.listen();
56
68
  const totalStartupTime = Date.now() - devStartTime;
57
69
  console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info();
@@ -63,7 +75,7 @@ export default defineConfig({
63
75
  };
64
76
  },
65
77
  stop: () => {
66
- if (viteServer)
78
+ if (isClosing = !0, viteServer)
67
79
  return viteServer.watcher.removeAllListeners(), viteServer.close();
68
80
  }
69
81
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/exports/dev.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -2,46 +2,54 @@ import FSExtra from "fs-extra";
2
2
  import colors from "picocolors";
3
3
  import { debounce } from "perfect-debounce";
4
4
  const {
5
- ensureDir
6
- } = FSExtra,
7
- dev = async optionsIn => {
8
- const devStartTime = Date.now();
9
- process.env.IS_VXRN_CLI = "true", typeof optionsIn.debug == "string" && (process.env.DEBUG ||= optionsIn.debug ? `vite:${optionsIn.debug}` : "vite");
10
- const {
11
- startUserInterface
12
- } = await import("../user-interface/index.mjs"),
13
- {
14
- bindKeypressInput
15
- } = await import("../utils/bindKeypressInput.mjs"),
16
- {
17
- fillOptions
18
- } = await import("../config/getOptionsFilled.mjs"),
19
- {
20
- getViteServerConfig
21
- } = await import("../config/getViteServerConfig.mjs"),
22
- {
23
- printServerUrls
24
- } = await import("../utils/printServerUrls.mjs"),
25
- {
26
- clean
27
- } = await import("./clean.mjs"),
28
- {
29
- filterViteServerResolvedUrls
30
- } = await import("../utils/filterViteServerResolvedUrls.mjs"),
31
- {
32
- removeUndefined
33
- } = await import("../utils/removeUndefined.mjs"),
34
- {
35
- createServer,
36
- loadConfigFromFile
37
- } = await import("vite"),
38
- {
39
- config
40
- } = (await loadConfigFromFile({
41
- mode: "dev",
42
- command: "serve"
43
- })) ?? {};
44
- config || (console.error(`
5
+ ensureDir
6
+ } = FSExtra;
7
+ function setupOrphanDetection() {
8
+ if (process.platform === "win32") return;
9
+ const initialPpid = process.ppid;
10
+ setInterval(() => {
11
+ process.ppid !== initialPpid && process.exit(0);
12
+ }, 500).unref();
13
+ }
14
+ const dev = async optionsIn => {
15
+ setupOrphanDetection();
16
+ const devStartTime = Date.now();
17
+ process.env.IS_VXRN_CLI = "true", typeof optionsIn.debug == "string" && (process.env.DEBUG ||= optionsIn.debug ? `vite:${optionsIn.debug}` : "vite");
18
+ const {
19
+ startUserInterface
20
+ } = await import("../user-interface/index.mjs"),
21
+ {
22
+ bindKeypressInput
23
+ } = await import("../utils/bindKeypressInput.mjs"),
24
+ {
25
+ fillOptions
26
+ } = await import("../config/getOptionsFilled.mjs"),
27
+ {
28
+ getViteServerConfig
29
+ } = await import("../config/getViteServerConfig.mjs"),
30
+ {
31
+ printServerUrls
32
+ } = await import("../utils/printServerUrls.mjs"),
33
+ {
34
+ clean
35
+ } = await import("./clean.mjs"),
36
+ {
37
+ filterViteServerResolvedUrls
38
+ } = await import("../utils/filterViteServerResolvedUrls.mjs"),
39
+ {
40
+ removeUndefined
41
+ } = await import("../utils/removeUndefined.mjs"),
42
+ {
43
+ createServer,
44
+ loadConfigFromFile
45
+ } = await import("vite"),
46
+ {
47
+ config
48
+ } = (await loadConfigFromFile({
49
+ mode: "dev",
50
+ command: "serve"
51
+ })) ?? {};
52
+ config || (console.error(`
45
53
  \u26D4\uFE0F No vite.config.ts, please create a minimal config:
46
54
 
47
55
  import { defineConfig } from 'vite'
@@ -54,51 +62,57 @@ export default defineConfig({
54
62
  })
55
63
 
56
64
  `), process.exit(0));
57
- const oneServerConfig = config?.plugins?.find(x => Array.isArray(x) && x[0]?.name === "one:config")?.[0]?.__get?.server,
58
- options = await fillOptions({
59
- ...optionsIn,
60
- server: {
61
- ...oneServerConfig,
62
- ...removeUndefined(optionsIn.server || {})
63
- }
64
- }),
65
- {
66
- cacheDir
67
- } = options;
68
- bindKeypressInput(), options.clean && (await clean(optionsIn, options.clean)), await ensureDir(cacheDir);
69
- const serverConfig = await getViteServerConfig(options, config);
70
- let viteServer = null;
71
- return {
72
- viteServer,
73
- start: async () => {
74
- viteServer = await createServer(serverConfig);
75
- const pendingTransforms = /* @__PURE__ */new Map();
76
- viteServer.watcher.addListener("change", async path => {
77
- if (path.includes("/dist/") || path.includes("\\dist\\")) return;
78
- const id = path.replace(process.cwd(), "");
79
- !id.endsWith("tsx") && !id.endsWith("jsx") || (pendingTransforms.has(id) || pendingTransforms.set(id, debounce(async () => {
80
- try {
81
- await viteServer.transformRequest(id);
82
- } catch (err) {
83
- console.info("err", err);
84
- }
85
- }, 100)), pendingTransforms.get(id)());
86
- }), await viteServer.listen();
87
- const totalStartupTime = Date.now() - devStartTime;
88
- console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info();
89
- const viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);
90
- return viteServerResolvedUrls && printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info), startUserInterface({
91
- server: viteServer
92
- }), {
93
- closePromise: new Promise(res => {
94
- viteServer?.httpServer?.on("close", res);
95
- })
96
- };
97
- },
98
- stop: () => {
99
- if (viteServer) return viteServer.watcher.removeAllListeners(), viteServer.close();
65
+ const oneServerConfig = config?.plugins?.find(x => Array.isArray(x) && x[0]?.name === "one:config")?.[0]?.__get?.server,
66
+ options = await fillOptions({
67
+ ...optionsIn,
68
+ server: {
69
+ ...oneServerConfig,
70
+ ...removeUndefined(optionsIn.server || {})
100
71
  }
101
- };
72
+ }),
73
+ {
74
+ cacheDir
75
+ } = options;
76
+ bindKeypressInput(), options.clean && (await clean(optionsIn, options.clean)), await ensureDir(cacheDir);
77
+ const serverConfig = await getViteServerConfig(options, config);
78
+ let viteServer = null,
79
+ isClosing = !1;
80
+ return {
81
+ viteServer,
82
+ start: async () => {
83
+ viteServer = await createServer(serverConfig);
84
+ const {
85
+ connectedNativeClients
86
+ } = await import("../utils/connectedNativeClients.mjs"),
87
+ pendingTransforms = /* @__PURE__ */new Map();
88
+ viteServer.watcher.addListener("change", async path => {
89
+ if (isClosing || connectedNativeClients === 0 || path.includes("/dist/") || path.includes("\\dist\\")) return;
90
+ const id = path.replace(process.cwd(), "");
91
+ !id.endsWith("tsx") && !id.endsWith("jsx") || (pendingTransforms.has(id) || pendingTransforms.set(id, debounce(async () => {
92
+ if (!isClosing) try {
93
+ await viteServer.transformRequest(id);
94
+ } catch (err) {
95
+ isClosing || console.info("err", err);
96
+ }
97
+ }, 100)), pendingTransforms.get(id)());
98
+ }), viteServer.httpServer?.on("close", () => {
99
+ isClosing = !0;
100
+ }), await viteServer.listen();
101
+ const totalStartupTime = Date.now() - devStartTime;
102
+ console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info();
103
+ const viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);
104
+ return viteServerResolvedUrls && printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info), startUserInterface({
105
+ server: viteServer
106
+ }), {
107
+ closePromise: new Promise(res => {
108
+ viteServer?.httpServer?.on("close", res);
109
+ })
110
+ };
111
+ },
112
+ stop: () => {
113
+ if (isClosing = !0, viteServer) return viteServer.watcher.removeAllListeners(), viteServer.close();
114
+ }
102
115
  };
116
+ };
103
117
  export { dev };
104
118
  //# sourceMappingURL=dev.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["FSExtra","colors","debounce","ensureDir","dev","optionsIn","devStartTime","Date","now","process","env","IS_VXRN_CLI","debug","DEBUG","startUserInterface","bindKeypressInput","fillOptions","getViteServerConfig","printServerUrls","clean","filterViteServerResolvedUrls","removeUndefined","createServer","loadConfigFromFile","config","mode","command","console","error","exit","oneServerConfig","plugins","find","x","Array","isArray","name","__get","server","options","cacheDir","serverConfig","viteServer","start","pendingTransforms","Map","watcher","addListener","path","includes","id","replace","cwd","endsWith","has","set","transformRequest","err","info","get","listen","totalStartupTime","bold","viteServerResolvedUrls","resolvedUrls","logger","closePromise","Promise","res","httpServer","on","stop","removeAllListeners","close"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,OAAOC,MAAA,MAAY;AACnB,SAASC,QAAA,QAAgB;AAIzB,MAAM;IAAEC;EAAU,IAAIH,OAAA;EAMTI,GAAA,GAAM,MAAOC,SAAA,IAA0B;IAClD,MAAMC,YAAA,GAAeC,IAAA,CAAKC,GAAA,CAAI;IAC9BC,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc,QAEtB,OAAON,SAAA,CAAUO,KAAA,IAAU,aAC7BH,OAAA,CAAQC,GAAA,CAAIG,KAAA,KAAWR,SAAA,CAAUO,KAAA,GAAiB,QAAQP,SAAA,CAAUO,KAAK,KAAhC;IAI3C,MAAM;QAAEE;MAAmB,IAAI,MAAM,OAAO,6BAAyB;MAC/D;QAAEC;MAAkB,IAAI,MAAM,OAAO,gCAA4B;MACjE;QAAEC;MAAY,IAAI,MAAM,OAAO,gCAA4B;MAC3D;QAAEC;MAAoB,IAAI,MAAM,OAAO,mCAA+B;MACtE;QAAEC;MAAgB,IAAI,MAAM,OAAO,8BAA0B;MAC7D;QAAEC;MAAM,IAAI,MAAM,OAAO,aAAS;MAClC;QAAEC;MAA6B,IACnC,MAAM,OAAO,2CAAuC;MAChD;QAAEC;MAAgB,IAAI,MAAM,OAAO,8BAA0B;MAC7D;QAAEC,YAAA;QAAcC;MAAmB,IAAI,MAAM,OAAO,MAAM;MAE1D;QAAEC;MAAO,IACZ,OAAMD,kBAAA,CAAmB;QACxBE,IAAA,EAAM;QACNC,OAAA,EAAS;MACX,CAAC,MAAM,CAAC;IAELF,MAAA,KACHG,OAAA,CAAQC,KAAA,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAYjB,GACGnB,OAAA,CAAQoB,IAAA,CAAK,CAAC;IAKhB,MAAMC,eAAA,GAAkBN,MAAA,EAAQO,OAAA,EAASC,IAAA,CACtCC,CAAA,IAAMC,KAAA,CAAMC,OAAA,CAAQF,CAAC,KAAKA,CAAA,CAAE,CAAC,GAAIG,IAAA,KAAY,YAChD,IAAI,CAAC,GAAIC,KAAA,EAAUC,MAAA;MAEbC,OAAA,GAAU,MAAMvB,WAAA,CAAY;QAChC,GAAGX,SAAA;QACHiC,MAAA,EAAQ;UACN,GAAGR,eAAA;UACH,GAAGT,eAAA,CAAgBhB,SAAA,CAAUiC,MAAA,IAAU,CAAC,CAAC;QAC3C;MACF,CAAC;MAEK;QAAEE;MAAS,IAAID,OAAA;IAErBxB,iBAAA,CAAkB,GAEdwB,OAAA,CAAQpB,KAAA,KACV,MAAMA,KAAA,CAAMd,SAAA,EAAWkC,OAAA,CAAQpB,KAAK,IAGtC,MAAMhB,SAAA,CAAUqC,QAAQ;IAExB,MAAMC,YAAA,GAAe,MAAMxB,mBAAA,CAAoBsB,OAAA,EAASf,MAAM;IAE9D,IAAIkB,UAAA,GAAmC;IAEvC,OAAO;MACLA,UAAA;MAEAC,KAAA,EAAO,MAAAA,CAAA,KAAY;QACjBD,UAAA,GAAa,MAAMpB,YAAA,CAAamB,YAAY;QAI5C,MAAMG,iBAAA,GAAoB,mBAAIC,GAAA,CAAyC;QAEvEH,UAAA,CAAWI,OAAA,CAAQC,WAAA,CAAY,UAAU,MAAOC,IAAA,IAAS;UAEvD,IAAIA,IAAA,CAAKC,QAAA,CAAS,QAAQ,KAAKD,IAAA,CAAKC,QAAA,CAAS,UAAU,GACrD;UAGF,MAAMC,EAAA,GAAKF,IAAA,CAAKG,OAAA,CAAQ1C,OAAA,CAAQ2C,GAAA,CAAI,GAAG,EAAE;UACrC,CAACF,EAAA,CAAGG,QAAA,CAAS,KAAK,KAAK,CAACH,EAAA,CAAGG,QAAA,CAAS,KAAK,MAKxCT,iBAAA,CAAkBU,GAAA,CAAIJ,EAAE,KAC3BN,iBAAA,CAAkBW,GAAA,CAChBL,EAAA,EACAhD,QAAA,CAAS,YAAY;YACnB,IAAI;cACF,MAAMwC,UAAA,CAAYc,gBAAA,CAAiBN,EAAE;YACvC,SAASO,GAAA,EAAK;cACZ9B,OAAA,CAAQ+B,IAAA,CAAK,OAAOD,GAAG;YACzB;UACF,GAAG,GAAG,CACR,GAGFb,iBAAA,CAAkBe,GAAA,CAAIT,EAAE,EAAG;QAC7B,CAAC,GAED,MAAMR,UAAA,CAAWkB,MAAA,CAAO;QAExB,MAAMC,gBAAA,GAAmBtD,IAAA,CAAKC,GAAA,CAAI,IAAIF,YAAA;QAEtCqB,OAAA,CAAQ+B,IAAA,CAAK,GACb/B,OAAA,CAAQ+B,IAAA,CAAKzD,MAAA,CAAO6D,IAAA,CAAK,mBAAmB,IAAI,SAAI,GACpDnC,OAAA,CAAQ+B,IAAA,CAAK;QAEb,MAAMK,sBAAA,GAAyB3C,4BAAA,CAA6BsB,UAAA,CAAWsB,YAAY;QACnF,OAAID,sBAAA,IACF7C,eAAA,CAAgB6C,sBAAA,EAAwB,CAAC,GAAGrB,UAAA,CAAWlB,MAAA,CAAOyC,MAAA,CAAOP,IAAI,GAG3E5C,kBAAA,CAAmB;UAAEwB,MAAA,EAAQI;QAAW,CAAC,GAElC;UACLwB,YAAA,EAAc,IAAIC,OAAA,CAASC,GAAA,IAAQ;YACjC1B,UAAA,EAAY2B,UAAA,EAAYC,EAAA,CAAG,SAASF,GAAG;UACzC,CAAC;QACH;MACF;MAEAG,IAAA,EAAMA,CAAA,KAAM;QACV,IAAI7B,UAAA,EACF,OAAAA,UAAA,CAAWI,OAAA,CAAQ0B,kBAAA,CAAmB,GAC/B9B,UAAA,CAAW+B,KAAA,CAAM;MAE5B;IACF;EACF","ignoreList":[]}
1
+ {"version":3,"names":["FSExtra","colors","debounce","ensureDir","setupOrphanDetection","process","platform","initialPpid","ppid","setInterval","exit","unref","dev","optionsIn","devStartTime","Date","now","env","IS_VXRN_CLI","debug","DEBUG","startUserInterface","bindKeypressInput","fillOptions","getViteServerConfig","printServerUrls","clean","filterViteServerResolvedUrls","removeUndefined","createServer","loadConfigFromFile","config","mode","command","console","error","oneServerConfig","plugins","find","x","Array","isArray","name","__get","server","options","cacheDir","serverConfig","viteServer","isClosing","start","connectedNativeClients","pendingTransforms","Map","watcher","addListener","path","includes","id","replace","cwd","endsWith","has","set","transformRequest","err","info","get","httpServer","on","listen","totalStartupTime","bold","viteServerResolvedUrls","resolvedUrls","logger","closePromise","Promise","res","stop","removeAllListeners","close"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,54 +2,61 @@ import FSExtra from "fs-extra";
2
2
  import colors from "picocolors";
3
3
  import { debounce } from "perfect-debounce";
4
4
  var {
5
- ensureDir
6
- } = FSExtra,
7
- dev = async function (optionsIn) {
8
- var _config_plugins_find____get,
9
- _config_plugins_find_,
10
- _config_plugins_find,
11
- _config_plugins,
12
- devStartTime = Date.now();
13
- if (process.env.IS_VXRN_CLI = "true", typeof optionsIn.debug == "string") {
14
- var _process_env;
15
- (_process_env = process.env).DEBUG || (_process_env.DEBUG = optionsIn.debug ? `vite:${optionsIn.debug}` : "vite");
16
- }
17
- var {
18
- startUserInterface
19
- } = await import("../user-interface/index.native.js"),
20
- {
21
- bindKeypressInput
22
- } = await import("../utils/bindKeypressInput.native.js"),
23
- {
24
- fillOptions
25
- } = await import("../config/getOptionsFilled.native.js"),
26
- {
27
- getViteServerConfig
28
- } = await import("../config/getViteServerConfig.native.js"),
29
- {
30
- printServerUrls
31
- } = await import("../utils/printServerUrls.native.js"),
32
- {
33
- clean
34
- } = await import("./clean.native.js"),
35
- {
36
- filterViteServerResolvedUrls
37
- } = await import("../utils/filterViteServerResolvedUrls.native.js"),
38
- {
39
- removeUndefined
40
- } = await import("../utils/removeUndefined.native.js"),
41
- {
42
- createServer,
43
- loadConfigFromFile
44
- } = await import("vite"),
45
- _ref,
46
- {
47
- config
48
- } = (_ref = await loadConfigFromFile({
49
- mode: "dev",
50
- command: "serve"
51
- })) !== null && _ref !== void 0 ? _ref : {};
52
- config || (console.error(`
5
+ ensureDir
6
+ } = FSExtra;
7
+ function setupOrphanDetection() {
8
+ if (process.platform !== "win32") {
9
+ var initialPpid = process.ppid,
10
+ interval = setInterval(function () {
11
+ process.ppid !== initialPpid && process.exit(0);
12
+ }, 500);
13
+ interval.unref();
14
+ }
15
+ }
16
+ var dev = async function (optionsIn) {
17
+ var _config_plugins_find____get, _config_plugins_find_, _config_plugins_find, _config_plugins;
18
+ setupOrphanDetection();
19
+ var devStartTime = Date.now();
20
+ if (process.env.IS_VXRN_CLI = "true", typeof optionsIn.debug == "string") {
21
+ var _process_env;
22
+ (_process_env = process.env).DEBUG || (_process_env.DEBUG = optionsIn.debug ? `vite:${optionsIn.debug}` : "vite");
23
+ }
24
+ var {
25
+ startUserInterface
26
+ } = await import("../user-interface/index.native.js"),
27
+ {
28
+ bindKeypressInput
29
+ } = await import("../utils/bindKeypressInput.native.js"),
30
+ {
31
+ fillOptions
32
+ } = await import("../config/getOptionsFilled.native.js"),
33
+ {
34
+ getViteServerConfig
35
+ } = await import("../config/getViteServerConfig.native.js"),
36
+ {
37
+ printServerUrls
38
+ } = await import("../utils/printServerUrls.native.js"),
39
+ {
40
+ clean
41
+ } = await import("./clean.native.js"),
42
+ {
43
+ filterViteServerResolvedUrls
44
+ } = await import("../utils/filterViteServerResolvedUrls.native.js"),
45
+ {
46
+ removeUndefined
47
+ } = await import("../utils/removeUndefined.native.js"),
48
+ {
49
+ createServer,
50
+ loadConfigFromFile
51
+ } = await import("vite"),
52
+ _ref,
53
+ {
54
+ config
55
+ } = (_ref = await loadConfigFromFile({
56
+ mode: "dev",
57
+ command: "serve"
58
+ })) !== null && _ref !== void 0 ? _ref : {};
59
+ config || (console.error(`
53
60
  \u26D4\uFE0F No vite.config.ts, please create a minimal config:
54
61
 
55
62
  import { defineConfig } from 'vite'
@@ -62,56 +69,63 @@ export default defineConfig({
62
69
  })
63
70
 
64
71
  `), process.exit(0));
65
- var oneServerConfig = config == null || (_config_plugins = config.plugins) === null || _config_plugins === void 0 || (_config_plugins_find = _config_plugins.find(function (x) {
66
- var _x_;
67
- return Array.isArray(x) && ((_x_ = x[0]) === null || _x_ === void 0 ? void 0 : _x_.name) === "one:config";
68
- })) === null || _config_plugins_find === void 0 || (_config_plugins_find_ = _config_plugins_find[0]) === null || _config_plugins_find_ === void 0 || (_config_plugins_find____get = _config_plugins_find_.__get) === null || _config_plugins_find____get === void 0 ? void 0 : _config_plugins_find____get.server,
69
- options = await fillOptions({
70
- ...optionsIn,
71
- server: {
72
- ...oneServerConfig,
73
- ...removeUndefined(optionsIn.server || {})
74
- }
75
- }),
76
- {
77
- cacheDir
78
- } = options;
79
- bindKeypressInput(), options.clean && (await clean(optionsIn, options.clean)), await ensureDir(cacheDir);
80
- var serverConfig = await getViteServerConfig(options, config),
81
- viteServer = null;
82
- return {
83
- viteServer,
84
- start: async function () {
85
- viteServer = await createServer(serverConfig);
86
- var pendingTransforms = /* @__PURE__ */new Map();
87
- viteServer.watcher.addListener("change", async function (path) {
88
- if (!(path.includes("/dist/") || path.includes("\\dist\\"))) {
89
- var id = path.replace(process.cwd(), "");
90
- !id.endsWith("tsx") && !id.endsWith("jsx") || (pendingTransforms.has(id) || pendingTransforms.set(id, debounce(async function () {
91
- try {
92
- await viteServer.transformRequest(id);
93
- } catch (err) {
94
- console.info("err", err);
95
- }
96
- }, 100)), pendingTransforms.get(id)());
97
- }
98
- }), await viteServer.listen();
99
- var totalStartupTime = Date.now() - devStartTime;
100
- console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info();
101
- var viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);
102
- return viteServerResolvedUrls && printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info), startUserInterface({
103
- server: viteServer
104
- }), {
105
- closePromise: new Promise(function (res) {
106
- var _viteServer_httpServer;
107
- viteServer == null || (_viteServer_httpServer = viteServer.httpServer) === null || _viteServer_httpServer === void 0 || _viteServer_httpServer.on("close", res);
108
- })
109
- };
110
- },
111
- stop: function () {
112
- if (viteServer) return viteServer.watcher.removeAllListeners(), viteServer.close();
72
+ var oneServerConfig = config == null || (_config_plugins = config.plugins) === null || _config_plugins === void 0 || (_config_plugins_find = _config_plugins.find(function (x) {
73
+ var _x_;
74
+ return Array.isArray(x) && ((_x_ = x[0]) === null || _x_ === void 0 ? void 0 : _x_.name) === "one:config";
75
+ })) === null || _config_plugins_find === void 0 || (_config_plugins_find_ = _config_plugins_find[0]) === null || _config_plugins_find_ === void 0 || (_config_plugins_find____get = _config_plugins_find_.__get) === null || _config_plugins_find____get === void 0 ? void 0 : _config_plugins_find____get.server,
76
+ options = await fillOptions({
77
+ ...optionsIn,
78
+ server: {
79
+ ...oneServerConfig,
80
+ ...removeUndefined(optionsIn.server || {})
113
81
  }
114
- };
82
+ }),
83
+ {
84
+ cacheDir
85
+ } = options;
86
+ bindKeypressInput(), options.clean && (await clean(optionsIn, options.clean)), await ensureDir(cacheDir);
87
+ var serverConfig = await getViteServerConfig(options, config),
88
+ viteServer = null,
89
+ isClosing = !1;
90
+ return {
91
+ viteServer,
92
+ start: async function () {
93
+ var _viteServer_httpServer;
94
+ viteServer = await createServer(serverConfig);
95
+ var {
96
+ connectedNativeClients
97
+ } = await import("../utils/connectedNativeClients.native.js"),
98
+ pendingTransforms = /* @__PURE__ */new Map();
99
+ viteServer.watcher.addListener("change", async function (path) {
100
+ if (!(isClosing || connectedNativeClients === 0) && !(path.includes("/dist/") || path.includes("\\dist\\"))) {
101
+ var id = path.replace(process.cwd(), "");
102
+ !id.endsWith("tsx") && !id.endsWith("jsx") || (pendingTransforms.has(id) || pendingTransforms.set(id, debounce(async function () {
103
+ if (!isClosing) try {
104
+ await viteServer.transformRequest(id);
105
+ } catch (err) {
106
+ isClosing || console.info("err", err);
107
+ }
108
+ }, 100)), pendingTransforms.get(id)());
109
+ }
110
+ }), (_viteServer_httpServer = viteServer.httpServer) === null || _viteServer_httpServer === void 0 || _viteServer_httpServer.on("close", function () {
111
+ isClosing = !0;
112
+ }), await viteServer.listen();
113
+ var totalStartupTime = Date.now() - devStartTime;
114
+ console.info(), console.info(colors.bold("Server running on") + " \u2AA2"), console.info();
115
+ var viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);
116
+ return viteServerResolvedUrls && printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info), startUserInterface({
117
+ server: viteServer
118
+ }), {
119
+ closePromise: new Promise(function (res) {
120
+ var _viteServer_httpServer2;
121
+ viteServer == null || (_viteServer_httpServer2 = viteServer.httpServer) === null || _viteServer_httpServer2 === void 0 || _viteServer_httpServer2.on("close", res);
122
+ })
123
+ };
124
+ },
125
+ stop: function () {
126
+ if (isClosing = !0, viteServer) return viteServer.watcher.removeAllListeners(), viteServer.close();
127
+ }
115
128
  };
129
+ };
116
130
  export { dev };
117
131
  //# sourceMappingURL=dev.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FSExtra","colors","debounce","ensureDir","dev","optionsIn","_config_plugins_find____get","_config_plugins_find_","_config_plugins_find","_config_plugins","devStartTime","Date","now","process","env","IS_VXRN_CLI","debug","_process_env","DEBUG","startUserInterface","bindKeypressInput","fillOptions","getViteServerConfig","printServerUrls","clean","filterViteServerResolvedUrls","removeUndefined","createServer","loadConfigFromFile","_ref","config","mode","command","console","error","exit","oneServerConfig","plugins","find","x","_x_","Array","isArray","name","__get","server","options","cacheDir","serverConfig","viteServer","start","pendingTransforms","Map","watcher","addListener","path","includes","id","replace","cwd","endsWith","has","set","transformRequest","err","info","get","listen","totalStartupTime","bold","viteServerResolvedUrls","resolvedUrls","logger","closePromise","Promise","res","_viteServer_httpServer","httpServer","on","stop","removeAllListeners","close"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FSExtra","colors","debounce","ensureDir","setupOrphanDetection","process","platform","initialPpid","ppid","interval","setInterval","exit","unref","dev","optionsIn","_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","clean","filterViteServerResolvedUrls","removeUndefined","createServer","loadConfigFromFile","_ref","config","mode","command","console","error","oneServerConfig","plugins","find","x","_x_","Array","isArray","name","__get","server","options","cacheDir","serverConfig","viteServer","isClosing","start","_viteServer_httpServer","connectedNativeClients","pendingTransforms","Map","watcher","addListener","path","includes","id","replace","cwd","endsWith","has","set","transformRequest","err","info","get","httpServer","on","listen","totalStartupTime","bold","viteServerResolvedUrls","resolvedUrls","logger","closePromise","Promise","res","_viteServer_httpServer2"],"sources":["../../src/exports/dev.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxrn",
3
- "version": "1.2.53",
3
+ "version": "1.2.55",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -65,17 +65,17 @@
65
65
  "@hono/node-server": "^1.19.6",
66
66
  "@react-native/dev-middleware": "^0.83.0",
67
67
  "@rollup/plugin-node-resolve": "^15.3.1",
68
- "@vxrn/compiler": "1.2.53",
69
- "@vxrn/debug": "1.2.53",
70
- "@vxrn/query-string": "1.2.53",
71
- "@vxrn/react-native-prebuilt": "1.2.53",
72
- "@vxrn/resolve": "1.2.53",
73
- "@vxrn/safe-area": "1.2.53",
74
- "@vxrn/url-parse": "1.2.53",
75
- "@vxrn/utils": "1.2.53",
76
- "@vxrn/vendor": "1.2.53",
77
- "@vxrn/vite-flow": "1.2.53",
78
- "@vxrn/vite-plugin-metro": "1.2.53",
68
+ "@vxrn/compiler": "1.2.55",
69
+ "@vxrn/debug": "1.2.55",
70
+ "@vxrn/query-string": "1.2.55",
71
+ "@vxrn/react-native-prebuilt": "1.2.55",
72
+ "@vxrn/resolve": "1.2.55",
73
+ "@vxrn/safe-area": "1.2.55",
74
+ "@vxrn/url-parse": "1.2.55",
75
+ "@vxrn/utils": "1.2.55",
76
+ "@vxrn/vendor": "1.2.55",
77
+ "@vxrn/vite-flow": "1.2.55",
78
+ "@vxrn/vite-plugin-metro": "1.2.55",
79
79
  "citty": "^0.1.6",
80
80
  "dotenv": "^17.2.1",
81
81
  "dotenv-expand": "^12.0.2",
@@ -6,11 +6,27 @@ import type { VXRNOptions } from '../types'
6
6
 
7
7
  const { ensureDir } = FSExtra
8
8
 
9
+ // Exit if we become orphaned (parent dies). This prevents zombie dev servers.
10
+ function setupOrphanDetection() {
11
+ if (process.platform === 'win32') return
12
+
13
+ const initialPpid = process.ppid
14
+ const interval = setInterval(() => {
15
+ // If parent changed (usually to PID 1), we're orphaned
16
+ if (process.ppid !== initialPpid) {
17
+ process.exit(0)
18
+ }
19
+ }, 500)
20
+ interval.unref()
21
+ }
22
+
9
23
  export type DevOptions = VXRNOptions & {
10
24
  clean?: boolean
11
25
  }
12
26
 
13
27
  export const dev = async (optionsIn: DevOptions) => {
28
+ setupOrphanDetection()
29
+
14
30
  const devStartTime = Date.now()
15
31
  process.env.IS_VXRN_CLI = 'true'
16
32
 
@@ -80,6 +96,8 @@ export default defineConfig({
80
96
  const serverConfig = await getViteServerConfig(options, config)
81
97
 
82
98
  let viteServer: ViteDevServer | null = null
99
+ // Track if server is closing to prevent work during shutdown
100
+ let isClosing = false
83
101
 
84
102
  return {
85
103
  viteServer,
@@ -87,11 +105,18 @@ export default defineConfig({
87
105
  start: async () => {
88
106
  viteServer = await createServer(serverConfig)
89
107
 
90
- // This fakes vite into thinking its loading files for HMR
91
- // Debounced per-file to avoid CPU spikes during builds
108
+ // This fakes vite into thinking its loading files for React Native HMR.
109
+ // Native clients don't request URLs like web clients, so we manually
110
+ // trigger transforms to make HMR work.
111
+ const { connectedNativeClients } = await import('../utils/connectedNativeClients')
92
112
  const pendingTransforms = new Map<string, ReturnType<typeof debounce>>()
93
113
 
94
114
  viteServer.watcher.addListener('change', async (path) => {
115
+ // Don't do work if server is closing or no native clients connected
116
+ if (isClosing || connectedNativeClients === 0) {
117
+ return
118
+ }
119
+
95
120
  // Skip dist files to avoid loops during builds
96
121
  if (path.includes('/dist/') || path.includes('\\dist\\')) {
97
122
  return
@@ -107,10 +132,14 @@ export default defineConfig({
107
132
  pendingTransforms.set(
108
133
  id,
109
134
  debounce(async () => {
135
+ if (isClosing) return
110
136
  try {
111
137
  await viteServer!.transformRequest(id)
112
138
  } catch (err) {
113
- console.info('err', err)
139
+ // Ignore errors during shutdown
140
+ if (!isClosing) {
141
+ console.info('err', err)
142
+ }
114
143
  }
115
144
  }, 100)
116
145
  )
@@ -119,6 +148,11 @@ export default defineConfig({
119
148
  pendingTransforms.get(id)!()
120
149
  })
121
150
 
151
+ // Mark as closing when http server closes
152
+ viteServer.httpServer?.on('close', () => {
153
+ isClosing = true
154
+ })
155
+
122
156
  await viteServer.listen()
123
157
 
124
158
  const totalStartupTime = Date.now() - devStartTime
@@ -142,6 +176,7 @@ export default defineConfig({
142
176
  },
143
177
 
144
178
  stop: () => {
179
+ isClosing = true
145
180
  if (viteServer) {
146
181
  viteServer.watcher.removeAllListeners()
147
182
  return viteServer.close()
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/exports/dev.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAI3C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,GAAG,GAAU,WAAW,UAAU;;;;;;EA0I9C,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/exports/dev.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAkB3C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,GAAG,GAAU,WAAW,UAAU;;;;;;EA+J9C,CAAA"}