this string has no description
metro.config.js
1// Learn more https://docs.expo.dev/guides/customizing-metro
2const { getDefaultConfig } = require("expo/metro-config");
3const path = require("path");
4
5/** @type {import('expo/metro-config').MetroConfig} */
6const config = getDefaultConfig(__dirname);
7
8config.resolver.unstable_enablePackageExports = false;
9
10// Block pnpm cache directories from being watched (not the monorepo .pnpm)
11config.resolver.blockList = [
12 // Exclude pnpm global cache/store
13 /\/\.pnpm-store\//,
14 // Exclude pnpm dlx cache (the original error)
15 /\/Library\/Caches\/pnpm\/dlx\//,
16 // General cache exclusions
17 /\/node_modules\/.*\/node_modules\/react-native\//,
18];
19
20// Add resolver to redirect expo-symbols to web shim on web platform
21const originalResolveRequest = config.resolver.resolveRequest;
22config.resolver.resolveRequest = (context, moduleName, platform) => {
23 // On web, redirect expo-symbols to our web shim
24 if (platform === "web" && moduleName === "expo-symbols") {
25 return {
26 type: "sourceFile",
27 filePath: path.resolve(__dirname, "polyfills/expo-symbols.web.ts"),
28 };
29 }
30
31 // Use default resolution for other modules
32 if (originalResolveRequest) {
33 return originalResolveRequest(context, moduleName, platform);
34 }
35
36 return context.resolveRequest(context, moduleName, platform);
37};
38
39module.exports = config;