one
Version:
One is a React framework for web, iOS, and Android apps.
36 lines (33 loc) • 1.36 kB
JavaScript
import { createRequire } from "module";
import { buildOneBabelPlugins } from "../babel-preset/index.native.js";
import { buildOneMetroResolverOverrides } from "./buildOneMetroResolverOverrides.native.js";
function getViteMetroPluginOptions(param) {
var { projectRoot, relativeRouterRoot, ignoredRouteFiles, linking, userDefaultConfigOverrides, setupFile } = param;
var require2 = createRequire(projectRoot + "/");
try {
require2.resolve("babel-preset-expo");
} catch (unused) {
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.`);
}
var applyOneResolverOverrides = buildOneMetroResolverOverrides({ projectRoot });
return {
oneViteMetroBabelConfig: true,
defaultConfigOverrides: function defaultConfigOverrides(defaultConfig) {
var 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.native.js.map