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.
- package/dist/exports/dev.js +22 -10
- package/dist/exports/dev.js.map +1 -1
- package/dist/exports/dev.mjs +98 -84
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +111 -97
- package/dist/exports/dev.native.js.map +1 -1
- package/package.json +12 -12
- package/src/exports/dev.ts +38 -3
- package/types/exports/dev.d.ts.map +1 -1
package/dist/exports/dev.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
};
|
package/dist/exports/dev.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/exports/dev.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,SAAS,gBAAgB;AAIzB,MAAM,EAAE,UAAU,IAAI,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/exports/dev.mjs
CHANGED
|
@@ -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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
package/dist/exports/dev.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","colors","debounce","ensureDir","dev","optionsIn","devStartTime","Date","now","
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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","
|
|
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.
|
|
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.
|
|
69
|
-
"@vxrn/debug": "1.2.
|
|
70
|
-
"@vxrn/query-string": "1.2.
|
|
71
|
-
"@vxrn/react-native-prebuilt": "1.2.
|
|
72
|
-
"@vxrn/resolve": "1.2.
|
|
73
|
-
"@vxrn/safe-area": "1.2.
|
|
74
|
-
"@vxrn/url-parse": "1.2.
|
|
75
|
-
"@vxrn/utils": "1.2.
|
|
76
|
-
"@vxrn/vendor": "1.2.
|
|
77
|
-
"@vxrn/vite-flow": "1.2.
|
|
78
|
-
"@vxrn/vite-plugin-metro": "1.2.
|
|
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",
|
package/src/exports/dev.ts
CHANGED
|
@@ -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
|
-
//
|
|
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
|
-
|
|
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;
|
|
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"}
|