react-native-debug-toolkit 2.0.0 → 2.2.0

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 (443) hide show
  1. package/README.md +82 -120
  2. package/README.zh-CN.md +171 -0
  3. package/lib/commonjs/core/DebugToolkit.js +117 -115
  4. package/lib/commonjs/core/DebugToolkit.js.map +1 -1
  5. package/lib/commonjs/core/DebugToolkitProvider.js +38 -30
  6. package/lib/commonjs/core/DebugToolkitProvider.js.map +1 -1
  7. package/lib/commonjs/core/initialize.js +84 -0
  8. package/lib/commonjs/core/initialize.js.map +1 -0
  9. package/lib/commonjs/{components → features/clipboard}/ClipboardTab.js +16 -17
  10. package/lib/commonjs/features/clipboard/ClipboardTab.js.map +1 -0
  11. package/lib/commonjs/features/{ClipboardFeature.js → clipboard/index.js} +9 -5
  12. package/lib/commonjs/features/clipboard/index.js.map +1 -0
  13. package/lib/commonjs/features/console/ConsoleLogTab.js +162 -0
  14. package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -0
  15. package/lib/commonjs/features/console/index.js +118 -0
  16. package/lib/commonjs/features/console/index.js.map +1 -0
  17. package/lib/commonjs/{components → features/environment}/EnvironmentTab.js +24 -25
  18. package/lib/commonjs/features/environment/EnvironmentTab.js.map +1 -0
  19. package/lib/commonjs/features/{EnvironmentFeature.js → environment/index.js} +22 -25
  20. package/lib/commonjs/features/environment/index.js.map +1 -0
  21. package/lib/commonjs/{components → features/navigation}/NavigationLogTab.js +11 -10
  22. package/lib/commonjs/features/navigation/NavigationLogTab.js.map +1 -0
  23. package/lib/commonjs/features/navigation/index.js +39 -0
  24. package/lib/commonjs/features/navigation/index.js.map +1 -0
  25. package/lib/commonjs/{hooks → features/navigation}/useNavigationLogger.js +3 -3
  26. package/lib/commonjs/features/navigation/useNavigationLogger.js.map +1 -0
  27. package/lib/commonjs/features/network/NetworkLogTab.js +405 -0
  28. package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -0
  29. package/lib/commonjs/features/network/index.js +96 -0
  30. package/lib/commonjs/features/network/index.js.map +1 -0
  31. package/lib/commonjs/features/network/networkInterceptor.js +261 -0
  32. package/lib/commonjs/features/network/networkInterceptor.js.map +1 -0
  33. package/lib/commonjs/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.js +10 -9
  34. package/lib/commonjs/features/thirdPartyLibs/ThirdPartyLibsTab.js.map +1 -0
  35. package/lib/commonjs/features/{ThirdPartyLibsFeature.js → thirdPartyLibs/index.js} +8 -8
  36. package/lib/commonjs/features/thirdPartyLibs/index.js.map +1 -0
  37. package/lib/commonjs/{native/NativeDebugLibs.js → features/thirdPartyLibs/nativeDebugLibs.js} +1 -1
  38. package/lib/commonjs/features/thirdPartyLibs/nativeDebugLibs.js.map +1 -0
  39. package/lib/commonjs/features/track/TrackLogTab.js +230 -0
  40. package/lib/commonjs/features/track/TrackLogTab.js.map +1 -0
  41. package/lib/commonjs/features/track/index.js +39 -0
  42. package/lib/commonjs/features/track/index.js.map +1 -0
  43. package/lib/commonjs/features/zustand/ZustandLogTab.js +311 -0
  44. package/lib/commonjs/features/zustand/ZustandLogTab.js.map +1 -0
  45. package/lib/commonjs/features/zustand/index.js +59 -0
  46. package/lib/commonjs/features/zustand/index.js.map +1 -0
  47. package/lib/commonjs/index.js +27 -40
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/commonjs/types/environment.js +2 -0
  50. package/lib/commonjs/types/environment.js.map +1 -0
  51. package/lib/commonjs/types/feature.js +6 -0
  52. package/lib/commonjs/types/feature.js.map +1 -0
  53. package/lib/commonjs/types/index.js +0 -4
  54. package/lib/commonjs/types/logs.js +2 -0
  55. package/lib/commonjs/types/logs.js.map +1 -0
  56. package/lib/commonjs/types/navigation.js +2 -0
  57. package/lib/commonjs/types/navigation.js.map +1 -0
  58. package/lib/commonjs/types/thirdPartyLibs.js +2 -0
  59. package/lib/commonjs/types/thirdPartyLibs.js.map +1 -0
  60. package/lib/commonjs/ui/DebugView.js +66 -0
  61. package/lib/commonjs/ui/DebugView.js.map +1 -0
  62. package/lib/commonjs/ui/floating/FloatIcon.js +240 -0
  63. package/lib/commonjs/ui/floating/FloatIcon.js.map +1 -0
  64. package/lib/commonjs/ui/panel/DebugPanel.js +230 -0
  65. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -0
  66. package/lib/commonjs/ui/panel/FeatureTabBar.js +182 -0
  67. package/lib/commonjs/ui/panel/FeatureTabBar.js.map +1 -0
  68. package/lib/commonjs/ui/panel/FloatPanelView.js +238 -0
  69. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -0
  70. package/lib/commonjs/{components → ui}/shared/CollapsibleSection.js +4 -4
  71. package/lib/commonjs/ui/shared/CollapsibleSection.js.map +1 -0
  72. package/lib/commonjs/{components → ui}/shared/CopyButton.js +3 -3
  73. package/lib/commonjs/ui/shared/CopyButton.js.map +1 -0
  74. package/lib/commonjs/ui/shared/JsonView.js.map +1 -0
  75. package/lib/commonjs/ui/shared/LogListScreen.js +174 -0
  76. package/lib/commonjs/ui/shared/LogListScreen.js.map +1 -0
  77. package/lib/commonjs/ui/shared/useSlideDetailAnimation.js.map +1 -0
  78. package/lib/commonjs/ui/theme/colors.js +43 -0
  79. package/lib/commonjs/ui/theme/colors.js.map +1 -0
  80. package/lib/commonjs/ui/theme/layout.js +8 -0
  81. package/lib/commonjs/ui/theme/layout.js.map +1 -0
  82. package/lib/commonjs/utils/createChannelFeature.js +62 -0
  83. package/lib/commonjs/utils/createChannelFeature.js.map +1 -0
  84. package/lib/commonjs/utils/createObservableStore.js +5 -0
  85. package/lib/commonjs/utils/createObservableStore.js.map +1 -1
  86. package/lib/commonjs/utils/createPersistedObservableStore.js +71 -0
  87. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -0
  88. package/lib/commonjs/utils/debugPreferences.js +52 -0
  89. package/lib/commonjs/utils/debugPreferences.js.map +1 -0
  90. package/lib/commonjs/utils/urlRewriterRegistry.js +14 -0
  91. package/lib/commonjs/utils/urlRewriterRegistry.js.map +1 -0
  92. package/lib/module/core/DebugToolkit.js +117 -114
  93. package/lib/module/core/DebugToolkit.js.map +1 -1
  94. package/lib/module/core/DebugToolkitProvider.js +39 -31
  95. package/lib/module/core/DebugToolkitProvider.js.map +1 -1
  96. package/lib/module/core/initialize.js +80 -0
  97. package/lib/module/core/initialize.js.map +1 -0
  98. package/lib/module/{components → features/clipboard}/ClipboardTab.js +9 -9
  99. package/lib/module/features/clipboard/ClipboardTab.js.map +1 -0
  100. package/lib/module/features/clipboard/index.js +16 -0
  101. package/lib/module/features/clipboard/index.js.map +1 -0
  102. package/lib/module/features/console/ConsoleLogTab.js +157 -0
  103. package/lib/module/features/console/ConsoleLogTab.js.map +1 -0
  104. package/lib/module/features/console/index.js +112 -0
  105. package/lib/module/features/console/index.js.map +1 -0
  106. package/lib/module/{components → features/environment}/EnvironmentTab.js +5 -5
  107. package/lib/module/features/environment/EnvironmentTab.js.map +1 -0
  108. package/lib/module/features/{EnvironmentFeature.js → environment/index.js} +22 -25
  109. package/lib/module/features/environment/index.js.map +1 -0
  110. package/lib/module/{components → features/navigation}/NavigationLogTab.js +4 -3
  111. package/lib/module/features/navigation/NavigationLogTab.js.map +1 -0
  112. package/lib/module/features/navigation/index.js +32 -0
  113. package/lib/module/features/navigation/index.js.map +1 -0
  114. package/lib/module/{hooks → features/navigation}/useNavigationLogger.js +2 -2
  115. package/lib/module/features/navigation/useNavigationLogger.js.map +1 -0
  116. package/lib/module/features/network/NetworkLogTab.js +400 -0
  117. package/lib/module/features/network/NetworkLogTab.js.map +1 -0
  118. package/lib/module/features/network/index.js +90 -0
  119. package/lib/module/features/network/index.js.map +1 -0
  120. package/lib/module/features/network/networkInterceptor.js +256 -0
  121. package/lib/module/features/network/networkInterceptor.js.map +1 -0
  122. package/lib/module/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.js +3 -2
  123. package/lib/module/features/thirdPartyLibs/ThirdPartyLibsTab.js.map +1 -0
  124. package/lib/module/features/{ThirdPartyLibsFeature.js → thirdPartyLibs/index.js} +4 -4
  125. package/lib/module/features/thirdPartyLibs/index.js.map +1 -0
  126. package/lib/module/{native/NativeDebugLibs.js → features/thirdPartyLibs/nativeDebugLibs.js} +1 -1
  127. package/lib/module/features/thirdPartyLibs/nativeDebugLibs.js.map +1 -0
  128. package/lib/module/features/track/TrackLogTab.js +225 -0
  129. package/lib/module/features/track/TrackLogTab.js.map +1 -0
  130. package/lib/module/features/track/index.js +32 -0
  131. package/lib/module/features/track/index.js.map +1 -0
  132. package/lib/module/features/zustand/ZustandLogTab.js +306 -0
  133. package/lib/module/features/zustand/ZustandLogTab.js.map +1 -0
  134. package/lib/module/features/zustand/index.js +53 -0
  135. package/lib/module/features/zustand/index.js.map +1 -0
  136. package/lib/module/index.js +11 -12
  137. package/lib/module/index.js.map +1 -1
  138. package/lib/module/types/environment.js +2 -0
  139. package/lib/module/types/environment.js.map +1 -0
  140. package/lib/module/types/feature.js +4 -0
  141. package/lib/module/types/feature.js.map +1 -0
  142. package/lib/module/types/index.js +0 -2
  143. package/lib/module/types/logs.js +2 -0
  144. package/lib/module/types/logs.js.map +1 -0
  145. package/lib/module/types/navigation.js +2 -0
  146. package/lib/module/types/navigation.js.map +1 -0
  147. package/lib/module/types/thirdPartyLibs.js +2 -0
  148. package/lib/module/types/thirdPartyLibs.js.map +1 -0
  149. package/lib/module/ui/DebugView.js +61 -0
  150. package/lib/module/ui/DebugView.js.map +1 -0
  151. package/lib/module/ui/floating/FloatIcon.js +235 -0
  152. package/lib/module/ui/floating/FloatIcon.js.map +1 -0
  153. package/lib/module/ui/panel/DebugPanel.js +225 -0
  154. package/lib/module/ui/panel/DebugPanel.js.map +1 -0
  155. package/lib/module/ui/panel/FeatureTabBar.js +177 -0
  156. package/lib/module/ui/panel/FeatureTabBar.js.map +1 -0
  157. package/lib/module/ui/panel/FloatPanelView.js +233 -0
  158. package/lib/module/ui/panel/FloatPanelView.js.map +1 -0
  159. package/lib/module/{components → ui}/shared/CollapsibleSection.js +1 -1
  160. package/lib/module/ui/shared/CollapsibleSection.js.map +1 -0
  161. package/lib/module/{components → ui}/shared/CopyButton.js +1 -1
  162. package/lib/module/ui/shared/CopyButton.js.map +1 -0
  163. package/lib/module/ui/shared/JsonView.js.map +1 -0
  164. package/lib/module/ui/shared/LogListScreen.js +169 -0
  165. package/lib/module/ui/shared/LogListScreen.js.map +1 -0
  166. package/lib/module/ui/shared/useSlideDetailAnimation.js.map +1 -0
  167. package/lib/module/ui/theme/colors.js +38 -0
  168. package/lib/module/ui/theme/colors.js.map +1 -0
  169. package/lib/module/ui/theme/layout.js +4 -0
  170. package/lib/module/ui/theme/layout.js.map +1 -0
  171. package/lib/module/utils/createChannelFeature.js +58 -0
  172. package/lib/module/utils/createChannelFeature.js.map +1 -0
  173. package/lib/module/utils/createObservableStore.js +5 -0
  174. package/lib/module/utils/createObservableStore.js.map +1 -1
  175. package/lib/module/utils/createPersistedObservableStore.js +67 -0
  176. package/lib/module/utils/createPersistedObservableStore.js.map +1 -0
  177. package/lib/module/utils/debugPreferences.js +46 -0
  178. package/lib/module/utils/debugPreferences.js.map +1 -0
  179. package/lib/module/utils/urlRewriterRegistry.js +10 -0
  180. package/lib/module/utils/urlRewriterRegistry.js.map +1 -0
  181. package/lib/typescript/src/core/DebugToolkit.d.ts +17 -20
  182. package/lib/typescript/src/core/DebugToolkit.d.ts.map +1 -1
  183. package/lib/typescript/src/core/DebugToolkitProvider.d.ts +4 -7
  184. package/lib/typescript/src/core/DebugToolkitProvider.d.ts.map +1 -1
  185. package/lib/typescript/src/core/initialize.d.ts +32 -0
  186. package/lib/typescript/src/core/initialize.d.ts.map +1 -0
  187. package/lib/typescript/src/features/clipboard/ClipboardTab.d.ts +4 -0
  188. package/lib/typescript/src/features/clipboard/ClipboardTab.d.ts.map +1 -0
  189. package/lib/typescript/src/features/clipboard/index.d.ts +7 -0
  190. package/lib/typescript/src/features/clipboard/index.d.ts.map +1 -0
  191. package/lib/typescript/src/{components → features/console}/ConsoleLogTab.d.ts +2 -2
  192. package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -0
  193. package/lib/typescript/src/features/console/index.d.ts +9 -0
  194. package/lib/typescript/src/features/console/index.d.ts.map +1 -0
  195. package/lib/typescript/src/{components → features/environment}/EnvironmentTab.d.ts +1 -1
  196. package/lib/typescript/src/features/environment/EnvironmentTab.d.ts.map +1 -0
  197. package/lib/typescript/src/features/{EnvironmentFeature.d.ts → environment/index.d.ts} +2 -2
  198. package/lib/typescript/src/features/environment/index.d.ts.map +1 -0
  199. package/lib/typescript/src/{components → features/navigation}/NavigationLogTab.d.ts +2 -2
  200. package/lib/typescript/src/features/navigation/NavigationLogTab.d.ts.map +1 -0
  201. package/lib/typescript/src/features/{NavigationLogFeature.d.ts → navigation/index.d.ts} +5 -3
  202. package/lib/typescript/src/features/navigation/index.d.ts.map +1 -0
  203. package/lib/typescript/src/{hooks → features/navigation}/useNavigationLogger.d.ts +1 -8
  204. package/lib/typescript/src/features/navigation/useNavigationLogger.d.ts.map +1 -0
  205. package/lib/typescript/src/{components → features/network}/NetworkLogTab.d.ts +2 -2
  206. package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -0
  207. package/lib/typescript/src/features/network/index.d.ts +15 -0
  208. package/lib/typescript/src/features/network/index.d.ts.map +1 -0
  209. package/lib/typescript/src/features/network/networkInterceptor.d.ts +19 -0
  210. package/lib/typescript/src/features/network/networkInterceptor.d.ts.map +1 -0
  211. package/lib/typescript/src/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.d.ts +2 -2
  212. package/lib/typescript/src/features/thirdPartyLibs/ThirdPartyLibsTab.d.ts.map +1 -0
  213. package/lib/typescript/src/features/thirdPartyLibs/index.d.ts +3 -0
  214. package/lib/typescript/src/features/thirdPartyLibs/index.d.ts.map +1 -0
  215. package/lib/typescript/src/{native/NativeDebugLibs.d.ts → features/thirdPartyLibs/nativeDebugLibs.d.ts} +1 -1
  216. package/lib/typescript/src/features/thirdPartyLibs/nativeDebugLibs.d.ts.map +1 -0
  217. package/lib/typescript/src/{components → features/track}/TrackLogTab.d.ts +2 -2
  218. package/lib/typescript/src/features/track/TrackLogTab.d.ts.map +1 -0
  219. package/lib/typescript/src/features/{TrackFeature.d.ts → track/index.d.ts} +5 -3
  220. package/lib/typescript/src/features/track/index.d.ts.map +1 -0
  221. package/lib/typescript/src/{components → features/zustand}/ZustandLogTab.d.ts +2 -2
  222. package/lib/typescript/src/features/zustand/ZustandLogTab.d.ts.map +1 -0
  223. package/lib/typescript/src/features/{ZustandLogFeature.d.ts → zustand/index.d.ts} +5 -3
  224. package/lib/typescript/src/features/zustand/index.d.ts.map +1 -0
  225. package/lib/typescript/src/index.d.ts +20 -20
  226. package/lib/typescript/src/index.d.ts.map +1 -1
  227. package/lib/typescript/src/types/environment.d.ts +11 -0
  228. package/lib/typescript/src/types/environment.d.ts.map +1 -0
  229. package/lib/typescript/src/types/feature.d.ts +23 -0
  230. package/lib/typescript/src/types/feature.d.ts.map +1 -0
  231. package/lib/typescript/src/types/index.d.ts +5 -111
  232. package/lib/typescript/src/types/index.d.ts.map +1 -1
  233. package/lib/typescript/src/types/logs.d.ts +51 -0
  234. package/lib/typescript/src/types/logs.d.ts.map +1 -0
  235. package/lib/typescript/src/types/navigation.d.ts +8 -0
  236. package/lib/typescript/src/types/navigation.d.ts.map +1 -0
  237. package/lib/typescript/src/types/thirdPartyLibs.d.ts +13 -0
  238. package/lib/typescript/src/types/thirdPartyLibs.d.ts.map +1 -0
  239. package/lib/typescript/src/ui/DebugView.d.ts +19 -0
  240. package/lib/typescript/src/ui/DebugView.d.ts.map +1 -0
  241. package/lib/typescript/src/ui/floating/FloatIcon.d.ts +12 -0
  242. package/lib/typescript/src/ui/floating/FloatIcon.d.ts.map +1 -0
  243. package/lib/typescript/src/ui/panel/DebugPanel.d.ts +9 -0
  244. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -0
  245. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts +13 -0
  246. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +1 -0
  247. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts +12 -0
  248. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -0
  249. package/lib/typescript/src/ui/shared/CollapsibleSection.d.ts.map +1 -0
  250. package/lib/typescript/src/ui/shared/CopyButton.d.ts.map +1 -0
  251. package/lib/typescript/src/ui/shared/JsonView.d.ts.map +1 -0
  252. package/lib/typescript/src/ui/shared/LogListScreen.d.ts +21 -0
  253. package/lib/typescript/src/ui/shared/LogListScreen.d.ts.map +1 -0
  254. package/lib/typescript/src/ui/shared/useSlideDetailAnimation.d.ts.map +1 -0
  255. package/lib/typescript/src/ui/theme/colors.d.ts +21 -0
  256. package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -0
  257. package/lib/typescript/src/ui/theme/layout.d.ts +2 -0
  258. package/lib/typescript/src/ui/theme/layout.d.ts.map +1 -0
  259. package/lib/typescript/src/utils/createChannelFeature.d.ts +27 -0
  260. package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -0
  261. package/lib/typescript/src/utils/createObservableStore.d.ts +1 -0
  262. package/lib/typescript/src/utils/createObservableStore.d.ts.map +1 -1
  263. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +15 -0
  264. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -0
  265. package/lib/typescript/src/utils/debugPreferences.d.ts +10 -0
  266. package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -0
  267. package/lib/typescript/src/utils/urlRewriterRegistry.d.ts +7 -0
  268. package/lib/typescript/src/utils/urlRewriterRegistry.d.ts.map +1 -0
  269. package/package.json +5 -1
  270. package/src/core/DebugToolkit.tsx +144 -142
  271. package/src/core/DebugToolkitProvider.tsx +44 -43
  272. package/src/core/initialize.ts +122 -0
  273. package/src/{components → features/clipboard}/ClipboardTab.tsx +10 -10
  274. package/src/features/clipboard/index.ts +15 -0
  275. package/src/features/console/ConsoleLogTab.tsx +95 -0
  276. package/src/features/console/index.ts +119 -0
  277. package/src/{components → features/environment}/EnvironmentTab.tsx +7 -7
  278. package/src/features/{EnvironmentFeature.ts → environment/index.ts} +27 -25
  279. package/src/{components → features/navigation}/NavigationLogTab.tsx +6 -5
  280. package/src/features/navigation/index.ts +44 -0
  281. package/src/{hooks → features/navigation}/useNavigationLogger.ts +3 -8
  282. package/src/features/network/NetworkLogTab.tsx +271 -0
  283. package/src/features/network/index.ts +113 -0
  284. package/src/features/network/networkInterceptor.ts +311 -0
  285. package/src/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.tsx +6 -5
  286. package/src/features/{ThirdPartyLibsFeature.ts → thirdPartyLibs/index.ts} +5 -5
  287. package/src/features/track/TrackLogTab.tsx +110 -0
  288. package/src/features/track/index.ts +41 -0
  289. package/src/features/zustand/ZustandLogTab.tsx +203 -0
  290. package/src/features/{ZustandLogFeature.ts → zustand/index.ts} +19 -45
  291. package/src/index.ts +20 -24
  292. package/src/types/environment.ts +11 -0
  293. package/src/types/feature.ts +32 -0
  294. package/src/types/index.ts +29 -138
  295. package/src/types/logs.ts +54 -0
  296. package/src/types/navigation.ts +5 -0
  297. package/src/types/thirdPartyLibs.ts +13 -0
  298. package/src/ui/DebugView.tsx +80 -0
  299. package/src/ui/floating/FloatIcon.tsx +202 -0
  300. package/src/ui/panel/DebugPanel.tsx +215 -0
  301. package/src/ui/panel/FeatureTabBar.tsx +204 -0
  302. package/src/ui/panel/FloatPanelView.tsx +227 -0
  303. package/src/{components → ui}/shared/CollapsibleSection.tsx +1 -1
  304. package/src/{components → ui}/shared/CopyButton.tsx +1 -1
  305. package/src/ui/shared/LogListScreen.tsx +164 -0
  306. package/src/ui/theme/colors.ts +33 -0
  307. package/src/ui/theme/layout.ts +1 -0
  308. package/src/utils/createChannelFeature.ts +80 -0
  309. package/src/utils/createObservableStore.ts +6 -0
  310. package/src/utils/createPersistedObservableStore.ts +76 -0
  311. package/src/utils/debugPreferences.ts +48 -0
  312. package/src/utils/urlRewriterRegistry.ts +10 -0
  313. package/lib/commonjs/components/ClipboardTab.js.map +0 -1
  314. package/lib/commonjs/components/ConsoleLogTab.js +0 -295
  315. package/lib/commonjs/components/ConsoleLogTab.js.map +0 -1
  316. package/lib/commonjs/components/EnvironmentTab.js.map +0 -1
  317. package/lib/commonjs/components/FloatPanelView.js +0 -797
  318. package/lib/commonjs/components/FloatPanelView.js.map +0 -1
  319. package/lib/commonjs/components/NavigationLogTab.js.map +0 -1
  320. package/lib/commonjs/components/NetworkLogTab.js +0 -575
  321. package/lib/commonjs/components/NetworkLogTab.js.map +0 -1
  322. package/lib/commonjs/components/ThirdPartyLibsTab.js.map +0 -1
  323. package/lib/commonjs/components/TrackLogTab.js +0 -372
  324. package/lib/commonjs/components/TrackLogTab.js.map +0 -1
  325. package/lib/commonjs/components/ZustandLogTab.js +0 -451
  326. package/lib/commonjs/components/ZustandLogTab.js.map +0 -1
  327. package/lib/commonjs/components/shared/CollapsibleSection.js.map +0 -1
  328. package/lib/commonjs/components/shared/CopyButton.js.map +0 -1
  329. package/lib/commonjs/components/shared/JsonView.js.map +0 -1
  330. package/lib/commonjs/features/ClipboardFeature.js.map +0 -1
  331. package/lib/commonjs/features/ConsoleLogFeature.js +0 -98
  332. package/lib/commonjs/features/ConsoleLogFeature.js.map +0 -1
  333. package/lib/commonjs/features/EnvironmentFeature.js.map +0 -1
  334. package/lib/commonjs/features/NavigationLogFeature.js +0 -60
  335. package/lib/commonjs/features/NavigationLogFeature.js.map +0 -1
  336. package/lib/commonjs/features/NetworkFeature.js +0 -328
  337. package/lib/commonjs/features/NetworkFeature.js.map +0 -1
  338. package/lib/commonjs/features/ThirdPartyLibsFeature.js.map +0 -1
  339. package/lib/commonjs/features/TrackFeature.js +0 -55
  340. package/lib/commonjs/features/TrackFeature.js.map +0 -1
  341. package/lib/commonjs/features/ZustandLogFeature.js +0 -76
  342. package/lib/commonjs/features/ZustandLogFeature.js.map +0 -1
  343. package/lib/commonjs/hooks/useNavigationLogger.js.map +0 -1
  344. package/lib/commonjs/hooks/useSlideDetailAnimation.js.map +0 -1
  345. package/lib/commonjs/initialize.js +0 -161
  346. package/lib/commonjs/initialize.js.map +0 -1
  347. package/lib/commonjs/native/NativeDebugLibs.js.map +0 -1
  348. package/lib/commonjs/utils/constants.js +0 -135
  349. package/lib/commonjs/utils/constants.js.map +0 -1
  350. package/lib/module/components/ClipboardTab.js.map +0 -1
  351. package/lib/module/components/ConsoleLogTab.js +0 -290
  352. package/lib/module/components/ConsoleLogTab.js.map +0 -1
  353. package/lib/module/components/EnvironmentTab.js.map +0 -1
  354. package/lib/module/components/FloatPanelView.js +0 -791
  355. package/lib/module/components/FloatPanelView.js.map +0 -1
  356. package/lib/module/components/NavigationLogTab.js.map +0 -1
  357. package/lib/module/components/NetworkLogTab.js +0 -570
  358. package/lib/module/components/NetworkLogTab.js.map +0 -1
  359. package/lib/module/components/ThirdPartyLibsTab.js.map +0 -1
  360. package/lib/module/components/TrackLogTab.js +0 -367
  361. package/lib/module/components/TrackLogTab.js.map +0 -1
  362. package/lib/module/components/ZustandLogTab.js +0 -446
  363. package/lib/module/components/ZustandLogTab.js.map +0 -1
  364. package/lib/module/components/shared/CollapsibleSection.js.map +0 -1
  365. package/lib/module/components/shared/CopyButton.js.map +0 -1
  366. package/lib/module/components/shared/JsonView.js.map +0 -1
  367. package/lib/module/features/ClipboardFeature.js +0 -12
  368. package/lib/module/features/ClipboardFeature.js.map +0 -1
  369. package/lib/module/features/ConsoleLogFeature.js +0 -93
  370. package/lib/module/features/ConsoleLogFeature.js.map +0 -1
  371. package/lib/module/features/EnvironmentFeature.js.map +0 -1
  372. package/lib/module/features/NavigationLogFeature.js +0 -54
  373. package/lib/module/features/NavigationLogFeature.js.map +0 -1
  374. package/lib/module/features/NetworkFeature.js +0 -322
  375. package/lib/module/features/NetworkFeature.js.map +0 -1
  376. package/lib/module/features/ThirdPartyLibsFeature.js.map +0 -1
  377. package/lib/module/features/TrackFeature.js +0 -49
  378. package/lib/module/features/TrackFeature.js.map +0 -1
  379. package/lib/module/features/ZustandLogFeature.js +0 -69
  380. package/lib/module/features/ZustandLogFeature.js.map +0 -1
  381. package/lib/module/hooks/useNavigationLogger.js.map +0 -1
  382. package/lib/module/hooks/useSlideDetailAnimation.js.map +0 -1
  383. package/lib/module/initialize.js +0 -156
  384. package/lib/module/initialize.js.map +0 -1
  385. package/lib/module/native/NativeDebugLibs.js.map +0 -1
  386. package/lib/module/utils/constants.js +0 -130
  387. package/lib/module/utils/constants.js.map +0 -1
  388. package/lib/typescript/src/components/ClipboardTab.d.ts +0 -4
  389. package/lib/typescript/src/components/ClipboardTab.d.ts.map +0 -1
  390. package/lib/typescript/src/components/ConsoleLogTab.d.ts.map +0 -1
  391. package/lib/typescript/src/components/EnvironmentTab.d.ts.map +0 -1
  392. package/lib/typescript/src/components/FloatPanelView.d.ts +0 -64
  393. package/lib/typescript/src/components/FloatPanelView.d.ts.map +0 -1
  394. package/lib/typescript/src/components/NavigationLogTab.d.ts.map +0 -1
  395. package/lib/typescript/src/components/NetworkLogTab.d.ts.map +0 -1
  396. package/lib/typescript/src/components/ThirdPartyLibsTab.d.ts.map +0 -1
  397. package/lib/typescript/src/components/TrackLogTab.d.ts.map +0 -1
  398. package/lib/typescript/src/components/ZustandLogTab.d.ts.map +0 -1
  399. package/lib/typescript/src/components/shared/CollapsibleSection.d.ts.map +0 -1
  400. package/lib/typescript/src/components/shared/CopyButton.d.ts.map +0 -1
  401. package/lib/typescript/src/components/shared/JsonView.d.ts.map +0 -1
  402. package/lib/typescript/src/features/ClipboardFeature.d.ts +0 -3
  403. package/lib/typescript/src/features/ClipboardFeature.d.ts.map +0 -1
  404. package/lib/typescript/src/features/ConsoleLogFeature.d.ts +0 -7
  405. package/lib/typescript/src/features/ConsoleLogFeature.d.ts.map +0 -1
  406. package/lib/typescript/src/features/EnvironmentFeature.d.ts.map +0 -1
  407. package/lib/typescript/src/features/NavigationLogFeature.d.ts.map +0 -1
  408. package/lib/typescript/src/features/NetworkFeature.d.ts +0 -28
  409. package/lib/typescript/src/features/NetworkFeature.d.ts.map +0 -1
  410. package/lib/typescript/src/features/ThirdPartyLibsFeature.d.ts +0 -3
  411. package/lib/typescript/src/features/ThirdPartyLibsFeature.d.ts.map +0 -1
  412. package/lib/typescript/src/features/TrackFeature.d.ts.map +0 -1
  413. package/lib/typescript/src/features/ZustandLogFeature.d.ts.map +0 -1
  414. package/lib/typescript/src/hooks/useNavigationLogger.d.ts.map +0 -1
  415. package/lib/typescript/src/hooks/useSlideDetailAnimation.d.ts.map +0 -1
  416. package/lib/typescript/src/initialize.d.ts +0 -51
  417. package/lib/typescript/src/initialize.d.ts.map +0 -1
  418. package/lib/typescript/src/native/NativeDebugLibs.d.ts.map +0 -1
  419. package/lib/typescript/src/utils/constants.d.ts +0 -96
  420. package/lib/typescript/src/utils/constants.d.ts.map +0 -1
  421. package/src/components/ConsoleLogTab.tsx +0 -209
  422. package/src/components/FloatPanelView.tsx +0 -714
  423. package/src/components/NetworkLogTab.tsx +0 -411
  424. package/src/components/TrackLogTab.tsx +0 -245
  425. package/src/components/ZustandLogTab.tsx +0 -305
  426. package/src/features/ClipboardFeature.ts +0 -11
  427. package/src/features/ConsoleLogFeature.ts +0 -118
  428. package/src/features/NavigationLogFeature.ts +0 -74
  429. package/src/features/NetworkFeature.ts +0 -488
  430. package/src/features/TrackFeature.ts +0 -69
  431. package/src/initialize.ts +0 -214
  432. package/src/utils/constants.ts +0 -91
  433. /package/lib/commonjs/{components → ui}/shared/JsonView.js +0 -0
  434. /package/lib/commonjs/{hooks → ui/shared}/useSlideDetailAnimation.js +0 -0
  435. /package/lib/module/{components → ui}/shared/JsonView.js +0 -0
  436. /package/lib/module/{hooks → ui/shared}/useSlideDetailAnimation.js +0 -0
  437. /package/lib/typescript/src/{components → ui}/shared/CollapsibleSection.d.ts +0 -0
  438. /package/lib/typescript/src/{components → ui}/shared/CopyButton.d.ts +0 -0
  439. /package/lib/typescript/src/{components → ui}/shared/JsonView.d.ts +0 -0
  440. /package/lib/typescript/src/{hooks → ui/shared}/useSlideDetailAnimation.d.ts +0 -0
  441. /package/src/{native/NativeDebugLibs.ts → features/thirdPartyLibs/nativeDebugLibs.ts} +0 -0
  442. /package/src/{components → ui}/shared/JsonView.tsx +0 -0
  443. /package/src/{hooks → ui/shared}/useSlideDetailAnimation.ts +0 -0
