@crumbsdk/react-native 0.0.1-rc.3 → 0.0.1-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/README.md +280 -8
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/margelo/nitro/crumbsdk/reactnative/CrumbReactNative.kt +121 -3
  4. package/app.plugin.js +52 -0
  5. package/ios/CrumbReactNative.swift +135 -3
  6. package/lib/module/NativeCrumbReactNative.web.js +5 -1
  7. package/lib/module/NativeCrumbReactNative.web.js.map +1 -1
  8. package/lib/module/build-release.js +19 -0
  9. package/lib/module/build-release.js.map +1 -0
  10. package/lib/module/index.js +94 -2
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/javascript-crash-capture.js +497 -0
  13. package/lib/module/javascript-crash-capture.js.map +1 -0
  14. package/lib/module/log-buffer.js +22 -2
  15. package/lib/module/log-buffer.js.map +1 -1
  16. package/lib/module/screen-context.js +127 -0
  17. package/lib/module/screen-context.js.map +1 -0
  18. package/lib/typescript/src/CrumbReactNative.nitro.d.ts +5 -1
  19. package/lib/typescript/src/CrumbReactNative.nitro.d.ts.map +1 -1
  20. package/lib/typescript/src/NativeCrumbReactNative.web.d.ts.map +1 -1
  21. package/lib/typescript/src/build-release.d.ts +6 -0
  22. package/lib/typescript/src/build-release.d.ts.map +1 -0
  23. package/lib/typescript/src/index.d.ts +8 -2
  24. package/lib/typescript/src/index.d.ts.map +1 -1
  25. package/lib/typescript/src/javascript-crash-capture.d.ts +74 -0
  26. package/lib/typescript/src/javascript-crash-capture.d.ts.map +1 -0
  27. package/lib/typescript/src/log-buffer.d.ts +1 -0
  28. package/lib/typescript/src/log-buffer.d.ts.map +1 -1
  29. package/lib/typescript/src/screen-context.d.ts +19 -0
  30. package/lib/typescript/src/screen-context.d.ts.map +1 -0
  31. package/lib/typescript/src/types.d.ts +38 -0
  32. package/lib/typescript/src/types.d.ts.map +1 -1
  33. package/metro.cjs +35 -0
  34. package/metro.d.cts +2 -0
  35. package/native/ios/CrumbSDKCore.podspec +28 -0
  36. package/native/ios/CrumbSDKUI.podspec +38 -0
  37. package/native/ios/LICENSE +201 -0
  38. package/native/ios/PLCrashReporter/CrashReporter.xcframework/Info.plist +96 -0
  39. package/native/ios/PLCrashReporter/CrashReporter.xcframework/PrivacyInfo.xcprivacy +39 -0
  40. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/CrashReporter +0 -0
  41. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  42. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  43. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  44. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  45. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  46. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  47. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  48. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  49. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  50. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  51. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  52. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  53. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  54. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  55. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  56. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  57. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  58. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  59. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  60. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  61. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  62. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  63. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Info.plist +0 -0
  64. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Modules/module.modulemap +8 -0
  65. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  66. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/CrashReporter +0 -0
  67. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  68. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  69. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  70. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  71. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  72. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  73. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  74. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  75. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  76. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  77. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  78. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  79. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  80. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  81. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  82. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  83. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  84. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  85. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  86. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  87. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  88. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  89. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Modules/module.modulemap +8 -0
  90. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Resources/Info.plist +52 -0
  91. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Resources/PrivacyInfo.xcprivacy +39 -0
  92. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/CrashReporter +0 -0
  93. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +366 -0
  94. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h +108 -0
  95. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +143 -0
  96. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +320 -0
  97. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h +193 -0
  98. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h +52 -0
  99. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  100. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h +59 -0
  101. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h +55 -0
  102. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  103. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h +64 -0
  104. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h +80 -0
  105. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h +64 -0
  106. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h +45 -0
  107. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h +50 -0
  108. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h +50 -0
  109. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h +51 -0
  110. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +158 -0
  111. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h +59 -0
  112. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h +75 -0
  113. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +131 -0
  114. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h +193 -0
  115. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Modules/module.modulemap +8 -0
  116. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Resources/Info.plist +52 -0
  117. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Resources/PrivacyInfo.xcprivacy +39 -0
  118. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/CrashReporter +0 -0
  119. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/CrashReporter.h +366 -0
  120. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashFeatureConfig.h +108 -0
  121. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashMacros.h +143 -0
  122. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashNamespace.h +320 -0
  123. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReport.h +193 -0
  124. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportApplicationInfo.h +52 -0
  125. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  126. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportExceptionInfo.h +59 -0
  127. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportFormatter.h +55 -0
  128. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  129. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachineInfo.h +64 -0
  130. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessInfo.h +80 -0
  131. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessorInfo.h +64 -0
  132. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportRegisterInfo.h +45 -0
  133. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSignalInfo.h +50 -0
  134. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportStackFrameInfo.h +50 -0
  135. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSymbolInfo.h +51 -0
  136. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSystemInfo.h +158 -0
  137. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportTextFormatter.h +59 -0
  138. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportThreadInfo.h +75 -0
  139. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReporter.h +131 -0
  140. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReporterConfig.h +193 -0
  141. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Modules/module.modulemap +8 -0
  142. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Resources/Info.plist +52 -0
  143. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Resources/PrivacyInfo.xcprivacy +39 -0
  144. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/CrashReporter +0 -0
  145. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  146. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  147. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  148. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  149. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  150. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  151. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  152. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  153. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  154. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  155. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  156. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  157. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  158. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  159. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  160. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  161. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  162. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  163. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  164. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  165. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  166. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  167. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Info.plist +0 -0
  168. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Modules/module.modulemap +8 -0
  169. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  170. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeDirectory +0 -0
  171. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements +0 -0
  172. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements-1 +0 -0
  173. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeResources +462 -0
  174. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeSignature +0 -0
  175. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/CrashReporter +0 -0
  176. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  177. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  178. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  179. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  180. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  181. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  182. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  183. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  184. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  185. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  186. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  187. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  188. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  189. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  190. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  191. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  192. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  193. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  194. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  195. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  196. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  197. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  198. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Modules/module.modulemap +8 -0
  199. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Resources/Info.plist +48 -0
  200. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Resources/PrivacyInfo.xcprivacy +39 -0
  201. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/CrashReporter +0 -0
  202. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +366 -0
  203. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h +108 -0
  204. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +143 -0
  205. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +320 -0
  206. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h +193 -0
  207. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h +52 -0
  208. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  209. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h +59 -0
  210. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h +55 -0
  211. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  212. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h +64 -0
  213. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h +80 -0
  214. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h +64 -0
  215. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h +45 -0
  216. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h +50 -0
  217. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h +50 -0
  218. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h +51 -0
  219. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +158 -0
  220. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h +59 -0
  221. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h +75 -0
  222. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +131 -0
  223. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h +193 -0
  224. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Modules/module.modulemap +8 -0
  225. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Resources/Info.plist +48 -0
  226. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Resources/PrivacyInfo.xcprivacy +39 -0
  227. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/CrashReporter +0 -0
  228. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/CrashReporter.h +366 -0
  229. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashFeatureConfig.h +108 -0
  230. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashMacros.h +143 -0
  231. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashNamespace.h +320 -0
  232. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReport.h +193 -0
  233. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportApplicationInfo.h +52 -0
  234. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  235. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportExceptionInfo.h +59 -0
  236. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportFormatter.h +55 -0
  237. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  238. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachineInfo.h +64 -0
  239. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessInfo.h +80 -0
  240. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessorInfo.h +64 -0
  241. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportRegisterInfo.h +45 -0
  242. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSignalInfo.h +50 -0
  243. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportStackFrameInfo.h +50 -0
  244. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSymbolInfo.h +51 -0
  245. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSystemInfo.h +158 -0
  246. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportTextFormatter.h +59 -0
  247. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportThreadInfo.h +75 -0
  248. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReporter.h +131 -0
  249. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReporterConfig.h +193 -0
  250. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Modules/module.modulemap +8 -0
  251. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Resources/Info.plist +48 -0
  252. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Resources/PrivacyInfo.xcprivacy +39 -0
  253. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/CrashReporter +0 -0
  254. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  255. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  256. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  257. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  258. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  259. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  260. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  261. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  262. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  263. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  264. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  265. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  266. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  267. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  268. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  269. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  270. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  271. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  272. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  273. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  274. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  275. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  276. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Info.plist +0 -0
  277. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Modules/module.modulemap +8 -0
  278. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  279. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/CrashReporter +0 -0
  280. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  281. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  282. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  283. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  284. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  285. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  286. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  287. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  288. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  289. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  290. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  291. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  292. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  293. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  294. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  295. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  296. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  297. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  298. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  299. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  300. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  301. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  302. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Info.plist +0 -0
  303. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Modules/module.modulemap +8 -0
  304. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  305. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeDirectory +0 -0
  306. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements +0 -0
  307. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements-1 +0 -0
  308. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeResources +462 -0
  309. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeSignature +0 -0
  310. package/native/ios/PLCrashReporter/LICENSE.txt +54 -0
  311. package/native/ios/PLCrashReporter/PLCrashReporter.podspec +19 -0
  312. package/native/ios/VERSION +1 -0
  313. package/native/ios/packages/ios/Sources/CrumbCore/Crumb.swift +108 -0
  314. package/native/ios/packages/ios/Sources/CrumbCore/CrumbConfiguration.swift +212 -0
  315. package/native/ios/packages/ios/Sources/CrumbCore/CrumbDiagnostics.swift +158 -0
  316. package/native/ios/packages/ios/Sources/CrumbCore/CrumbFailureStacks.swift +94 -0
  317. package/native/ios/packages/ios/Sources/CrumbCore/CrumbInfrastructureHealthProbe.swift +110 -0
  318. package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptCrashRecovery.swift +136 -0
  319. package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptCrashStore.swift +508 -0
  320. package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptFailureContext.swift +166 -0
  321. package/native/ios/packages/ios/Sources/CrumbCore/CrumbLogs.swift +138 -0
  322. package/native/ios/packages/ios/Sources/CrumbCore/CrumbPolicy.swift +336 -0
  323. package/native/ios/packages/ios/Sources/CrumbCore/CrumbRendering.swift +68 -0
  324. package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportEnvelope.swift +666 -0
  325. package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportQueue.swift +543 -0
  326. package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportUploader.swift +304 -0
  327. package/native/ios/packages/ios/Sources/CrumbCore/CrumbRuntime.swift +306 -0
  328. package/native/ios/packages/ios/Sources/CrumbCore/CrumbSDKVersion.swift +5 -0
  329. package/native/ios/packages/ios/Sources/CrumbCore/CrumbScreenContext.swift +29 -0
  330. package/native/ios/packages/ios/Sources/CrumbUI/CrumbDesign.swift +151 -0
  331. package/native/ios/packages/ios/Sources/CrumbUI/CrumbLocalization.swift +23 -0
  332. package/native/ios/packages/ios/Sources/CrumbUI/CrumbQualityInstrumentation.swift +30 -0
  333. package/native/ios/packages/ios/Sources/CrumbUI/CrumbRenderingMonitor.swift +40 -0
  334. package/native/ios/packages/ios/Sources/CrumbUI/CrumbReporter.swift +1705 -0
  335. package/native/ios/packages/ios/Sources/CrumbUI/CrumbReporterLifecycle.swift +119 -0
  336. package/native/ios/packages/ios/Sources/CrumbUI/CrumbScreenshotArtifact.swift +186 -0
  337. package/native/ios/packages/ios/Sources/CrumbUI/CrumbShakeGestureRecognizer.swift +62 -0
  338. package/native/ios/packages/ios/Sources/CrumbUI/CrumbUploadCoordinator.swift +113 -0
  339. package/native/ios/packages/ios/Sources/CrumbUI/CrumbWorkspacePolicyCoordinator.swift +86 -0
  340. package/native/ios/packages/ios/Sources/CrumbUI/OnDemandDiagnosticsCollector.swift +269 -0
  341. package/native/ios/packages/ios/Sources/CrumbUI/OnDemandLogCollector.swift +213 -0
  342. package/native/ios/packages/ios/Sources/CrumbUI/Resources/en.lproj/Localizable.strings +75 -0
  343. package/native/ios/provenance.json +8 -0
  344. package/nitrogen/generated/android/c++/JHybridCrumbReactNativeSpec.cpp +32 -3
  345. package/nitrogen/generated/android/c++/JHybridCrumbReactNativeSpec.hpp +5 -1
  346. package/nitrogen/generated/android/kotlin/com/margelo/nitro/crumbsdk/reactnative/HybridCrumbReactNativeSpec.kt +17 -1
  347. package/nitrogen/generated/ios/CrumbReactNative-Swift-Cxx-Bridge.hpp +9 -0
  348. package/nitrogen/generated/ios/c++/HybridCrumbReactNativeSpecSwift.hpp +30 -2
  349. package/nitrogen/generated/ios/swift/HybridCrumbReactNativeSpec.swift +5 -1
  350. package/nitrogen/generated/ios/swift/HybridCrumbReactNativeSpec_cxx.swift +55 -2
  351. package/nitrogen/generated/shared/c++/HybridCrumbReactNativeSpec.cpp +4 -0
  352. package/nitrogen/generated/shared/c++/HybridCrumbReactNativeSpec.hpp +5 -1
  353. package/package.json +29 -5
  354. package/plugin/build-hooks.cjs +52 -0
  355. package/plugin/podfile.cjs +21 -0
  356. package/scripts/ios.rb +23 -0
  357. package/src/CrumbReactNative.nitro.ts +5 -1
  358. package/src/NativeCrumbReactNative.web.ts +4 -0
  359. package/src/build-release.ts +30 -0
  360. package/src/index.ts +221 -2
  361. package/src/javascript-crash-capture.ts +774 -0
  362. package/src/log-buffer.ts +27 -2
  363. package/src/screen-context.ts +154 -0
  364. package/src/types.ts +53 -0
  365. package/tools/cli.cjs +116 -0
  366. package/tools/config.cjs +72 -0
  367. package/tools/crumb.gradle +63 -0
  368. package/tools/expo-export.cjs +122 -0
  369. package/tools/ios.cjs +93 -0
  370. package/tools/node.cjs +21 -0
  371. package/tools/release.cjs +65 -0
  372. package/tools/setup.cjs +291 -0
  373. package/tools/upload.cjs +137 -0
