vxrn 2.0.0-beta.159.1 → 2.0.0-beta.162.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.
@@ -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 {
@@ -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 {