package/README.md CHANGED
@@ -1,20 +1,24 @@
1
1
  # React Native Debug Toolkit
2
2
 
3
+ [中文文档](README.zh-CN.md)
4
+
3
5
  A dev-only floating debug panel for React Native — inspect network, console, state, navigation and more, right on your device.
4
6
 
5
7
  > Zero impact on production builds (`__DEV__` only).
6
8
 
9
+ ## Preview
10
+
11
+ ![demo](demo.gif)
7
12
  ## Features
8
13
 
9
- - **Network** — Inspect fetch / Axios requests & responses, copy as cURL
14
+ - **Network** — Auto-intercepts fetch; axios via `axiosInstance` config, inspect requests & responses, copy as cURL
10
15
  - **Console** — Capture `console.log / info / warn / error`
11
16
  - **Zustand** — Log state transitions via middleware
12
17
  - **Navigation** — Track route changes
13
18
  - **Track** — Record custom analytics events
14
19
  - **Environment** — Switch API hosts on the fly
15
- - **Clipboard** — Inspect clipboard content
16
- - **Third-party** — Launch FLEX / DoraemonKit
17
- - **Export** — Share debug data via system share sheet
20
+ - **Clipboard** — Paste text and copy to computer
21
+ - **Log Persistence** — Network, Console, Track logs survive app restarts (requires AsyncStorage)
18
22
 