package/tools/ios.cjs ADDED
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ const path = require('node:path');
3
+ const fs = require('node:fs');
4
+ const { spawnSync, execFileSync } = require('node:child_process');
5
+ const { readConfig, isStrict } = require('./config.cjs');
6
+ const { prepareRelease } = require('./release.cjs');
7
+ const { uploadRelease } = require('./upload.cjs');
8
+
9
+ function plistValue(env, key) {
10
+ const candidates = [
11
+ env.TARGET_BUILD_DIR && env.INFOPLIST_PATH
12
+ ? path.resolve(env.TARGET_BUILD_DIR, env.INFOPLIST_PATH)
13
+ : undefined,
14
+ env.INFOPLIST_FILE
15
+ ? path.resolve(env.PROJECT_DIR, env.INFOPLIST_FILE)
16
+ : undefined,
17
+ ];
18
+ for (const file of candidates) {
19
+ if (!file || !fs.existsSync(file)) continue;
20
+ try {
21
+ const value = execFileSync(
22
+ '/usr/libexec/PlistBuddy',
23
+ ['-c', `Print :${key}`, file],
24
+ { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] }
25
+ ).trim();
26
+ return value.replace(
27
+ /\$\(([^)]+)\)|\$\{([^}]+)\}/g,
28
+ (expression, a, b) => env[a || b] || expression
29
+ );
30
+ } catch {
31
+ /* Try the build's other plist source. */
32
+ }
33
+ }
34
+ return undefined;
35
+ }
36
+
37
+ function main() {
38
+ const env = { ...process.env };
39
+ const root = path.resolve(
40
+ env.PROJECT_ROOT || path.join(env.PROJECT_DIR || process.cwd(), '..')
41
+ );
42
+ const config = readConfig(root);
43
+ const enabled =
44
+ config.sourceMaps.enabled &&
45
+ !/Debug/i.test(env.CONFIGURATION || '') &&
46
+ env.SKIP_BUNDLING !== '1';
47
+ let manifest;
48
+ if (enabled) {
49
+ if (!env.DERIVED_FILE_DIR)
50
+ throw new Error('Run the Crumb iOS hook from an Xcode build.');
51
+ manifest = prepareRelease(
52
+ path.join(env.DERIVED_FILE_DIR, 'crumb', env.TARGET_NAME || 'app')
53
+ );
54
+ env.CRUMB_RELEASE_MANIFEST = manifest;
55
+ env.SOURCEMAP_FILE = path.join(path.dirname(manifest), 'bundle.map');
56
+ }
57
+ const [command, ...args] = process.argv.slice(2);
58
+ if (!command)
59
+ throw new Error('The original Xcode bundle command is required.');
60
+ const build = spawnSync(command, args, { env, stdio: 'inherit' });
61
+ if (build.error || build.status !== 0) {
62
+ process.exitCode = build.status || 1;
63
+ return;
64
+ }
65
+ if (!manifest) return;
66
+ const bundle = path.join(
67
+ env.CONFIGURATION_BUILD_DIR,
68
+ env.UNLOCALIZED_RESOURCES_FOLDER_PATH,
69
+ `${env.BUNDLE_NAME || 'main'}.jsbundle`
70
+ );
71
+ uploadRelease(
72
+ {
73
+ root,
74
+ manifest,
75
+ platform: 'ios',
76
+ appVersion: plistValue(env, 'CFBundleShortVersionString'),
77
+ nativeBuild: plistValue(env, 'CFBundleVersion'),
78
+ bundle,
79
+ sourceMap: env.SOURCEMAP_FILE,
80
+ },
81
+ { strict: isStrict(config) }
82
+ );
83
+ }
84
+
85
+ if (require.main === module) {
86
+ try {
87
+ main();
88
+ } catch (error) {
89
+ console.error(`Crumb: ${error.message}`);
90
+ process.exitCode = 1;
91
+ }
92
+ }
93
+ module.exports = { plistValue };
package/tools/node.cjs ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ const { spawnSync } = require('node:child_process');
3
+ const { readConfig } = require('./config.cjs');
4
+ const [manifest, ...args] = process.argv.slice(2);
5
+ if (!manifest || !args.length) {
6
+ console.error(
7
+ 'Crumb build wrapper requires release metadata and the original Node command.'
8
+ );
9
+ process.exitCode = 1;
10
+ } else {
11
+ const result = spawnSync(process.execPath, [...process.execArgv, ...args], {
12
+ stdio: 'inherit',
13
+ env: {
14
+ ...process.env,
15
+ CRUMB_RELEASE_MANIFEST: readConfig(process.cwd()).sourceMaps.enabled
16
+ ? manifest
17
+ : '',
18
+ },
19
+ });
20
+ process.exitCode = result.status === null ? 1 : result.status;
21
+ }
@@ -0,0 +1,65 @@
1
+ const fs = require('node:fs');
2
+ const path = require('node:path');
3
+ const { randomUUID, createHash } = require('node:crypto');
4
+
5
+ function prepareRelease(directory) {
6
+ fs.mkdirSync(directory, { recursive: true });
7
+ const bundleVersion = randomUUID();
8
+ const polyfill = path.join(directory, 'crumb-release.js');
9
+ fs.writeFileSync(
10
+ polyfill,
11
+ `globalThis.__CRUMB_BUNDLE_VERSION__ = ${JSON.stringify(bundleVersion)};\n`
12
+ );
13
+ const manifest = path.join(directory, 'release.json');
14
+ fs.writeFileSync(
15
+ manifest,
16
+ JSON.stringify({ version: 1, bundleVersion, polyfill })
17
+ );
18
+ return manifest;
19
+ }
20
+
21
+ function readRelease(file) {
22
+ const value = JSON.parse(fs.readFileSync(file, 'utf8'));
23
+ if (
24
+ value.version !== 1 ||
25
+ typeof value.bundleVersion !== 'string' ||
26
+ !/^[A-Za-z0-9][A-Za-z0-9._+-]{0,127}$/.test(value.bundleVersion) ||
27
+ typeof value.polyfill !== 'string' ||
28
+ !path.isAbsolute(value.polyfill)
29
+ ) {
30
+ throw new Error(
31
+ 'Crumb release metadata is invalid. Rebuild using the configured Crumb build hook.'
32
+ );
33
+ }
34
+ return value;
35
+ }
36
+
37
+ function hashFile(file) {
38
+ return createHash('sha256').update(fs.readFileSync(file)).digest('hex');
39
+ }
40
+
41
+ function verifyMapIdentity(file, bundleVersion) {
42
+ if (fs.statSync(file).size > 25 * 1024 * 1024)
43
+ throw new Error('Source map exceeds the 25 MiB upload limit.');
44
+ const map = JSON.parse(fs.readFileSync(file, 'utf8'));
45
+ function contains(value, depth = 0) {
46
+ if (!value || depth > 8) return false;
47
+ return (
48
+ (Array.isArray(value.sourcesContent) &&
49
+ value.sourcesContent.some(
50
+ (source) =>
51
+ typeof source === 'string' &&
52
+ source.includes('__CRUMB_BUNDLE_VERSION__') &&
53
+ source.includes(JSON.stringify(bundleVersion))
54
+ )) ||
55
+ (Array.isArray(value.sections) &&
56
+ value.sections.some((section) => contains(section.map, depth + 1)))
57
+ );
58
+ }
59
+ if (!contains(map))
60
+ throw new Error(
61
+ 'The final map does not contain this build’s Crumb identity. Check the Metro integration and rebuild; no artifacts were uploaded.'
62
+ );
63
+ }
64
+
65
+ module.exports = { prepareRelease, readRelease, hashFile, verifyMapIdentity };
@@ -0,0 +1,291 @@
1
+ const fs = require('node:fs');
2
+ const path = require('node:path');
3
+ const { readConfig, validateOrigin } = require('./config.cjs');
4
+ const {
5
+ configureXcodeProject,
6
+ configureGradle,
7
+ } = require('../plugin/build-hooks.cjs');
8
+
9
+ const metroMarker = '// crumb-metro';
10
+
11
+ function setupPlan(root, { sourceMaps, uploadUrl } = {}) {
12
+ const pkg = JSON.parse(
13
+ fs.readFileSync(path.join(root, 'package.json'), 'utf8')
14
+ );
15
+ const dependencies = { ...pkg.dependencies, ...pkg.devDependencies };
16
+ if (!dependencies['react-native'])
17
+ throw new Error('Run crumb setup from the React Native app directory.');
18
+ const expo = Boolean(dependencies.expo);
19
+ const manager = [
20
+ 'yarn.lock',
21
+ 'pnpm-lock.yaml',
22
+ 'bun.lock',
23
+ 'bun.lockb',
24
+ 'package-lock.json',
25
+ ].find((name) => fs.existsSync(path.join(root, name)));
26
+ const changes = [];
27
+ const instructions = [];
28
+ const edit = (name, content) => {
29
+ const file = path.join(root, name);
30
+ const before = fs.existsSync(file)
31
+ ? fs.readFileSync(file, 'utf8')
32
+ : undefined;
33
+ if (before !== content) changes.push({ name, file, before, content });
34
+ };
35
+ const config = readConfig(root);
36
+ if (sourceMaps !== undefined) config.sourceMaps.enabled = sourceMaps;
37
+ if (config.sourceMaps.enabled)
38
+ config.sourceMaps.uploadUrl = validateOrigin(
39
+ uploadUrl || config.sourceMaps.uploadUrl
40
+ );
41
+ edit('crumb.config.json', JSON.stringify(config, null, 2) + '\n');
42
+ if (!dependencies['react-native-nitro-modules']) {
43
+ const version =
44
+ require('../package.json').peerDependencies['react-native-nitro-modules'];
45
+ const add =
46
+ manager === 'yarn.lock'
47
+ ? 'yarn add'
48
+ : manager === 'pnpm-lock.yaml'
49
+ ? 'pnpm add'
50
+ : manager?.startsWith('bun')
51
+ ? 'bun add'
52
+ : 'npm install';
53
+ instructions.push(
54
+ `Install the required native peer: ${add} react-native-nitro-modules@${JSON.stringify(version)}`
55
+ );
56
+ }
57
+ if (expo) {
58
+ if (
59
+ ['app.config.ts', 'app.config.js', 'app.config.mjs'].some((name) =>
60
+ fs.existsSync(path.join(root, name))
61
+ )
62
+ ) {
63
+ instructions.push(
64
+ 'Add @crumbsdk/react-native to plugins in your dynamic Expo config. Existing dynamic configuration was preserved.'
65
+ );
66
+ } else {
67
+ const appFile = path.join(root, 'app.json');
68
+ const app = fs.existsSync(appFile)
69
+ ? JSON.parse(fs.readFileSync(appFile, 'utf8'))
70
+ : { expo: {} };
71
+ if (!app.expo)
72
+ throw new Error(
73
+ 'app.json does not contain an Expo configuration. Add the Crumb plugin manually.'
74
+ );
75
+ const plugins = app.expo.plugins || [];
76
+ if (
77
+ !plugins.some(
78
+ (item) =>
79
+ (Array.isArray(item) ? item[0] : item) === '@crumbsdk/react-native'
80
+ )
81
+ ) {
82
+ app.expo.plugins = [...plugins, '@crumbsdk/react-native'];
83
+ edit('app.json', JSON.stringify(app, null, 2) + '\n');
84
+ }
85
+ }
86
+ instructions.push(
87
+ 'Run your normal Expo prebuild/development build to apply native configuration. Expo Go cannot load the native SDK.'
88
+ );
89
+ } else {
90
+ const podfile = path.join(root, 'ios/Podfile');
91
+ if (fs.existsSync(podfile)) {
92
+ let contents = fs.readFileSync(podfile, 'utf8');
93
+ if (!contents.includes('crumb_native_pods!')) {
94
+ if (
95
+ /pod\s+['"](?:CrumbSDK(?:Core|UI)?|PLCrashReporter)['"]/.test(
96
+ contents
97
+ )
98
+ ) {
99
+ throw new Error(
100
+ 'Remove manual Crumb/PLCrashReporter pod declarations before using bundled native dependencies.'
101
+ );
102
+ }
103
+ if (/^.*use_native_modules!.*$/m.test(contents)) {
104
+ contents = contents.replace(
105
+ /^.*use_native_modules!.*$/m,
106
+ (line) =>
107
+ `${line}\n require File.join(File.dirname(\`node --print "require.resolve('@crumbsdk/react-native/package.json')"\`.strip), 'scripts', 'ios')\n crumb_native_pods!`
108
+ );
109
+ edit('ios/Podfile', contents);
110
+ } else
111
+ instructions.push(
112
+ 'Register crumb_native_pods! inside your app target using the manual iOS instructions.'
113
+ );
114
+ }
115
+ instructions.push(
116
+ 'Install the iOS pods using your project’s usual command.'
117
+ );
118
+ }
119
+ }
120
+ if (config.sourceMaps.enabled) {
121
+ const ignoreFile = path.join(root, '.gitignore');
122
+ const ignore = fs.existsSync(ignoreFile)
123
+ ? fs.readFileSync(ignoreFile, 'utf8')
124
+ : '';
125
+ if (!ignore.split(/\r?\n/).includes('/.crumb/'))
126
+ edit(
127
+ '.gitignore',
128
+ `${ignore}\n# Crumb local release artifacts (never commit source maps)\n/.crumb/\n`
129
+ );
130
+ const metroFiles = [
131
+ 'metro.config.js',
132
+ 'metro.config.cjs',
133
+ 'metro.config.mjs',
134
+ 'metro.config.ts',
135
+ ].filter((name) => fs.existsSync(path.join(root, name)));
136
+ if (metroFiles.length > 1)
137
+ throw new Error(
138
+ 'Multiple Metro configurations found. Wrap the active configuration with withCrumb manually.'
139
+ );
140
+ const metroName =
141
+ metroFiles[0] ||
142
+ (pkg.type === 'module' ? 'metro.config.cjs' : 'metro.config.js');
143
+ const before = metroFiles[0]
144
+ ? fs.readFileSync(path.join(root, metroName), 'utf8')
145
+ : undefined;
146
+ if (
147
+ before &&
148
+ !before.includes(metroMarker) &&
149
+ !before.includes('@crumbsdk/react-native/metro')
150
+ ) {
151
+ if (
152
+ metroName.endsWith('.mjs') ||
153
+ metroName.endsWith('.ts') ||
154
+ (pkg.type === 'module' && metroName.endsWith('.js')) ||
155
+ !before.includes('module.exports')
156
+ ) {
157
+ instructions.push(
158
+ 'Wrap your existing Metro config with withCrumb from @crumbsdk/react-native/metro. This configuration format was preserved.'
159
+ );
160
+ } else
161
+ edit(
162
+ metroName,
163
+ `${before}\n${metroMarker}\nmodule.exports = require('@crumbsdk/react-native/metro').withCrumb(module.exports);\n`
164
+ );
165
+ } else if (!before) {
166
+ edit(
167
+ metroName,
168
+ `const { getDefaultConfig } = require('${expo ? 'expo/metro-config' : '@react-native/metro-config'}');\n${metroMarker}\nmodule.exports = require('@crumbsdk/react-native/metro').withCrumb(getDefaultConfig(__dirname));\n`
169
+ );
170
+ }
171
+ if (!expo) {
172
+ const gradle = path.join(root, 'android/app/build.gradle');
173
+ if (fs.existsSync(gradle))
174
+ edit(
175
+ 'android/app/build.gradle',
176
+ configureGradle(fs.readFileSync(gradle, 'utf8'))
177
+ );
178
+ else
179
+ instructions.push(
180
+ 'Apply tools/crumb.gradle in your Android application module using the manual instructions.'
181
+ );
182
+ const ios = path.join(root, 'ios');
183
+ const projects = fs.existsSync(ios)
184
+ ? fs.readdirSync(ios).filter((name) => name.endsWith('.xcodeproj'))
185
+ : [];
186
+ if (projects.length === 1) {
187
+ const name = `ios/${projects[0]}/project.pbxproj`;
188
+ const project = require('xcode').project(path.join(root, name));
189
+ project.parseSync();
190
+ configureXcodeProject(project);
191
+ // Avoid formatting unrelated project sections on repeat setup.
192
+ if (
193
+ !fs
194
+ .readFileSync(path.join(root, name), 'utf8')
195
+ .includes('crumb-release-build')
196
+ )
197
+ edit(name, project.writeSync());
198
+ } else
199
+ instructions.push(
200
+ 'Configure the app’s Xcode bundle phase using the manual instructions; no unique project was selected.'
201
+ );
202
+ }
203
+ instructions.push(
204
+ 'Set CRUMB_SOURCE_MAP_TOKEN as a build secret. Never put it in this config, app initialization, or EXPO_PUBLIC_* variables.'
205
+ );
206
+ instructions.push(
207
+ 'Enable diagnostics.javascriptCrashCapture.enabled in Crumb.start. Remove manual release.bundleVersion when using generated build identity.'
208
+ );
209
+ }
210
+ instructions.push(
211
+ 'Keep the native minimum targets at iOS 15.1 and Android API 26 or higher; retain any higher framework requirement.'
212
+ );
213
+ instructions.push(
214
+ 'Initialize Crumb with the SDK configuration from your dashboard, then send a test report.'
215
+ );
216
+ return { framework: expo ? 'Expo' : 'React Native', changes, instructions };
217
+ }
218
+
219
+ function applyPlan(plan) {
220
+ // Check every file before changing any: a preview must not overwrite later user edits.
221
+ for (const change of plan.changes) {
222
+ const current = fs.existsSync(change.file)
223
+ ? fs.readFileSync(change.file, 'utf8')
224
+ : undefined;
225
+ if (current !== change.before)
226
+ throw new Error(
227
+ `Setup stopped because ${change.name} changed after preview. Run setup again.`
228
+ );
229
+ }
230
+ for (const change of plan.changes) {
231
+ fs.mkdirSync(path.dirname(change.file), { recursive: true });
232
+ fs.writeFileSync(change.file, change.content);
233
+ }
234
+ }
235
+
236
+ function doctor(root) {
237
+ const config = readConfig(root);
238
+ const checks = [];
239
+ const pkg = JSON.parse(
240
+ fs.readFileSync(path.join(root, 'package.json'), 'utf8')
241
+ );
242
+ for (const name of ['@crumbsdk/react-native', 'react-native-nitro-modules']) {
243
+ try {
244
+ require.resolve(`${name}/package.json`, { paths: [root] });
245
+ checks.push({ check: name, status: 'ready' });
246
+ } catch {
247
+ checks.push({
248
+ check: name,
249
+ status: 'missing',
250
+ action: 'Install the dependency in this app.',
251
+ });
252
+ }
253
+ }
254
+ if (config.sourceMaps.enabled) {
255
+ const metro = [
256
+ 'metro.config.js',
257
+ 'metro.config.cjs',
258
+ 'metro.config.mjs',
259
+ 'metro.config.ts',
260
+ ].some((name) => {
261
+ const file = path.join(root, name);
262
+ return (
263
+ fs.existsSync(file) &&
264
+ fs.readFileSync(file, 'utf8').includes('@crumbsdk/react-native/metro')
265
+ );
266
+ });
267
+ checks.push({
268
+ check: 'Metro release integration',
269
+ status: metro ? 'configured' : 'missing',
270
+ action:
271
+ 'Run crumb setup or wrap your existing Metro config with withCrumb.',
272
+ });
273
+ checks.push({
274
+ check: 'Upload credential in this environment',
275
+ status: process.env.CRUMB_SOURCE_MAP_TOKEN ? 'present' : 'missing',
276
+ action:
277
+ 'Set the build secret in the environment that runs release builds.',
278
+ });
279
+ }
280
+ return {
281
+ framework:
282
+ pkg.dependencies?.expo || pkg.devDependencies?.expo
283
+ ? 'Expo'
284
+ : 'React Native',
285
+ sourceMaps: config.sourceMaps.enabled,
286
+ checks,
287
+ note: 'Local checks do not confirm uploaded maps or readable crashes. Build a release and verify a test crash in the dashboard.',
288
+ };
289
+ }
290
+
291
+ module.exports = { setupPlan, applyPlan, doctor };
@@ -0,0 +1,137 @@
1
+ const fs = require('node:fs');
2
+ const path = require('node:path');
3
+ const { spawnSync } = require('node:child_process');
4
+ const { readConfig, isStrict } = require('./config.cjs');
5
+ const { readRelease, hashFile, verifyMapIdentity } = require('./release.cjs');
6
+
7
+ function uploaderPath() {
8
+ return path.join(
9
+ path.dirname(require.resolve('@crumbsdk/source-maps/package.json')),
10
+ 'dist/cli.js'
11
+ );
12
+ }
13
+
14
+ function uploadRelease(
15
+ { root, manifest, platform, appVersion, nativeBuild, bundle, sourceMap },
16
+ options = {}
17
+ ) {
18
+ const config = readConfig(root);
19
+ if (!config.sourceMaps.enabled) return { status: 'disabled' };
20
+ const dryRun = options.dryRun || process.env.CRUMB_SOURCE_MAP_DRY_RUN === '1';
21
+ try {
22
+ const release = readRelease(manifest);
23
+ verifyMapIdentity(sourceMap, release.bundleVersion);
24
+ for (const value of [appVersion, nativeBuild]) {
25
+ if (
26
+ typeof value !== 'string' ||
27
+ !/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/.test(value)
28
+ ) {
29
+ throw new Error(
30
+ 'The final native version/build could not be determined. Use the advanced uploader with the exact built release.'
31
+ );
32
+ }
33
+ }
34
+ if (!['ios', 'android'].includes(platform))
35
+ throw new Error('The release platform must be ios or android.');
36
+ const archive = options.retained
37
+ ? path.dirname(manifest)
38
+ : path.join(
39
+ path.dirname(manifest),
40
+ 'retained',
41
+ release.bundleVersion,
42
+ platform
43
+ );
44
+ fs.mkdirSync(archive, { recursive: true });
45
+ function retain(source, name) {
46
+ const destination = path.join(archive, name);
47
+ if (fs.existsSync(destination)) {
48
+ if (hashFile(source) !== hashFile(destination))
49
+ throw new Error(
50
+ 'Retained release artifacts conflict with this build. Use a new release identity.'
51
+ );
52
+ } else fs.copyFileSync(source, destination, fs.constants.COPYFILE_EXCL);
53
+ return destination;
54
+ }
55
+ bundle = retain(bundle, 'bundle');
56
+ sourceMap = retain(sourceMap, 'bundle.map');
57
+ manifest = retain(manifest, 'release.json');
58
+ const retained = {
59
+ root,
60
+ manifest,
61
+ platform,
62
+ appVersion,
63
+ nativeBuild,
64
+ bundle,
65
+ sourceMap,
66
+ bundleSha256: hashFile(bundle),
67
+ sourceMapSha256: hashFile(sourceMap),
68
+ };
69
+ const receipt = path.join(
70
+ path.dirname(manifest),
71
+ `upload-${platform}-${appVersion}-${nativeBuild}.json`
72
+ );
73
+ fs.writeFileSync(receipt, JSON.stringify(retained, null, 2));
74
+ const args = [
75
+ uploaderPath(),
76
+ 'upload',
77
+ '--platform',
78
+ platform,
79
+ '--app-version',
80
+ appVersion,
81
+ '--native-build',
82
+ nativeBuild,
83
+ '--bundle-version',
84
+ release.bundleVersion,
85
+ '--bundle',
86
+ bundle,
87
+ '--source-map',
88
+ sourceMap,
89
+ '--expected-bundle-sha256',
90
+ retained.bundleSha256,
91
+ '--expected-source-map-sha256',
92
+ retained.sourceMapSha256,
93
+ '--url',
94
+ config.sourceMaps.uploadUrl,
95
+ ];
96
+ if (dryRun) args.push('--dry-run');
97
+ const result = spawnSync(process.execPath, args, {
98
+ encoding: 'utf8',
99
+ timeout: 240000,
100
+ });
101
+ if (result.error || result.status !== 0) {
102
+ throw new Error(
103
+ `Source maps were not uploaded. Check CRUMB_SOURCE_MAP_TOKEN and the upload origin, then retry with crumb retry --receipt ${JSON.stringify(receipt)}.`
104
+ );
105
+ }
106
+ const output = JSON.parse(result.stdout);
107
+ if (output.status !== (dryRun ? 'dry_run' : 'verified'))
108
+ throw new Error(
109
+ 'The uploader did not confirm the artifacts. Run crumb doctor and retry.'
110
+ );
111
+ console.log(
112
+ dryRun
113
+ ? 'Crumb: release artifacts validated locally; no upload performed.'
114
+ : 'Crumb: source-map artifacts uploaded and verified. Confirm a test crash in the dashboard.'
115
+ );
116
+ return output;
117
+ } catch (error) {
118
+ if (options.strict || isStrict(config)) throw error;
119
+ console.warn(`Crumb warning: ${error.message}`);
120
+ return { status: 'unavailable' };
121
+ }
122
+ }
123
+
124
+ function retryUpload(receipt) {
125
+ const retained = JSON.parse(fs.readFileSync(receipt, 'utf8'));
126
+ if (
127
+ hashFile(retained.bundle) !== retained.bundleSha256 ||
128
+ hashFile(retained.sourceMap) !== retained.sourceMapSha256
129
+ ) {
130
+ throw new Error(
131
+ 'Retained artifacts have changed. Restore the exact original files; do not upload a rebuilt bundle under the old identity.'
132
+ );
133
+ }
134
+ return uploadRelease(retained, { strict: true, retained: true });
135
+ }
136
+
137
+ module.exports = { uploadRelease, retryUpload };