this string has no description
metro.config.js
39 lines 1.3 kB view raw
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;