19
23
  ## Installation
20
24
 
@@ -28,76 +32,75 @@ Optional — clipboard copy support:
28
32
  npm install @react-native-clipboard/clipboard
29
33
  ```
30
34
 
35
+ Optional — FAB position & last tab persistence:
36
+
37
+ ```bash
38
+ npm install @react-native-async-storage/async-storage
39
+ ```
40
+
41
+ Without AsyncStorage these features degrade gracefully to in-memory state.
42
+
31
43
  ## Quick Start
32
44
 
33
45
  ```tsx
34
- import { useEffect } from 'react';
35
- import { initializeDebugToolkit } from 'react-native-debug-toolkit';
46
+ import { DebugView } from 'react-native-debug-toolkit';
36
47
 
37
48
  function App() {
38
- useEffect(() => {
39
- const toolkit = initializeDebugToolkit();
40
- return () => toolkit?.destroy();
41
- }, []);
42
-
43
- return <AppContent />;
49
+ return (
50
+ <DebugView>
51
+ <AppContent />
52
+ </DebugView>
53
+ );
44
54
  }
45
55
  ```
46
56
 
47
- That's it. All features are enabled by default.
57
+ A floating debug button appears in dev mode. Tap to open the panel, tap × or swipe down to close.
48
58
 
49
- ## Configuration
59
+ Network (fetch), console, navigation, zustand, track, and clipboard are enabled by default. To capture axios requests, pass your axios instance via the `axiosInstance` config option.
50
60
 
51
- Pass a config object to customize features:
61
+ Disable specific features:
52
62
 
53
63
  ```tsx
