react-native-inapp-inspector 1.1.33 → 1.1.35
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/dist/commonjs/components/ConsoleLogCard.js +57 -56
- package/dist/commonjs/components/CopyButton.js +7 -1
- package/dist/commonjs/components/Inspector/BundleTab.js +268 -27
- package/dist/commonjs/components/Inspector/CrashDetail.js +16 -12
- package/dist/commonjs/components/Inspector/InspectorHeader.js +16 -16
- package/dist/commonjs/components/Inspector/MainScreen.js +6 -2
- package/dist/commonjs/components/Inspector/NetworkTab.js +97 -1
- package/dist/commonjs/components/Inspector/ReduxDetail.js +24 -19
- package/dist/commonjs/components/Inspector/ReduxTab.js +12 -8
- package/dist/commonjs/components/Inspector/SettingsPanel.js +1243 -673
- package/dist/commonjs/components/LogCard.js +27 -9
- package/dist/commonjs/components/MetaAccordion.js +42 -0
- package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
- package/dist/commonjs/components/NetworkIcons.js +48 -1
- package/dist/commonjs/components/Toast.js +3 -3
- package/dist/commonjs/components/TouchableScale.d.ts +4 -2
- package/dist/commonjs/components/TouchableScale.js +4 -4
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/analyticsLogger.d.ts +2 -0
- package/dist/commonjs/customHooks/analyticsLogger.js +10 -1
- package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +2 -0
- package/dist/commonjs/customHooks/bundleAnalyzer.js +80 -33
- package/dist/commonjs/customHooks/consoleLogger.d.ts +2 -0
- package/dist/commonjs/customHooks/consoleLogger.js +10 -1
- package/dist/commonjs/customHooks/crashHandler.d.ts +2 -0
- package/dist/commonjs/customHooks/crashHandler.js +10 -1
- package/dist/commonjs/customHooks/networkLogger.d.ts +2 -0
- package/dist/commonjs/customHooks/networkLogger.js +12 -1
- package/dist/commonjs/customHooks/performanceTracker.d.ts +3 -1
- package/dist/commonjs/customHooks/performanceTracker.js +18 -4
- package/dist/commonjs/customHooks/reduxLogger.d.ts +2 -0
- package/dist/commonjs/customHooks/reduxLogger.js +10 -1
- package/dist/commonjs/i18n/locales/en.json +96 -28
- package/dist/commonjs/index.js +78 -34
- package/dist/commonjs/styles/AppColors.d.ts +28 -0
- package/dist/commonjs/styles/AppColors.js +30 -0
- package/dist/esm/components/ConsoleLogCard.js +58 -57
- package/dist/esm/components/CopyButton.js +7 -1
- package/dist/esm/components/Inspector/BundleTab.js +268 -27
- package/dist/esm/components/Inspector/CrashDetail.js +16 -12
- package/dist/esm/components/Inspector/InspectorHeader.js +16 -16
- package/dist/esm/components/Inspector/MainScreen.js +6 -2
- package/dist/esm/components/Inspector/NetworkTab.js +99 -3
- package/dist/esm/components/Inspector/ReduxDetail.js +24 -19
- package/dist/esm/components/Inspector/ReduxTab.js +12 -8
- package/dist/esm/components/Inspector/SettingsPanel.js +1246 -676
- package/dist/esm/components/LogCard.js +27 -9
- package/dist/esm/components/MetaAccordion.js +42 -0
- package/dist/esm/components/NetworkIcons.d.ts +9 -0
- package/dist/esm/components/NetworkIcons.js +38 -0
- package/dist/esm/components/Toast.js +3 -3
- package/dist/esm/components/TouchableScale.d.ts +4 -2
- package/dist/esm/components/TouchableScale.js +4 -4
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/analyticsLogger.d.ts +2 -0
- package/dist/esm/customHooks/analyticsLogger.js +7 -0
- package/dist/esm/customHooks/bundleAnalyzer.d.ts +2 -0
- package/dist/esm/customHooks/bundleAnalyzer.js +77 -32
- package/dist/esm/customHooks/consoleLogger.d.ts +2 -0
- package/dist/esm/customHooks/consoleLogger.js +7 -0
- package/dist/esm/customHooks/crashHandler.d.ts +2 -0
- package/dist/esm/customHooks/crashHandler.js +7 -0
- package/dist/esm/customHooks/networkLogger.d.ts +2 -0
- package/dist/esm/customHooks/networkLogger.js +9 -0
- package/dist/esm/customHooks/performanceTracker.d.ts +3 -1
- package/dist/esm/customHooks/performanceTracker.js +15 -3
- package/dist/esm/customHooks/reduxLogger.d.ts +2 -0
- package/dist/esm/customHooks/reduxLogger.js +7 -0
- package/dist/esm/i18n/locales/en.json +96 -28
- package/dist/esm/index.js +64 -20
- package/dist/esm/styles/AppColors.d.ts +28 -0
- package/dist/esm/styles/AppColors.js +30 -0
- package/package.json +3 -2
|
@@ -164,6 +164,21 @@ const LightColors = {
|
|
|
164
164
|
greyBorder: '#E3DFEC',
|
|
165
165
|
paperBg: '#FBF9FC',
|
|
166
166
|
contentBg: '#F8F7FB',
|
|
167
|
+
// ─── Toast / Glass / Chip Tokens ───
|
|
168
|
+
toastBg: '#0F172AEE',
|
|
169
|
+
toastBorder: '#33415588',
|
|
170
|
+
mintGreenBg: '#ECFDF5',
|
|
171
|
+
mintGreenBorder: '#A7F3D0',
|
|
172
|
+
mintGreenText: '#059669',
|
|
173
|
+
amberWarmBg: '#FFFBEB',
|
|
174
|
+
amberWarmBorder: '#FDE68A',
|
|
175
|
+
amberWarmText: '#92400E',
|
|
176
|
+
violetSoftBg: '#EDE9FE',
|
|
177
|
+
violetSoftBorder: '#DDD6FE',
|
|
178
|
+
violetSoftText: '#7C3AED',
|
|
179
|
+
skySoftBg: '#E0F2FE',
|
|
180
|
+
skySoftBorder: '#BAE6FD',
|
|
181
|
+
skySoftText: '#0284C7',
|
|
167
182
|
// ─── Domain Colors (Thai Airways Themed) ───
|
|
168
183
|
domainColors: [
|
|
169
184
|
'#5C2D91',
|
|
@@ -240,6 +255,21 @@ const DarkColors = {
|
|
|
240
255
|
amber700: '#C5A059',
|
|
241
256
|
amber800: '#B89758',
|
|
242
257
|
green500: '#22C55E',
|
|
258
|
+
// ─── Toast / Glass / Chip Tokens (Dark) ───
|
|
259
|
+
toastBg: '#1E293BEE',
|
|
260
|
+
toastBorder: '#47556988',
|
|
261
|
+
mintGreenBg: '#064E3B66',
|
|
262
|
+
mintGreenBorder: '#05966988',
|
|
263
|
+
mintGreenText: '#34D399',
|
|
264
|
+
amberWarmBg: '#451A0366',
|
|
265
|
+
amberWarmBorder: '#D9770688',
|
|
266
|
+
amberWarmText: '#FCD34D',
|
|
267
|
+
violetSoftBg: '#3B076466',
|
|
268
|
+
violetSoftBorder: '#7C3AED88',
|
|
269
|
+
violetSoftText: '#C084FC',
|
|
270
|
+
skySoftBg: '#082F4966',
|
|
271
|
+
skySoftBorder: '#0284C788',
|
|
272
|
+
skySoftText: '#38BDF8',
|
|
243
273
|
green600: '#16A34A',
|
|
244
274
|
green700: '#15803D',
|
|
245
275
|
green800: '#166534',
|
|
@@ -6,7 +6,7 @@ import { AppFonts } from '../styles/AppFonts';
|
|
|
6
6
|
import { formatTime, getJsonContent, getJsonPreviewText, parseStackLine, openInVSCode, } from '../helpers';
|
|
7
7
|
import HighlightText from './HighlightText';
|
|
8
8
|
import CopyButton from './CopyButton';
|
|
9
|
-
import { ChevronIcon, ExternalLinkIcon } from './NetworkIcons';
|
|
9
|
+
import { ChevronIcon, ExternalLinkIcon, FlaskIcon, ZapIcon, GlobeIcon, DiceIcon, AtomIcon, BarChartIcon, KeyIcon, SmartphoneIcon, AlertTriangleIcon, BugIcon, TagIcon, } from './NetworkIcons';
|
|
10
10
|
import { useInspector } from './Inspector/InspectorContext';
|
|
11
11
|
const getLogMessageWithBadges = (message, searchStr, textStyle, highlightStyle, numberOfLines) => {
|
|
12
12
|
if (!message)
|
|
@@ -20,44 +20,45 @@ const getLogMessageWithBadges = (message, searchStr, textStyle, highlightStyle,
|
|
|
20
20
|
const getTagDecorator = (tag) => {
|
|
21
21
|
const clean = tag.replace(/[\[\]]/g, '').trim().toUpperCase();
|
|
22
22
|
if (clean === 'AXIOS') {
|
|
23
|
-
return { color: AppColors.emerald600,
|
|
23
|
+
return { color: AppColors.emerald600, Icon: ZapIcon, label: 'AXIOS' };
|
|
24
24
|
}
|
|
25
25
|
if (clean === 'API' || clean === 'FETCH' || clean === 'HTTP' || clean === 'NETWORK') {
|
|
26
|
-
return { color: AppColors.sky600,
|
|
26
|
+
return { color: AppColors.sky600, Icon: GlobeIcon, label: clean };
|
|
27
27
|
}
|
|
28
28
|
if (clean === 'SAMPLE' || clean === 'BATCH') {
|
|
29
|
-
return { color: AppColors.indigo600Alt,
|
|
29
|
+
return { color: AppColors.indigo600Alt, Icon: DiceIcon, label: clean };
|
|
30
30
|
}
|
|
31
31
|
if (clean === 'REDUX' || clean === 'STORE' || clean === 'STATE') {
|
|
32
|
-
return { color: AppColors.violet600,
|
|
32
|
+
return { color: AppColors.violet600, Icon: AtomIcon, label: clean };
|
|
33
33
|
}
|
|
34
34
|
if (clean === 'ANALYTICS' || clean === 'FIREBASE' || clean === 'GA4' || clean === 'GA') {
|
|
35
|
-
return { color: AppColors.teal600,
|
|
35
|
+
return { color: AppColors.teal600, Icon: BarChartIcon, label: clean };
|
|
36
36
|
}
|
|
37
37
|
if (clean === 'AUTH' || clean === 'TOKEN' || clean === 'SESSION') {
|
|
38
|
-
return { color: AppColors.amber600,
|
|
38
|
+
return { color: AppColors.amber600, Icon: KeyIcon, label: clean };
|
|
39
39
|
}
|
|
40
40
|
if (clean === 'APP') {
|
|
41
|
-
return { color: AppColors.indigo600Alt,
|
|
41
|
+
return { color: AppColors.indigo600Alt, Icon: SmartphoneIcon, label: 'APP' };
|
|
42
42
|
}
|
|
43
43
|
if (clean === 'TEST') {
|
|
44
|
-
return { color: AppColors.emerald500,
|
|
44
|
+
return { color: AppColors.emerald500, Icon: FlaskIcon, label: 'TEST' };
|
|
45
45
|
}
|
|
46
46
|
if (clean === 'WARN' || clean === 'WARNING') {
|
|
47
|
-
return { color: AppColors.amber600,
|
|
47
|
+
return { color: AppColors.amber600, Icon: AlertTriangleIcon, label: 'WARN' };
|
|
48
48
|
}
|
|
49
49
|
if (clean === 'ERROR' || clean === 'CRASH' || clean === 'BUG') {
|
|
50
|
-
return { color: AppColors.red600,
|
|
50
|
+
return { color: AppColors.red600, Icon: BugIcon, label: 'ERROR' };
|
|
51
51
|
}
|
|
52
52
|
if (clean === 'PERF' || clean === 'RENDER') {
|
|
53
|
-
return { color: AppColors.violet500,
|
|
53
|
+
return { color: AppColors.violet500, Icon: ZapIcon, label: clean };
|
|
54
54
|
}
|
|
55
|
-
return { color: AppColors.slate600,
|
|
55
|
+
return { color: AppColors.slate600, Icon: TagIcon, label: clean };
|
|
56
56
|
};
|
|
57
57
|
return (<View style={{ flexDirection: 'column', gap: 6 }}>
|
|
58
58
|
<View style={{ flexDirection: 'row', flexWrap: 'wrap', gap: 5 }}>
|
|
59
59
|
{tags.map((tag, i) => {
|
|
60
60
|
const dec = getTagDecorator(tag);
|
|
61
|
+
const IconComp = dec.Icon;
|
|
61
62
|
return (<View key={i} style={[
|
|
62
63
|
styles.prefixTag,
|
|
63
64
|
{
|
|
@@ -65,7 +66,7 @@ const getLogMessageWithBadges = (message, searchStr, textStyle, highlightStyle,
|
|
|
65
66
|
borderColor: `${dec.color}35`,
|
|
66
67
|
},
|
|
67
68
|
]}>
|
|
68
|
-
<
|
|
69
|
+
<IconComp color={dec.color} size={10}/>
|
|
69
70
|
<Text style={[styles.prefixTagText, { color: dec.color }]}>
|
|
70
71
|
{dec.label}
|
|
71
72
|
</Text>
|
|
@@ -93,67 +94,67 @@ export const ConsoleLogCard = React.memo(function ConsoleLogCard({ item, searchS
|
|
|
93
94
|
const method = (item.sourceMethod || type).toLowerCase();
|
|
94
95
|
if (isAnalyticsError || type === 'error' || method === 'error') {
|
|
95
96
|
return {
|
|
96
|
-
border:
|
|
97
|
-
badgeBg:
|
|
98
|
-
badgeText:
|
|
97
|
+
border: AppColors.errorColor,
|
|
98
|
+
badgeBg: AppColors.errorCardBg,
|
|
99
|
+
badgeText: AppColors.rose600,
|
|
99
100
|
label: 'ERROR',
|
|
100
|
-
cardBg:
|
|
101
|
-
methodBorder:
|
|
102
|
-
methodBg:
|
|
103
|
-
methodText:
|
|
104
|
-
textColor:
|
|
101
|
+
cardBg: AppColors.errorCardBg,
|
|
102
|
+
methodBorder: AppColors.errorBorder,
|
|
103
|
+
methodBg: AppColors.errorCardBg,
|
|
104
|
+
methodText: AppColors.rose600,
|
|
105
|
+
textColor: AppColors.redErrorText,
|
|
105
106
|
};
|
|
106
107
|
}
|
|
107
108
|
if (type === 'warn' || method === 'warn') {
|
|
108
109
|
return {
|
|
109
|
-
border:
|
|
110
|
-
badgeBg:
|
|
111
|
-
badgeText:
|
|
110
|
+
border: AppColors.amber600,
|
|
111
|
+
badgeBg: AppColors.amberBg,
|
|
112
|
+
badgeText: AppColors.amber700,
|
|
112
113
|
label: 'WARN',
|
|
113
|
-
cardBg:
|
|
114
|
-
methodBorder:
|
|
115
|
-
methodBg:
|
|
116
|
-
methodText:
|
|
117
|
-
textColor:
|
|
114
|
+
cardBg: AppColors.amberWarmBg,
|
|
115
|
+
methodBorder: AppColors.amberWarmBorder,
|
|
116
|
+
methodBg: AppColors.amberBg,
|
|
117
|
+
methodText: AppColors.amber700,
|
|
118
|
+
textColor: AppColors.amberWarmText,
|
|
118
119
|
};
|
|
119
120
|
}
|
|
120
121
|
if (type === 'debug' || method === 'debug') {
|
|
121
122
|
return {
|
|
122
|
-
border:
|
|
123
|
-
badgeBg:
|
|
124
|
-
badgeText:
|
|
123
|
+
border: AppColors.purple500,
|
|
124
|
+
badgeBg: AppColors.violetSoftBg,
|
|
125
|
+
badgeText: AppColors.violetSoftText,
|
|
125
126
|
label: 'DEBUG',
|
|
126
|
-
cardBg:
|
|
127
|
-
methodBorder:
|
|
128
|
-
methodBg:
|
|
129
|
-
methodText:
|
|
130
|
-
textColor:
|
|
127
|
+
cardBg: AppColors.purpleShade50,
|
|
128
|
+
methodBorder: AppColors.violetSoftBorder,
|
|
129
|
+
methodBg: AppColors.violetSoftBg,
|
|
130
|
+
methodText: AppColors.violetSoftText,
|
|
131
|
+
textColor: AppColors.purpleText,
|
|
131
132
|
};
|
|
132
133
|
}
|
|
133
134
|
if (type === 'info' || method === 'info') {
|
|
134
135
|
return {
|
|
135
|
-
border:
|
|
136
|
-
badgeBg:
|
|
137
|
-
badgeText:
|
|
136
|
+
border: AppColors.sky500,
|
|
137
|
+
badgeBg: AppColors.skySoftBg,
|
|
138
|
+
badgeText: AppColors.skySoftText,
|
|
138
139
|
label: 'INFO',
|
|
139
|
-
cardBg:
|
|
140
|
-
methodBorder:
|
|
141
|
-
methodBg:
|
|
142
|
-
methodText:
|
|
143
|
-
textColor:
|
|
140
|
+
cardBg: AppColors.blueBg,
|
|
141
|
+
methodBorder: AppColors.skySoftBorder,
|
|
142
|
+
methodBg: AppColors.skySoftBg,
|
|
143
|
+
methodText: AppColors.skySoftText,
|
|
144
|
+
textColor: AppColors.blue800,
|
|
144
145
|
};
|
|
145
146
|
}
|
|
146
147
|
// Default / Standard console.log
|
|
147
148
|
return {
|
|
148
|
-
border:
|
|
149
|
-
badgeBg:
|
|
150
|
-
badgeText:
|
|
149
|
+
border: AppColors.indigo500,
|
|
150
|
+
badgeBg: AppColors.indigo50,
|
|
151
|
+
badgeText: AppColors.indigo600Alt,
|
|
151
152
|
label: 'LOG',
|
|
152
|
-
cardBg:
|
|
153
|
-
methodBorder:
|
|
154
|
-
methodBg:
|
|
155
|
-
methodText:
|
|
156
|
-
textColor:
|
|
153
|
+
cardBg: AppColors.primaryLight,
|
|
154
|
+
methodBorder: AppColors.dividerColor,
|
|
155
|
+
methodBg: AppColors.indigo50,
|
|
156
|
+
methodText: AppColors.indigo600Alt,
|
|
157
|
+
textColor: AppColors.primaryBlack,
|
|
157
158
|
};
|
|
158
159
|
};
|
|
159
160
|
const colors = getLogColors();
|
|
@@ -198,11 +199,11 @@ export const ConsoleLogCard = React.memo(function ConsoleLogCard({ item, searchS
|
|
|
198
199
|
{jsonContent && (<View style={[
|
|
199
200
|
styles.metaChip,
|
|
200
201
|
{
|
|
201
|
-
backgroundColor:
|
|
202
|
-
borderColor:
|
|
202
|
+
backgroundColor: AppColors.mintGreenBg,
|
|
203
|
+
borderColor: AppColors.mintGreenBorder,
|
|
203
204
|
},
|
|
204
205
|
]}>
|
|
205
|
-
<Text style={[styles.metaChipText, { color:
|
|
206
|
+
<Text style={[styles.metaChipText, { color: AppColors.mintGreenText, fontFamily: AppFonts.interBold }]}>
|
|
206
207
|
{Array.isArray(jsonContent.data)
|
|
207
208
|
? `Array[${jsonContent.data.length}]`
|
|
208
209
|
: `Object{${Object.keys(jsonContent.data).length}}`}
|
|
@@ -39,7 +39,13 @@ const CopyButton = React.memo(({ value, label, iconType = 'copy' }) => {
|
|
|
39
39
|
: iconType === 'fetch'
|
|
40
40
|
? FetchIcon
|
|
41
41
|
: CopyIcon;
|
|
42
|
-
return (<TouchableScale
|
|
42
|
+
return (<TouchableScale accessible={true} accessibilityRole="button" accessibilityLabel={label
|
|
43
|
+
? copied
|
|
44
|
+
? `${label} copied`
|
|
45
|
+
: `Copy ${label}`
|
|
46
|
+
: copied
|
|
47
|
+
? 'Copied to clipboard'
|
|
48
|
+
: 'Copy to clipboard'} accessibilityHint="Double tap to copy, long press to share" onPress={handlePress} onLongPress={handleLongPress} hitSlop={12} style={containerStyle}>
|
|
43
49
|
{copied ? (<CheckIcon color={AppColors.greenColor} size={14}/>) : (<IconComponent color={AppColors.grayTextWeak} size={14}/>)}
|
|
44
50
|
</TouchableScale>);
|
|
45
51
|
});
|