UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

46 lines (45 loc) 1.74 kB
import path from "node:path"; import { buildMetroConfigInputFromViteConfig } from "@vxrn/vite-plugin-metro"; import { getViteMetroPluginOptions } from "./getViteMetroPluginOptions.mjs"; import { loadUserOneOptions } from "../vite/loadConfig.mjs"; async function loadUserViteMetroOptions(projectRoot) { const previousCwd = process.cwd(); const previousIsVxrnCli = process.env.IS_VXRN_CLI; try { process.chdir(projectRoot); process.env.IS_VXRN_CLI = "true"; return await loadUserOneOptions("build", true); } finally { process.chdir(previousCwd); if (previousIsVxrnCli === void 0) { delete process.env.IS_VXRN_CLI; } else { process.env.IS_VXRN_CLI = previousIsVxrnCli; } } } async function withOne(baseConfigOrProjectRoot, options = {}) { const projectRoot = path.resolve(typeof baseConfigOrProjectRoot === "string" ? baseConfigOrProjectRoot : options.projectRoot ?? process.cwd()); const loaded = options.loadViteConfig === false ? void 0 : await loadUserViteMetroOptions(projectRoot); const metroPluginOptions = loaded?.metroOptions ?? getViteMetroPluginOptions({ projectRoot, relativeRouterRoot: options.routerRoot ?? "app", ignoredRouteFiles: options.ignoredRouteFiles, linking: options.linking, setupFile: options.setupFile }); const viteConfig = { ...loaded?.config?.config, root: path.resolve(loaded?.config?.config?.root ?? projectRoot) }; const { defaultConfig } = await buildMetroConfigInputFromViteConfig(viteConfig, { ...metroPluginOptions, mainModuleName: "one/metro-entry" }); return defaultConfig; } var withOne_default = withOne; export { withOne_default as default, withOne }; //# sourceMappingURL=withOne.mjs.map