54
- initializeDebugToolkit({
55
- features: {
56
- network: { maxLogs: 100, blacklist: ['/auth'] },
57
- console: true,
58
- zustand: true,
59
- track: true,
60
- environment: [
61
- { id: 'dev', label: 'Dev', host: 'dev-api.example.com', color: '#34C759' },
62
- { id: 'prod', label: 'Prod', host: 'api.example.com', color: '#FF3B30' },
63
- ],
64
- },
65
- enabled: true, // force enable (default: __DEV__)
66
- });
64
+ <DebugView features={{ clipboard: false, zustand: false }}>
65
+ <AppContent />
66
+ </DebugView>
67
67
  ```
68
68
 
69
- Set any feature to `false` to disable it.
70
-
71
- ### Per-feature options
69
+ ## Common Patterns
72
70
 
73
- | Feature | Options |
74
- |---------|---------|
75
- | `network` | `maxLogs`, `blacklist` |
76
- | `console` | `maxLogs` |
77
- | `zustand` | `maxLogs` |
78
- | `navigation` | `maxLogs` |
79
- | `track` | `maxLogs` |
80
- | `environment` | `EnvironmentConfig[]` |
81
- | `thirdPartyLibs` | — |
82
- | `clipboard` | — |
71
+ ### Navigation Tracking
83
72
 
84
- All `maxLogs` default to **200**.
73
+ ```tsx
74
+ import { useRef } from 'react';
75
+ import { DebugView } from 'react-native-debug-toolkit';
76
+ import { NavigationContainer } from '@react-navigation/native';
85
77
 
