Live video on the AT Protocol
79
fork

Configure Feed

Select the types of activity you want to include in your feed.

at eli/fix-context-recursion 67 lines 2.0 kB view raw
1// Learn more https://docs.expo.io/guides/customizing-metro 2/** 3 * @type {import('expo/metro-config').MetroConfig} 4 */ 5const { getDefaultConfig } = require("expo/metro-config"); 6const { FileStore } = require("metro-cache"); 7const path = require("path"); 8 9let config = getDefaultConfig(__dirname, { 10 // [Web-only]: Enables CSS support in Metro. 11 isCSSEnabled: true, 12}); 13 14config.cacheStores = [ 15 new FileStore({ 16 root: path.join(__dirname, "node_modules", ".cache", "metro"), 17 }), 18]; 19 20// Enable Tamagui and add nice web support with optimizing compiler + CSS extraction 21const { withTamagui } = require("@tamagui/metro-plugin"); 22config = withTamagui(config, { 23 components: ["tamagui"], 24 config: "./tamagui.config.ts", 25 outputCSS: "./tamagui-web.css", 26}); 27 28const overrides = {}; 29 30const nativeOverrides = { 31 crypto: "react-native-quick-crypto", 32 // "node:crypto": "react-native-quick-crypto", 33 stream: "readable-stream", 34 // "node:buffer": "buffer", 35 // "node:util": "util", 36 // "node:http": path.resolve(__dirname, "./empty.mjs"), 37 // "node:https": path.resolve(__dirname, "./empty.mjs"), 38 // // "node:events": "events", 39}; 40 41config.resolver.resolveRequest = (context, moduleName, platform) => { 42 if (moduleName.includes("zustand")) { 43 const result = require.resolve(moduleName); 44 return context.resolveRequest(context, result, platform); 45 } 46 if (platform !== "web") { 47 for (const [key, value] of Object.entries(nativeOverrides)) { 48 if (moduleName === key) { 49 return context.resolveRequest(context, value, platform); 50 } 51 } 52 } 53 for (const [key, value] of Object.entries(overrides)) { 54 if (moduleName === key) { 55 return context.resolveRequest(context, value, platform); 56 } 57 } 58 // otherwise chain to the standard Metro resolver. 59 return context.resolveRequest(context, moduleName, platform); 60}; 61 62config.resolver.sourceExts.push("mjs"); 63config.resolver.assetExts.push("md"); 64 65config.resolver.unstable_conditionNames.push("@streamplace/dev", "browser"); 66 67module.exports = config;