reactoradar 1.2.5 → 1.4.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.
- package/README.md +103 -223
- package/app.js +401 -70
- package/assets/icon.svg +283 -38
- package/index.html +5 -1
- package/main.js +9 -17
- package/package.json +1 -1
- package/preload.js +1 -1
- package/sdk/RNDebugSDK.js +117 -4
- package/styles.css +216 -13
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ReactoRadar
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<b>A standalone macOS
|
|
4
|
+
<b>A standalone macOS debugger for React Native apps</b>
|
|
5
5
|
<br/>
|
|
6
6
|
<i>Supports React Native 0.74+ with Hermes, New Architecture, and latest versions</i>
|
|
7
7
|
</p>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
> The original [React Native Debugger](https://github.com/jhen0409/react-native-debugger) only supports the old Remote Debugger and doesn't work with Hermes / JSI / New Architecture. **
|
|
20
|
+
> The original [React Native Debugger](https://github.com/jhen0409/react-native-debugger) only supports the old Remote Debugger and doesn't work with Hermes / JSI / New Architecture. **ReactoRadar is the modern replacement** — built from scratch to work with the latest React Native versions.
|
|
21
21
|
|
|
22
22
|
## Screenshots
|
|
23
23
|
|
|
@@ -26,52 +26,49 @@
|
|
|
26
26
|
<img src="https://raw.githubusercontent.com/sharanagouda/react-native-debugger/main/screenshots/consoleLogs.png" alt="Console Panel" width="800" />
|
|
27
27
|
</p>
|
|
28
28
|
|
|
29
|
-
*Collapsible object trees, level filters (Log/Info/Warn/Error), search, right-click to copy*
|
|
29
|
+
*Collapsible object trees, multi-select level filters (Log/Info/Warn/Error/Debug), search, right-click to copy*
|
|
30
30
|
|
|
31
31
|
### Network — Chrome DevTools-style Inspector
|
|
32
32
|
<p align="center">
|
|
33
33
|
<img src="https://raw.githubusercontent.com/sharanagouda/react-native-debugger/main/screenshots/networkLogs.png" alt="Network Panel" width="800" />
|
|
34
34
|
</p>
|
|
35
35
|
|
|
36
|
-
*Resizable/sortable columns, request/response detail, Copy as cURL, throttling*
|
|
36
|
+
*Resizable/sortable columns, request/response detail with collapsible trees, Copy as cURL, throttling*
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Features
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
| Tab | What it does |
|
|
41
|
+
|---|---|
|
|
42
|
+
| **Console** | Log viewer with collapsible object trees, multi-select level dropdown (persists across restarts), search filter |
|
|
43
|
+
| **Network** | Chrome DevTools-style inspector — resizable/sortable columns (Name, Status, Type, Initiator, Size, Time, Waterfall), search, type filters (Fetch/XHR, JS, CSS, Img, Media, Font, Doc, WS), throttling (Fast 3G / Slow 3G / Offline), Copy as cURL, request/response as collapsible trees |
|
|
44
|
+
| **Redux** | Scrollable action list with time travel, prev/current/next actions, payload trees, store diff showing changed keys with old → new values |
|
|
45
|
+
| **GA4 Events** | Firebase Analytics inspector — intercepts ALL `log*` and `set*` methods on `@react-native-firebase/analytics`, event list with time + name, detail pane with all parameters as key-value trees, summary chips (click to filter), sort by time |
|
|
46
|
+
| **App** | AsyncStorage live key/value browser with search |
|
|
47
|
+
| **Memory** | JS Heap Used/Total, Native Memory from Hermes runtime |
|
|
48
|
+
| **Performance** | Live FPS meter, JS Thread timing, UI Thread timing with sparkline graphs |
|
|
49
|
+
| **React** | Component tree and props inspector via `react-devtools-core` relay |
|
|
50
|
+
| **Settings** | 9 color themes (Dark, Light, Monokai, Dracula, Solarized Dark/Light, Nord, GitHub Dark, One Dark), font size controls, custom app name, how-to-use guide, auto-update notification |
|
|
47
51
|
|
|
48
52
|
## Installation
|
|
49
53
|
|
|
50
54
|
### Option A: Using npx (recommended)
|
|
51
55
|
|
|
52
|
-
No install needed — run directly from your React Native project:
|
|
53
|
-
|
|
54
56
|
```bash
|
|
55
|
-
|
|
56
|
-
npx reactoradar
|
|
57
|
+
cd your-react-native-project
|
|
58
|
+
npx reactoradar setup # Install SDK (one time)
|
|
59
|
+
npx reactoradar # Launch the debugger
|
|
57
60
|
```
|
|
58
61
|
|
|
59
62
|
### Option B: Download .dmg
|
|
60
63
|
|
|
61
|
-
1. Download
|
|
62
|
-
2. Drag **
|
|
63
|
-
3.
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
cd your-react-native-project
|
|
67
|
-
npx reactoradar setup
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
4. Launch the app from Applications and run your RN app
|
|
64
|
+
1. Download from [Releases](https://github.com/sharanagouda/react-native-debugger/releases)
|
|
65
|
+
2. Drag **ReactoRadar** to Applications
|
|
66
|
+
3. Install the SDK: `npx reactoradar setup` from your RN project
|
|
67
|
+
4. Open ReactoRadar from Applications
|
|
71
68
|
|
|
72
|
-
> **macOS Gatekeeper
|
|
69
|
+
> **macOS Gatekeeper**: First launch → right-click → Open → Open. Or: `xattr -cr "/Applications/ReactoRadar.app"`
|
|
73
70
|
|
|
74
|
-
### Option C:
|
|
71
|
+
### Option C: Global install
|
|
75
72
|
|
|
76
73
|
```bash
|
|
77
74
|
npm install -g reactoradar
|
|
@@ -83,174 +80,86 @@ npm install -g reactoradar
|
|
|
83
80
|
git clone https://github.com/sharanagouda/react-native-debugger.git
|
|
84
81
|
cd react-native-debugger
|
|
85
82
|
npm install
|
|
86
|
-
npm start #
|
|
83
|
+
npm start # dev mode
|
|
87
84
|
npm run build # build .dmg
|
|
88
85
|
```
|
|
89
86
|
|
|
90
|
-
## React Native Compatibility
|
|
91
|
-
|
|
92
|
-
| RN Debugger | React Native | Engine | Architecture |
|
|
93
|
-
|---|---|---|---|
|
|
94
|
-
| v1.0+ | 0.74 — 0.81+ | Hermes | Old & New Architecture |
|
|
95
|
-
|
|
96
|
-
This app does **not** use the legacy Remote Debugger. It connects via WebSocket bridges and Chrome DevTools Protocol (CDP), which is the standard debugging interface for Hermes.
|
|
97
|
-
|
|
98
87
|
## Quick Start
|
|
99
88
|
|
|
100
|
-
### Step 1: Install the SDK (one time, from your RN project)
|
|
101
|
-
|
|
102
89
|
```bash
|
|
90
|
+
# Step 1: Install SDK (one time)
|
|
103
91
|
cd your-react-native-project
|
|
104
92
|
npx reactoradar setup
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
This automatically:
|
|
108
|
-
- Copies `RNDebugSDK.js` into your project (`src/debug/`)
|
|
109
|
-
- Detects your platform (iOS Simulator / Android Emulator / device) and sets the correct HOST
|
|
110
|
-
- Patches `index.js` to load the SDK in `__DEV__` mode
|
|
111
|
-
- Detects Redux (Toolkit or legacy) and wires the debug middleware
|
|
112
|
-
- Runs `adb reverse` for Android (if emulator/device detected)
|
|
113
|
-
- Adds the SDK to `.gitignore`
|
|
114
|
-
|
|
115
|
-
### Step 2: Launch the debugger
|
|
116
93
|
|
|
117
|
-
|
|
118
|
-
# Using npx:
|
|
94
|
+
# Step 2: Launch debugger
|
|
119
95
|
npx reactoradar
|
|
96
|
+
# or open ReactoRadar.app from Applications
|
|
120
97
|
|
|
121
|
-
#
|
|
122
|
-
|
|
98
|
+
# Step 3: Run your app
|
|
99
|
+
npx react-native start --reset-cache
|
|
123
100
|
```
|
|
124
101
|
|
|
125
|
-
|
|
102
|
+
Console, Network, Redux, GA4, AsyncStorage data flows automatically. No config needed.
|
|
126
103
|
|
|
127
|
-
|
|
128
|
-
npx react-native run-ios # or run-android
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Console logs, network requests, Redux actions, and AsyncStorage data flow into the debugger automatically.
|
|
132
|
-
|
|
133
|
-
### 4. Uninstall
|
|
104
|
+
### Uninstall
|
|
134
105
|
|
|
135
106
|
```bash
|
|
136
107
|
npx reactoradar remove
|
|
137
108
|
```
|
|
138
109
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
## Add to your project scripts
|
|
142
|
-
|
|
143
|
-
```json
|
|
144
|
-
{
|
|
145
|
-
"scripts": {
|
|
146
|
-
"debug:setup": "npx reactoradar setup",
|
|
147
|
-
"debug:start": "npx rn-debugger",
|
|
148
|
-
"debug:remove": "npx reactoradar remove"
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Then every developer on your team runs:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
npm run debug:setup # one time
|
|
157
|
-
npm run debug:start # every time
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Documentation
|
|
161
|
-
|
|
162
|
-
### Console
|
|
110
|
+
## React Native Compatibility
|
|
163
111
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
- Level filters: All / Log / Info / Warn / Error
|
|
168
|
-
- Click to expand, right-click to copy message/JSON/caller
|
|
169
|
-
- `Cmd+K` clears the active tab
|
|
112
|
+
| ReactoRadar | React Native | Engine | Architecture |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| v1.3+ | 0.74 — 0.81+ | Hermes | Old & New Architecture |
|
|
170
115
|
|
|
171
|
-
|
|
116
|
+
## Network Inspector
|
|
172
117
|
|
|
173
118
|
| Feature | Details |
|
|
174
119
|
|---|---|
|
|
175
|
-
| **Columns** | Name, Status, Type, Initiator, Size, Time, Waterfall —
|
|
176
|
-
| **Search** | Filter by
|
|
120
|
+
| **Columns** | Name, Status, Type, Initiator, Size, Time, Waterfall — resizable and sortable |
|
|
121
|
+
| **Search** | Filter by URL in real time |
|
|
177
122
|
| **Type filters** | All, Fetch/XHR, JS, CSS, Img, Media, Font, Doc, WS |
|
|
178
123
|
| **Throttling** | No throttling, Fast 3G (500ms), Slow 3G (2s), Offline |
|
|
179
|
-
| **Detail view** | Click
|
|
180
|
-
| **Copy as cURL** | Right-click
|
|
181
|
-
| **Request body** |
|
|
182
|
-
| **
|
|
183
|
-
| **Capture toggle** | ON/OFF switch to pause/resume network capture |
|
|
184
|
-
|
|
185
|
-
Supports `fetch`, `XMLHttpRequest`, and `axios` (including `axios.create()` instances).
|
|
186
|
-
|
|
187
|
-
### Redux DevTools
|
|
188
|
-
|
|
189
|
-
- Captures every dispatched action and the resulting state snapshot
|
|
190
|
-
- **Time travel**: Step forward/backward through state history
|
|
191
|
-
- **State tab**: Full state tree with syntax highlighting
|
|
192
|
-
- **Diff tab**: Line-by-line diff against previous state
|
|
193
|
-
- **Action tab**: Previous / Current / Next actions with payloads
|
|
194
|
-
|
|
195
|
-
Wire Redux with one line:
|
|
196
|
-
|
|
197
|
-
```js
|
|
198
|
-
// Redux Toolkit
|
|
199
|
-
middleware: (getDefault) =>
|
|
200
|
-
__DEV__ ? getDefault().concat(require('./src/debug/RNDebugSDK').reduxMiddleware) : getDefault(),
|
|
124
|
+
| **Detail view** | Click row → Headers / Request / Preview / Response side panel |
|
|
125
|
+
| **Copy as cURL** | Right-click → Copy as cURL / Copy URL / Copy Response |
|
|
126
|
+
| **Request body** | Collapsible object tree (not raw JSON) |
|
|
127
|
+
| **Capture toggle** | ON/OFF switch to pause network capture |
|
|
201
128
|
|
|
202
|
-
|
|
203
|
-
if (__DEV__) middleware.push(require('./src/debug/RNDebugSDK').reduxMiddleware);
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### AsyncStorage Inspector
|
|
207
|
-
|
|
208
|
-
- Live key/value browser
|
|
209
|
-
- Search keys
|
|
210
|
-
- Values rendered as formatted JSON
|
|
211
|
-
- Auto-updates when your app reads/writes AsyncStorage
|
|
212
|
-
|
|
213
|
-
### Performance
|
|
214
|
-
|
|
215
|
-
- **FPS** — Frames per second via `requestAnimationFrame` counter
|
|
216
|
-
- **JS Thread** — JavaScript thread frame timing
|
|
217
|
-
- **UI Thread** — Native UI thread timing
|
|
218
|
-
- Real-time sparkline graphs
|
|
219
|
-
- Data sent every 2 seconds from the SDK
|
|
129
|
+
## GA4 Event Inspector
|
|
220
130
|
|
|
221
|
-
|
|
131
|
+
| Feature | Details |
|
|
132
|
+
|---|---|
|
|
133
|
+
| **Auto-intercept** | Patches ALL `log*` and `set*` methods on Firebase Analytics prototype — no hardcoded list, catches current + future methods |
|
|
134
|
+
| **Event list** | Time + event name, newest first, sortable |
|
|
135
|
+
| **Detail pane** | All parameters as key-value list with collapsible trees for objects/arrays |
|
|
136
|
+
| **Summary chips** | Click any chip to filter by that event type, click again to clear |
|
|
137
|
+
| **Resizable** | Drag the divider between list and detail |
|
|
138
|
+
| **Supported methods** | `logEvent`, `logPurchase`, `logAddToCart`, `logViewItem`, `logScreenView`, `logSelectPromotion`, `logViewPromotion`, `setUserId`, `setUserProperty`, `setConsent`, and 30+ more |
|
|
222
139
|
|
|
223
|
-
|
|
224
|
-
- **JS Heap Total** — Total allocated heap
|
|
225
|
-
- **Native Memory** — Native heap from Hermes runtime
|
|
226
|
-
- Powered by `HermesInternal.getRuntimeProperties()`
|
|
140
|
+
## Redux DevTools
|
|
227
141
|
|
|
228
|
-
|
|
142
|
+
- Scrollable action list with search filter
|
|
143
|
+
- Click an action → shows Previous / Current / Next with payloads as collapsible trees
|
|
144
|
+
- Store diff for current action: shows each changed key with **- old value** and **+ new value**
|
|
145
|
+
- Deep equality comparison (no false positives from reference changes)
|
|
146
|
+
- Time travel with ◀ ▶ navigation
|
|
229
147
|
|
|
230
|
-
|
|
148
|
+
## Themes
|
|
231
149
|
|
|
232
|
-
|
|
233
|
-
|---|---|
|
|
234
|
-
| No throttling | Normal speed |
|
|
235
|
-
| Fast 3G | 500ms artificial delay on every request |
|
|
236
|
-
| Slow 3G | 2000ms delay |
|
|
237
|
-
| Offline | All requests immediately rejected |
|
|
150
|
+
9 built-in themes: **Dark** (default), **Light**, **Monokai**, **Dracula**, **Solarized Dark**, **Solarized Light**, **Nord**, **GitHub Dark**, **One Dark**
|
|
238
151
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
Toggle via Settings tab or `Cmd+Shift+T`. Persists across restarts.
|
|
152
|
+
All 16 CSS variables change per theme — every element in the app updates including text, backgrounds, borders, syntax highlighting, badges, and graphs.
|
|
242
153
|
|
|
243
154
|
## Keyboard Shortcuts
|
|
244
155
|
|
|
245
156
|
| Shortcut | Action |
|
|
246
157
|
|---|---|
|
|
247
|
-
| `Cmd+
|
|
248
|
-
| `Cmd+D` | Open JS Debugger (CDP DevTools with breakpoints) |
|
|
158
|
+
| `Cmd+D` | Open JS Debugger (CDP DevTools) |
|
|
249
159
|
| `Cmd+R` | Open React DevTools |
|
|
250
|
-
| `Cmd+
|
|
251
|
-
| `Cmd+
|
|
252
|
-
| `Cmd+V` | Paste
|
|
253
|
-
| `Cmd+A` | Select all |
|
|
160
|
+
| `Cmd+K` | Clear all panels |
|
|
161
|
+
| `Cmd+Shift+T` | Cycle through themes |
|
|
162
|
+
| `Cmd+C/V/A` | Copy / Paste / Select All |
|
|
254
163
|
|
|
255
164
|
## Ports
|
|
256
165
|
|
|
@@ -258,76 +167,58 @@ Toggle via Settings tab or `Cmd+Shift+T`. Persists across restarts.
|
|
|
258
167
|
|---|---|
|
|
259
168
|
| 9090 | Redux bridge |
|
|
260
169
|
| 9091 | AsyncStorage bridge |
|
|
261
|
-
| 9092 | Console + Network + Performance bridge |
|
|
170
|
+
| 9092 | Console + Network + GA4 + Performance bridge |
|
|
262
171
|
| 8097 | React DevTools relay |
|
|
263
172
|
| 8081 | Metro bundler (CDP) |
|
|
264
173
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
## Android Setup
|
|
268
|
-
|
|
269
|
-
For Android emulator, the setup command runs `adb reverse` automatically. For physical devices, ensure your Mac and device are on the same network and set the HOST in `src/debug/RNDebugSDK.js` to your Mac's LAN IP.
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
# Manual adb reverse (if needed)
|
|
273
|
-
adb reverse tcp:9090 tcp:9090
|
|
274
|
-
adb reverse tcp:9091 tcp:9091
|
|
275
|
-
adb reverse tcp:9092 tcp:9092
|
|
276
|
-
adb reverse tcp:8097 tcp:8097
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
## Troubleshooting
|
|
280
|
-
|
|
281
|
-
| Problem | Solution |
|
|
282
|
-
|---|---|
|
|
283
|
-
| App won't launch from VS Code terminal | Run: `unset ELECTRON_RUN_AS_NODE && npx rn-debugger` |
|
|
284
|
-
| Device status shows "Waiting..." | Check HOST in `src/debug/RNDebugSDK.js`. iOS sim: `127.0.0.1`, Android emu: `10.0.2.2` |
|
|
285
|
-
| Network tab empty | Run Metro with `--reset-cache`. Ensure Reactotron has `networking: false` |
|
|
286
|
-
| `XHRInterceptor.js does not exist` | Set `networking: false` in ReactotronConfig.js |
|
|
287
|
-
| Metro crashes with WebSocket error | Update to latest version — CDP polling was replaced with on-demand fetching |
|
|
288
|
-
| Console shows `apply (native)` as caller | Update SDK with `npx reactoradar setup` |
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
## How it works
|
|
174
|
+
## Architecture
|
|
292
175
|
|
|
293
176
|
```
|
|
294
177
|
┌─────────────────────────────────────────────────────┐
|
|
295
|
-
│
|
|
178
|
+
│ ReactoRadar (Electron) │
|
|
296
179
|
│ │
|
|
297
|
-
│ Console │ Network │
|
|
298
|
-
│
|
|
180
|
+
│ Console │ Network │ Redux │ GA4 │ App │
|
|
181
|
+
│ Memory │ Perf │ React │ Settings │
|
|
299
182
|
│ │
|
|
300
183
|
│ main.js │
|
|
301
|
-
│ ├─ WS
|
|
302
|
-
│ ├─ WS
|
|
303
|
-
│ ├─ WS
|
|
304
|
-
│ ├─ WS
|
|
305
|
-
│ └─ HTTP
|
|
184
|
+
│ ├─ WS :9092 ← console + network + ga4 + perf │
|
|
185
|
+
│ ├─ WS :9090 ← redux actions + state │
|
|
186
|
+
│ ├─ WS :9091 ← asyncstorage │
|
|
187
|
+
│ ├─ WS :8097 ← react-devtools relay │
|
|
188
|
+
│ └─ HTTP :8081 → Metro CDP (on-demand) │
|
|
306
189
|
└──────────────────────┬──────────────────────────────┘
|
|
307
190
|
│ WebSocket
|
|
308
191
|
┌──────────────────────┴──────────────────────────────┐
|
|
309
|
-
│
|
|
192
|
+
│ Your React Native App │
|
|
310
193
|
│ │
|
|
311
|
-
│ RNDebugSDK.js (
|
|
194
|
+
│ RNDebugSDK.js (__DEV__ only) │
|
|
312
195
|
│ ├─ console.* interceptor │
|
|
313
|
-
│ ├─ XHR constructor wrapper (
|
|
196
|
+
│ ├─ XHR constructor wrapper (axios + fetch) │
|
|
197
|
+
│ ├─ Firebase Analytics prototype interceptor │
|
|
314
198
|
│ ├─ FPS + memory metrics │
|
|
315
|
-
│ ├─ Network throttle support │
|
|
316
199
|
│ ├─ Redux middleware │
|
|
317
200
|
│ └─ AsyncStorage watcher │
|
|
318
201
|
└─────────────────────────────────────────────────────┘
|
|
319
202
|
```
|
|
320
203
|
|
|
321
|
-
##
|
|
204
|
+
## Troubleshooting
|
|
205
|
+
|
|
206
|
+
| Problem | Solution |
|
|
207
|
+
|---|---|
|
|
208
|
+
| App won't launch from VS Code terminal | `unset ELECTRON_RUN_AS_NODE && npx reactoradar` |
|
|
209
|
+
| "Waiting for device" | Restart Metro: `npx react-native start --reset-cache` |
|
|
210
|
+
| Network tab empty | Run Metro with `--reset-cache` |
|
|
211
|
+
| `XHRInterceptor.js` warning | Set `networking: false` in ReactotronConfig.js |
|
|
212
|
+
| GA4 events not showing | Restart Metro with `--reset-cache` after setup |
|
|
213
|
+
| Port conflict | Change ports in `main.js` and `RNDebugSDK.js` |
|
|
214
|
+
|
|
215
|
+
## Privacy
|
|
322
216
|
|
|
323
|
-
|
|
324
|
-
- [React DevTools](https://github.com/facebook/react/tree/main/packages/react-devtools) — React component inspector
|
|
325
|
-
- [Redux DevTools](https://github.com/reduxjs/redux-devtools) — Inspiration for Redux time travel
|
|
326
|
-
- [React Native Debugger](https://github.com/jhen0409/react-native-debugger) — The original that inspired this project
|
|
217
|
+
ReactoRadar runs entirely on your local machine. No data collection, no analytics, no telemetry. See [PRIVACY.md](./PRIVACY.md).
|
|
327
218
|
|
|
328
219
|
## Contributing
|
|
329
220
|
|
|
330
|
-
Contributions
|
|
221
|
+
Contributions welcome! Fork → branch → PR.
|
|
331
222
|
|
|
332
223
|
```bash
|
|
333
224
|
git clone https://github.com/sharanagouda/react-native-debugger.git
|
|
@@ -336,30 +227,19 @@ npm install
|
|
|
336
227
|
npm start
|
|
337
228
|
```
|
|
338
229
|
|
|
339
|
-
### How to contribute
|
|
340
|
-
|
|
341
|
-
1. Fork the repository
|
|
342
|
-
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
343
|
-
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
|
|
344
|
-
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
345
|
-
5. Open a Pull Request
|
|
346
|
-
|
|
347
230
|
### Ideas for contribution
|
|
348
|
-
|
|
349
|
-
- Windows/Linux support
|
|
231
|
+
- Windows / Linux support
|
|
350
232
|
- Source file browser with breakpoints
|
|
351
|
-
-
|
|
352
|
-
- Flipper plugin compatibility layer
|
|
233
|
+
- Flipper plugin compatibility
|
|
353
234
|
- Custom themes
|
|
354
|
-
-
|
|
355
|
-
|
|
356
|
-
See [STATUS.md](./STATUS.md) for detailed technical documentation and architecture overview.
|
|
357
|
-
|
|
358
|
-
## Privacy
|
|
235
|
+
- React Native New Architecture profiling
|
|
359
236
|
|
|
360
|
-
|
|
237
|
+
## Credits
|
|
361
238
|
|
|
362
|
-
|
|
239
|
+
- [Electron](https://www.electronjs.org/)
|
|
240
|
+
- [React DevTools](https://github.com/facebook/react/tree/main/packages/react-devtools)
|
|
241
|
+
- [Redux DevTools](https://github.com/reduxjs/redux-devtools)
|
|
242
|
+
- [React Native Debugger](https://github.com/jhen0409/react-native-debugger) — the original inspiration
|
|
363
243
|
|
|
364
244
|
## License
|
|
365
245
|
|