UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

35 lines (32 loc) • 1.3 kB
import { createRequire } from "node:module"; import { buildOneBabelPlugins } from "../babel-preset/index.mjs"; import { buildOneMetroResolverOverrides } from "./buildOneMetroResolverOverrides.mjs"; function getViteMetroPluginOptions({ projectRoot, relativeRouterRoot, ignoredRouteFiles, linking, userDefaultConfigOverrides, setupFile }) { const require2 = createRequire(projectRoot + "/"); try { require2.resolve("babel-preset-expo"); } catch { throw new Error(`[one] Metro requires babel-preset-expo in the app at ${projectRoot}. Install it with your package manager, or remove native.bundler: 'metro' to use One's default native bundler.`); } const applyOneResolverOverrides = buildOneMetroResolverOverrides({ projectRoot }); return { oneViteMetroBabelConfig: true, defaultConfigOverrides: (defaultConfig) => { let config = applyOneResolverOverrides(defaultConfig); if (typeof userDefaultConfigOverrides === "function") { config = userDefaultConfigOverrides(config); } return config; }, babelConfig: { plugins: buildOneBabelPlugins({ projectRoot, relativeRouterRoot, ignoredRouteFiles, linking, setupFile, includeImportMetaEnv: false }) } }; } export { getViteMetroPluginOptions }; //# sourceMappingURL=getViteMetroPluginOptions.mjs.map