86
- ## Usage Examples
78
+ function App() {
79
+ const navRef = useRef(null);
80
+ return (
81
+ <DebugView navigationRef={navRef}>
82
+ <NavigationContainer ref={navRef}>
83
+ <AppContent />
84
+ </NavigationContainer>
85
+ </DebugView>
86
+ );
87
+ }
88
+ ```
87
89
 
88
- ### Axios interceptor
90
+ ### Environment Switching
89
91
 
90
92
  ```tsx
91
- import { createNetworkFeature } from 'react-native-debug-toolkit';
92
- import axios from 'axios';
93
-
94
- const network = createNetworkFeature({ maxLogs: 100 });
95
- network.setupAxiosInterceptors(axios);
96
-
97
- initializeDebugToolkit({ features: { network, console: true } });
93
+ <DebugView
94
+ environments={[
95
+ { id: 'dev', label: 'Dev', host: 'dev-api.example.com', color: '#34C759' },
96
+ { id: 'prod', label: 'Prod', host: 'api.example.com', color: '#FF3B30' },
97
+ ]}
98
+ >
99
+ <AppContent />
100
+ </DebugView>
98
101
  ```
99
102
 
100
- ### Zustand middleware
103
+ ### Zustand Middleware
101
104
 
102
105
  ```tsx
