evOo-local/apps/mobile/metro.config.js
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

28 lines
1.0 KiB
JavaScript

const { getDefaultConfig } = require("expo/metro-config");
const { resolveTypeScriptSource } = require("./metro-resolver");
const projectRoot = __dirname;
const config = getDefaultConfig(projectRoot);
const defaultResolveRequest = config.resolver.resolveRequest;
const pinned = new Set(["react", "react/jsx-runtime", "react/jsx-dev-runtime", "react-native"]);
function resolveFromApp(moduleName) {
return require.resolve(moduleName, { paths: [projectRoot] });
}
config.resolver.resolveRequest = (context, moduleName, platform) => {
if (pinned.has(moduleName) || moduleName.startsWith("react-native/")) {
try {
return { type: "sourceFile", filePath: resolveFromApp(moduleName) };
} catch {
// Fall through to Metro if this exact subpath is not in the app tree.
}
}
if (defaultResolveRequest) {
return resolveTypeScriptSource(context, moduleName, platform, defaultResolveRequest);
}
return resolveTypeScriptSource(context, moduleName, platform, context.resolveRequest);
};
module.exports = config;