react-native-xenon 2.1.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.
- package/README.md +13 -24
- package/lib/module/assets/icons/arrow-left.png +0 -0
- package/lib/module/assets/icons/beautify.png +0 -0
- package/lib/module/assets/icons/bug.png +0 -0
- package/lib/module/assets/icons/close.png +0 -0
- package/lib/module/assets/icons/delete.png +0 -0
- package/lib/module/assets/icons/hide.png +0 -0
- package/lib/module/assets/icons/move.png +0 -0
- package/lib/module/assets/icons/record.png +0 -0
- package/lib/module/assets/icons/search.png +0 -0
- package/lib/module/assets/icons/share.png +0 -0
- package/lib/module/hooks/useNetworkInterceptor.js +8 -3
- package/lib/module/hooks/useNetworkInterceptor.js.map +1 -1
- package/lib/module/ui/components/common/Empty.js +26 -0
- package/lib/module/ui/components/common/Empty.js.map +1 -0
- package/lib/module/ui/components/panels/ConsolePanel.js +10 -6
- package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -1
- package/lib/module/ui/components/panels/NetworkPanel.js +6 -2
- package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -1
- package/lib/module/ui/components/search-bar/SearchBar.js +5 -13
- package/lib/module/ui/components/search-bar/SearchBar.js.map +1 -1
- package/lib/typescript/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/common/Empty.d.ts +3 -0
- package/lib/typescript/src/ui/components/common/Empty.d.ts.map +1 -0
- package/lib/typescript/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/search-bar/SearchBar.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/assets/icons/arrow-left.png +0 -0
- package/src/assets/icons/beautify.png +0 -0
- package/src/assets/icons/bug.png +0 -0
- package/src/assets/icons/close.png +0 -0
- package/src/assets/icons/delete.png +0 -0
- package/src/assets/icons/hide.png +0 -0
- package/src/assets/icons/move.png +0 -0
- package/src/assets/icons/record.png +0 -0
- package/src/assets/icons/search.png +0 -0
- package/src/assets/icons/share.png +0 -0
- package/src/core/global.d.ts +0 -26
- package/src/hooks/useNetworkInterceptor.ts +11 -5
- package/src/ui/components/common/Empty.tsx +15 -0
- package/src/ui/components/panels/ConsolePanel.tsx +8 -6
- package/src/ui/components/panels/NetworkPanel.tsx +3 -1
- package/src/ui/components/search-bar/SearchBar.tsx +9 -13
package/README.md
CHANGED
@@ -34,44 +34,33 @@
|
|
34
34
|
|
35
35
|

