@salve-software/mako-react-native 1.0.1

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 (323) hide show
  1. package/LICENSE +21 -0
  2. package/NitroMako.podspec +31 -0
  3. package/README.md +90 -0
  4. package/android/CMakeLists.txt +32 -0
  5. package/android/build.gradle +148 -0
  6. package/android/fix-prefab.gradle +51 -0
  7. package/android/gradle.properties +5 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +9 -0
  10. package/android/src/main/java/com/margelo/nitro/mako/HybridMako.kt +235 -0
  11. package/android/src/main/java/com/margelo/nitro/mako/MakoPackage.kt +18 -0
  12. package/android/src/main/java/com/margelo/nitro/mako/PerformanceMonitor.kt +260 -0
  13. package/ios/Bridge.h +8 -0
  14. package/ios/HybridMako.swift +245 -0
  15. package/ios/PerformanceMonitor.swift +223 -0
  16. package/lib/commonjs/index.js +17 -0
  17. package/lib/commonjs/index.js.map +1 -0
  18. package/lib/commonjs/library/client/constants.js +34 -0
  19. package/lib/commonjs/library/client/constants.js.map +1 -0
  20. package/lib/commonjs/library/client/index.js +28 -0
  21. package/lib/commonjs/library/client/index.js.map +1 -0
  22. package/lib/commonjs/library/client/mako-client.js +419 -0
  23. package/lib/commonjs/library/client/mako-client.js.map +1 -0
  24. package/lib/commonjs/library/component-handler/component-handler.js +158 -0
  25. package/lib/commonjs/library/component-handler/component-handler.js.map +1 -0
  26. package/lib/commonjs/library/component-handler/index.js +39 -0
  27. package/lib/commonjs/library/component-handler/index.js.map +1 -0
  28. package/lib/commonjs/library/component-handler/types.js +6 -0
  29. package/lib/commonjs/library/component-handler/types.js.map +1 -0
  30. package/lib/commonjs/library/component-handler/utils/index.js +26 -0
  31. package/lib/commonjs/library/component-handler/utils/index.js.map +1 -0
  32. package/lib/commonjs/library/device/device-handler.js +80 -0
  33. package/lib/commonjs/library/device/device-handler.js.map +1 -0
  34. package/lib/commonjs/library/device/index.js +9 -0
  35. package/lib/commonjs/library/device/index.js.map +1 -0
  36. package/lib/commonjs/library/device/types.js +2 -0
  37. package/lib/commonjs/library/device/types.js.map +1 -0
  38. package/lib/commonjs/library/device/utils/generate-uuid.js +14 -0
  39. package/lib/commonjs/library/device/utils/generate-uuid.js.map +1 -0
  40. package/lib/commonjs/library/index.js +156 -0
  41. package/lib/commonjs/library/index.js.map +1 -0
  42. package/lib/commonjs/library/interceptors/index.js +13 -0
  43. package/lib/commonjs/library/interceptors/index.js.map +1 -0
  44. package/lib/commonjs/library/interceptors/js-console.js +88 -0
  45. package/lib/commonjs/library/interceptors/js-console.js.map +1 -0
  46. package/lib/commonjs/library/interceptors/react-devtools.js +219 -0
  47. package/lib/commonjs/library/interceptors/react-devtools.js.map +1 -0
  48. package/lib/commonjs/library/interceptors/xhr.js +74 -0
  49. package/lib/commonjs/library/interceptors/xhr.js.map +1 -0
  50. package/lib/commonjs/library/network-handler/index.js +17 -0
  51. package/lib/commonjs/library/network-handler/index.js.map +1 -0
  52. package/lib/commonjs/library/network-handler/network-handler.js +103 -0
  53. package/lib/commonjs/library/network-handler/network-handler.js.map +1 -0
  54. package/lib/commonjs/library/network-handler/types.js +6 -0
  55. package/lib/commonjs/library/network-handler/types.js.map +1 -0
  56. package/lib/commonjs/library/network-handler/utils/generate-request-id.js +13 -0
  57. package/lib/commonjs/library/network-handler/utils/generate-request-id.js.map +1 -0
  58. package/lib/commonjs/library/network-handler/utils/index.js +41 -0
  59. package/lib/commonjs/library/network-handler/utils/index.js.map +1 -0
  60. package/lib/commonjs/library/network-handler/utils/parse-response-headers.js +26 -0
  61. package/lib/commonjs/library/network-handler/utils/parse-response-headers.js.map +1 -0
  62. package/lib/commonjs/library/network-handler/utils/read-blob-as-text.js +18 -0
  63. package/lib/commonjs/library/network-handler/utils/read-blob-as-text.js.map +1 -0
  64. package/lib/commonjs/library/network-handler/utils/response-to-string.js +35 -0
  65. package/lib/commonjs/library/network-handler/utils/response-to-string.js.map +1 -0
  66. package/lib/commonjs/library/network-handler/utils/should-ignore-url.js +13 -0
  67. package/lib/commonjs/library/network-handler/utils/should-ignore-url.js.map +1 -0
  68. package/lib/commonjs/library/performance-handler/index.js +13 -0
  69. package/lib/commonjs/library/performance-handler/index.js.map +1 -0
  70. package/lib/commonjs/library/performance-handler/performance-handler.js +94 -0
  71. package/lib/commonjs/library/performance-handler/performance-handler.js.map +1 -0
  72. package/lib/commonjs/library/performance-handler/types.js +6 -0
  73. package/lib/commonjs/library/performance-handler/types.js.map +1 -0
  74. package/lib/commonjs/library/project/index.js +15 -0
  75. package/lib/commonjs/library/project/index.js.map +1 -0
  76. package/lib/commonjs/library/project/project-handler.js +31 -0
  77. package/lib/commonjs/library/project/project-handler.js.map +1 -0
  78. package/lib/commonjs/library/types.js +2 -0
  79. package/lib/commonjs/library/types.js.map +1 -0
  80. package/lib/commonjs/package.json +1 -0
  81. package/lib/commonjs/specs/mako.nitro.js +6 -0
  82. package/lib/commonjs/specs/mako.nitro.js.map +1 -0
  83. package/lib/module/index.js +6 -0
  84. package/lib/module/index.js.map +1 -0
  85. package/lib/module/library/client/constants.js +30 -0
  86. package/lib/module/library/client/constants.js.map +1 -0
  87. package/lib/module/library/client/index.js +6 -0
  88. package/lib/module/library/client/index.js.map +1 -0
  89. package/lib/module/library/client/mako-client.js +415 -0
  90. package/lib/module/library/client/mako-client.js.map +1 -0
  91. package/lib/module/library/component-handler/component-handler.js +153 -0
  92. package/lib/module/library/component-handler/component-handler.js.map +1 -0
  93. package/lib/module/library/component-handler/index.js +6 -0
  94. package/lib/module/library/component-handler/index.js.map +1 -0
  95. package/lib/module/library/component-handler/types.js +4 -0
  96. package/lib/module/library/component-handler/types.js.map +1 -0
  97. package/lib/module/library/component-handler/utils/index.js +21 -0
  98. package/lib/module/library/component-handler/utils/index.js.map +1 -0
  99. package/lib/module/library/device/device-handler.js +75 -0
  100. package/lib/module/library/device/device-handler.js.map +1 -0
  101. package/lib/module/library/device/index.js +5 -0
  102. package/lib/module/library/device/index.js.map +1 -0
  103. package/lib/module/library/device/types.js +2 -0
  104. package/lib/module/library/device/types.js.map +1 -0
  105. package/lib/module/library/device/utils/generate-uuid.js +10 -0
  106. package/lib/module/library/device/utils/generate-uuid.js.map +1 -0
  107. package/lib/module/library/index.js +155 -0
  108. package/lib/module/library/index.js.map +1 -0
  109. package/lib/module/library/interceptors/index.js +9 -0
  110. package/lib/module/library/interceptors/index.js.map +1 -0
  111. package/lib/module/library/interceptors/js-console.js +83 -0
  112. package/lib/module/library/interceptors/js-console.js.map +1 -0
  113. package/lib/module/library/interceptors/react-devtools.js +214 -0
  114. package/lib/module/library/interceptors/react-devtools.js.map +1 -0
  115. package/lib/module/library/interceptors/xhr.js +69 -0
  116. package/lib/module/library/interceptors/xhr.js.map +1 -0
  117. package/lib/module/library/network-handler/index.js +4 -0
  118. package/lib/module/library/network-handler/index.js.map +1 -0
  119. package/lib/module/library/network-handler/network-handler.js +98 -0
  120. package/lib/module/library/network-handler/network-handler.js.map +1 -0
  121. package/lib/module/library/network-handler/types.js +4 -0
  122. package/lib/module/library/network-handler/types.js.map +1 -0
  123. package/lib/module/library/network-handler/utils/generate-request-id.js +9 -0
  124. package/lib/module/library/network-handler/utils/generate-request-id.js.map +1 -0
  125. package/lib/module/library/network-handler/utils/index.js +8 -0
  126. package/lib/module/library/network-handler/utils/index.js.map +1 -0
  127. package/lib/module/library/network-handler/utils/parse-response-headers.js +22 -0
  128. package/lib/module/library/network-handler/utils/parse-response-headers.js.map +1 -0
  129. package/lib/module/library/network-handler/utils/read-blob-as-text.js +14 -0
  130. package/lib/module/library/network-handler/utils/read-blob-as-text.js.map +1 -0
  131. package/lib/module/library/network-handler/utils/response-to-string.js +31 -0
  132. package/lib/module/library/network-handler/utils/response-to-string.js.map +1 -0
  133. package/lib/module/library/network-handler/utils/should-ignore-url.js +9 -0
  134. package/lib/module/library/network-handler/utils/should-ignore-url.js.map +1 -0
  135. package/lib/module/library/performance-handler/index.js +4 -0
  136. package/lib/module/library/performance-handler/index.js.map +1 -0
  137. package/lib/module/library/performance-handler/performance-handler.js +89 -0
  138. package/lib/module/library/performance-handler/performance-handler.js.map +1 -0
  139. package/lib/module/library/performance-handler/types.js +4 -0
  140. package/lib/module/library/performance-handler/types.js.map +1 -0
  141. package/lib/module/library/project/index.js +6 -0
  142. package/lib/module/library/project/index.js.map +1 -0
  143. package/lib/module/library/project/project-handler.js +26 -0
  144. package/lib/module/library/project/project-handler.js.map +1 -0
  145. package/lib/module/library/types.js +2 -0
  146. package/lib/module/library/types.js.map +1 -0
  147. package/lib/module/specs/mako.nitro.js +4 -0
  148. package/lib/module/specs/mako.nitro.js.map +1 -0
  149. package/lib/typescript/src/index.d.ts +4 -0
  150. package/lib/typescript/src/index.d.ts.map +1 -0
  151. package/lib/typescript/src/library/client/constants.d.ts +24 -0
  152. package/lib/typescript/src/library/client/constants.d.ts.map +1 -0
  153. package/lib/typescript/src/library/client/index.d.ts +4 -0
  154. package/lib/typescript/src/library/client/index.d.ts.map +1 -0
  155. package/lib/typescript/src/library/client/mako-client.d.ts +87 -0
  156. package/lib/typescript/src/library/client/mako-client.d.ts.map +1 -0
  157. package/lib/typescript/src/library/component-handler/component-handler.d.ts +21 -0
  158. package/lib/typescript/src/library/component-handler/component-handler.d.ts.map +1 -0
  159. package/lib/typescript/src/library/component-handler/index.d.ts +4 -0
  160. package/lib/typescript/src/library/component-handler/index.d.ts.map +1 -0
  161. package/lib/typescript/src/library/component-handler/types.d.ts +22 -0
  162. package/lib/typescript/src/library/component-handler/types.d.ts.map +1 -0
  163. package/lib/typescript/src/library/component-handler/utils/index.d.ts +13 -0
  164. package/lib/typescript/src/library/component-handler/utils/index.d.ts.map +1 -0
  165. package/lib/typescript/src/library/device/__tests__/device-handler.test.d.ts +2 -0
  166. package/lib/typescript/src/library/device/__tests__/device-handler.test.d.ts.map +1 -0
  167. package/lib/typescript/src/library/device/device-handler.d.ts +11 -0
  168. package/lib/typescript/src/library/device/device-handler.d.ts.map +1 -0
  169. package/lib/typescript/src/library/device/index.d.ts +3 -0
  170. package/lib/typescript/src/library/device/index.d.ts.map +1 -0
  171. package/lib/typescript/src/library/device/types.d.ts +8 -0
  172. package/lib/typescript/src/library/device/types.d.ts.map +1 -0
  173. package/lib/typescript/src/library/device/utils/generate-uuid.d.ts +2 -0
  174. package/lib/typescript/src/library/device/utils/generate-uuid.d.ts.map +1 -0
  175. package/lib/typescript/src/library/index.d.ts +120 -0
  176. package/lib/typescript/src/library/index.d.ts.map +1 -0
  177. package/lib/typescript/src/library/interceptors/__tests__/js-console.test.d.ts +2 -0
  178. package/lib/typescript/src/library/interceptors/__tests__/js-console.test.d.ts.map +1 -0
  179. package/lib/typescript/src/library/interceptors/__tests__/react-devtools.test.d.ts +2 -0
  180. package/lib/typescript/src/library/interceptors/__tests__/react-devtools.test.d.ts.map +1 -0
  181. package/lib/typescript/src/library/interceptors/__tests__/xhr.test.d.ts +2 -0
  182. package/lib/typescript/src/library/interceptors/__tests__/xhr.test.d.ts.map +1 -0
  183. package/lib/typescript/src/library/interceptors/index.d.ts +7 -0
  184. package/lib/typescript/src/library/interceptors/index.d.ts.map +1 -0
  185. package/lib/typescript/src/library/interceptors/js-console.d.ts +17 -0
  186. package/lib/typescript/src/library/interceptors/js-console.d.ts.map +1 -0
  187. package/lib/typescript/src/library/interceptors/react-devtools.d.ts +54 -0
  188. package/lib/typescript/src/library/interceptors/react-devtools.d.ts.map +1 -0
  189. package/lib/typescript/src/library/interceptors/xhr.d.ts +14 -0
  190. package/lib/typescript/src/library/interceptors/xhr.d.ts.map +1 -0
  191. package/lib/typescript/src/library/network-handler/__tests__/network-handler.test.d.ts +2 -0
  192. package/lib/typescript/src/library/network-handler/__tests__/network-handler.test.d.ts.map +1 -0
  193. package/lib/typescript/src/library/network-handler/index.d.ts +2 -0
  194. package/lib/typescript/src/library/network-handler/index.d.ts.map +1 -0
  195. package/lib/typescript/src/library/network-handler/network-handler.d.ts +19 -0
  196. package/lib/typescript/src/library/network-handler/network-handler.d.ts.map +1 -0
  197. package/lib/typescript/src/library/network-handler/types.d.ts +6 -0
  198. package/lib/typescript/src/library/network-handler/types.d.ts.map +1 -0
  199. package/lib/typescript/src/library/network-handler/utils/__tests__/generate-request-id.test.d.ts +2 -0
  200. package/lib/typescript/src/library/network-handler/utils/__tests__/generate-request-id.test.d.ts.map +1 -0
  201. package/lib/typescript/src/library/network-handler/utils/__tests__/parse-response-headers.test.d.ts +2 -0
  202. package/lib/typescript/src/library/network-handler/utils/__tests__/parse-response-headers.test.d.ts.map +1 -0
  203. package/lib/typescript/src/library/network-handler/utils/__tests__/read-blob-as-text.test.d.ts +2 -0
  204. package/lib/typescript/src/library/network-handler/utils/__tests__/read-blob-as-text.test.d.ts.map +1 -0
  205. package/lib/typescript/src/library/network-handler/utils/__tests__/response-to-string.test.d.ts +2 -0
  206. package/lib/typescript/src/library/network-handler/utils/__tests__/response-to-string.test.d.ts.map +1 -0
  207. package/lib/typescript/src/library/network-handler/utils/__tests__/should-ignore-url.test.d.ts +2 -0
  208. package/lib/typescript/src/library/network-handler/utils/__tests__/should-ignore-url.test.d.ts.map +1 -0
  209. package/lib/typescript/src/library/network-handler/utils/generate-request-id.d.ts +5 -0
  210. package/lib/typescript/src/library/network-handler/utils/generate-request-id.d.ts.map +1 -0
  211. package/lib/typescript/src/library/network-handler/utils/index.d.ts +6 -0
  212. package/lib/typescript/src/library/network-handler/utils/index.d.ts.map +1 -0
  213. package/lib/typescript/src/library/network-handler/utils/parse-response-headers.d.ts +5 -0
  214. package/lib/typescript/src/library/network-handler/utils/parse-response-headers.d.ts.map +1 -0
  215. package/lib/typescript/src/library/network-handler/utils/read-blob-as-text.d.ts +5 -0
  216. package/lib/typescript/src/library/network-handler/utils/read-blob-as-text.d.ts.map +1 -0
  217. package/lib/typescript/src/library/network-handler/utils/response-to-string.d.ts +5 -0
  218. package/lib/typescript/src/library/network-handler/utils/response-to-string.d.ts.map +1 -0
  219. package/lib/typescript/src/library/network-handler/utils/should-ignore-url.d.ts +5 -0
  220. package/lib/typescript/src/library/network-handler/utils/should-ignore-url.d.ts.map +1 -0
  221. package/lib/typescript/src/library/performance-handler/index.d.ts +3 -0
  222. package/lib/typescript/src/library/performance-handler/index.d.ts.map +1 -0
  223. package/lib/typescript/src/library/performance-handler/performance-handler.d.ts +27 -0
  224. package/lib/typescript/src/library/performance-handler/performance-handler.d.ts.map +1 -0
  225. package/lib/typescript/src/library/performance-handler/types.d.ts +20 -0
  226. package/lib/typescript/src/library/performance-handler/types.d.ts.map +1 -0
  227. package/lib/typescript/src/library/project/index.d.ts +4 -0
  228. package/lib/typescript/src/library/project/index.d.ts.map +1 -0
  229. package/lib/typescript/src/library/project/project-handler.d.ts +7 -0
  230. package/lib/typescript/src/library/project/project-handler.d.ts.map +1 -0
  231. package/lib/typescript/src/library/types.d.ts +41 -0
  232. package/lib/typescript/src/library/types.d.ts.map +1 -0
  233. package/lib/typescript/src/specs/mako.nitro.d.ts +100 -0
  234. package/lib/typescript/src/specs/mako.nitro.d.ts.map +1 -0
  235. package/nitro.json +24 -0
  236. package/nitrogen/generated/.gitattributes +1 -0
  237. package/nitrogen/generated/android/NitroMako+autolinking.cmake +81 -0
  238. package/nitrogen/generated/android/NitroMako+autolinking.gradle +27 -0
  239. package/nitrogen/generated/android/NitroMakoOnLoad.cpp +58 -0
  240. package/nitrogen/generated/android/NitroMakoOnLoad.hpp +34 -0
  241. package/nitrogen/generated/android/c++/JDeviceInfoResult.hpp +69 -0
  242. package/nitrogen/generated/android/c++/JFunc_void_NativeLogEntry.hpp +80 -0
  243. package/nitrogen/generated/android/c++/JFunc_void_PerformanceMetrics.hpp +77 -0
  244. package/nitrogen/generated/android/c++/JHybridNitroMakoSpec.cpp +124 -0
  245. package/nitrogen/generated/android/c++/JHybridNitroMakoSpec.hpp +74 -0
  246. package/nitrogen/generated/android/c++/JNativeLogEntry.hpp +71 -0
  247. package/nitrogen/generated/android/c++/JNativeLogLevel.hpp +64 -0
  248. package/nitrogen/generated/android/c++/JPerformanceMetrics.hpp +69 -0
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/DeviceInfoResult.kt +47 -0
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/Func_void_NativeLogEntry.kt +80 -0
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/Func_void_PerformanceMetrics.kt +80 -0
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/HybridNitroMakoSpec.kt +108 -0
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/NativeLogEntry.kt +47 -0
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/NativeLogLevel.kt +25 -0
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/NitroMakoOnLoad.kt +35 -0
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/PerformanceMetrics.kt +47 -0
  257. package/nitrogen/generated/ios/NitroMako+autolinking.rb +62 -0
  258. package/nitrogen/generated/ios/NitroMako-Swift-Cxx-Bridge.cpp +49 -0
  259. package/nitrogen/generated/ios/NitroMako-Swift-Cxx-Bridge.hpp +185 -0
  260. package/nitrogen/generated/ios/NitroMako-Swift-Cxx-Umbrella.hpp +58 -0
  261. package/nitrogen/generated/ios/NitroMakoAutolinking.mm +33 -0
  262. package/nitrogen/generated/ios/NitroMakoAutolinking.swift +26 -0
  263. package/nitrogen/generated/ios/c++/HybridNitroMakoSpecSwift.cpp +11 -0
  264. package/nitrogen/generated/ios/c++/HybridNitroMakoSpecSwift.hpp +175 -0
  265. package/nitrogen/generated/ios/swift/DeviceInfoResult.swift +44 -0
  266. package/nitrogen/generated/ios/swift/Func_void_NativeLogEntry.swift +46 -0
  267. package/nitrogen/generated/ios/swift/Func_void_PerformanceMetrics.swift +46 -0
  268. package/nitrogen/generated/ios/swift/HybridNitroMakoSpec.swift +66 -0
  269. package/nitrogen/generated/ios/swift/HybridNitroMakoSpec_cxx.swift +289 -0
  270. package/nitrogen/generated/ios/swift/NativeLogEntry.swift +44 -0
  271. package/nitrogen/generated/ios/swift/NativeLogLevel.swift +48 -0
  272. package/nitrogen/generated/ios/swift/PerformanceMetrics.swift +44 -0
  273. package/nitrogen/generated/shared/c++/DeviceInfoResult.hpp +95 -0
  274. package/nitrogen/generated/shared/c++/HybridNitroMakoSpec.cpp +32 -0
  275. package/nitrogen/generated/shared/c++/HybridNitroMakoSpec.hpp +83 -0
  276. package/nitrogen/generated/shared/c++/NativeLogEntry.hpp +97 -0
  277. package/nitrogen/generated/shared/c++/NativeLogLevel.hpp +84 -0
  278. package/nitrogen/generated/shared/c++/PerformanceMetrics.hpp +95 -0
  279. package/package.json +128 -0
  280. package/react-native.config.js +16 -0
  281. package/src/index.ts +7 -0
  282. package/src/library/client/constants.ts +36 -0
  283. package/src/library/client/index.ts +9 -0
  284. package/src/library/client/mako-client.ts +494 -0
  285. package/src/library/component-handler/component-handler.ts +162 -0
  286. package/src/library/component-handler/index.ts +3 -0
  287. package/src/library/component-handler/types.ts +24 -0
  288. package/src/library/component-handler/utils/index.ts +23 -0
  289. package/src/library/device/__tests__/device-handler.test.ts +86 -0
  290. package/src/library/device/device-handler.ts +85 -0
  291. package/src/library/device/index.ts +3 -0
  292. package/src/library/device/types.ts +7 -0
  293. package/src/library/device/utils/generate-uuid.ts +7 -0
  294. package/src/library/index.ts +183 -0
  295. package/src/library/interceptors/__tests__/js-console.test.ts +186 -0
  296. package/src/library/interceptors/__tests__/react-devtools.test.ts +848 -0
  297. package/src/library/interceptors/__tests__/xhr.test.ts +313 -0
  298. package/src/library/interceptors/index.ts +7 -0
  299. package/src/library/interceptors/js-console.ts +93 -0
  300. package/src/library/interceptors/react-devtools.ts +268 -0
  301. package/src/library/interceptors/xhr.ts +123 -0
  302. package/src/library/network-handler/__tests__/network-handler.test.ts +265 -0
  303. package/src/library/network-handler/index.ts +1 -0
  304. package/src/library/network-handler/network-handler.ts +141 -0
  305. package/src/library/network-handler/types.ts +6 -0
  306. package/src/library/network-handler/utils/__tests__/generate-request-id.test.ts +22 -0
  307. package/src/library/network-handler/utils/__tests__/parse-response-headers.test.ts +71 -0
  308. package/src/library/network-handler/utils/__tests__/read-blob-as-text.test.ts +79 -0
  309. package/src/library/network-handler/utils/__tests__/response-to-string.test.ts +85 -0
  310. package/src/library/network-handler/utils/__tests__/should-ignore-url.test.ts +45 -0
  311. package/src/library/network-handler/utils/generate-request-id.ts +6 -0
  312. package/src/library/network-handler/utils/index.ts +5 -0
  313. package/src/library/network-handler/utils/parse-response-headers.ts +20 -0
  314. package/src/library/network-handler/utils/read-blob-as-text.ts +11 -0
  315. package/src/library/network-handler/utils/response-to-string.ts +32 -0
  316. package/src/library/network-handler/utils/should-ignore-url.ts +6 -0
  317. package/src/library/performance-handler/index.ts +2 -0
  318. package/src/library/performance-handler/performance-handler.ts +104 -0
  319. package/src/library/performance-handler/types.ts +22 -0
  320. package/src/library/project/index.ts +4 -0
  321. package/src/library/project/project-handler.ts +28 -0
  322. package/src/library/types.ts +82 -0
  323. package/src/specs/mako.nitro.ts +114 -0