103
106
  import { zustandLogMiddleware } from 'react-native-debug-toolkit';
@@ -106,21 +109,12 @@ const useStore = create(
106
109
  zustandLogMiddleware((set) => ({
107
110
  count: 0,
108
111
  increment: () => set((s) => ({ count: s.count + 1 }), false, 'increment'),
112
+ // ↑ merge ↑ action name (shown in debug panel)
109
113
  }))
110
114
  );
111
115
  ```
112
116
 
113
- ### Navigation logging
114
-
115
- ```tsx
116
- import { useNavigationLogger } from 'react-native-debug-toolkit';
117
-
118
- const ref = useRef(null);
119
- useNavigationLogger(ref);
120
- // pass ref to <NavigationContainer ref={ref}>
121
- ```
122
-
123
- ### Custom events
117
+ ### Custom Events
124
118
 
125
119
  ```tsx
126
120
  import { addTrackLog } from 'react-native-debug-toolkit';
@@ -128,73 +122,40 @@ import { addTrackLog } from 'react-native-debug-toolkit';
128
122
  addTrackLog({ eventName: 'button_click', buttonId: 'submit' });
129
123
  ```
130
124
 
131
- ### Export debug data
132
-
133
- Tap **Export** in the panel header, or call programmatically:
134
-
135
- ```tsx
136
- import { exportDebugData } from 'react-native-debug-toolkit';
137
-
138
- await exportDebugData(data, 'network');
139
- ```
140
-
141
- ### Copy to computer
125
+ ### Network Blacklist & Axios
142
126
 
143
127
  ```tsx
