vxrn 2.0.0-beta.158.1 → 2.0.0-beta.161.1
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.mjs +3 -0
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +3 -0
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +54 -0
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +56 -0
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/package.json +10 -10
- package/src/exports/dev.ts +5 -1
- package/src/utils/createNativeDevEngine.test.ts +9 -1
- package/src/utils/createNativeDevEngine.ts +57 -0
- package/types/exports/dev.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
package/dist/exports/dev.mjs
CHANGED
|
@@ -95,6 +95,7 @@ export default defineConfig({
|
|
|
95
95
|
`);
|
|
96
96
|
process.exit(0);
|
|
97
97
|
}
|
|
98
|
+
let extraPlugins = [];
|
|
98
99
|
if (optionsIn.extraConfig) {
|
|
99
100
|
const { resolve } = await import("node:path");
|
|
100
101
|
const extraConfigPath = resolve(optionsIn.extraConfig);
|
|
@@ -104,6 +105,7 @@ export default defineConfig({
|
|
|
104
105
|
}, extraConfigPath);
|
|
105
106
|
if (extraResult?.config) {
|
|
106
107
|
const { mergeConfig } = await import("vite");
|
|
108
|
+
extraPlugins = extraResult.config.plugins || [];
|
|
107
109
|
config = mergeConfig(config, extraResult.config);
|
|
108
110
|
console.info(colors.cyan(`Merged extra config from ${extraConfigPath}`));
|
|
109
111
|
} else {
|
|
@@ -138,6 +140,7 @@ export default defineConfig({
|
|
|
138
140
|
await ensureDir(cacheDir);
|
|
139
141
|
await ensureDir(`${cacheDir}/compiler-cache`);
|
|
140
142
|
const serverConfig = await getViteServerConfig(options, config);
|
|
143
|
+
serverConfig.plugins = [...serverConfig.plugins || [], ...extraPlugins];
|
|
141
144
|
let viteServer = null;
|
|
142
145
|
let isClosing = false;
|
|
143
146
|
return {
|
package/dist/exports/dev.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","names":[],"sources":["exports/dev.js"],"sourcesContent":["import { execFileSync } from \"node:child_process\";\nimport FSExtra from \"fs-extra\";\nimport colors from \"picocolors\";\nimport { debounce } from \"perfect-debounce\";\nimport { normalizePath } from \"vite\";\nconst { ensureDir } = FSExtra;\nfunction readParentPid(pid) {\n try {\n const output = execFileSync(\"ps\", [\"-o\", \"ppid=\", \"-p\", `${pid}`], {\n encoding: \"utf8\",\n stdio: [\"ignore\", \"pipe\", \"ignore\"]\n }).trim();\n const ppid = Number.parseInt(output, 10);\n return Number.isFinite(ppid) ? ppid : void 0;\n } catch {\n return void 0;\n }\n}\nfunction processExists(pid) {\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return error.code !== \"ESRCH\";\n }\n}\nfunction setupOrphanDetection() {\n if (process.platform === \"win32\") return;\n const initialPpid = process.ppid;\n const launcherPid = readParentPid(initialPpid);\n if (initialPpid === 1 || launcherPid === 1) {\n process.exit(0);\n }\n const interval = setInterval(() => {\n if (process.ppid !== initialPpid || launcherPid !== void 0 && !processExists(launcherPid)) {\n process.exit(0);\n }\n }, 500);\n interval.unref();\n}\nfunction collectStartupGarbage(server) {\n const webEnvironmentsIdle = [\"client\", \"ssr\"].map((name) => server.environments[name]).filter(Boolean).map((environment) => environment.waitForRequestsIdle());\n void Promise.all(webEnvironmentsIdle).then(async () => {\n await new Promise((res) => setTimeout(res, 2e3).unref());\n const [v8, vm] = await Promise.all([import(\"node:v8\"), import(\"node:vm\")]);\n v8.setFlagsFromString(\"--expose-gc\");\n const gc = vm.runInNewContext(\"gc\");\n v8.setFlagsFromString(\"--no-expose-gc\");\n gc();\n });\n}\nconst dev = async (optionsIn) => {\n setupOrphanDetection();\n const devStartTime = Date.now();\n process.env.IS_VXRN_CLI = \"true\";\n if (typeof optionsIn.debug === \"string\") {\n process.env.DEBUG ||= !optionsIn.debug ? `vite` : `vite:${optionsIn.debug}`;\n }\n const { startUserInterface } = await import(\"../user-interface/index\");\n const { bindKeypressInput } = await import(\"../utils/bindKeypressInput\");\n const { fillOptions } = await import(\"../config/getOptionsFilled\");\n const { getViteServerConfig } = await import(\"../config/getViteServerConfig\");\n const { printServerUrls } = await import(\"../utils/printServerUrls\");\n const { prepareCacheForVersion } = await import(\"./clean\");\n const { filterViteServerResolvedUrls } = await import(\"../utils/filterViteServerResolvedUrls\");\n const { removeUndefined } = await import(\"../utils/removeUndefined\");\n const { createServer, loadConfigFromFile } = await import(\"vite\");\n let { config } = await loadConfigFromFile({\n mode: \"dev\",\n command: \"serve\"\n }) ?? {};\n if (!config) {\n console.error(`\n\\u26D4\\uFE0F No vite.config.ts, please create a minimal config:\n\nimport { defineConfig } from 'vite'\nimport { one } from 'one/vite'\n\nexport default defineConfig({\n plugins: [\n one()\n ]\n})\n\n`);\n process.exit(0);\n }\n if (optionsIn.extraConfig) {\n const { resolve } = await import(\"node:path\");\n const extraConfigPath = resolve(optionsIn.extraConfig);\n const extraResult = await loadConfigFromFile(\n { mode: \"dev\", command: \"serve\" },\n extraConfigPath\n );\n if (extraResult?.config) {\n const { mergeConfig } = await import(\"vite\");\n config = mergeConfig(config, extraResult.config);\n console.info(colors.cyan(`Merged extra config from ${extraConfigPath}`));\n } else {\n console.warn(colors.yellow(`Could not load extra config from ${extraConfigPath}`));\n }\n }\n const oneServerConfig = config?.plugins?.find(\n (x) => Array.isArray(x) && x[0]?.[\"name\"] === \"one:config\"\n )?.[0]?.[\"__get\"]?.server;\n const viteServerConfig = config.server;\n const options = await fillOptions({\n ...optionsIn,\n server: {\n ...oneServerConfig,\n ...removeUndefined({\n host: viteServerConfig?.host === true ? \"0.0.0.0\" : typeof viteServerConfig?.host === \"string\" ? viteServerConfig.host : void 0,\n https: viteServerConfig?.https,\n port: viteServerConfig?.port\n }),\n ...removeUndefined(optionsIn.server || {})\n }\n });\n const { cacheDir } = options;\n bindKeypressInput();\n const cacheWasCleaned = await prepareCacheForVersion({\n root: options.root,\n cacheDir,\n versionHash: options.versionHash,\n forceClean: optionsIn.clean === true\n });\n if (options.clean || cacheWasCleaned) {\n process.env.METRO_RESET_CACHE = \"1\";\n }\n await ensureDir(cacheDir);\n await ensureDir(`${cacheDir}/compiler-cache`);\n const serverConfig = await getViteServerConfig(options, config);\n let viteServer = null;\n let isClosing = false;\n return {\n viteServer,\n start: async () => {\n viteServer = await createServer(serverConfig);\n const { connectedNativeClients } = await import(\"../utils/connectedNativeClients\");\n const pendingTransforms = /* @__PURE__ */ new Map();\n viteServer.watcher.addListener(\"change\", async (path) => {\n if (isClosing || connectedNativeClients === 0) {\n return;\n }\n const normalizedPath = normalizePath(path);\n if (normalizedPath.includes(\"/dist/\")) {\n return;\n }\n const normalizedCwd = normalizePath(process.cwd());\n const id = normalizedPath.replace(normalizedCwd, \"\");\n if (!id.endsWith(\"tsx\") && !id.endsWith(\"jsx\")) {\n return;\n }\n if (!pendingTransforms.has(id)) {\n pendingTransforms.set(\n id,\n debounce(async () => {\n if (isClosing) return;\n try {\n await viteServer.transformRequest(id);\n } catch (err) {\n if (!isClosing) {\n console.info(\"err\", err);\n }\n }\n }, 100)\n );\n }\n pendingTransforms.get(id)();\n });\n viteServer.httpServer?.on(\"close\", () => {\n isClosing = true;\n });\n await viteServer.listen();\n collectStartupGarbage(viteServer);\n const totalStartupTime = Date.now() - devStartTime;\n console.info();\n console.info(colors.bold(\"Server running on\") + \" \\u2AA2\");\n console.info();\n const viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);\n if (viteServerResolvedUrls) {\n printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info);\n }\n startUserInterface({ server: viteServer });\n return {\n closePromise: new Promise((res) => {\n viteServer?.httpServer?.on(\"close\", res);\n })\n };\n },\n stop: () => {\n isClosing = true;\n if (viteServer) {\n viteServer.watcher.removeAllListeners();\n return viteServer.close();\n }\n }\n };\n};\nexport {\n dev\n};\n//# sourceMappingURL=dev.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.js","names":[],"sources":["exports/dev.js"],"sourcesContent":["import { execFileSync } from \"node:child_process\";\nimport FSExtra from \"fs-extra\";\nimport colors from \"picocolors\";\nimport { debounce } from \"perfect-debounce\";\nimport { normalizePath } from \"vite\";\nconst { ensureDir } = FSExtra;\nfunction readParentPid(pid) {\n try {\n const output = execFileSync(\"ps\", [\"-o\", \"ppid=\", \"-p\", `${pid}`], {\n encoding: \"utf8\",\n stdio: [\"ignore\", \"pipe\", \"ignore\"]\n }).trim();\n const ppid = Number.parseInt(output, 10);\n return Number.isFinite(ppid) ? ppid : void 0;\n } catch {\n return void 0;\n }\n}\nfunction processExists(pid) {\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return error.code !== \"ESRCH\";\n }\n}\nfunction setupOrphanDetection() {\n if (process.platform === \"win32\") return;\n const initialPpid = process.ppid;\n const launcherPid = readParentPid(initialPpid);\n if (initialPpid === 1 || launcherPid === 1) {\n process.exit(0);\n }\n const interval = setInterval(() => {\n if (process.ppid !== initialPpid || launcherPid !== void 0 && !processExists(launcherPid)) {\n process.exit(0);\n }\n }, 500);\n interval.unref();\n}\nfunction collectStartupGarbage(server) {\n const webEnvironmentsIdle = [\"client\", \"ssr\"].map((name) => server.environments[name]).filter(Boolean).map((environment) => environment.waitForRequestsIdle());\n void Promise.all(webEnvironmentsIdle).then(async () => {\n await new Promise((res) => setTimeout(res, 2e3).unref());\n const [v8, vm] = await Promise.all([import(\"node:v8\"), import(\"node:vm\")]);\n v8.setFlagsFromString(\"--expose-gc\");\n const gc = vm.runInNewContext(\"gc\");\n v8.setFlagsFromString(\"--no-expose-gc\");\n gc();\n });\n}\nconst dev = async (optionsIn) => {\n setupOrphanDetection();\n const devStartTime = Date.now();\n process.env.IS_VXRN_CLI = \"true\";\n if (typeof optionsIn.debug === \"string\") {\n process.env.DEBUG ||= !optionsIn.debug ? `vite` : `vite:${optionsIn.debug}`;\n }\n const { startUserInterface } = await import(\"../user-interface/index\");\n const { bindKeypressInput } = await import(\"../utils/bindKeypressInput\");\n const { fillOptions } = await import(\"../config/getOptionsFilled\");\n const { getViteServerConfig } = await import(\"../config/getViteServerConfig\");\n const { printServerUrls } = await import(\"../utils/printServerUrls\");\n const { prepareCacheForVersion } = await import(\"./clean\");\n const { filterViteServerResolvedUrls } = await import(\"../utils/filterViteServerResolvedUrls\");\n const { removeUndefined } = await import(\"../utils/removeUndefined\");\n const { createServer, loadConfigFromFile } = await import(\"vite\");\n let { config } = await loadConfigFromFile({\n mode: \"dev\",\n command: \"serve\"\n }) ?? {};\n if (!config) {\n console.error(`\n\\u26D4\\uFE0F No vite.config.ts, please create a minimal config:\n\nimport { defineConfig } from 'vite'\nimport { one } from 'one/vite'\n\nexport default defineConfig({\n plugins: [\n one()\n ]\n})\n\n`);\n process.exit(0);\n }\n let extraPlugins = [];\n if (optionsIn.extraConfig) {\n const { resolve } = await import(\"node:path\");\n const extraConfigPath = resolve(optionsIn.extraConfig);\n const extraResult = await loadConfigFromFile(\n { mode: \"dev\", command: \"serve\" },\n extraConfigPath\n );\n if (extraResult?.config) {\n const { mergeConfig } = await import(\"vite\");\n extraPlugins = extraResult.config.plugins || [];\n config = mergeConfig(config, extraResult.config);\n console.info(colors.cyan(`Merged extra config from ${extraConfigPath}`));\n } else {\n console.warn(colors.yellow(`Could not load extra config from ${extraConfigPath}`));\n }\n }\n const oneServerConfig = config?.plugins?.find(\n (x) => Array.isArray(x) && x[0]?.[\"name\"] === \"one:config\"\n )?.[0]?.[\"__get\"]?.server;\n const viteServerConfig = config.server;\n const options = await fillOptions({\n ...optionsIn,\n server: {\n ...oneServerConfig,\n ...removeUndefined({\n host: viteServerConfig?.host === true ? \"0.0.0.0\" : typeof viteServerConfig?.host === \"string\" ? viteServerConfig.host : void 0,\n https: viteServerConfig?.https,\n port: viteServerConfig?.port\n }),\n ...removeUndefined(optionsIn.server || {})\n }\n });\n const { cacheDir } = options;\n bindKeypressInput();\n const cacheWasCleaned = await prepareCacheForVersion({\n root: options.root,\n cacheDir,\n versionHash: options.versionHash,\n forceClean: optionsIn.clean === true\n });\n if (options.clean || cacheWasCleaned) {\n process.env.METRO_RESET_CACHE = \"1\";\n }\n await ensureDir(cacheDir);\n await ensureDir(`${cacheDir}/compiler-cache`);\n const serverConfig = await getViteServerConfig(options, config);\n serverConfig.plugins = [...serverConfig.plugins || [], ...extraPlugins];\n let viteServer = null;\n let isClosing = false;\n return {\n viteServer,\n start: async () => {\n viteServer = await createServer(serverConfig);\n const { connectedNativeClients } = await import(\"../utils/connectedNativeClients\");\n const pendingTransforms = /* @__PURE__ */ new Map();\n viteServer.watcher.addListener(\"change\", async (path) => {\n if (isClosing || connectedNativeClients === 0) {\n return;\n }\n const normalizedPath = normalizePath(path);\n if (normalizedPath.includes(\"/dist/\")) {\n return;\n }\n const normalizedCwd = normalizePath(process.cwd());\n const id = normalizedPath.replace(normalizedCwd, \"\");\n if (!id.endsWith(\"tsx\") && !id.endsWith(\"jsx\")) {\n return;\n }\n if (!pendingTransforms.has(id)) {\n pendingTransforms.set(\n id,\n debounce(async () => {\n if (isClosing) return;\n try {\n await viteServer.transformRequest(id);\n } catch (err) {\n if (!isClosing) {\n console.info(\"err\", err);\n }\n }\n }, 100)\n );\n }\n pendingTransforms.get(id)();\n });\n viteServer.httpServer?.on(\"close\", () => {\n isClosing = true;\n });\n await viteServer.listen();\n collectStartupGarbage(viteServer);\n const totalStartupTime = Date.now() - devStartTime;\n console.info();\n console.info(colors.bold(\"Server running on\") + \" \\u2AA2\");\n console.info();\n const viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);\n if (viteServerResolvedUrls) {\n printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info);\n }\n startUserInterface({ server: viteServer });\n return {\n closePromise: new Promise((res) => {\n viteServer?.httpServer?.on(\"close\", res);\n })\n };\n },\n stop: () => {\n isClosing = true;\n if (viteServer) {\n viteServer.watcher.removeAllListeners();\n return viteServer.close();\n }\n }\n };\n};\nexport {\n dev\n};\n//# sourceMappingURL=dev.js.map\n"],"mappings":"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"}
|
|
@@ -104,6 +104,7 @@ export default defineConfig({
|
|
|
104
104
|
`);
|
|
105
105
|
process.exit(0);
|
|
106
106
|
}
|
|
107
|
+
var extraPlugins = [];
|
|
107
108
|
if (optionsIn.extraConfig) {
|
|
108
109
|
var { resolve } = await import("path");
|
|
109
110
|
var extraConfigPath = resolve(optionsIn.extraConfig);
|
|
@@ -113,6 +114,7 @@ export default defineConfig({
|
|
|
113
114
|
}, extraConfigPath);
|
|
114
115
|
if (extraResult === null || extraResult === void 0 ? void 0 : extraResult.config) {
|
|
115
116
|
var { mergeConfig } = await import("vite");
|
|
117
|
+
extraPlugins = extraResult.config.plugins || [];
|
|
116
118
|
config = mergeConfig(config, extraResult.config);
|
|
117
119
|
console.info(colors.cyan(`Merged extra config from ${extraConfigPath}`));
|
|
118
120
|
} else {
|
|
@@ -150,6 +152,7 @@ export default defineConfig({
|
|
|
150
152
|
await ensureDir(cacheDir);
|
|
151
153
|
await ensureDir(`${cacheDir}/compiler-cache`);
|
|
152
154
|
var serverConfig = await getViteServerConfig(options, config);
|
|
155
|
+
serverConfig.plugins = [...serverConfig.plugins || [], ...extraPlugins];
|
|
153
156
|
var viteServer = null;
|
|
154
157
|
var isClosing = false;
|
|
155
158
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.native.js","names":[],"sources":["exports/dev.native.js"],"sourcesContent":["import { execFileSync } from \"child_process\";\nimport FSExtra from \"fs-extra\";\nimport colors from \"picocolors\";\nimport { debounce } from \"perfect-debounce\";\nimport { normalizePath } from \"vite\";\nvar { ensureDir } = FSExtra;\nfunction readParentPid(pid) {\n try {\n var output = execFileSync(\"ps\", [\n \"-o\",\n \"ppid=\",\n \"-p\",\n `${pid}`\n ], {\n encoding: \"utf8\",\n stdio: [\n \"ignore\",\n \"pipe\",\n \"ignore\"\n ]\n }).trim();\n var ppid = Number.parseInt(output, 10);\n return Number.isFinite(ppid) ? ppid : void 0;\n } catch (unused) {\n return void 0;\n }\n}\nfunction processExists(pid) {\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return error.code !== \"ESRCH\";\n }\n}\nfunction setupOrphanDetection() {\n if (process.platform === \"win32\") return;\n var initialPpid = process.ppid;\n var launcherPid = readParentPid(initialPpid);\n if (initialPpid === 1 || launcherPid === 1) {\n process.exit(0);\n }\n var interval = setInterval(function() {\n if (process.ppid !== initialPpid || launcherPid !== void 0 && !processExists(launcherPid)) {\n process.exit(0);\n }\n }, 500);\n interval.unref();\n}\nfunction collectStartupGarbage(server) {\n var webEnvironmentsIdle = [\n \"client\",\n \"ssr\"\n ].map(function(name) {\n return server.environments[name];\n }).filter(Boolean).map(function(environment) {\n return environment.waitForRequestsIdle();\n });\n void Promise.all(webEnvironmentsIdle).then(async function() {\n await new Promise(function(res) {\n return setTimeout(res, 2e3).unref();\n });\n var [v8, vm] = await Promise.all([\n import(\"v8\"),\n import(\"vm\")\n ]);\n v8.setFlagsFromString(\"--expose-gc\");\n var gc = vm.runInNewContext(\"gc\");\n v8.setFlagsFromString(\"--no-expose-gc\");\n gc();\n });\n}\nvar dev = async function(optionsIn) {\n var _ref;\n var _config_plugins_find____get, _config_plugins_find_, _config_plugins_find, _config_plugins;\n setupOrphanDetection();\n var devStartTime = Date.now();\n process.env.IS_VXRN_CLI = \"true\";\n if (typeof optionsIn.debug === \"string\") {\n var _process_env;\n (_process_env = process.env).DEBUG || (_process_env.DEBUG = !optionsIn.debug ? `vite` : `vite:${optionsIn.debug}`);\n }\n var { startUserInterface } = await import(\"../user-interface/index\");\n var { bindKeypressInput } = await import(\"../utils/bindKeypressInput\");\n var { fillOptions } = await import(\"../config/getOptionsFilled\");\n var { getViteServerConfig } = await import(\"../config/getViteServerConfig\");\n var { printServerUrls } = await import(\"../utils/printServerUrls\");\n var { prepareCacheForVersion } = await import(\"./clean\");\n var { filterViteServerResolvedUrls } = await import(\"../utils/filterViteServerResolvedUrls\");\n var { removeUndefined } = await import(\"../utils/removeUndefined\");\n var { createServer, loadConfigFromFile } = await import(\"vite\");\n var { config } = (_ref = await loadConfigFromFile({\n mode: \"dev\",\n command: \"serve\"\n })) !== null && _ref !== void 0 ? _ref : {};\n if (!config) {\n console.error(`\n\\u26D4\\uFE0F No vite.config.ts, please create a minimal config:\n\nimport { defineConfig } from 'vite'\nimport { one } from 'one/vite'\n\nexport default defineConfig({\n plugins: [\n one()\n ]\n})\n\n`);\n process.exit(0);\n }\n if (optionsIn.extraConfig) {\n var { resolve } = await import(\"path\");\n var extraConfigPath = resolve(optionsIn.extraConfig);\n var extraResult = await loadConfigFromFile({\n mode: \"dev\",\n command: \"serve\"\n }, extraConfigPath);\n if (extraResult === null || extraResult === void 0 ? void 0 : extraResult.config) {\n var { mergeConfig } = await import(\"vite\");\n config = mergeConfig(config, extraResult.config);\n console.info(colors.cyan(`Merged extra config from ${extraConfigPath}`));\n } else {\n console.warn(colors.yellow(`Could not load extra config from ${extraConfigPath}`));\n }\n }\n var oneServerConfig = config === null || config === void 0 ? void 0 : (_config_plugins = config.plugins) === null || _config_plugins === void 0 ? void 0 : (_config_plugins_find = _config_plugins.find(function(x) {\n var _x_;\n return Array.isArray(x) && ((_x_ = x[0]) === null || _x_ === void 0 ? void 0 : _x_[\"name\"]) === \"one:config\";\n })) === null || _config_plugins_find === void 0 ? void 0 : (_config_plugins_find_ = _config_plugins_find[0]) === null || _config_plugins_find_ === void 0 ? void 0 : (_config_plugins_find____get = _config_plugins_find_[\"__get\"]) === null || _config_plugins_find____get === void 0 ? void 0 : _config_plugins_find____get.server;\n var viteServerConfig = config.server;\n var options = await fillOptions({\n ...optionsIn,\n server: {\n ...oneServerConfig,\n ...removeUndefined({\n host: (viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.host) === true ? \"0.0.0.0\" : typeof (viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.host) === \"string\" ? viteServerConfig.host : void 0,\n https: viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.https,\n port: viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.port\n }),\n ...removeUndefined(optionsIn.server || {})\n }\n });\n var { cacheDir } = options;\n bindKeypressInput();\n var cacheWasCleaned = await prepareCacheForVersion({\n root: options.root,\n cacheDir,\n versionHash: options.versionHash,\n forceClean: optionsIn.clean === true\n });\n if (options.clean || cacheWasCleaned) {\n process.env.METRO_RESET_CACHE = \"1\";\n }\n await ensureDir(cacheDir);\n await ensureDir(`${cacheDir}/compiler-cache`);\n var serverConfig = await getViteServerConfig(options, config);\n var viteServer = null;\n var isClosing = false;\n return {\n viteServer,\n start: async function() {\n var _viteServer_httpServer;\n viteServer = await createServer(serverConfig);\n var { connectedNativeClients } = await import(\"../utils/connectedNativeClients\");\n var pendingTransforms = /* @__PURE__ */ new Map();\n viteServer.watcher.addListener(\"change\", async function(path) {\n if (isClosing || connectedNativeClients === 0) {\n return;\n }\n var normalizedPath = normalizePath(path);\n if (normalizedPath.includes(\"/dist/\")) {\n return;\n }\n var normalizedCwd = normalizePath(process.cwd());\n var id = normalizedPath.replace(normalizedCwd, \"\");\n if (!id.endsWith(\"tsx\") && !id.endsWith(\"jsx\")) {\n return;\n }\n if (!pendingTransforms.has(id)) {\n pendingTransforms.set(id, debounce(async function() {\n if (isClosing) return;\n try {\n await viteServer.transformRequest(id);\n } catch (err) {\n if (!isClosing) {\n console.info(\"err\", err);\n }\n }\n }, 100));\n }\n pendingTransforms.get(id)();\n });\n (_viteServer_httpServer = viteServer.httpServer) === null || _viteServer_httpServer === void 0 ? void 0 : _viteServer_httpServer.on(\"close\", function() {\n isClosing = true;\n });\n await viteServer.listen();\n collectStartupGarbage(viteServer);\n var totalStartupTime = Date.now() - devStartTime;\n console.info();\n console.info(colors.bold(\"Server running on\") + \" \\u2AA2\");\n console.info();\n var viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);\n if (viteServerResolvedUrls) {\n printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info);\n }\n startUserInterface({\n server: viteServer\n });\n return {\n closePromise: new Promise(function(res) {\n var _viteServer_httpServer2;\n viteServer === null || viteServer === void 0 ? void 0 : (_viteServer_httpServer2 = viteServer.httpServer) === null || _viteServer_httpServer2 === void 0 ? void 0 : _viteServer_httpServer2.on(\"close\", res);\n })\n };\n },\n stop: function() {\n isClosing = true;\n if (viteServer) {\n viteServer.watcher.removeAllListeners();\n return viteServer.close();\n }\n }\n };\n};\nexport {\n dev\n};\n//# sourceMappingURL=dev.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.native.js","names":[],"sources":["exports/dev.native.js"],"sourcesContent":["import { execFileSync } from \"child_process\";\nimport FSExtra from \"fs-extra\";\nimport colors from \"picocolors\";\nimport { debounce } from \"perfect-debounce\";\nimport { normalizePath } from \"vite\";\nvar { ensureDir } = FSExtra;\nfunction readParentPid(pid) {\n try {\n var output = execFileSync(\"ps\", [\n \"-o\",\n \"ppid=\",\n \"-p\",\n `${pid}`\n ], {\n encoding: \"utf8\",\n stdio: [\n \"ignore\",\n \"pipe\",\n \"ignore\"\n ]\n }).trim();\n var ppid = Number.parseInt(output, 10);\n return Number.isFinite(ppid) ? ppid : void 0;\n } catch (unused) {\n return void 0;\n }\n}\nfunction processExists(pid) {\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return error.code !== \"ESRCH\";\n }\n}\nfunction setupOrphanDetection() {\n if (process.platform === \"win32\") return;\n var initialPpid = process.ppid;\n var launcherPid = readParentPid(initialPpid);\n if (initialPpid === 1 || launcherPid === 1) {\n process.exit(0);\n }\n var interval = setInterval(function() {\n if (process.ppid !== initialPpid || launcherPid !== void 0 && !processExists(launcherPid)) {\n process.exit(0);\n }\n }, 500);\n interval.unref();\n}\nfunction collectStartupGarbage(server) {\n var webEnvironmentsIdle = [\n \"client\",\n \"ssr\"\n ].map(function(name) {\n return server.environments[name];\n }).filter(Boolean).map(function(environment) {\n return environment.waitForRequestsIdle();\n });\n void Promise.all(webEnvironmentsIdle).then(async function() {\n await new Promise(function(res) {\n return setTimeout(res, 2e3).unref();\n });\n var [v8, vm] = await Promise.all([\n import(\"v8\"),\n import(\"vm\")\n ]);\n v8.setFlagsFromString(\"--expose-gc\");\n var gc = vm.runInNewContext(\"gc\");\n v8.setFlagsFromString(\"--no-expose-gc\");\n gc();\n });\n}\nvar dev = async function(optionsIn) {\n var _ref;\n var _config_plugins_find____get, _config_plugins_find_, _config_plugins_find, _config_plugins;\n setupOrphanDetection();\n var devStartTime = Date.now();\n process.env.IS_VXRN_CLI = \"true\";\n if (typeof optionsIn.debug === \"string\") {\n var _process_env;\n (_process_env = process.env).DEBUG || (_process_env.DEBUG = !optionsIn.debug ? `vite` : `vite:${optionsIn.debug}`);\n }\n var { startUserInterface } = await import(\"../user-interface/index\");\n var { bindKeypressInput } = await import(\"../utils/bindKeypressInput\");\n var { fillOptions } = await import(\"../config/getOptionsFilled\");\n var { getViteServerConfig } = await import(\"../config/getViteServerConfig\");\n var { printServerUrls } = await import(\"../utils/printServerUrls\");\n var { prepareCacheForVersion } = await import(\"./clean\");\n var { filterViteServerResolvedUrls } = await import(\"../utils/filterViteServerResolvedUrls\");\n var { removeUndefined } = await import(\"../utils/removeUndefined\");\n var { createServer, loadConfigFromFile } = await import(\"vite\");\n var { config } = (_ref = await loadConfigFromFile({\n mode: \"dev\",\n command: \"serve\"\n })) !== null && _ref !== void 0 ? _ref : {};\n if (!config) {\n console.error(`\n\\u26D4\\uFE0F No vite.config.ts, please create a minimal config:\n\nimport { defineConfig } from 'vite'\nimport { one } from 'one/vite'\n\nexport default defineConfig({\n plugins: [\n one()\n ]\n})\n\n`);\n process.exit(0);\n }\n var extraPlugins = [];\n if (optionsIn.extraConfig) {\n var { resolve } = await import(\"path\");\n var extraConfigPath = resolve(optionsIn.extraConfig);\n var extraResult = await loadConfigFromFile({\n mode: \"dev\",\n command: \"serve\"\n }, extraConfigPath);\n if (extraResult === null || extraResult === void 0 ? void 0 : extraResult.config) {\n var { mergeConfig } = await import(\"vite\");\n extraPlugins = extraResult.config.plugins || [];\n config = mergeConfig(config, extraResult.config);\n console.info(colors.cyan(`Merged extra config from ${extraConfigPath}`));\n } else {\n console.warn(colors.yellow(`Could not load extra config from ${extraConfigPath}`));\n }\n }\n var oneServerConfig = config === null || config === void 0 ? void 0 : (_config_plugins = config.plugins) === null || _config_plugins === void 0 ? void 0 : (_config_plugins_find = _config_plugins.find(function(x) {\n var _x_;\n return Array.isArray(x) && ((_x_ = x[0]) === null || _x_ === void 0 ? void 0 : _x_[\"name\"]) === \"one:config\";\n })) === null || _config_plugins_find === void 0 ? void 0 : (_config_plugins_find_ = _config_plugins_find[0]) === null || _config_plugins_find_ === void 0 ? void 0 : (_config_plugins_find____get = _config_plugins_find_[\"__get\"]) === null || _config_plugins_find____get === void 0 ? void 0 : _config_plugins_find____get.server;\n var viteServerConfig = config.server;\n var options = await fillOptions({\n ...optionsIn,\n server: {\n ...oneServerConfig,\n ...removeUndefined({\n host: (viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.host) === true ? \"0.0.0.0\" : typeof (viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.host) === \"string\" ? viteServerConfig.host : void 0,\n https: viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.https,\n port: viteServerConfig === null || viteServerConfig === void 0 ? void 0 : viteServerConfig.port\n }),\n ...removeUndefined(optionsIn.server || {})\n }\n });\n var { cacheDir } = options;\n bindKeypressInput();\n var cacheWasCleaned = await prepareCacheForVersion({\n root: options.root,\n cacheDir,\n versionHash: options.versionHash,\n forceClean: optionsIn.clean === true\n });\n if (options.clean || cacheWasCleaned) {\n process.env.METRO_RESET_CACHE = \"1\";\n }\n await ensureDir(cacheDir);\n await ensureDir(`${cacheDir}/compiler-cache`);\n var serverConfig = await getViteServerConfig(options, config);\n serverConfig.plugins = [\n ...serverConfig.plugins || [],\n ...extraPlugins\n ];\n var viteServer = null;\n var isClosing = false;\n return {\n viteServer,\n start: async function() {\n var _viteServer_httpServer;\n viteServer = await createServer(serverConfig);\n var { connectedNativeClients } = await import(\"../utils/connectedNativeClients\");\n var pendingTransforms = /* @__PURE__ */ new Map();\n viteServer.watcher.addListener(\"change\", async function(path) {\n if (isClosing || connectedNativeClients === 0) {\n return;\n }\n var normalizedPath = normalizePath(path);\n if (normalizedPath.includes(\"/dist/\")) {\n return;\n }\n var normalizedCwd = normalizePath(process.cwd());\n var id = normalizedPath.replace(normalizedCwd, \"\");\n if (!id.endsWith(\"tsx\") && !id.endsWith(\"jsx\")) {\n return;\n }\n if (!pendingTransforms.has(id)) {\n pendingTransforms.set(id, debounce(async function() {\n if (isClosing) return;\n try {\n await viteServer.transformRequest(id);\n } catch (err) {\n if (!isClosing) {\n console.info(\"err\", err);\n }\n }\n }, 100));\n }\n pendingTransforms.get(id)();\n });\n (_viteServer_httpServer = viteServer.httpServer) === null || _viteServer_httpServer === void 0 ? void 0 : _viteServer_httpServer.on(\"close\", function() {\n isClosing = true;\n });\n await viteServer.listen();\n collectStartupGarbage(viteServer);\n var totalStartupTime = Date.now() - devStartTime;\n console.info();\n console.info(colors.bold(\"Server running on\") + \" \\u2AA2\");\n console.info();\n var viteServerResolvedUrls = filterViteServerResolvedUrls(viteServer.resolvedUrls);\n if (viteServerResolvedUrls) {\n printServerUrls(viteServerResolvedUrls, {}, viteServer.config.logger.info);\n }\n startUserInterface({\n server: viteServer\n });\n return {\n closePromise: new Promise(function(res) {\n var _viteServer_httpServer2;\n viteServer === null || viteServer === void 0 ? void 0 : (_viteServer_httpServer2 = viteServer.httpServer) === null || _viteServer_httpServer2 === void 0 ? void 0 : _viteServer_httpServer2.on(\"close\", res);\n })\n };\n },\n stop: function() {\n isClosing = true;\n if (viteServer) {\n viteServer.watcher.removeAllListeners();\n return viteServer.close();\n }\n }\n };\n};\nexport {\n dev\n};\n//# sourceMappingURL=dev.js.map\n"],"mappings":"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"}
|
|
@@ -178,6 +178,7 @@ function getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest,
|
|
|
178
178
|
hermesCompatSWCPlugin(dev, sourceMaps),
|
|
179
179
|
hermesLoopsPlugin(sourceMaps),
|
|
180
180
|
...userPlugins,
|
|
181
|
+
nativeExportsPrecedencePlugin(root, platform),
|
|
181
182
|
nativeDeclarationAliasPlugin(root, platform)
|
|
182
183
|
].map((plugin) => plugin.api?.vxrnNative ? plugin.api.vxrnNative(context) : plugin);
|
|
183
184
|
}
|
|
@@ -778,6 +779,59 @@ function nativeIdentityAliasPlugin(platform) {
|
|
|
778
779
|
}
|
|
779
780
|
};
|
|
780
781
|
}
|
|
782
|
+
function nativeExportsPrecedencePlugin(root, platform) {
|
|
783
|
+
const manifests = /* @__PURE__ */ new Map();
|
|
784
|
+
const readManifest = (directory) => {
|
|
785
|
+
if (!manifests.has(directory)) {
|
|
786
|
+
let manifest = null;
|
|
787
|
+
try {
|
|
788
|
+
manifest = JSON.parse(readFileSync(join(directory, "package.json"), "utf8"));
|
|
789
|
+
} catch {}
|
|
790
|
+
manifests.set(directory, manifest);
|
|
791
|
+
}
|
|
792
|
+
return manifests.get(directory);
|
|
793
|
+
};
|
|
794
|
+
const resolvers = /* @__PURE__ */ new Map();
|
|
795
|
+
return {
|
|
796
|
+
name: "vxrn:native-exports-precedence",
|
|
797
|
+
async resolveId(source, importer, options) {
|
|
798
|
+
if (source.startsWith(".") || source.startsWith("/") || source.includes(":")) return;
|
|
799
|
+
const resolved = await this.resolve(source, importer, {
|
|
800
|
+
skipSelf: true,
|
|
801
|
+
kind: options.kind
|
|
802
|
+
});
|
|
803
|
+
if (!resolved || resolved.external || resolved.id.startsWith("\0")) return resolved;
|
|
804
|
+
const name = source.split("/").slice(0, source.startsWith("@") ? 2 : 1).join("/");
|
|
805
|
+
let directory = dirname(resolved.id);
|
|
806
|
+
while (readManifest(directory)?.name !== name) {
|
|
807
|
+
if (dirname(directory) === directory) return resolved;
|
|
808
|
+
directory = dirname(directory);
|
|
809
|
+
}
|
|
810
|
+
const exportsMap = JSON.stringify(readManifest(directory)?.exports ?? null);
|
|
811
|
+
if (!exportsMap.includes("\"react-native\"") || !exportsMap.includes("\"browser\"")) return resolved;
|
|
812
|
+
const kind = options.kind === "require-call" ? "require" : "import";
|
|
813
|
+
let resolver = resolvers.get(kind);
|
|
814
|
+
if (!resolver) {
|
|
815
|
+
const { ResolverFactory } = await import("rolldown/experimental");
|
|
816
|
+
resolver = new ResolverFactory({
|
|
817
|
+
...getNativeResolveConfig(platform),
|
|
818
|
+
conditionNames: [
|
|
819
|
+
"react-native",
|
|
820
|
+
kind,
|
|
821
|
+
"default"
|
|
822
|
+
]
|
|
823
|
+
});
|
|
824
|
+
resolvers.set(kind, resolver);
|
|
825
|
+
}
|
|
826
|
+
const native = resolver.sync(importer ? dirname(importer) : root, source);
|
|
827
|
+
if (!native.path || native.path === resolved.id) return resolved;
|
|
828
|
+
return this.resolve(native.path, importer, {
|
|
829
|
+
skipSelf: true,
|
|
830
|
+
kind: options.kind
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
};
|
|
834
|
+
}
|
|
781
835
|
function nativeDeclarationAliasPlugin(root, platform) {
|
|
782
836
|
const resolvers = /* @__PURE__ */ new Map();
|
|
783
837
|
return {
|