UNPKG

one

Version:

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

67 lines (66 loc) 2.23 kB
import module from "node:module"; import path from "node:path"; function buildOneMetroResolverOverrides({ projectRoot }) { const require2 = module.createRequire(projectRoot + "/"); const emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", { paths: [projectRoot] }); return defaultConfig => { const resolver = { ...defaultConfig?.resolver, extraNodeModules: { ...defaultConfig?.resolver?.extraNodeModules }, nodeModulesPaths: defaultConfig?.resolver?.nodeModulesPaths, resolveRequest: (context, moduleName, platform) => { if (moduleName.endsWith(".css")) { return { type: "sourceFile", filePath: emptyPath }; } if (/_middleware.tsx?$/.test(moduleName)) { return { type: "sourceFile", filePath: emptyPath }; } if (/\.server(\.[jt]sx?)?$/.test(moduleName)) { return { type: "sourceFile", filePath: emptyPath }; } if (moduleName === "react-native-svg") { const defaultResolveRequest2 = defaultConfig?.resolver?.resolveRequest || context.resolveRequest; const res2 = defaultResolveRequest2(context, moduleName, platform); const svgSrcSuffix = `${path.sep}src${path.sep}index.ts`; if (res2 && "filePath" in res2 && res2.filePath.includes(svgSrcSuffix)) { return { ...res2, filePath: res2.filePath.replace(svgSrcSuffix, `${path.sep}lib${path.sep}commonjs${path.sep}index.js`) }; } return res2; } const defaultResolveRequest = defaultConfig?.resolver?.resolveRequest || context.resolveRequest; const res = defaultResolveRequest(context, moduleName, platform); if (res && "filePath" in res && /\.server\.[jt]sx?$/.test(res.filePath)) { return { type: "sourceFile", filePath: emptyPath }; } return res; } }; return { ...defaultConfig, resolver }; }; } export { buildOneMetroResolverOverrides }; //# sourceMappingURL=buildOneMetroResolverOverrides.mjs.map