about summary refs log tree commit diff
path: root/metro.config.js
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-11-19 02:20:58 +0000
committerGitHub <noreply@github.com>2024-11-19 02:20:58 +0000
commit9a57d2a538e4acf112069aa3b6ba37d615ede758 (patch)
treeaf2881c9325cccb97770d4c54a6a0861949d8ff2 /metro.config.js
parent7b6c18272385494145676e42cbe922bde7ceae6b (diff)
downloadvoidsky-9a57d2a538e4acf112069aa3b6ba37d615ede758.tar.zst
Add Profiler build for Android (#6510)
Diffstat (limited to 'metro.config.js')
-rw-r--r--metro.config.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/metro.config.js b/metro.config.js
index e6a6676f0..d083f2a84 100644
--- a/metro.config.js
+++ b/metro.config.js
@@ -9,6 +9,11 @@ cfg.resolver.sourceExts = process.env.RN_SRC_EXT
 if (cfg.resolver.resolveRequest) {
   throw Error('Update this override because it is conflicting now.')
 }
+
+if (process.env.BSKY_PROFILE) {
+  cfg.cacheVersion += ':PROFILE'
+}
+
 cfg.resolver.resolveRequest = (context, moduleName, platform) => {
   // HACK: manually resolve a few packages that use `exports` in `package.json`.
   // A proper solution is to enable `unstable_enablePackageExports` but this needs careful testing.
@@ -29,6 +34,15 @@ cfg.resolver.resolveRequest = (context, moduleName, platform) => {
   if (moduleName === '@ipld/dag-cbor') {
     return context.resolveRequest(context, '@ipld/dag-cbor/src', platform)
   }
+  if (process.env.BSKY_PROFILE) {
+    if (moduleName.endsWith('ReactNativeRenderer-prod')) {
+      return context.resolveRequest(
+        context,
+        moduleName.replace('-prod', '-profiling'),
+        platform,
+      )
+    }
+  }
   return context.resolveRequest(context, moduleName, platform)
 }