react-native-debug-toolkit 2.2.0 → 3.0.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 (115) hide show
  1. package/README.md +5 -8
  2. package/README.zh-CN.md +5 -8
  3. package/bin/debug-toolkit.js +114 -0
  4. package/lib/commonjs/features/network/index.js +32 -12
  5. package/lib/commonjs/features/network/index.js.map +1 -1
  6. package/lib/commonjs/features/network/networkInterceptor.js +164 -201
  7. package/lib/commonjs/features/network/networkInterceptor.js.map +1 -1
  8. package/lib/commonjs/index.js +59 -0
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/ui/panel/DebugPanel.js +25 -0
  11. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
  12. package/lib/commonjs/ui/panel/FloatPanelView.js +15 -62
  13. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
  14. package/lib/commonjs/ui/panel/StreamingSettingsModal.js +529 -0
  15. package/lib/commonjs/ui/panel/StreamingSettingsModal.js.map +1 -0
  16. package/lib/commonjs/ui/panel/useTabAnimation.js +71 -0
  17. package/lib/commonjs/ui/panel/useTabAnimation.js.map +1 -0
  18. package/lib/commonjs/utils/autoDetectDaemon.js +141 -0
  19. package/lib/commonjs/utils/autoDetectDaemon.js.map +1 -0
  20. package/lib/commonjs/utils/createPersistedObservableStore.js +23 -3
  21. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
  22. package/lib/commonjs/utils/daemonConnection.js +81 -0
  23. package/lib/commonjs/utils/daemonConnection.js.map +1 -0
  24. package/lib/commonjs/utils/daemonSettings.js +110 -0
  25. package/lib/commonjs/utils/daemonSettings.js.map +1 -0
  26. package/lib/commonjs/utils/reportToDaemon.js +112 -0
  27. package/lib/commonjs/utils/reportToDaemon.js.map +1 -0
  28. package/lib/commonjs/utils/sessionReport.js +132 -0
  29. package/lib/commonjs/utils/sessionReport.js.map +1 -0
  30. package/lib/commonjs/utils/streamToDaemon.js +334 -0
  31. package/lib/commonjs/utils/streamToDaemon.js.map +1 -0
  32. package/lib/module/features/network/index.js +30 -12
  33. package/lib/module/features/network/index.js.map +1 -1
  34. package/lib/module/features/network/networkInterceptor.js +163 -200
  35. package/lib/module/features/network/networkInterceptor.js.map +1 -1
  36. package/lib/module/index.js +5 -0
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/module/ui/panel/DebugPanel.js +26 -1
  39. package/lib/module/ui/panel/DebugPanel.js.map +1 -1
  40. package/lib/module/ui/panel/FloatPanelView.js +16 -63
  41. package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
  42. package/lib/module/ui/panel/StreamingSettingsModal.js +524 -0
  43. package/lib/module/ui/panel/StreamingSettingsModal.js.map +1 -0
  44. package/lib/module/ui/panel/useTabAnimation.js +67 -0
  45. package/lib/module/ui/panel/useTabAnimation.js.map +1 -0
  46. package/lib/module/utils/autoDetectDaemon.js +136 -0
  47. package/lib/module/utils/autoDetectDaemon.js.map +1 -0
  48. package/lib/module/utils/createPersistedObservableStore.js +23 -3
  49. package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
  50. package/lib/module/utils/daemonConnection.js +77 -0
  51. package/lib/module/utils/daemonConnection.js.map +1 -0
  52. package/lib/module/utils/daemonSettings.js +102 -0
  53. package/lib/module/utils/daemonSettings.js.map +1 -0
  54. package/lib/module/utils/reportToDaemon.js +105 -0
  55. package/lib/module/utils/reportToDaemon.js.map +1 -0
  56. package/lib/module/utils/sessionReport.js +128 -0
  57. package/lib/module/utils/sessionReport.js.map +1 -0
  58. package/lib/module/utils/streamToDaemon.js +328 -0
  59. package/lib/module/utils/streamToDaemon.js.map +1 -0
  60. package/lib/typescript/src/features/network/index.d.ts +2 -4
  61. package/lib/typescript/src/features/network/index.d.ts.map +1 -1
  62. package/lib/typescript/src/features/network/networkInterceptor.d.ts +2 -15
  63. package/lib/typescript/src/features/network/networkInterceptor.d.ts.map +1 -1
  64. package/lib/typescript/src/index.d.ts +11 -1
  65. package/lib/typescript/src/index.d.ts.map +1 -1
  66. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
  67. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
  68. package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts +8 -0
  69. package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts.map +1 -0
  70. package/lib/typescript/src/ui/panel/useTabAnimation.d.ts +14 -0
  71. package/lib/typescript/src/ui/panel/useTabAnimation.d.ts.map +1 -0
  72. package/lib/typescript/src/utils/autoDetectDaemon.d.ts +15 -0
  73. package/lib/typescript/src/utils/autoDetectDaemon.d.ts.map +1 -0
  74. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +2 -1
  75. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
  76. package/lib/typescript/src/utils/daemonConnection.d.ts +18 -0
  77. package/lib/typescript/src/utils/daemonConnection.d.ts.map +1 -0
  78. package/lib/typescript/src/utils/daemonSettings.d.ts +19 -0
  79. package/lib/typescript/src/utils/daemonSettings.d.ts.map +1 -0
  80. package/lib/typescript/src/utils/reportToDaemon.d.ts +34 -0
  81. package/lib/typescript/src/utils/reportToDaemon.d.ts.map +1 -0
  82. package/lib/typescript/src/utils/sessionReport.d.ts +18 -0
  83. package/lib/typescript/src/utils/sessionReport.d.ts.map +1 -0
  84. package/lib/typescript/src/utils/streamToDaemon.d.ts +23 -0
  85. package/lib/typescript/src/utils/streamToDaemon.d.ts.map +1 -0
  86. package/node/daemon/src/cli.js +75 -0
  87. package/node/daemon/src/console/console.html +936 -0
  88. package/node/daemon/src/console/index.js +47 -0
  89. package/node/daemon/src/constants.js +32 -0
  90. package/node/daemon/src/index.js +11 -0
  91. package/node/daemon/src/server.js +365 -0
  92. package/node/daemon/src/store.js +110 -0
  93. package/node/mcp/src/cli.js +31 -0
  94. package/node/mcp/src/constants.js +13 -0
  95. package/node/mcp/src/daemonClient.js +132 -0
  96. package/node/mcp/src/httpClient.js +49 -0
  97. package/node/mcp/src/index.js +15 -0
  98. package/node/mcp/src/logs.js +95 -0
  99. package/node/mcp/src/server.js +144 -0
  100. package/node/mcp/src/tools.js +84 -0
  101. package/package.json +10 -5
  102. package/src/features/network/index.ts +35 -19
  103. package/src/features/network/networkInterceptor.ts +224 -236
  104. package/src/index.ts +15 -1
  105. package/src/ui/panel/DebugPanel.tsx +23 -1
  106. package/src/ui/panel/FloatPanelView.tsx +10 -68
  107. package/src/ui/panel/StreamingSettingsModal.tsx +566 -0
  108. package/src/ui/panel/useTabAnimation.ts +77 -0
  109. package/src/utils/autoDetectDaemon.ts +175 -0
  110. package/src/utils/createPersistedObservableStore.ts +16 -3
  111. package/src/utils/daemonConnection.ts +133 -0
  112. package/src/utils/daemonSettings.ts +134 -0
  113. package/src/utils/reportToDaemon.ts +172 -0
  114. package/src/utils/sessionReport.ts +203 -0
  115. package/src/utils/streamToDaemon.ts +419 -0