|
36
36
|
|
37
|
+
## Supported react-native versions
|
38
|
+
|
39
|
+
| **react-native-xenon version** | **react-native version** |
|
40
|
+
| ------------------------------ | ------------------------ |
|
41
|
+
| 2.1.0+ | 0.80.0+ |
|
42
|
+
| 1.0.0+ | 0.73.0+ |
|
43
|
+
|
37
44
|
## Installation
|
38
45
|
|
39
46
|
### Expo
|
40
47
|
|
41
|
-
If you are using Expo, just run
|
48
|
+
If you are using Expo, just run this command and you're done. No additional configuration required.
|
42
49
|
|
43
50
|
```sh
|
44
|
-
npx expo install react-native-xenon
|
45
|
-
npx expo install react-native-safe-area-context react-native-screens
|
51
|
+
npx expo install react-native-xenon react-native-safe-area-context react-native-screens
|
46
52
|
```
|
47
53
|
|
48
54
|
### React Native
|
49
55
|
|
50
|
-
For React Native projects, install the packages and follow the
|
56
|
+
For bare React Native projects, install the packages and follow the additional peer dependency installation steps below.
|
51
57
|
|
52
58
|
```sh
|
53
|
-
yarn add react-native-xenon
|
54
|
-
yarn add react-native-safe-area-context react-native-screens
|
55
|
-
```
|
56
|
-
|
57
|
-
#### Android
|
58
|
-
|
59
|
-
`react-native-screens` package requires one additional configuration step to properly work on Android devices. Edit `MainActivity.kt` file which is located under `android/app/src/main/java/<your package name>/`.
|
60
|
-
|
61
|
-
```diff
|
62
|
-
+ import android.os.Bundle
|
63
|
-
// ...
|
64
|
-
|
65
|
-
class MainActivity: ReactActivity() {
|
66
|
-
// ...
|
67
|
-
+ override fun onCreate(savedInstanceState: Bundle?) {
|
68
|
-
+ super.onCreate(null)
|
69
|
-
+ }
|
70
|
-
// ...
|
71
|
-
}
|
59
|
+
yarn add react-native-xenon react-native-safe-area-context react-native-screens
|
72
60
|
```
|
73
61
|
|
74
|
-
|
62
|
+
> [!NOTE]
|
63
|
+
> **React Native Screens** needs extra steps to finalize its installation, please follow their [installation instructions](https://github.com/software-mansion/react-native-screens?tab=readme-ov-file#installation).
|
75
64
|
|
76
65
|
#### iOS
|
77
66
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -21,11 +21,14 @@ export default function useNetworkInterceptor({
|
|
21
21
|
const clearAllNetworkRequests = () => {
|
22
22
|
setNetworkRequests(initRequests);
|
23
23
|
};
|
24
|
+
const isMatchedDomain = url => {
|
25
|
+
if (!includeDomains?.length) return true;
|
26
|
+
return includeDomains.some(domain => url.includes(domain));
|
27
|
+
};
|
24
28
|
const enableHttpInterceptions = useCallback(() => {
|
25
29
|
const openCallback = (id, type, method, url) => {
|
26
30
|
if (!id) return;
|
27
|
-
|
28
|
-
if (isNotMatchedDomain) return;
|
31
|
+
if (!isMatchedDomain(url)) return;
|
29
32
|
setNetworkRequests(draft => {
|
30
33
|
draft.set(id, {
|
31
34
|
type,
|
@@ -85,6 +88,7 @@ export default function useNetworkInterceptor({
|
|
85
88
|
const enableWebSocketInterception = useCallback(() => {
|
86
89
|
const connectCallback = (startTime, url, protocols, options, socketId) => {
|
87
90
|
if (typeof socketId !== 'number') return;
|
91
|
+
if (!isMatchedDomain(url)) return;
|
88
92
|
setNetworkRequests(draft => {
|
89
93
|
draft.set(`${socketId}`, {
|
90
94
|
startTime,
|
@@ -141,7 +145,8 @@ export default function useNetworkInterceptor({
|
|
141
145
|
});
|
142
146
|
};
|
143
147
|
webSocketInterceptor.set('connect', connectCallback).set('send', sendCallback).set('close', closeCallback).set('onOpen', onOpenCallback).set('onMessage', onMessageCallback).set('onError', onErrorCallback).set('onClose', onCloseCallback).enableInterception();
|
144
|
-
|
148
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
149
|
+
}, [joinedIncludeDomains, setNetworkRequests]);
|
145
150
|
const enableInterception = useCallback(() => {
|
146
151
|
if (isEnabled()) return;
|
147
152
|
enableHttpInterceptions();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useState","useImmer","NETWORK_REQUEST_HEADER","FetchInterceptor","WebSocketInterceptor","XHRInterceptor","NetworkType","keyValueToString","initRequests","Map","xhrInterceptor","fetchInterceptor","webSocketInterceptor","useNetworkInterceptor","autoEnabled","includeDomains","joinedIncludeDomains","join","isInterceptorEnabled","setIsInterceptorEnabled","networkRequests","setNetworkRequests","isEnabled","clearAllNetworkRequests","
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","useImmer","NETWORK_REQUEST_HEADER","FetchInterceptor","WebSocketInterceptor","XHRInterceptor","NetworkType","keyValueToString","initRequests","Map","xhrInterceptor","fetchInterceptor","webSocketInterceptor","useNetworkInterceptor","autoEnabled","includeDomains","joinedIncludeDomains","join","isInterceptorEnabled","setIsInterceptorEnabled","networkRequests","setNetworkRequests","isEnabled","clearAllNetworkRequests","isMatchedDomain","url","length","some","domain","includes","enableHttpInterceptions","openCallback","id","type","method","draft","set","requestHeaderCallback","header","value","get","currentHeaderLine","fetchRequestHeaderLineRegex","RegExp","Fetch","isFetchInXHR","XHR","match","delete","requestHeaders","sendCallback","startTime","data","body","headerReceivedCallback","responseContentType","responseSize","responseHeaders","responseCallback","status","timeout","endTime","response","responseURL","responseType","enableInterception","enableWebSocketInterception","connectCallback","protocols","options","socketId","WS","messages","closeCallback","code","reason","closeReason","onOpenCallback","onMessageCallback","message","onErrorCallback","serverError","onCloseCallback","serverClose","disableInterception"],"sourceRoot":"../../../src","sources":["hooks/useNetworkInterceptor.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { StyleSheet, Text, View } from 'react-native';
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
5
|
+
export default function Empty({
|
6
|
+
children
|
7
|
+
}) {
|
8
|
+
return /*#__PURE__*/_jsx(View, {
|
9
|
+
style: styles.container,
|
10
|
+
children: /*#__PURE__*/_jsx(Text, {
|
11
|
+
style: styles.text,
|
12
|
+
children: children
|
13
|
+
})
|
14
|
+
});
|
15
|
+
}
|
16
|
+
const styles = StyleSheet.create({
|
17
|
+
container: {
|
18
|
+
padding: 16,
|
19
|
+
alignItems: 'center',
|
20
|
+
justifyContent: 'center'
|
21
|
+
},
|
22
|
+
text: {
|
23
|
+
textAlign: 'center'
|
24
|
+
}
|
25
|
+
});
|
26
|
+
//# sourceMappingURL=Empty.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["StyleSheet","Text","View","jsx","_jsx","Empty","children","style","styles","container","text","create","padding","alignItems","justifyContent","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/components/common/Empty.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtD,eAAe,SAASC,KAAKA,CAAC;EAAEC;AAA4B,CAAC,EAAE;EAC7D,oBACEF,IAAA,CAACF,IAAI;IAACK,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAH,QAAA,eAC5BF,IAAA,CAACH,IAAI;MAACM,KAAK,EAAEC,MAAM,CAACE,IAAK;MAAAJ,QAAA,EAAEA;IAAQ,CAAO;EAAC,CACvC,CAAC;AAEX;AAEA,MAAME,MAAM,GAAGR,UAAU,CAACW,MAAM,CAAC;EAC/BF,SAAS,EAAE;IAAEG,OAAO,EAAE,EAAE;IAAEC,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE;EAAS,CAAC;EAC1EJ,IAAI,EAAE;IAAEK,SAAS,EAAE;EAAS;AAC9B,CAAC,CAAC","ignoreList":[]}
|
@@ -3,13 +3,14 @@
|
|
3
3
|
import { forwardRef, useCallback, useContext, useMemo } from 'react';
|
4
4
|
import { FlatList, StyleSheet, View } from 'react-native';
|
5
5
|
import { MainContext } from "../../../contexts/index.js";
|
6
|
-
import { DebuggerPanel } from "../../../types/index.js";
|
7
|
-
import ConsolePanelItem from "../items/ConsolePanelItem.js";
|
8
6
|
import refs, { HeaderState, PanelState } from "../../../core/refs.js";
|
9
7
|
import { formatLogMessage } from "../../../core/utils.js";
|
8
|
+
import { DebuggerPanel } from "../../../types/index.js";
|
9
|
+
import Empty from "../common/Empty.js";
|
10
|
+
import ConsolePanelItem from "../items/ConsolePanelItem.js";
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
11
12
|
const Separator = () => /*#__PURE__*/_jsx(View, {
|
12
|
-
style: styles.
|
13
|
+
style: styles.spacing
|
13
14
|
});
|
14
15
|
const ConsolePanel = /*#__PURE__*/forwardRef(({
|
15
16
|
style
|
@@ -49,13 +50,16 @@ const ConsolePanel = /*#__PURE__*/forwardRef(({
|
|
49
50
|
}), [setDebuggerState]);
|
50
51
|
return /*#__PURE__*/_jsx(FlatList, {
|
51
52
|
ref: ref,
|
52
|
-
inverted:
|
53
|
+
inverted: !!data.length,
|
53
54
|
data: data,
|
54
55
|
renderItem: renderItem,
|
55
56
|
keyExtractor: (_, index) => index.toString(),
|
56
57
|
ItemSeparatorComponent: Separator,
|
57
58
|
style: [styles.container, style],
|
58
|
-
contentContainerStyle: styles.contentContainer
|
59
|
+
contentContainerStyle: data.length ? styles.contentContainer : undefined,
|
60
|
+
ListEmptyComponent: /*#__PURE__*/_jsx(Empty, {
|
61
|
+
children: "No logs yet"
|
62
|
+
})
|
59
63
|
});
|
60
64
|
});
|
61
65
|
const styles = StyleSheet.create({
|
@@ -65,7 +69,7 @@ const styles = StyleSheet.create({
|
|
65
69
|
contentContainer: {
|
66
70
|
padding: 8
|
67
71
|
},
|
68
|
-
|
72
|
+
spacing: {
|
69
73
|
height: 4
|
70
74
|
}
|
71
75
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useContext","useMemo","FlatList","StyleSheet","View","MainContext","
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useContext","useMemo","FlatList","StyleSheet","View","MainContext","refs","HeaderState","PanelState","formatLogMessage","DebuggerPanel","Empty","ConsolePanelItem","jsx","_jsx","Separator","style","styles","spacing","ConsolePanel","ref","debuggerState","searchQuery","consoleInterceptor","logMessages","setDebuggerState","data","result","filter","item","values","toLowerCase","includes","reverse","renderItem","onPress","header","current","setCurrentIndex","Console","panel","ConsoleDetail","draft","detailsData","type","selectedTab","beautified","inverted","length","keyExtractor","_","index","toString","ItemSeparatorComponent","container","contentContainerStyle","contentContainer","undefined","ListEmptyComponent","children","create","flex","padding","height"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/ConsolePanel.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACpE,SACEC,QAAQ,EACRC,UAAU,EACVC,IAAI,QAIC,cAAc;AACrB,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,OAAOC,IAAI,IAAIC,WAAW,EAAEC,UAAU,QAAQ,uBAAoB;AAClE,SAASC,gBAAgB,QAAQ,wBAAqB;AACtD,SAASC,aAAa,QAAyB,yBAAgB;AAC/D,OAAOC,KAAK,MAAM,oBAAiB;AACnC,OAAOC,gBAAgB,MAAM,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzD,MAAMC,SAAS,GAAGA,CAAA,kBAAMD,IAAA,CAACV,IAAI;EAACY,KAAK,EAAEC,MAAM,CAACC;AAAQ,CAAE,CAAC;AAEvD,MAAMC,YAAY,gBAAGrB,UAAU,CAA6C,CAAC;EAAEkB;AAAM,CAAC,EAAEI,GAAG,KAAK;EAC9F,MAAM;IACJC,aAAa,EAAE;MAAEC;IAAY,CAAC;IAC9BC,kBAAkB,EAAE;MAAEC;IAAY,CAAC;IACnCC;EACF,CAAC,GAAGzB,UAAU,CAACK,WAAW,CAAE;EAE5B,MAAMqB,IAAI,GAAGzB,OAAO,CAAC,MAAM;IACzB,IAAI0B,MAAM,GAAG,CAAC,GAAGH,WAAW,CAAC;IAE7B,IAAIF,WAAW,EAAE;MACfK,MAAM,GAAGH,WAAW,CAACI,MAAM,CAACC,IAAI,IAC9BpB,gBAAgB,CAACoB,IAAI,EAAEC,MAAM,IAAI,EAAE,CAAC,CACjCC,WAAW,CAAC,CAAC,CACbC,QAAQ,CAACV,WAAW,CAACS,WAAW,CAAC,CAAC,CACvC,CAAC;IACH;IAEA,OAAOJ,MAAM,CAACM,OAAO,CAAC,CAAC;EACzB,CAAC,EAAE,CAACT,WAAW,EAAEF,WAAW,CAAC,CAAC;EAE9B,MAAMY,UAAU,GAAGnC,WAAW,CAC5B,CAAC;IAAE8B;EAAK,CAAC,kBACPf,IAAA,CAACF,gBAAgB;IAAA,GACXiB,IAAI;IACRM,OAAO,EAAEA,CAAA,KAAM;MACb7B,IAAI,CAAC8B,MAAM,CAACC,OAAO,EAAEC,eAAe,CAAC/B,WAAW,CAACgC,OAAO,CAAC;MACzDjC,IAAI,CAACkC,KAAK,CAACH,OAAO,EAAEC,eAAe,CAAC9B,UAAU,CAACiC,aAAa,CAAC;MAC7DhB,gBAAgB,CAACiB,KAAK,IAAI;QACxBA,KAAK,CAACC,WAAW,GAAG;UAClBC,IAAI,EAAElC,aAAa,CAAC6B,OAAO;UAC3Bb,IAAI,EAAEG,IAAI;UACVgB,WAAW,EAAE,YAAY;UACzBC,UAAU,EAAE;QACd,CAAC;MACH,CAAC,CAAC;IACJ;EAAE,CACH,CACF,EACD,CAACrB,gBAAgB,CACnB,CAAC;EAED,oBACEX,IAAA,CAACZ,QAAQ;IACPkB,GAAG,EAAEA,GAAI;IACT2B,QAAQ,EAAE,CAAC,CAACrB,IAAI,CAACsB,MAAO;IACxBtB,IAAI,EAAEA,IAAK;IACXQ,UAAU,EAAEA,UAAW;IACvBe,YAAY,EAAEA,CAACC,CAAC,EAAEC,KAAK,KAAKA,KAAK,CAACC,QAAQ,CAAC,CAAE;IAC7CC,sBAAsB,EAAEtC,SAAU;IAClCC,KAAK,EAAE,CAACC,MAAM,CAACqC,SAAS,EAAEtC,KAAK,CAAE;IACjCuC,qBAAqB,EAAE7B,IAAI,CAACsB,MAAM,GAAG/B,MAAM,CAACuC,gBAAgB,GAAGC,SAAU;IACzEC,kBAAkB,eAAE5C,IAAA,CAACH,KAAK;MAAAgD,QAAA,EAAC;IAAW,CAAO;EAAE,CAChD,CAAC;AAEN,CAAC,CAAC;AAEF,MAAM1C,MAAM,GAAGd,UAAU,CAACyD,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,IAAI,EAAE;EACR,CAAC;EACDL,gBAAgB,EAAE;IAChBM,OAAO,EAAE;EACX,CAAC;EACD5C,OAAO,EAAE;IACP6C,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,eAAe5C,YAAY","ignoreList":[]}
|
@@ -6,6 +6,7 @@ import { MainContext } from "../../../contexts/index.js";
|
|
6
6
|
import refs, { HeaderState, PanelState } from "../../../core/refs.js";
|
7
7
|
import { DebuggerPanel, NetworkType } from "../../../types/index.js";
|
8
8
|
import Divider from "../common/Divider.js";
|
9
|
+
import Empty from "../common/Empty.js";
|
9
10
|
import NetworkPanelItem from "../items/NetworkPanelItem.js";
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
11
12
|
const Separator = () => /*#__PURE__*/_jsx(Divider, {
|
@@ -52,13 +53,16 @@ const NetworkPanel = /*#__PURE__*/forwardRef(({
|
|
52
53
|
}
|
53
54
|
}), [setDebuggerState]);
|
54
55
|
return /*#__PURE__*/_jsx(FlatList, {
|
55
|
-
inverted:
|
56
|
+
inverted: !!data.length,
|
56
57
|
data: data,
|
57
58
|
ref: ref,
|
58
59
|
renderItem: renderItem,
|
59
60
|
keyExtractor: ([key]) => key,
|
60
61
|
ItemSeparatorComponent: Separator,
|
61
|
-
style: [styles.container, style]
|
62
|
+
style: [styles.container, style],
|
63
|
+
ListEmptyComponent: /*#__PURE__*/_jsx(Empty, {
|
64
|
+
children: "No records yet"
|
65
|
+
})
|
62
66
|
});
|
63
67
|
});
|
64
68
|
const styles = StyleSheet.create({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useContext","useMemo","FlatList","StyleSheet","MainContext","refs","HeaderState","PanelState","DebuggerPanel","NetworkType","Divider","NetworkPanelItem","jsx","_jsx","Separator","type","NetworkPanel","style","ref","debuggerState","searchQuery","networkInterceptor","networkRequests","setDebuggerState","data","result","Array","from","filter","item","url","toLowerCase","includes","reverse","renderItem","_","method","WS","undefined","name","startTime","endTime","status","onPress","header","current","setCurrentIndex","Network","panel","NetworkDetail","draft","detailsData","selectedTab","beautified","inverted","keyExtractor","key","ItemSeparatorComponent","styles","container","create","flex","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/NetworkPanel.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACpE,SACEC,QAAQ,EACRC,UAAU,QAIL,cAAc;AACrB,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,OAAOC,IAAI,IAAIC,WAAW,EAAEC,UAAU,QAAQ,uBAAoB;AAClE,SACEC,aAAa,EACbC,WAAW,QAIN,yBAAgB;AACvB,OAAOC,OAAO,MAAM,sBAAmB;AACvC,OAAOC,gBAAgB,MAAM,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzD,MAAMC,SAAS,GAAGA,CAAA,kBAAMD,IAAA,
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useContext","useMemo","FlatList","StyleSheet","MainContext","refs","HeaderState","PanelState","DebuggerPanel","NetworkType","Divider","Empty","NetworkPanelItem","jsx","_jsx","Separator","type","NetworkPanel","style","ref","debuggerState","searchQuery","networkInterceptor","networkRequests","setDebuggerState","data","result","Array","from","filter","item","url","toLowerCase","includes","reverse","renderItem","_","method","WS","undefined","name","startTime","endTime","status","onPress","header","current","setCurrentIndex","Network","panel","NetworkDetail","draft","detailsData","selectedTab","beautified","inverted","length","keyExtractor","key","ItemSeparatorComponent","styles","container","ListEmptyComponent","children","create","flex","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/NetworkPanel.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -11,6 +11,7 @@ import Icon from "../common/Icon.js";
|
|
11
11
|
import Touchable from "../common/Touchable.js";
|
12
12
|
import SafeArea from "../common/SafeArea.js";
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
14
|
+
const ICON_SIZE = 20;
|
14
15
|
const SearchBar = /*#__PURE__*/forwardRef(({
|
15
16
|
style,
|
16
17
|
...props
|
@@ -27,7 +28,7 @@ const SearchBar = /*#__PURE__*/forwardRef(({
|
|
27
28
|
refs.debugger.current?.setCurrentIndex(DebuggerVisibility.Panel);
|
28
29
|
};
|
29
30
|
const onClear = () => {
|
30
|
-
|
31
|
+
setValue('');
|
31
32
|
};
|
32
33
|
const onSubmitEditing = ({
|
33
34
|
nativeEvent: {
|
@@ -52,7 +53,7 @@ const SearchBar = /*#__PURE__*/forwardRef(({
|
|
52
53
|
style: styles.inputWrapper,
|
53
54
|
children: [/*#__PURE__*/_jsx(Icon, {
|
54
55
|
source: icons.search,
|
55
|
-
size:
|
56
|
+
size: ICON_SIZE
|
56
57
|
}), /*#__PURE__*/_jsx(TextInput, {
|
57
58
|
autoCapitalize: "none",
|
58
59
|
autoCorrect: false,
|
@@ -67,13 +68,12 @@ const SearchBar = /*#__PURE__*/forwardRef(({
|
|
67
68
|
placeholder: "Search...",
|
68
69
|
placeholderTextColor: colors.gray,
|
69
70
|
onSubmitEditing: onSubmitEditing
|
70
|
-
}), /*#__PURE__*/_jsx(Touchable, {
|
71
|
+
}), !!value.length && /*#__PURE__*/_jsx(Touchable, {
|
71
72
|
hitSlop: 8,
|
72
73
|
onPress: onClear,
|
73
|
-
style: styles.closeButton,
|
74
74
|
children: /*#__PURE__*/_jsx(Icon, {
|
75
75
|
source: icons.close,
|
76
|
-
size:
|
76
|
+
size: ICON_SIZE,
|
77
77
|
color: colors.black
|
78
78
|
})
|
79
79
|
})]
|
@@ -118,14 +118,6 @@ const styles = StyleSheet.create({
|
|
118
118
|
fontSize: 16,
|
119
119
|
color: colors.black,
|
120
120
|
flex: 1
|
121
|
-
},
|
122
|
-
closeButton: {
|
123
|
-
justifyContent: 'center',
|
124
|
-
alignItems: 'center',
|
125
|
-
width: 18,
|
126
|
-
height: 18,
|
127
|
-
borderRadius: 9,
|
128
|
-
backgroundColor: colors.gray
|
129
121
|
}
|
130
122
|
});
|
131
123
|
export default SearchBar;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["forwardRef","useContext","useState","Keyboard","Platform","StyleSheet","TextInput","View","SafeAreaProvider","MainContext","refs","DebuggerVisibility","colors","icons","Icon","Touchable","SafeArea","jsx","_jsx","jsxs","_jsxs","SearchBar","style","props","ref","debuggerState","searchQuery","setDebuggerState","value","setValue","onHideSearchInput","dismiss","debugger","current","setCurrentIndex","Panel","onClear","
|
1
|
+
{"version":3,"names":["forwardRef","useContext","useState","Keyboard","Platform","StyleSheet","TextInput","View","SafeAreaProvider","MainContext","refs","DebuggerVisibility","colors","icons","Icon","Touchable","SafeArea","jsx","_jsx","jsxs","_jsxs","ICON_SIZE","SearchBar","style","props","ref","debuggerState","searchQuery","setDebuggerState","value","setValue","onHideSearchInput","dismiss","debugger","current","setCurrentIndex","Panel","onClear","onSubmitEditing","nativeEvent","text","draft","styles","container","children","barView","inset","inputWrapper","source","search","size","autoCapitalize","autoCorrect","inputMode","returnKeyType","selectionColor","black","searchInput","autoFocus","input","onChangeText","placeholder","placeholderTextColor","gray","length","hitSlop","onPress","close","color","background","create","absoluteFillObject","OS","zIndex","backgroundColor","lightGray","padding","flex","white","borderRadius","paddingHorizontal","columnGap","flexDirection","alignItems","height","margin","lineHeight","fontSize"],"sourceRoot":"../../../../../src","sources":["ui/components/search-bar/SearchBar.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useNetworkInterceptor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNetworkInterceptor.ts"],"names":[],"mappings":"AAcA,UAAU,wBAAwB;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,WAAW,EACX,cAAc,GACf,EAAE,wBAAwB;;;;;;
|
1
|
+
{"version":3,"file":"useNetworkInterceptor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNetworkInterceptor.ts"],"names":[],"mappings":"AAcA,UAAU,wBAAwB;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAUD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,WAAW,EACX,cAAc,GACf,EAAE,wBAAwB;;;;;;EAkQ1B"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Empty.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/common/Empty.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAM5D"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/ConsolePanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAIR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/ConsolePanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAIR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,QAAA,MAAM,YAAY;YAAkC,SAAS,CAAC,SAAS,CAAC;iDAuDtE,CAAC;AAcH,eAAe,YAAY,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NetworkPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/NetworkPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"NetworkPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/NetworkPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAgBtB,QAAA,MAAM,YAAY;YAAkC,SAAS,CAAC,SAAS,CAAC;iDA0DtE,CAAC;AASH,eAAe,YAAY,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/search-bar/SearchBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,IAAI,EAGJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,UAAU,cAAe,SAAQ,SAAS;CAAG;
|
1
|
+
{"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/search-bar/SearchBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,IAAI,EAGJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,UAAU,cAAe,SAAQ,SAAS;CAAG;AAI7C,QAAA,MAAM,SAAS,iGAiEb,CAAC;AAmCH,eAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-native-xenon",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.2.0",
|
4
4
|
"description": "A powerful in-app debugging tool for React Native.",
|
5
5
|
"main": "./lib/module/index.js",
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
@@ -47,6 +47,7 @@
|
|
47
47
|
"xenon",
|
48
48
|
"inspector",
|
49
49
|
"debugger",
|
50
|
+
"devtools",
|
50
51
|
"https",
|
51
52
|
"network",
|
52
53
|
"nsurlsession",
|
Binary file
|
Binary file
|
package/src/assets/icons/bug.png
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/src/core/global.d.ts
CHANGED
@@ -1,29 +1,3 @@
|
|
1
1
|
interface XMLHttpRequest {
|
2
2
|
_interceptionId?: string;
|
3
3
|
}
|
4
|
-
|
5
|
-
declare module 'react-native/Libraries/WebSocket/NativeWebSocketModule' {
|
6
|
-
interface NativeWebSocketModule extends NativeModule {
|
7
|
-
connect(
|
8
|
-
url: string,
|
9
|
-
protocols?: string | string[],
|
10
|
-
options?: {
|
11
|
-
headers: { [headerName: string]: string };
|
12
|
-
[optionName: string]: any;
|
13
|
-
},
|
14
|
-
socketId: number,
|
15
|
-
): void;
|
16
|
-
|
17
|
-
send(data: string, socketId: number): void;
|
18
|
-
|
19
|
-
sendBinary(base64String: string, socketId: number): void;
|
20
|
-
|
21
|
-
close(code: number, reason: string, socketId: number): void;
|
22
|
-
|
23
|
-
addListener: (eventType: string) => void;
|
24
|
-
removeListeners: (count: number) => void;
|
25
|
-
}
|
26
|
-
|
27
|
-
const NativeWebSocketModule: NativeWebSocketModule;
|
28
|
-
export default NativeWebSocketModule;
|
29
|
-
}
|
@@ -43,14 +43,17 @@ export default function useNetworkInterceptor({
|
|
43
43
|
setNetworkRequests(initRequests);
|
44
44
|
};
|
45
45
|
|
46
|
+
const isMatchedDomain = (url: string) => {
|
47
|
+
if (!includeDomains?.length) return true;
|
48
|
+
|
49
|
+
return includeDomains.some(domain => url.includes(domain));
|
50
|
+
};
|
51
|
+
|
46
52
|
const enableHttpInterceptions = useCallback(() => {
|
47
53
|
const openCallback: HttpHandlers['open'] = (id, type, method, url) => {
|
48
54
|
if (!id) return;
|
49
55
|
|
50
|
-
|
51
|
-
!!joinedIncludeDomains.length && !includeDomains?.some(domain => url.includes(domain));
|
52
|
-
|
53
|
-
if (isNotMatchedDomain) return;
|
56
|
+
if (!isMatchedDomain(url)) return;
|
54
57
|
|
55
58
|
setNetworkRequests((draft: NetworkRequests<HttpRequest>) => {
|
56
59
|
draft.set(id, { type, method, url });
|
@@ -162,6 +165,8 @@ export default function useNetworkInterceptor({
|
|
162
165
|
) => {
|
163
166
|
if (typeof socketId !== 'number') return;
|
164
167
|
|
168
|
+
if (!isMatchedDomain(url)) return;
|
169
|
+
|
165
170
|
setNetworkRequests((draft: NetworkRequests<WebSocketRequest>) => {
|
166
171
|
draft.set(`${socketId}`, {
|
167
172
|
startTime,
|
@@ -245,7 +250,8 @@ export default function useNetworkInterceptor({
|
|
245
250
|
.set('onError', onErrorCallback)
|
246
251
|
.set('onClose', onCloseCallback)
|
247
252
|
.enableInterception();
|
248
|
-
|
253
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
254
|
+
}, [joinedIncludeDomains, setNetworkRequests]);
|
249
255
|
|
250
256
|
const enableInterception = useCallback(() => {
|
251
257
|
if (isEnabled()) return;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { PropsWithChildren } from 'react';
|
2
|
+
import { StyleSheet, Text, View } from 'react-native';
|
3
|
+
|
4
|
+
export default function Empty({ children }: PropsWithChildren) {
|
5
|
+
return (
|
6
|
+
<View style={styles.container}>
|
7
|
+
<Text style={styles.text}>{children}</Text>
|
8
|
+
</View>
|
9
|
+
);
|
10
|
+
}
|
11
|
+
|
12
|
+
const styles = StyleSheet.create({
|
13
|
+
container: { padding: 16, alignItems: 'center', justifyContent: 'center' },
|
14
|
+
text: { textAlign: 'center' },
|
15
|
+
});
|
@@ -8,12 +8,13 @@ import {
|
|
8
8
|
type ViewStyle,
|
9
9
|
} from 'react-native';
|
10
10
|
import { MainContext } from '../../../contexts';
|
11
|
-
import { DebuggerPanel, type LogMessage } from '../../../types';
|
12
|
-
import ConsolePanelItem from '../items/ConsolePanelItem';
|
13
11
|
import refs, { HeaderState, PanelState } from '../../../core/refs';
|
14
12
|
import { formatLogMessage } from '../../../core/utils';
|
13
|
+
import { DebuggerPanel, type LogMessage } from '../../../types';
|
14
|
+
import Empty from '../common/Empty';
|
15
|
+
import ConsolePanelItem from '../items/ConsolePanelItem';
|
15
16
|
|
16
|
-
const Separator = () => <View style={styles.
|
17
|
+
const Separator = () => <View style={styles.spacing} />;
|
17
18
|
|
18
19
|
const ConsolePanel = forwardRef<FlatList, { style?: StyleProp<ViewStyle> }>(({ style }, ref) => {
|
19
20
|
const {
|
@@ -60,13 +61,14 @@ const ConsolePanel = forwardRef<FlatList, { style?: StyleProp<ViewStyle> }>(({ s
|
|
60
61
|
return (
|
61
62
|
<FlatList
|
62
63
|
ref={ref}
|
63
|
-
inverted
|
64
|
+
inverted={!!data.length}
|
64
65
|
data={data}
|
65
66
|
renderItem={renderItem}
|
66
67
|
keyExtractor={(_, index) => index.toString()}
|
67
68
|
ItemSeparatorComponent={Separator}
|
68
69
|
style={[styles.container, style]}
|
69
|
-
contentContainerStyle={styles.contentContainer}
|
70
|
+
contentContainerStyle={data.length ? styles.contentContainer : undefined}
|
71
|
+
ListEmptyComponent={<Empty>No logs yet</Empty>}
|
70
72
|
/>
|
71
73
|
);
|
72
74
|
});
|
@@ -78,7 +80,7 @@ const styles = StyleSheet.create({
|
|
78
80
|
contentContainer: {
|
79
81
|
padding: 8,
|
80
82
|
},
|
81
|
-
|
83
|
+
spacing: {
|
82
84
|
height: 4,
|
83
85
|
},
|
84
86
|
});
|
@@ -16,6 +16,7 @@ import {
|
|
16
16
|
type WebSocketRequest,
|
17
17
|
} from '../../../types';
|
18
18
|
import Divider from '../common/Divider';
|
19
|
+
import Empty from '../common/Empty';
|
19
20
|
import NetworkPanelItem from '../items/NetworkPanelItem';
|
20
21
|
|
21
22
|
const Separator = () => <Divider type="horizontal" />;
|
@@ -68,13 +69,14 @@ const NetworkPanel = forwardRef<FlatList, { style?: StyleProp<ViewStyle> }>(({ s
|
|
68
69
|
|
69
70
|
return (
|
70
71
|
<FlatList
|
71
|
-
inverted
|
72
|
+
inverted={!!data.length}
|
72
73
|
data={data}
|
73
74
|
ref={ref}
|
74
75
|
renderItem={renderItem}
|
75
76
|
keyExtractor={([key]) => key}
|
76
77
|
ItemSeparatorComponent={Separator}
|
77
78
|
style={[styles.container, style]}
|
79
|
+
ListEmptyComponent={<Empty>No records yet</Empty>}
|
78
80
|
/>
|
79
81
|
);
|
80
82
|
});
|
@@ -20,6 +20,8 @@ import SafeArea from '../common/SafeArea';
|
|
20
20
|
|
21
21
|
interface SearchBarProps extends ViewProps {}
|
22
22
|
|
23
|
+
const ICON_SIZE = 20;
|
24
|
+
|
23
25
|
const SearchBar = forwardRef<View, SearchBarProps>(({ style, ...props }, ref) => {
|
24
26
|
const {
|
25
27
|
debuggerState: { searchQuery },
|
@@ -34,7 +36,7 @@ const SearchBar = forwardRef<View, SearchBarProps>(({ style, ...props }, ref) =>
|
|
34
36
|
};
|
35
37
|
|
36
38
|
const onClear = () => {
|
37
|
-
|
39
|
+
setValue('');
|
38
40
|
};
|
39
41
|
|
40
42
|
const onSubmitEditing = ({
|
@@ -53,7 +55,7 @@ const SearchBar = forwardRef<View, SearchBarProps>(({ style, ...props }, ref) =>
|
|
53
55
|
<SafeArea inset="top" />
|
54
56
|
|
55
57
|
<View style={styles.inputWrapper}>
|
56
|
-
<Icon source={icons.search} size={
|
58
|
+
<Icon source={icons.search} size={ICON_SIZE} />
|
57
59
|
|
58
60
|
<TextInput
|
59
61
|
autoCapitalize="none"
|
@@ -71,9 +73,11 @@ const SearchBar = forwardRef<View, SearchBarProps>(({ style, ...props }, ref) =>
|
|
71
73
|
onSubmitEditing={onSubmitEditing}
|
72
74
|
/>
|
73
75
|
|
74
|
-
|
75
|
-
<
|
76
|
-
|
76
|
+
{!!value.length && (
|
77
|
+
<Touchable hitSlop={8} onPress={onClear}>
|
78
|
+
<Icon source={icons.close} size={ICON_SIZE} color={colors.black} />
|
79
|
+
</Touchable>
|
80
|
+
)}
|
77
81
|
</View>
|
78
82
|
</View>
|
79
83
|
|
@@ -116,14 +120,6 @@ const styles = StyleSheet.create({
|
|
116
120
|
color: colors.black,
|
117
121
|
flex: 1,
|
118
122
|
},
|
119
|
-
closeButton: {
|
120
|
-
justifyContent: 'center',
|
121
|
-
alignItems: 'center',
|
122
|
-
width: 18,
|
123
|
-
height: 18,
|
124
|
-
borderRadius: 9,
|
125
|
-
backgroundColor: colors.gray,
|
126
|
-
},
|
127
123
|
});
|
128
124
|
|
129
125
|
export default SearchBar;
|