package/package.json ADDED
@@ -0,0 +1,128 @@
1
+ {
2
+ "name": "@salve-software/mako-react-native",
3
+ "version": "1.0.1",
4
+ "description": "mako-react-native is a react native package built with Nitro",
5
+ "main": "./lib/commonjs/index.js",
6
+ "module": "./lib/module/index.js",
7
+ "types": "./lib/typescript/src/index.d.ts",
8
+ "react-native": "src/index",
9
+ "source": "src/index",
10
+ "scripts": {
11
+ "typecheck": "tsc --noEmit",
12
+ "clean": "git clean -dfX",
13
+ "build": "yarn typecheck && bob build",
14
+ "codegen": "nitrogen --logLevel=\"debug\" && yarn build && node post-script.js",
15
+ "test": "jest",
16
+ "example": "yarn workspace react-native-nitro-trace-example"
17
+ },
18
+ "keywords": [
19
+ "react-native",
20
+ "mako-react-native"
21
+ ],
22
+ "files": [
23
+ "src",
24
+ "react-native.config.js",
25
+ "lib",
26
+ "nitrogen",
27
+ "cpp",
28
+ "nitro.json",
29
+ "android/build.gradle",
30
+ "android/fix-prefab.gradle",
31
+ "android/gradle.properties",
32
+ "android/CMakeLists.txt",
33
+ "android/src",
34
+ "ios/**/*.h",
35
+ "ios/**/*.m",
36
+ "ios/**/*.mm",
37
+ "ios/**/*.cpp",
38
+ "ios/**/*.swift",
39
+ "app.plugin.js",
40
+ "*.podspec",
41
+ "README.md"
42
+ ],
43
+ "packageManager": "yarn@4.9.1",
44
+ "workspaces": [
45
+ "example"
46
+ ],
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/Gabriel-Pereira1788/mako.git",
50
+ "directory": "mako-react-native"
51
+ },
52
+ "author": "Gabriel-Pereira1788",
53
+ "license": "MIT",
54
+ "bugs": "https://github.com/Gabriel-Pereira1788/mako/issues",
55
+ "homepage": "https://github.com/Gabriel-Pereira1788/mako/tree/main/mako-react-native#readme",
56
+ "publishConfig": {
57
+ "access": "public",
58
+ "registry": "https://registry.npmjs.org/"
59
+ },
60
+ "devDependencies": {
61
+ "@jamesacarr/eslint-formatter-github-actions": "^0.2.0",
62
+ "@types/jest": "^29.5.12",
63
+ "@types/react": "19.2.0",
64
+ "nitrogen": "0.35.4",
65
+ "react": "19.2.3",
66
+ "react-native": "0.84.1",
67
+ "react-native-builder-bob": "^0.40.18",
68
+ "react-native-nitro-modules": "0.35.4",
69
+ "typescript": "^5.8.3"
70
+ },
71
+ "peerDependencies": {
72
+ "react": "*",
73
+ "react-native": "*",
74
+ "react-native-nitro-modules": "*"
75
+ },
76
+ "eslintConfig": {
77
+ "root": true,
78
+ "extends": [
79
+ "@react-native",
80
+ "prettier"
81
+ ],
82
+ "plugins": [
83
+ "prettier"
84
+ ],
85
+ "rules": {
86
+ "prettier/prettier": [
87
+ "warn",
88
+ {
89
+ "quoteProps": "consistent",
90
+ "singleQuote": true,
91
+ "tabWidth": 2,
92
+ "trailingComma": "es5",
93
+ "useTabs": false
94
+ }
95
+ ]
96
+ }
97
+ },
98
+ "eslintIgnore": [
99
+ "node_modules/",
100
+ "lib/"
101
+ ],
102
+ "prettier": {
103
+ "quoteProps": "consistent",
104
+ "singleQuote": true,
105
+ "tabWidth": 2,
106
+ "trailingComma": "es5",
107
+ "useTabs": false,
108
+ "semi": false
109
+ },
110
+ "react-native-builder-bob": {
111
+ "source": "src",
112
+ "output": "lib",
113
+ "targets": [
114
+ "commonjs",
115
+ "module",
116
+ [
117
+ "typescript",
118
+ {
119
+ "project": "tsconfig.json"
120
+ }
121
+ ]
122
+ ]
123
+ },
124
+ "dependencies": {
125
+ "@salve-software/mako-types": "^1.0.0",
126
+ "jest": "^30.4.2"
127
+ }
128
+ }
@@ -0,0 +1,16 @@
1
+ // https://github.com/react-native-community/cli/blob/main/docs/dependencies.md
2
+
3
+ module.exports = {
4
+ dependency: {
5
+ platforms: {
6
+ /**
7
+ * @type {import('@react-native-community/cli-types').IOSDependencyParams}
8
+ */
9
+ ios: {},
10
+ /**
11
+ * @type {import('@react-native-community/cli-types').AndroidDependencyParams}
12
+ */
13
+ android: {},
14
+ },
15
+ },
16
+ };
package/src/index.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { NitroModules } from 'react-native-nitro-modules'
2
+ import type { NitroMako as NitroMakoSpec } from './specs/mako.nitro'
3
+
4
+ export const NitroMako =
5
+ NitroModules.createHybridObject<NitroMakoSpec>('NitroMako')
6
+
7
+ export { default } from './library'
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Default URL patterns to ignore during network interception
3
+ * Includes Metro bundler, hot reload, and debugger URLs
4
+ */
5
+ export const DEFAULT_IGNORED_URLS: RegExp[] = [
6
+ /localhost:8081/,
7
+ /127\.0\.0\.1:8081/,
8
+ /10\.0\.2\.2:8081/, // Android emulator
9
+ /symbolicate/,
10
+ /\.hot-update\./,
11
+ /hot$/,
12
+ /\.bundle/,
13
+ /__packager/,
14
+ /debugger-ui/,
15
+ /devtools/,
16
+ ];
17
+
18
+ /**
19
+ * WebSocket reconnection settings
20
+ */
21
+ export const RECONNECT_CONFIG = {
22
+ maxAttempts: 5,
23
+ maxDelay: 30000,
24
+ baseDelay: 1000,
25
+ } as const;
26
+
27
+ /**
28
+ * Default client configuration
29
+ */
30
+ export const DEFAULT_CONFIG = {
31
+ host: 'localhost',
32
+ port: 8765,
33
+ enableNetworkCapture: true,
34
+ enableComponentInspector: false,
35
+ enablePerformanceMonitoring: false,
36
+ } as const;
@@ -0,0 +1,9 @@
1
+ import { MakoClient } from './mako-client'
2
+
3
+ export {
4
+ DEFAULT_IGNORED_URLS,
5
+ RECONNECT_CONFIG,
6
+ DEFAULT_CONFIG,
7
+ } from './constants'
8
+
9
+ export const client = new MakoClient()
@@ -0,0 +1,494 @@
1
+ /**
2
+ * WebSocket client for communicating with Mako macOS app
3
+ */
4
+
5
+ import { Platform } from 'react-native'
6
+ import { NitroModules } from 'react-native-nitro-modules'
7
+ import type {
8
+ MakoConfig,
9
+ MakoEvent,
10
+ DeviceInfoEvent,
11
+ LogEvent,
12
+ NativeLogEvent,
13
+ LogLevel,
14
+ NativeLogSource,
15
+ ProjectInfoEvent,
16
+ } from '../types'
17
+ import type { NitroMako as NitroMakoSpec } from '../../specs/mako.nitro'
18
+
19
+ import {
20
+ DEFAULT_IGNORED_URLS,
21
+ RECONNECT_CONFIG,
22
+ DEFAULT_CONFIG,
23
+ } from './constants'
24
+ import { NetworkHandler } from '../network-handler'
25
+ import { ComponentHandler } from '../component-handler'
26
+ import { PerformanceHandler } from '../performance-handler'
27
+ import { deviceHandler } from '../device'
28
+ import { projectHandler } from '../project'
29
+ import { xhrInterceptor, reactDevToolsInterceptor, jsConsoleInterceptor } from '../interceptors'
30
+
31
+ /**
32
+ * Mako WebSocket Client
33
+ */
34
+ export class MakoClient {
35
+ private ws: WebSocket | null = null
36
+ private config: Required<MakoConfig>
37
+ private messageQueue: MakoEvent[] = []
38
+ private reconnectAttempts = 0
39
+ private reconnectTimeout: ReturnType<typeof setTimeout> | null = null
40
+ private isConnecting = false
41
+ private manualDisconnect = false
42
+
43
+ // Native log capture
44
+ private nitroMako: NitroMakoSpec | null = null
45
+ private nativeLogCaptureEnabled = false
46
+
47
+ // Network handler
48
+ private networkHandler: NetworkHandler | null = null
49
+
50
+ // Component handler
51
+ private componentHandler: ComponentHandler | null = null
52
+ private componentInspectorEnabled = false
53
+
54
+ // Performance handler
55
+ private performanceHandler: PerformanceHandler | null = null
56
+ private performanceMonitoringEnabled = false
57
+
58
+ constructor() {
59
+ this.config = {
60
+ host: DEFAULT_CONFIG.host,
61
+ port: DEFAULT_CONFIG.port,
62
+ enableNetworkCapture: DEFAULT_CONFIG.enableNetworkCapture,
63
+ enableComponentInspector: DEFAULT_CONFIG.enableComponentInspector,
64
+ enablePerformanceMonitoring: DEFAULT_CONFIG.enablePerformanceMonitoring,
65
+ ignoredUrls: [],
66
+ onConnect: () => {},
67
+ onDisconnect: () => {},
68
+ onError: () => {},
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Connect to Mako macOS app
74
+ */
75
+ connect(userConfig: MakoConfig = {}): void {
76
+ if (typeof __DEV__ !== 'undefined' && !__DEV__) {
77
+ console.warn('[Mako] SDK only works in development mode')
78
+ return
79
+ }
80
+
81
+ this.config = {
82
+ host: userConfig.host ?? DEFAULT_CONFIG.host,
83
+ port: userConfig.port ?? DEFAULT_CONFIG.port,
84
+ enableNetworkCapture:
85
+ userConfig.enableNetworkCapture ?? DEFAULT_CONFIG.enableNetworkCapture,
86
+ enableComponentInspector:
87
+ userConfig.enableComponentInspector ?? DEFAULT_CONFIG.enableComponentInspector,
88
+ enablePerformanceMonitoring:
89
+ userConfig.enablePerformanceMonitoring ?? DEFAULT_CONFIG.enablePerformanceMonitoring,
90
+ ignoredUrls: [...DEFAULT_IGNORED_URLS, ...(userConfig.ignoredUrls ?? [])],
91
+ onConnect: userConfig.onConnect ?? (() => {}),
92
+ onDisconnect: userConfig.onDisconnect ?? (() => {}),
93
+ onError: userConfig.onError ?? (() => {}),
94
+ }
95
+
96
+ this.manualDisconnect = false
97
+ this.connectWebSocket()
98
+ }
99
+
100
+ /**
101
+ * Disconnect from Mako
102
+ */
103
+ disconnect(): void {
104
+ this.manualDisconnect = true
105
+ this.cleanup()
106
+ }
107
+
108
+ /**
109
+ * Check if connected
110
+ */
111
+ isConnected(): boolean {
112
+ return this.ws?.readyState === WebSocket.OPEN
113
+ }
114
+
115
+ /**
116
+ * Send a log event to Mako
117
+ */
118
+ sendLog(
119
+ level: LogLevel,
120
+ message: string,
121
+ metadata?: Record<string, unknown>
122
+ ): void {
123
+ const event: LogEvent = {
124
+ type: 'log',
125
+ source: 'js',
126
+ level,
127
+ message,
128
+ timestamp: Date.now(),
129
+ metadata,
130
+ projectId: projectHandler.getProjectId(),
131
+ }
132
+ this.send(event)
133
+ }
134
+
135
+ /**
136
+ * Start capturing native platform logs
137
+ */
138
+ startNativeLogCapture(): boolean {
139
+ if (this.nativeLogCaptureEnabled) {
140
+ console.warn('[Mako] Native log capture already enabled')
141
+ return false
142
+ }
143
+
144
+ try {
145
+ const nitro = this.getNitroMako()
146
+ const success = nitro.startLogCapture((log) => {
147
+ this.handleNativeLog(log)
148
+ })
149
+
150
+ if (success) {
151
+ this.nativeLogCaptureEnabled = true
152
+ console.log('[Mako] Native log capture enabled')
153
+ }
154
+ return success
155
+ } catch (error) {
156
+ console.error('[Mako] Failed to start native log capture:', error)
157
+ return false
158
+ }
159
+ }
160
+
161
+ /**
162
+ * Stop capturing native platform logs
163
+ */
164
+ stopNativeLogCapture(): void {
165
+ if (!this.nativeLogCaptureEnabled) return
166
+
167
+ try {
168
+ const nitro = this.getNitroMako()
169
+ nitro.stopLogCapture()
170
+ this.nativeLogCaptureEnabled = false
171
+ console.log('[Mako] Native log capture disabled')
172
+ } catch (error) {
173
+ console.error('[Mako] Failed to stop native log capture:', error)
174
+ }
175
+ }
176
+
177
+ /**
178
+ * Check if native log capture is active
179
+ */
180
+ isNativeLogCaptureEnabled(): boolean {
181
+ return this.nativeLogCaptureEnabled
182
+ }
183
+
184
+ /**
185
+ * Start component inspector
186
+ */
187
+ startComponentInspector(): boolean {
188
+ if (this.componentInspectorEnabled) {
189
+ console.warn('[Mako] Component inspector already enabled')
190
+ return false
191
+ }
192
+
193
+ this.componentHandler = new ComponentHandler({
194
+ onEvent: (event) => this.send(event),
195
+ })
196
+
197
+ const success = reactDevToolsInterceptor.enable(this.componentHandler.getCallbacks())
198
+ if (success) {
199
+ this.componentInspectorEnabled = true
200
+ this.componentHandler.startTreeSnapshots()
201
+ console.log('[Mako] Component inspector enabled')
202
+ }
203
+ return success
204
+ }
205
+
206
+ /**
207
+ * Stop component inspector
208
+ */
209
+ stopComponentInspector(): void {
210
+ if (!this.componentInspectorEnabled) return
211
+
212
+ try {
213
+ reactDevToolsInterceptor.disable()
214
+ if (this.componentHandler) {
215
+ this.componentHandler.clear()
216
+ this.componentHandler = null
217
+ }
218
+ this.componentInspectorEnabled = false
219
+ console.log('[Mako] Component inspector disabled')
220
+ } catch (error) {
221
+ console.error('[Mako] Failed to stop component inspector:', error)
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Check if component inspector is active
227
+ */
228
+ isComponentInspectorEnabled(): boolean {
229
+ return this.componentInspectorEnabled
230
+ }
231
+
232
+ /**
233
+ * Start performance monitoring
234
+ */
235
+ startPerformanceMonitoring(): boolean {
236
+ if (this.performanceMonitoringEnabled) {
237
+ console.warn('[Mako] Performance monitoring already enabled')
238
+ return false
239
+ }
240
+
241
+ this.performanceHandler = new PerformanceHandler({
242
+ nitroMako: this.getNitroMako(),
243
+ onEvent: (event) => this.send(event),
244
+ })
245
+
246
+ const success = this.performanceHandler.start()
247
+ if (success) {
248
+ this.performanceMonitoringEnabled = true
249
+ console.log('[Mako] Performance monitoring enabled')
250
+ }
251
+ return success
252
+ }
253
+
254
+ /**
255
+ * Stop performance monitoring
256
+ */
257
+ stopPerformanceMonitoring(): void {
258
+ if (!this.performanceMonitoringEnabled) return
259
+
260
+ try {
261
+ if (this.performanceHandler) {
262
+ this.performanceHandler.stop()
263
+ this.performanceHandler = null
264
+ }
265
+ this.performanceMonitoringEnabled = false
266
+ console.log('[Mako] Performance monitoring disabled')
267
+ } catch (error) {
268
+ console.error('[Mako] Failed to stop performance monitoring:', error)
269
+ }
270
+ }
271
+
272
+ /**
273
+ * Check if performance monitoring is active
274
+ */
275
+ isPerformanceMonitoringEnabled(): boolean {
276
+ return this.performanceMonitoringEnabled
277
+ }
278
+
279
+ private getNitroMako(): NitroMakoSpec {
280
+ if (!this.nitroMako) {
281
+ this.nitroMako =
282
+ NitroModules.createHybridObject<NitroMakoSpec>('NitroMako')
283
+ }
284
+ return this.nitroMako
285
+ }
286
+
287
+ private handleNativeLog(log: {
288
+ level: string
289
+ message: string
290
+ tag: string
291
+ timestamp: number
292
+ }): void {
293
+ const platform = Platform.OS as NativeLogSource
294
+ const level = log.level === 'verbose' ? 'debug' : log.level
295
+
296
+ const event: NativeLogEvent = {
297
+ type: 'native',
298
+ source: platform,
299
+ level: level as LogLevel,
300
+ message: log.message,
301
+ timestamp: log.timestamp,
302
+ metadata: log.tag ? { tag: log.tag } : undefined,
303
+ projectId: projectHandler.getProjectId(),
304
+ }
305
+
306
+ this.send(event)
307
+ }
308
+
309
+ private connectWebSocket(): void {
310
+ jsConsoleInterceptor.start({
311
+ onLog: (level, message, metadata) => this.sendLog(level, message, metadata),
312
+ })
313
+
314
+ if (this.isConnecting || this.isConnected()) return
315
+
316
+ this.isConnecting = true
317
+ const url = `ws://${this.config.host}:${this.config.port}`
318
+
319
+ try {
320
+ this.ws = new WebSocket(url)
321
+
322
+ this.ws.onopen = () => {
323
+ this.isConnecting = false
324
+ this.reconnectAttempts = 0
325
+ console.log(`[Mako] Connected to ${url}`)
326
+ this.config.onConnect()
327
+
328
+ this.sendProjectInfo()
329
+ this.sendDeviceInfo()
330
+ this.flushQueue()
331
+
332
+ if (this.config.enableNetworkCapture) {
333
+ this.setupNetworkInterception()
334
+ }
335
+
336
+ if (this.config.enableComponentInspector) {
337
+ this.startComponentInspector()
338
+ }
339
+
340
+ if (this.config.enablePerformanceMonitoring) {
341
+ this.startPerformanceMonitoring()
342
+ }
343
+
344
+ this.startNativeLogCapture()
345
+ }
346
+
347
+ this.ws.onclose = () => {
348
+ this.isConnecting = false
349
+ console.log('[Mako] Disconnected')
350
+ this.config.onDisconnect()
351
+
352
+ if (!this.manualDisconnect) {
353
+ this.scheduleReconnect()
354
+ }
355
+ }
356
+
357
+ this.ws.onerror = (event) => {
358
+ this.isConnecting = false
359
+ const error = new Error('WebSocket error')
360
+ console.error('[Mako] Connection error:', event)
361
+ this.config.onError(error)
362
+ }
363
+
364
+ this.ws.onmessage = (event) => {
365
+ console.log('[Mako] Received:', event.data)
366
+ }
367
+ } catch (error) {
368
+ this.isConnecting = false
369
+ console.error('[Mako] Failed to create WebSocket:', error)
370
+ this.scheduleReconnect()
371
+ }
372
+ }
373
+
374
+ private scheduleReconnect(): void {
375
+ if (this.manualDisconnect) return
376
+ if (this.reconnectAttempts >= RECONNECT_CONFIG.maxAttempts) {
377
+ console.warn('[Mako] Max reconnection attempts reached')
378
+ return
379
+ }
380
+
381
+ const delay = Math.min(
382
+ RECONNECT_CONFIG.baseDelay * Math.pow(2, this.reconnectAttempts),
383
+ RECONNECT_CONFIG.maxDelay
384
+ )
385
+ this.reconnectAttempts++
386
+
387
+ console.log(
388
+ `[Mako] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts})`
389
+ )
390
+
391
+ this.reconnectTimeout = setTimeout(() => {
392
+ this.connectWebSocket()
393
+ }, delay)
394
+ }
395
+
396
+ private cleanup(): void {
397
+ if (this.reconnectTimeout) {
398
+ clearTimeout(this.reconnectTimeout)
399
+ this.reconnectTimeout = null
400
+ }
401
+
402
+ this.stopNativeLogCapture()
403
+ this.stopComponentInspector()
404
+ this.stopPerformanceMonitoring()
405
+ xhrInterceptor.disable()
406
+ jsConsoleInterceptor.stop()
407
+
408
+ if (this.networkHandler) {
409
+ this.networkHandler.clear()
410
+ this.networkHandler = null
411
+ }
412
+
413
+ if (this.ws) {
414
+ this.ws.onopen = null
415
+ this.ws.onclose = null
416
+ this.ws.onerror = null
417
+ this.ws.onmessage = null
418
+ this.ws.close()
419
+ this.ws = null
420
+ }
421
+
422
+ this.messageQueue = []
423
+ this.reconnectAttempts = 0
424
+ this.isConnecting = false
425
+ }
426
+
427
+ private send(event: MakoEvent): void {
428
+ if (this.isConnected() && this.ws) {
429
+ try {
430
+ this.ws.send(JSON.stringify(event))
431
+ } catch (error) {
432
+ console.error('[Mako] Failed to send event:', error)
433
+ this.messageQueue.push(event)
434
+ }
435
+ } else {
436
+ this.messageQueue.push(event)
437
+ }
438
+ }
439
+
440
+ private sendProjectInfo(): void {
441
+ try {
442
+ const projectInfo = projectHandler.getProjectInfo()
443
+ const event: ProjectInfoEvent = {
444
+ type: 'project_info',
445
+ ...projectInfo,
446
+ }
447
+ this.send(event)
448
+ console.log(
449
+ `[Mako] Project registered: ${projectInfo.appName} (${projectInfo.projectId})`
450
+ )
451
+ } catch (error) {
452
+ console.warn('[Mako] Failed to send project info:', error)
453
+ }
454
+ }
455
+
456
+ private async sendDeviceInfo(): Promise<void> {
457
+ try {
458
+ const deviceInfo = deviceHandler.getDeviceInfo()
459
+ const projectId = projectHandler.getProjectId()
460
+ const event: DeviceInfoEvent = {
461
+ type: 'device_info',
462
+ ...deviceInfo,
463
+ projectId,
464
+ }
465
+ this.send(event)
466
+ console.log(
467
+ `[Mako] Device registered: ${deviceInfo.deviceName} (${deviceInfo.deviceId})`
468
+ )
469
+ } catch (error) {
470
+ console.warn('[Mako] Failed to send device info:', error)
471
+ }
472
+ }
473
+
474
+ private flushQueue(): void {
475
+ while (this.messageQueue.length > 0 && this.isConnected()) {
476
+ const event = this.messageQueue.shift()
477
+ if (event) {
478
+ this.send(event)
479
+ }
480
+ }
481
+ }
482
+
483
+ private setupNetworkInterception(): void {
484
+ this.networkHandler = new NetworkHandler({
485
+ ignoredUrls: this.config.ignoredUrls,
486
+ onEvent: (event) => this.send(event),
487
+ })
488
+
489
+ const success = xhrInterceptor.enable(this.networkHandler.getCallbacks())
490
+ if (success) {
491
+ console.log('[Mako] Network capture enabled')
492
+ }
493
+ }
494
+ }