react-native-inapp-inspector 1.1.24 → 1.1.26
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/android/build.gradle +36 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.java +114 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorPackage.java +28 -0
- package/dist/commonjs/components/AnalyticsEventCard.js +94 -88
- package/dist/commonjs/components/ConsoleLogCard.js +49 -25
- package/dist/commonjs/components/ErrorBoundary.d.ts +1 -1
- package/dist/commonjs/components/ErrorBoundary.js +9 -145
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.d.ts +7 -0
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1002 -0
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +637 -10
- package/dist/commonjs/components/Inspector/BundleTab.d.ts +1 -1
- package/dist/commonjs/components/Inspector/BundleTab.js +826 -406
- package/dist/commonjs/components/Inspector/CrashDetail.d.ts +3 -0
- package/dist/commonjs/components/Inspector/CrashDetail.js +796 -0
- package/dist/commonjs/components/Inspector/CrashFilterModal.d.ts +20 -0
- package/dist/commonjs/components/Inspector/CrashFilterModal.js +597 -0
- package/dist/commonjs/components/Inspector/CrashTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/CrashTab.js +727 -0
- package/dist/commonjs/components/Inspector/InspectorContext.js +6 -1
- package/dist/commonjs/components/Inspector/InspectorHeader.js +65 -28
- package/dist/commonjs/components/Inspector/LogDetail.js +227 -114
- package/dist/commonjs/components/Inspector/MainScreen.js +13 -4
- package/dist/commonjs/components/Inspector/NetworkDetail.js +131 -81
- package/dist/commonjs/components/Inspector/PerformanceTab.js +20 -10
- package/dist/commonjs/components/Inspector/SettingsPanel.js +90 -1
- package/dist/commonjs/components/Inspector/TabBar.js +15 -3
- package/dist/commonjs/components/NetworkIcons.d.ts +25 -0
- package/dist/commonjs/components/NetworkIcons.js +188 -1
- package/dist/commonjs/components/SegmentedTabs.js +33 -23
- package/dist/commonjs/components/TreeNode.js +13 -12
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/analyticsLogger.js +70 -44
- package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +5 -1
- package/dist/commonjs/customHooks/bundleAnalyzer.js +497 -126
- package/dist/commonjs/customHooks/consoleLogger.d.ts +1 -0
- package/dist/commonjs/customHooks/consoleLogger.js +153 -51
- package/dist/commonjs/customHooks/crashHandler.d.ts +64 -0
- package/dist/commonjs/customHooks/crashHandler.js +681 -0
- package/dist/commonjs/customHooks/networkLogger.js +74 -49
- package/dist/commonjs/customHooks/performanceTracker.d.ts +8 -0
- package/dist/commonjs/customHooks/performanceTracker.js +44 -3
- package/dist/commonjs/decorators/index.d.ts +49 -0
- package/dist/commonjs/decorators/index.js +142 -0
- package/dist/commonjs/helpers/gaAnalyticsRegistry.d.ts +18 -0
- package/dist/commonjs/helpers/gaAnalyticsRegistry.js +174 -0
- package/dist/commonjs/helpers/index.d.ts +7 -4
- package/dist/commonjs/helpers/index.js +102 -64
- package/dist/commonjs/i18n/locales/en.json +182 -4
- package/dist/commonjs/index.d.ts +6 -0
- package/dist/commonjs/index.js +310 -8
- package/dist/commonjs/styles/index.d.ts +4 -1
- package/dist/commonjs/styles/index.js +22 -19
- package/dist/commonjs/types/enums.d.ts +156 -9
- package/dist/commonjs/types/enums.js +139 -2
- package/dist/commonjs/types/interfaces.d.ts +70 -1
- package/dist/esm/components/AnalyticsEventCard.js +95 -89
- package/dist/esm/components/ConsoleLogCard.js +49 -25
- package/dist/esm/components/ErrorBoundary.d.ts +1 -1
- package/dist/esm/components/ErrorBoundary.js +10 -113
- package/dist/esm/components/Inspector/AnalyticsFilterModal.d.ts +7 -0
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +964 -0
- package/dist/esm/components/Inspector/AnalyticsTab.js +639 -12
- package/dist/esm/components/Inspector/BundleTab.d.ts +1 -1
- package/dist/esm/components/Inspector/BundleTab.js +827 -407
- package/dist/esm/components/Inspector/CrashDetail.d.ts +3 -0
- package/dist/esm/components/Inspector/CrashDetail.js +758 -0
- package/dist/esm/components/Inspector/CrashFilterModal.d.ts +20 -0
- package/dist/esm/components/Inspector/CrashFilterModal.js +557 -0
- package/dist/esm/components/Inspector/CrashTab.d.ts +3 -0
- package/dist/esm/components/Inspector/CrashTab.js +689 -0
- package/dist/esm/components/Inspector/InspectorContext.js +1 -0
- package/dist/esm/components/Inspector/InspectorHeader.js +66 -29
- package/dist/esm/components/Inspector/LogDetail.js +227 -114
- package/dist/esm/components/Inspector/MainScreen.js +14 -5
- package/dist/esm/components/Inspector/NetworkDetail.js +132 -49
- package/dist/esm/components/Inspector/PerformanceTab.js +20 -10
- package/dist/esm/components/Inspector/SettingsPanel.js +91 -2
- package/dist/esm/components/Inspector/TabBar.js +16 -4
- package/dist/esm/components/NetworkIcons.d.ts +25 -0
- package/dist/esm/components/NetworkIcons.js +161 -0
- package/dist/esm/components/SegmentedTabs.js +33 -23
- package/dist/esm/components/TreeNode.js +13 -12
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/analyticsLogger.js +70 -44
- package/dist/esm/customHooks/bundleAnalyzer.d.ts +5 -1
- package/dist/esm/customHooks/bundleAnalyzer.js +493 -125
- package/dist/esm/customHooks/consoleLogger.d.ts +1 -0
- package/dist/esm/customHooks/consoleLogger.js +151 -50
- package/dist/esm/customHooks/crashHandler.d.ts +64 -0
- package/dist/esm/customHooks/crashHandler.js +659 -0
- package/dist/esm/customHooks/networkLogger.js +74 -49
- package/dist/esm/customHooks/performanceTracker.d.ts +8 -0
- package/dist/esm/customHooks/performanceTracker.js +38 -1
- package/dist/esm/decorators/index.d.ts +49 -0
- package/dist/esm/decorators/index.js +137 -0
- package/dist/esm/helpers/gaAnalyticsRegistry.d.ts +18 -0
- package/dist/esm/helpers/gaAnalyticsRegistry.js +169 -0
- package/dist/esm/helpers/index.d.ts +7 -4
- package/dist/esm/helpers/index.js +100 -63
- package/dist/esm/i18n/locales/en.json +182 -4
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +262 -8
- package/dist/esm/styles/index.d.ts +4 -1
- package/dist/esm/styles/index.js +22 -19
- package/dist/esm/types/enums.d.ts +156 -9
- package/dist/esm/types/enums.js +138 -3
- package/dist/esm/types/interfaces.d.ts +70 -1
- package/ios/NetworkInspectorModule.h +6 -0
- package/ios/NetworkInspectorModule.m +125 -0
- package/package.json +5 -2
- package/react-native-inapp-inspector.podspec +18 -0
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.animateNextLayout = exports.useInspector = exports.InspectorContext = void 0;
|
|
3
|
+
exports.animateNextLayout = exports.useInspector = exports.InspectorContext = exports.LogFilter = exports.SettingsSubTab = exports.SettingsPage = exports.ModalAnimationType = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
+
var types_1 = require("../../types");
|
|
6
|
+
Object.defineProperty(exports, "ModalAnimationType", { enumerable: true, get: function () { return types_1.ModalAnimationType; } });
|
|
7
|
+
Object.defineProperty(exports, "SettingsPage", { enumerable: true, get: function () { return types_1.SettingsPage; } });
|
|
8
|
+
Object.defineProperty(exports, "SettingsSubTab", { enumerable: true, get: function () { return types_1.SettingsSubTab; } });
|
|
9
|
+
Object.defineProperty(exports, "LogFilter", { enumerable: true, get: function () { return types_1.LogFilter; } });
|
|
5
10
|
exports.InspectorContext = (0, react_1.createContext)(null);
|
|
6
11
|
const useInspector = () => {
|
|
7
12
|
const ctx = (0, react_1.useContext)(exports.InspectorContext);
|
|
@@ -50,7 +50,7 @@ const constants_2 = require("../../constants");
|
|
|
50
50
|
const helpers_1 = require("../../helpers");
|
|
51
51
|
const NetworkIcons_1 = require("../NetworkIcons");
|
|
52
52
|
const InspectorHeader = react_1.default.memo(() => {
|
|
53
|
-
const { modalHeightPercent, appIcon, selected, setSelected, selectedEvent, setSelectedEvent, selectedLog, setSelectedLog, selectedReduxSlice, setSelectedReduxSlice, selectedReduxAction, setSelectedReduxAction, reduxState, reduxLastActionMap, showHeaderInfo, setShowHeaderInfo, updateAvailable, latestNpmVersion, clearAnim, activePulseAnim, unreadPulseAnim, runClearAllWithAnimation, setSettingsPage, closeModal, detailTitle, activeTab, environment, } = (0, InspectorContext_1.useInspector)();
|
|
53
|
+
const { modalHeightPercent, appIcon, selected, setSelected, selectedEvent, setSelectedEvent, selectedLog, setSelectedLog, selectedReduxSlice, setSelectedReduxSlice, selectedReduxAction, setSelectedReduxAction, reduxState, reduxLastActionMap, showHeaderInfo, setShowHeaderInfo, updateAvailable, latestNpmVersion, clearAnim, activePulseAnim, unreadPulseAnim, runClearAllWithAnimation, setSettingsPage, closeModal, detailTitle, activeTab, environment, selectedCrash, setSelectedCrash, } = (0, InspectorContext_1.useInspector)();
|
|
54
54
|
const envConfig = (0, react_1.useMemo)(() => {
|
|
55
55
|
const rawEnv = (environment || (__DEV__ ? 'DEV' : 'PROD')).trim();
|
|
56
56
|
const clean = rawEnv.toUpperCase();
|
|
@@ -89,7 +89,8 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
89
89
|
const isDetailView = (activeTab === 'apis' && selected != null) ||
|
|
90
90
|
(activeTab === 'analytics' && selectedEvent != null) ||
|
|
91
91
|
(activeTab === 'logs' && selectedLog != null) ||
|
|
92
|
-
(activeTab === 'redux' && (selectedReduxSlice != null || selectedReduxAction != null))
|
|
92
|
+
(activeTab === 'redux' && (selectedReduxSlice != null || selectedReduxAction != null)) ||
|
|
93
|
+
(activeTab === 'crash' && selectedCrash != null);
|
|
93
94
|
const isAnySelected = isDetailView;
|
|
94
95
|
const headerTopPadding = react_native_1.Platform.OS === 'ios' && modalHeightPercent >= 95 ? 44 : 0;
|
|
95
96
|
return (<react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.purple, AppColors_1.AppColors.brandPurple]} style={styles_1.default.headerGradient}>
|
|
@@ -100,8 +101,9 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
100
101
|
{
|
|
101
102
|
flexDirection: 'row',
|
|
102
103
|
alignItems: 'center',
|
|
103
|
-
gap:
|
|
104
|
-
flex: !isDetailView ?
|
|
104
|
+
gap: 12,
|
|
105
|
+
flex: !isDetailView ? 1 : 0,
|
|
106
|
+
minWidth: 0,
|
|
105
107
|
},
|
|
106
108
|
]}>
|
|
107
109
|
<TouchableScale_1.default onPress={() => {
|
|
@@ -111,6 +113,7 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
111
113
|
setSelectedLog(null);
|
|
112
114
|
setSelectedReduxSlice(null);
|
|
113
115
|
setSelectedReduxAction(null);
|
|
116
|
+
setSelectedCrash(null);
|
|
114
117
|
});
|
|
115
118
|
}} hitSlop={15} style={[
|
|
116
119
|
{
|
|
@@ -232,10 +235,14 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
232
235
|
borderColor: `${AppColors_1.AppColors.white}2E`,
|
|
233
236
|
}}>
|
|
234
237
|
<react_native_1.View style={{
|
|
235
|
-
|
|
236
|
-
|
|
238
|
+
flexDirection: 'row',
|
|
239
|
+
alignItems: 'center',
|
|
240
|
+
gap: 3.5,
|
|
241
|
+
paddingHorizontal: 6,
|
|
242
|
+
paddingVertical: 2.5,
|
|
237
243
|
backgroundColor: `${AppColors_1.AppColors.white}47`,
|
|
238
244
|
}}>
|
|
245
|
+
{react_native_1.Platform.OS === 'ios' ? (<NetworkIcons_1.AppleIcon color={AppColors_1.AppColors.white} size={10}/>) : (<NetworkIcons_1.AndroidIcon color={AppColors_1.AppColors.white} size={10}/>)}
|
|
239
246
|
<react_native_1.Text style={{
|
|
240
247
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
241
248
|
fontSize: 9,
|
|
@@ -247,7 +254,7 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
247
254
|
</react_native_1.View>
|
|
248
255
|
<react_native_1.View style={{
|
|
249
256
|
paddingHorizontal: 5,
|
|
250
|
-
paddingVertical: 2,
|
|
257
|
+
paddingVertical: 2.5,
|
|
251
258
|
backgroundColor: `${AppColors_1.AppColors.white}1F`,
|
|
252
259
|
}}>
|
|
253
260
|
<react_native_1.Text style={{
|
|
@@ -268,10 +275,14 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
268
275
|
borderColor: `${AppColors_1.AppColors.white}2E`,
|
|
269
276
|
}}>
|
|
270
277
|
<react_native_1.View style={{
|
|
271
|
-
|
|
272
|
-
|
|
278
|
+
flexDirection: 'row',
|
|
279
|
+
alignItems: 'center',
|
|
280
|
+
gap: 3.5,
|
|
281
|
+
paddingHorizontal: 6,
|
|
282
|
+
paddingVertical: 2.5,
|
|
273
283
|
backgroundColor: `${AppColors_1.AppColors.white}47`,
|
|
274
284
|
}}>
|
|
285
|
+
<NetworkIcons_1.PackageBoxIcon color={AppColors_1.AppColors.white} size={10}/>
|
|
275
286
|
<react_native_1.Text style={{
|
|
276
287
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
277
288
|
fontSize: 9,
|
|
@@ -516,18 +527,58 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
516
527
|
{selectedReduxAction.timestamp || 'Dispatched'}
|
|
517
528
|
</react_native_1.Text>
|
|
518
529
|
</react_native_1.View>
|
|
530
|
+
</react_native_1.View>) : activeTab === 'crash' && selectedCrash != null ? (<react_native_1.View style={styles_1.default.headerDetailCenter}>
|
|
531
|
+
<react_native_1.View style={styles_1.default.headerDetailRow}>
|
|
532
|
+
<react_native_1.View style={[
|
|
533
|
+
styles_1.default.headerMethodBadge,
|
|
534
|
+
{
|
|
535
|
+
backgroundColor: selectedCrash.isFatal
|
|
536
|
+
? '#DC2626'
|
|
537
|
+
: '#D97706',
|
|
538
|
+
},
|
|
539
|
+
]}>
|
|
540
|
+
<react_native_1.Text style={styles_1.default.headerMethodText}>
|
|
541
|
+
{selectedCrash.isFatal ? 'FATAL' : selectedCrash.type.toUpperCase()}
|
|
542
|
+
</react_native_1.Text>
|
|
543
|
+
</react_native_1.View>
|
|
544
|
+
<react_native_1.Text style={styles_1.default.headerDetailTitle} numberOfLines={1} ellipsizeMode="middle">
|
|
545
|
+
{selectedCrash.name || selectedCrash.message}
|
|
546
|
+
</react_native_1.Text>
|
|
547
|
+
</react_native_1.View>
|
|
548
|
+
<react_native_1.View style={styles_1.default.headerDetailSubRow}>
|
|
549
|
+
<react_native_1.View style={[
|
|
550
|
+
styles_1.default.headerStatusDot,
|
|
551
|
+
{
|
|
552
|
+
backgroundColor: selectedCrash.isFatal
|
|
553
|
+
? '#DC2626'
|
|
554
|
+
: '#F59E0B',
|
|
555
|
+
},
|
|
556
|
+
]}/>
|
|
557
|
+
<react_native_1.Text style={styles_1.default.headerSubTitle}>
|
|
558
|
+
{selectedCrash.timeStr || new Date(selectedCrash.timestamp).toLocaleTimeString()}
|
|
559
|
+
</react_native_1.Text>
|
|
560
|
+
{selectedCrash.deviceInfo?.platform && (<>
|
|
561
|
+
<react_native_1.Text style={[styles_1.default.headerSubTitle, { opacity: 0.6 }]}>•</react_native_1.Text>
|
|
562
|
+
<react_native_1.Text style={styles_1.default.headerSubTitle}>
|
|
563
|
+
{selectedCrash.deviceInfo.platform.toUpperCase()}
|
|
564
|
+
</react_native_1.Text>
|
|
565
|
+
</>)}
|
|
566
|
+
</react_native_1.View>
|
|
519
567
|
</react_native_1.View>) : null}
|
|
520
568
|
</react_native_1.View>)}
|
|
521
569
|
|
|
522
570
|
<react_native_1.View style={[
|
|
523
571
|
styles_1.default.headerRight,
|
|
524
|
-
|
|
572
|
+
{
|
|
573
|
+
flexDirection: 'row',
|
|
574
|
+
alignItems: 'center',
|
|
575
|
+
justifyContent: 'flex-end',
|
|
525
576
|
flexShrink: 0,
|
|
526
|
-
|
|
577
|
+
gap: 8,
|
|
527
578
|
},
|
|
528
579
|
]}>
|
|
529
580
|
{!isAnySelected && (<TouchableScale_1.default onPress={() => {
|
|
530
|
-
react_native_1.Alert.alert('Clear Everything', 'This clears all tabs — APIs, Logs, Analytics and
|
|
581
|
+
react_native_1.Alert.alert('Clear Everything', 'This clears all tabs — APIs, Logs, Analytics, Redux timeline and Crash history. Continue?', [
|
|
531
582
|
{ text: 'Cancel', style: 'cancel' },
|
|
532
583
|
{
|
|
533
584
|
text: 'Clear All',
|
|
@@ -535,13 +586,7 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
535
586
|
style: 'destructive',
|
|
536
587
|
},
|
|
537
588
|
]);
|
|
538
|
-
}} hitSlop={15} style={
|
|
539
|
-
styles_1.default.closeButtonSquare,
|
|
540
|
-
{
|
|
541
|
-
marginRight: 8,
|
|
542
|
-
backgroundColor: `${AppColors_1.AppColors.white}26`,
|
|
543
|
-
},
|
|
544
|
-
]}>
|
|
589
|
+
}} hitSlop={15} style={styles_1.default.closeButtonSquare}>
|
|
545
590
|
<react_native_1.Animated.View style={{
|
|
546
591
|
transform: [
|
|
547
592
|
{
|
|
@@ -562,15 +607,7 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
562
607
|
</react_native_1.Animated.View>
|
|
563
608
|
</TouchableScale_1.default>)}
|
|
564
609
|
|
|
565
|
-
{
|
|
566
|
-
selectedEvent == null &&
|
|
567
|
-
selectedLog == null && (<TouchableScale_1.default onPress={() => setSettingsPage('main')} hitSlop={15} style={[
|
|
568
|
-
styles_1.default.closeButtonSquare,
|
|
569
|
-
{
|
|
570
|
-
marginRight: 8,
|
|
571
|
-
backgroundColor: `${AppColors_1.AppColors.white}26`,
|
|
572
|
-
},
|
|
573
|
-
]}>
|
|
610
|
+
{!isAnySelected && (<TouchableScale_1.default onPress={() => setSettingsPage('main')} hitSlop={15} style={styles_1.default.closeButtonSquare}>
|
|
574
611
|
<NetworkIcons_1.SettingsIcon color={AppColors_1.AppColors.white} size={16}/>
|
|
575
612
|
</TouchableScale_1.default>)}
|
|
576
613
|
|