144
- import { copyToComputer } from 'react-native-debug-toolkit';
145
-
146
- await copyToComputer(jsonString);
147
- ```
148
-
149
- ## API
150
-
151
- ### `initializeDebugToolkit(config?)`
128
+ import axios from 'axios';
152
129
 
153
- ```ts
154
- initializeDebugToolkit(config?: {
155
- features?: FeatureConfigs;
156
- enabled?: boolean;
157
- doraemonProductId?: string;
158
- }): DebugToolkitAPI | null;
130
+ const api = axios.create({ baseURL: 'https://api.example.com' });
131
+
132
+ <DebugView
133
+ features={{
134
+ network: {
135
+ maxLogs: 100,
136
+ blacklist: ['/analytics', /\/healthcheck$/],
137
+ axiosInstance: api,
138
+ },
139
+ }}
140
+ >
141
+ <AppContent />
142
+ </DebugView>
159
143
  ```
160
144
 
161
- ### `DebugToolkitAPI`
162
-
163
- | Method | Description |
164
- |--------|-------------|
165
- | `showPanel()` / `hidePanel()` | Toggle visibility |
166
- | `clearAll()` | Clear all data |
167
- | `addFeature(f)` / `removeFeature(name)` | Manage features at runtime |
168
- | `destroy()` | Full teardown |
169
- | `features` | Active features (read-only) |
145
+ ## Imperative API
170
146
 
171
- ### Custom feature
147
+ For programmatic control outside React (notifications, deep links, dev-only buttons):
172
148
 
173
149
  ```tsx
174
- import type { DebugFeature } from 'react-native-debug-toolkit';
175
-
176
- const myFeature: DebugFeature<MyData> = {
177
- name: 'myFeature',
178
- label: 'My Feature',
179
- setup: () => { /* start capturing */ },
180
- getData: () => myDataArray,
181
- cleanup: () => { /* stop capturing */ },
182
- clear: () => { /* reset data */ },
183
- subscribe: (cb) => { emitter.on('change', cb); return () => emitter.off('change', cb); },
184
- renderContent: MyFeatureTab,
185
- };
186
-
187
- initializeDebugToolkit({ features: { myFeature } });
188
- ```
150
+ import { DebugToolkit } from 'react-native-debug-toolkit';
189
151
 
190
- ### Utilities
152
+ DebugToolkit.openPanel();
153
+ DebugToolkit.clearAll();
154
+ DebugToolkit.showLauncher();
155
+ DebugToolkit.hideLauncher();
156
+ ```
191
157
 
192
- | Export | Description |
193
- |--------|-------------|
194
- | `safeStringify(value, space?)` | JSON stringify with circular-ref protection |
195
- | `exportDebugData(data, name)` | Share via system sheet |
196
- | `copyToComputer(content, options?)` | Copy content to computer |
197
- | `logToComputer(...args)` | Log to computer console |
158
+ Full API: `DebugToolkit` is a singleton with `openPanel`, `closePanel`, `togglePanel`, `clearAll`, `showLauncher`, `hideLauncher`, `addFeature`, `removeFeature`, `destroy`, `features`, `panelOpen`. See TypeScript types for details.
198
159
 
199
160
  ## Peer Dependencies
200
161
 
@@ -203,6 +164,7 @@ initializeDebugToolkit({ features: { myFeature } });
203
164
  | react | >= 18.0.0 | Yes |