package/README.md CHANGED
@@ -11,7 +11,7 @@ A dev-only floating debug panel for React Native — inspect network, console, s
11
11
  ![demo](demo.gif)
12
12
  ## Features
13
13
 
14
- - **Network** — Auto-intercepts fetch; axios via `axiosInstance` config, inspect requests & responses, copy as cURL
14
+ - **Network** — Auto-intercepts React Native XHR transport, including fetch and axios in the default adapter, inspect requests & responses, copy as cURL
15
15
  - **Console** — Capture `console.log / info / warn / error`
16
16
  - **Zustand** — Log state transitions via middleware
17
17
  - **Navigation** — Track route changes
@@ -56,7 +56,7 @@ function App() {
56
56
 
57
57
  A floating debug button appears in dev mode. Tap to open the panel, tap × or swipe down to close.
58
58
 
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.
59
+ Network, console, navigation, zustand, track, and clipboard are enabled by default. Network capture hooks React Native's XHR transport, so fetch and axios requests using the default adapter are captured automatically.
60
60
 
61
61
  Disable specific features:
62
62
 
@@ -122,19 +122,16 @@ import { addTrackLog } from 'react-native-debug-toolkit';
122
122
  addTrackLog({ eventName: 'button_click', buttonId: 'submit' });
123
123
  ```
124
124
 
125
- ### Network Blacklist & Axios
125
+ ### Network Options
126
126
 
127
- ```tsx
128
- import axios from 'axios';
129
-
130
- const api = axios.create({ baseURL: 'https://api.example.com' });
127
+ React Native fetch and axios traffic is captured automatically through the XHR transport layer.
131
128
 
129
+ ```tsx
132
130
  <DebugView
133
131
  features={{
134
132
  network: {
135
133
  maxLogs: 100,
136
134
  blacklist: ['/analytics', /\/healthcheck$/],
137
- axiosInstance: api,
138
135
  },
139
136
  }}
140
137
  >
package/README.zh-CN.md CHANGED
@@ -11,7 +11,7 @@
11
11
  ![demo](demo.gif)
12
12
  ## 功能
13
13
 
14
- - **Network** — 自动拦截 fetch;axios 通过 `axiosInstance` 配置,查看请求与响应,复制为 cURL
14
+ - **Network** — 自动拦截 React Native XHR 传输层,默认覆盖 fetch 和使用默认 adapter axios,可查看请求与响应并复制为 cURL
15
15
  - **Console** — 捕获 `console.log / info / warn / error`
16
16
  - **Zustand** — 通过中间件记录状态变化
17
17
  - **Navigation** — 追踪路由切换
@@ -56,7 +56,7 @@ function App() {
56
56
 
57
57
  开发模式下出现浮动调试按钮。点击打开面板,点击 × 或下滑关闭。
58
58
 
59
- 网络(fetch)、控制台、导航、Zustand、埋点和剪贴板默认启用。如需捕获 axios 请求,通过 `axiosInstance` 配置项传入你的 axios 实例。
59
+ 网络、控制台、导航、Zustand、埋点和剪贴板默认启用。Network 会拦截 React Native XHR 传输层,因此使用默认 adapter 的 fetch 和 axios 请求会自动被捕获。
60
60
 
61
61
  禁用特定功能:
62
62
 
@@ -122,19 +122,16 @@ import { addTrackLog } from 'react-native-debug-toolkit';
122
122
  addTrackLog({ eventName: 'button_click', buttonId: 'submit' });
123
123
  ```
124
124
 
125
- ### 网络黑名单 & Axios
125
+ ### 网络配置
126
126
 
127
- ```tsx
128
- import axios from 'axios';
129
-
130
- const api = axios.create({ baseURL: 'https://api.example.com' });
127
+ React Native fetch 和 axios 流量会通过 XHR 传输层自动捕获。
131
128
 
129
+ ```tsx
132
130
  <DebugView
133
131
  features={{
134
132
  network: {
135
133
  maxLogs: 100,
136
134
  blacklist: ['/analytics', /\/healthcheck$/],
137
- axiosInstance: api,
138
135
  },
139
136
  }}
140
137
  >
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ const {
6
+ DAEMON_NAME,
7
+ DEFAULT_HOST,
8
+ DEFAULT_PORT,
9
+ getLanIPs,
10
+ } = require('../node/daemon/src/constants');
11
+ const { createDaemonServer } = require('../node/daemon/src/server');
12
+ const { startStdioServer } = require('../node/mcp/src/server');
13
+
14
+ function readOption(args, name, fallback) {
15
+ const index = args.indexOf(name);
16
+ if (index < 0) {
17
+ return fallback;
18
+ }
19
+ return args[index + 1] || fallback;
20
+ }
21
+
22
+ function hasHelpFlag(args) {
23
+ return args.includes('--help') || args.includes('-h');
24
+ }
25
+
26
+ function printHelp() {
27
+ process.stderr.write(
28
+ 'Usage: debug-toolkit [--host 0.0.0.0] [--port 3799] [--token dev-token] [--daemon-only]\n'
29
+ + '\n'
30
+ + 'Starts the debug toolkit: daemon (HTTP + Web Console) and MCP stdio server.\n'
31
+ + '\n'
32
+ + 'Options:\n'
33
+ + ' --host <addr> Host to bind (default: 0.0.0.0)\n'
34
+ + ' --port <port> Port to bind (default: 3799)\n'
35
+ + ' --token <str> Auth token for daemon endpoints\n'
36
+ + ' --daemon-only Start only the HTTP daemon and Web Console\n'
37
+ + ' -h, --help Show this help\n',
38
+ );
39
+ }
40
+
41
+ function hasDaemonOnlyFlag(args) {
42
+ return args.includes('--daemon-only');
43
+ }
44
+
45
+ function getLocalOrigin(host, port) {
46
+ const localHost = host === '0.0.0.0' || host === '::' ? '127.0.0.1' : host;
47
+ return `http://${localHost}:${port}`;
48
+ }
49
+
50
+ async function main() {
51
+ const args = process.argv.slice(2);
52
+
53
+ if (hasHelpFlag(args)) {
54
+ printHelp();
55
+ return;
56
+ }
57
+
58
+ const host = readOption(args, '--host', process.env.DEBUG_TOOLKIT_DAEMON_HOST || DEFAULT_HOST);
59
+ const port = Number(readOption(args, '--port', process.env.DEBUG_TOOLKIT_DAEMON_PORT || DEFAULT_PORT));
60
+ const token = readOption(args, '--token', process.env.DEBUG_TOOLKIT_DAEMON_TOKEN || '');
61
+ const daemonOnly = hasDaemonOnlyFlag(args);
62
+
63
+ if (!Number.isFinite(port) || port <= 0) {
64
+ process.stderr.write('Invalid --port value\n');
65
+ process.exitCode = 1;
66
+ return;
67
+ }
68
+
69
+ // Start daemon HTTP server in-process
70
+ const { server } = createDaemonServer({ token });
71
+
72
+ server.on('error', (error) => {
73
+ process.stderr.write(`${DAEMON_NAME} failed to start: ${error.message}\n`);
74
+ process.exitCode = 1;
75
+ });
76
+
77
+ await new Promise((resolve) => {
78
+ server.listen(port, host, () => {
79
+ const consolePath = token ? `/console?token=${encodeURIComponent(token)}` : '/console';
80
+ process.stderr.write(`${DAEMON_NAME} listening on http://${host}:${port}\n`);
81
+ process.stderr.write(`Web Console: ${getLocalOrigin(host, port)}${consolePath}\n`);
82
+ const lanIPs = getLanIPs();
83
+ if (lanIPs.length > 0) {
84
+ process.stderr.write(`LAN IPs: ${lanIPs.join(', ')}\n`);
85
+ }
86
+ resolve();
87
+ });
88
+ });
89
+
90
+ const close = () => {
91
+ server.close(() => process.exit(0));
92
+ };
93
+
94
+ process.on('SIGINT', close);
95
+ process.on('SIGTERM', close);
96
+
97
+ if (daemonOnly) {
98
+ return;
99
+ }
100
+
101
+ const origin = getLocalOrigin(host, port);
102
+
103
+ // MCP stdio — daemon is in-process, skip HTTP health check
104
+ startStdioServer({
105
+ context: {
106
+ ensureDaemon: async () => ({ ok: true, origin, spawned: false }),
107
+ },
108
+ });
109
+ }
110
+
111
+ main().catch((error) => {
112
+ process.stderr.write(`Fatal: ${error.message}\n`);
113
+ process.exitCode = 1;
114
+ });
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports._addDaemonEndpointToNetworkBlacklist = _addDaemonEndpointToNetworkBlacklist;
7
+ exports._isNetworkUrlBlacklistedForTesting = _isNetworkUrlBlacklistedForTesting;
6
8
  exports._resetNetworkForTesting = _resetNetworkForTesting;
7
9
  exports.createNetworkFeature = void 0;
8
10
  var _NetworkLogTab = require("./NetworkLogTab");
@@ -30,6 +32,7 @@ function emitNetworkLog(entry) {
30
32
  // ─── Feature factory ──────────────────────────────────
31
33
 
32
34
  const DEFAULT_MAX_LOGS = 200;
35
+ const daemonEndpointBlacklist = [];
33
36
  const createNetworkFeature = config => {
34
37
  const maxLogs = config?.maxLogs ?? DEFAULT_MAX_LOGS;
35
38
  const blacklist = config?.blacklist ? [...config.blacklist] : [];
@@ -39,10 +42,9 @@ const createNetworkFeature = config => {
39
42
  });
40
43
  let initialized = false;
41
44
  let unsubscribeLogs = null;
42
- let stopFetchFn = null;
43
- let stopAxiosFn = null;
45
+ let stopXhrFn = null;
44
46
  const handleLog = entry => {
45
- if (isUrlBlacklisted(entry.request.url, blacklist)) {
47
+ if (isUrlBlacklisted(entry.request.url, [...blacklist, ...daemonEndpointBlacklist])) {
46
48
  return;
47
49
  }
48
50
  logStore.push({
@@ -59,10 +61,7 @@ const createNetworkFeature = config => {
59
61
  return;
60
62
  }
61
63
  unsubscribeLogs = networkChannel.subscribe(handleLog);
62
- stopFetchFn = (0, _networkInterceptor.startFetch)(emitNetworkLog);
63
- if (config?.axiosInstance) {
64
- stopAxiosFn = (0, _networkInterceptor.startAxios)(config.axiosInstance, emitNetworkLog);
65
- }
64
+ stopXhrFn = (0, _networkInterceptor.startXMLHttpRequest)(emitNetworkLog);
66
65
  initialized = true;
67
66
  },
68
67
  getSnapshot: () => logStore.getData(),
@@ -76,21 +75,42 @@ const createNetworkFeature = config => {
76
75
  _urlRewriterRegistry.urlRewriter.set(null);
77
76
  unsubscribeLogs?.();
78
77
  unsubscribeLogs = null;
79
- stopFetchFn?.();
80
- stopFetchFn = null;
81
- stopAxiosFn?.();
82
- stopAxiosFn = null;
78
+ stopXhrFn?.();
79
+ stopXhrFn = null;
83
80
  logStore.clear();
84
81
  initialized = false;
85
82
  },
86
83
  subscribe: listener => logStore.subscribe(listener)
87
84
  };
88
85
  };
86
+ exports.createNetworkFeature = createNetworkFeature;
87
+ function normalizeDaemonEndpoint(endpoint) {
88
+ const trimmed = endpoint.trim().replace(/\/+$/, '');
89
+ if (!trimmed) {
90
+ return trimmed;
91
+ }
92
+ try {
93
+ const url = new URL(trimmed);
94
+ return `${url.origin}${url.pathname === '/' ? '' : url.pathname}`;
95
+ } catch {
96
+ return trimmed;
97
+ }
98
+ }
99
+ function _addDaemonEndpointToNetworkBlacklist(endpoint) {
100
+ const normalized = normalizeDaemonEndpoint(endpoint);
101
+ if (!normalized || daemonEndpointBlacklist.includes(normalized)) {
102
+ return;
103
+ }
104
+ daemonEndpointBlacklist.push(normalized);
105
+ }
106
+ function _isNetworkUrlBlacklistedForTesting(url) {
107
+ return isUrlBlacklisted(url, daemonEndpointBlacklist);
108
+ }
89
109
 
90
110
  /** Reset module-level state for testing */
91
- exports.createNetworkFeature = createNetworkFeature;
92
111
  function _resetNetworkForTesting() {
93
112
  networkChannel = (0, _createEventChannel.createEventChannel)();
113
+ daemonEndpointBlacklist.splice(0, daemonEndpointBlacklist.length);
94
114
  (0, _networkInterceptor.resetInterceptors)();
95
115
  }
96
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NetworkLogTab","require","_createEventChannel","_createPersistedObservableStore","_debugPreferences","_urlRewriterRegistry","_networkInterceptor","isUrlBlacklisted","url","blacklist","some","pattern","RegExp","test","includes","networkChannel","createEventChannel","emitNetworkLog","entry","emit","DEFAULT_MAX_LOGS","createNetworkFeature","config","maxLogs","logStore","createPersistedObservableStore","storageKey","KEYS","networkLogs","maxPersist","initialized","unsubscribeLogs","stopFetchFn","stopAxiosFn","handleLog","request","push","id","nextId","name","label","renderContent","NetworkLogTab","setup","subscribe","startFetch","axiosInstance","startAxios","getSnapshot","getData","clear","cleanup","urlRewriter","set","listener","exports","_resetNetworkForTesting","resetInterceptors"],"sourceRoot":"../../../../src","sources":["features/network/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_NetworkLogTab","require","_createEventChannel","_createPersistedObservableStore","_debugPreferences","_urlRewriterRegistry","_networkInterceptor","isUrlBlacklisted","url","blacklist","some","pattern","RegExp","test","includes","networkChannel","createEventChannel","emitNetworkLog","entry","emit","DEFAULT_MAX_LOGS","daemonEndpointBlacklist","createNetworkFeature","config","maxLogs","logStore","createPersistedObservableStore","storageKey","KEYS","networkLogs","maxPersist","initialized","unsubscribeLogs","stopXhrFn","handleLog","request","push","id","nextId","name","label","renderContent","NetworkLogTab","setup","subscribe","startXMLHttpRequest","getSnapshot","getData","clear","cleanup","urlRewriter","set","listener","exports","normalizeDaemonEndpoint","endpoint","trimmed","trim","replace","URL","origin","pathname","_addDaemonEndpointToNetworkBlacklist","normalized","_isNetworkUrlBlacklistedForTesting","_resetNetworkForTesting","splice","length","resetInterceptors"],"sourceRoot":"../../../../src","sources":["features/network/index.ts"],"mappings":"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","ignoreList":[]}