From 85c26fb5a8eef0c60aba1b27d8d516034a7e508e Mon Sep 17 00:00:00 2001
From: dan <dan.abramov@gmail.com>
Date: Wed, 1 Nov 2023 15:31:33 +0000
Subject: Instrument module init in DEV (#1787)

---
 src/Navigation.tsx | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'src/Navigation.tsx')

diff --git a/src/Navigation.tsx b/src/Navigation.tsx
index a75651987..e481d966e 100644
--- a/src/Navigation.tsx
+++ b/src/Navigation.tsx
@@ -472,6 +472,7 @@ function RoutesContainer({children}: React.PropsWithChildren<{}>) {
           performance.now() - global.__BUNDLE_START_TIME__,
         )
         console.log(`Time to first paint: ${initMs} ms`)
+        logModuleInitTrace()
 
         // Register the navigation container with the Sentry instrumentation (only works on native)
         if (isNative) {
@@ -586,6 +587,18 @@ const styles = StyleSheet.create({
   },
 })
 
+function logModuleInitTrace() {
+  if (__DEV__) {
+    // This log is noisy, so keep false committed
+    const shouldLog = false
+    // Relies on our patch to polyfill.js in metro-runtime
+    const initLogs = (global as any).__INIT_LOGS__
+    if (shouldLog && Array.isArray(initLogs)) {
+      console.log(initLogs.join('\n'))
+    }
+  }
+}
+
 export {
   navigate,
   resetToTab,
-- 
cgit 1.4.1