204
165
  | react-native | >= 0.72.0 | Yes |
205
166
  | @react-native-clipboard/clipboard | >= 1.0.0 | No |
167
+ | @react-native-async-storage/async-storage | >= 1.0.0 | No |
206
168
 
207
169
  ## License
208
170
 
@@ -0,0 +1,171 @@
1
+ # React Native Debug Toolkit
2
+
3
+ [English](README.md)
4
+
5
+ 一个仅用于开发的 React Native 浮动调试面板 — 在设备上直接查看网络请求、控制台日志、状态变化、导航事件等。
6
+
7
+ > 生产环境零影响(仅在 `__DEV__` 模式下运行)。
8
+
9
+ ## 预览
10
+
11
+ ![demo](demo.gif)
12
+ ## 功能
13
+
14
+ - **Network** — 自动拦截 fetch;axios 通过 `axiosInstance` 配置,查看请求与响应,复制为 cURL
15
+ - **Console** — 捕获 `console.log / info / warn / error`
16
+ - **Zustand** — 通过中间件记录状态变化
17
+ - **Navigation** — 追踪路由切换
18
+ - **Track** — 记录自定义埋点事件
19
+ - **Environment** — 运行时切换 API 环境
20
+ - **Clipboard** — 粘贴文本并复制到电脑
21
+ - **日志持久化** — Network、Console、Track 日志在应用重启后保留(需要 AsyncStorage)
22
+
23
+ ## 安装
24
+
25
+ ```bash
26
+ npm install react-native-debug-toolkit
27
+ ```
28
+
29
+ 可选 — 剪贴板复制支持:
30
+
31
+ ```bash
32
+ npm install @react-native-clipboard/clipboard
33
+ ```
34
+
35
+ 可选 — FAB 位置与上次 Tab 持久化:
36
+
37
+ ```bash
38
+ npm install @react-native-async-storage/async-storage
39
+ ```
40
+
41
+ 未安装 AsyncStorage 时,这些功能会优雅降级为内存态。
42
+
43
+ ## 快速开始
44
+
45
+ ```tsx
46
+ import { DebugView } from 'react-native-debug-toolkit';
47
+
48
+ function App() {
49
+ return (
50
+ <DebugView>
51
+ <AppContent />
52
+ </DebugView>
53
+ );
54
+ }
55
+ ```
56
+
57
+ 开发模式下出现浮动调试按钮。点击打开面板,点击 × 或下滑关闭。
58
+
59
+ 网络(fetch)、控制台、导航、Zustand、埋点和剪贴板默认启用。如需捕获 axios 请求,通过 `axiosInstance` 配置项传入你的 axios 实例。
60
+
61
+ 禁用特定功能:
62
+
63
+ ```tsx
64
+ <DebugView features={{ clipboard: false, zustand: false }}>
65
+ <AppContent />
66
+ </DebugView>
67
+ ```
68
+
69
+ ## 常用模式
70
+
71
+ ### 导航追踪
72
+
73
+ ```tsx
74
+ import { useRef } from 'react';
75
+ import { DebugView } from 'react-native-debug-toolkit';
76
+ import { NavigationContainer } from '@react-navigation/native';
77
+
78
+ function App() {
79
+ const navRef = useRef(null);
80
+ return (
81
+ <DebugView navigationRef={navRef}>
82
+ <NavigationContainer ref={navRef}>
83
+ <AppContent />
84
+ </NavigationContainer>
85
+ </DebugView>
86
+ );
87
+ }
88
+ ```
89
+
90
+ ### 环境切换
91
+
92
+ ```tsx
93
+ <DebugView
94
+ environments={[
95
+ { id: 'dev', label: 'Dev', host: 'dev-api.example.com', color: '#34C759' },
96
+ { id: 'prod', label: 'Prod', host: 'api.example.com', color: '#FF3B30' },
97
+ ]}
98
+ >
99
+ <AppContent />
100
+ </DebugView>
101
+ ```
102
+
103
+ ### Zustand 中间件
104
+
105
+ ```tsx
106
+ import { zustandLogMiddleware } from 'react-native-debug-toolkit';
107
+
108
+ const useStore = create(
109
+ zustandLogMiddleware((set) => ({
110
+ count: 0,
111
+ increment: () => set((s) => ({ count: s.count + 1 }), false, 'increment'),
112
+ // ↑ merge ↑ action 名称(显示在调试面板)
113
+ }))
114
+ );
115
+ ```
116
+
117
+ ### 自定义事件
118
+
119
+ ```tsx
120
+ import { addTrackLog } from 'react-native-debug-toolkit';
121
+
122
+ addTrackLog({ eventName: 'button_click', buttonId: 'submit' });
123
+ ```
124
+
125
+ ### 网络黑名单 & Axios
126
+
127
+ ```tsx
128
+ import axios from 'axios';
129
+
130
+ const api = axios.create({ baseURL: 'https://api.example.com' });
131
+
132
+ <DebugView
133
+ features={{
134
+ network: {
135
+ maxLogs: 100,
136
+ blacklist: ['/analytics', /\/healthcheck$/],
137
+ axiosInstance: api,
138
+ },
139
+ }}
140
+ >
141
+ <AppContent />
142
+ </DebugView>
143
+ ```
144
+
145
+ ## 命令式 API
146
+
147
+ 用于 React 外部的编程控制(通知、深度链接、开发专用按钮):
148
+
149
+ ```tsx
150
+ import { DebugToolkit } from 'react-native-debug-toolkit';
151
+
152
+ DebugToolkit.openPanel();
153
+ DebugToolkit.clearAll();
154
+ DebugToolkit.showLauncher();
155
+ DebugToolkit.hideLauncher();
156
+ ```
157
+
158
+ 完整 API:`DebugToolkit` 是单例,提供 `openPanel`、`closePanel`、`togglePanel`、`clearAll`、`showLauncher`、`hideLauncher`、`addFeature`、`removeFeature`、`destroy`、`features`、`panelOpen`。详见 TypeScript 类型定义。
159
+
160
+ ## 对等依赖
161
+
162
+ | 包 | 版本 | 必需 |
163
+ |----|------|------|
164
+ | react | >= 18.0.0 | 是 |
165
+ | react-native | >= 0.72.0 | 是 |
166
+ | @react-native-clipboard/clipboard | >= 1.0.0 | 否 |
167
+ | @react-native-async-storage/async-storage | >= 1.0.0 | 否 |
168
+
169
+ ## 许可证
170
+
171
+ MIT