react-native-inapp-inspector 1.1.20 → 1.1.22

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 (66) hide show
  1. package/README.md +34 -10
  2. package/dist/commonjs/components/AnalyticsDetail.js +5 -3
  3. package/dist/commonjs/components/AnalyticsEventCard.d.ts +0 -1
  4. package/dist/commonjs/components/AnalyticsEventCard.js +85 -96
  5. package/dist/commonjs/components/ConsoleLogCard.js +2 -2
  6. package/dist/commonjs/components/DiffViewer.js +2 -2
  7. package/dist/commonjs/components/HeadersSection.js +2 -2
  8. package/dist/commonjs/components/Inspector/BundleTab.js +488 -653
  9. package/dist/commonjs/components/Inspector/ConsoleTab.js +2 -2
  10. package/dist/commonjs/components/Inspector/LogDetail.js +2 -2
  11. package/dist/commonjs/components/Inspector/NetworkDetail.js +2 -2
  12. package/dist/commonjs/components/Inspector/PerformanceTab.js +185 -244
  13. package/dist/commonjs/components/Inspector/ReduxDetail.js +4 -4
  14. package/dist/commonjs/components/Inspector/ReduxTab.js +3 -3
  15. package/dist/commonjs/components/JsonViewer.js +2 -2
  16. package/dist/commonjs/components/LogCard.js +2 -2
  17. package/dist/commonjs/components/MetaAccordion.js +2 -2
  18. package/dist/commonjs/constants/version.d.ts +1 -1
  19. package/dist/commonjs/constants/version.js +1 -1
  20. package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +115 -0
  21. package/dist/commonjs/customHooks/bundleAnalyzer.js +561 -0
  22. package/dist/commonjs/customHooks/performanceTracker.d.ts +84 -0
  23. package/dist/commonjs/customHooks/performanceTracker.js +541 -0
  24. package/dist/commonjs/helpers/index.d.ts +15 -0
  25. package/dist/commonjs/helpers/index.js +112 -1
  26. package/dist/commonjs/i18n/index.d.ts +27 -1
  27. package/dist/commonjs/i18n/index.js +66 -21
  28. package/dist/commonjs/i18n/locales/en.json +225 -2
  29. package/dist/commonjs/index.d.ts +2 -1
  30. package/dist/commonjs/index.js +8 -4
  31. package/dist/commonjs/styles/AppColors.d.ts +110 -0
  32. package/dist/commonjs/styles/AppColors.js +114 -0
  33. package/dist/commonjs/types/interfaces.d.ts +1 -0
  34. package/dist/esm/components/AnalyticsDetail.js +5 -3
  35. package/dist/esm/components/AnalyticsEventCard.d.ts +0 -1
  36. package/dist/esm/components/AnalyticsEventCard.js +85 -95
  37. package/dist/esm/components/ConsoleLogCard.js +1 -1
  38. package/dist/esm/components/DiffViewer.js +1 -1
  39. package/dist/esm/components/HeadersSection.js +1 -1
  40. package/dist/esm/components/Inspector/BundleTab.js +489 -654
  41. package/dist/esm/components/Inspector/ConsoleTab.js +1 -1
  42. package/dist/esm/components/Inspector/LogDetail.js +1 -1
  43. package/dist/esm/components/Inspector/NetworkDetail.js +1 -1
  44. package/dist/esm/components/Inspector/PerformanceTab.js +185 -244
  45. package/dist/esm/components/Inspector/ReduxDetail.js +3 -3
  46. package/dist/esm/components/Inspector/ReduxTab.js +3 -3
  47. package/dist/esm/components/JsonViewer.js +1 -1
  48. package/dist/esm/components/LogCard.js +1 -1
  49. package/dist/esm/components/MetaAccordion.js +1 -1
  50. package/dist/esm/constants/version.d.ts +1 -1
  51. package/dist/esm/constants/version.js +1 -1
  52. package/dist/esm/customHooks/bundleAnalyzer.d.ts +115 -0
  53. package/dist/esm/customHooks/bundleAnalyzer.js +554 -0
  54. package/dist/esm/customHooks/performanceTracker.d.ts +84 -0
  55. package/dist/esm/customHooks/performanceTracker.js +537 -0
  56. package/dist/esm/helpers/index.d.ts +15 -0
  57. package/dist/esm/helpers/index.js +107 -0
  58. package/dist/esm/i18n/index.d.ts +27 -1
  59. package/dist/esm/i18n/index.js +61 -20
  60. package/dist/esm/i18n/locales/en.json +225 -2
  61. package/dist/esm/index.d.ts +2 -1
  62. package/dist/esm/index.js +6 -2
  63. package/dist/esm/styles/AppColors.d.ts +110 -0
  64. package/dist/esm/styles/AppColors.js +114 -0
  65. package/dist/esm/types/interfaces.d.ts +1 -0
  66. package/package.json +35 -13
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const react_1 = __importStar(require("react"));
40
40
  const react_native_1 = require("react-native");
41
- const react_i18next_1 = require("react-i18next");
41
+ const i18n_1 = require("../../i18n");
42
42
  const InspectorContext_1 = require("./InspectorContext");
43
43
  const SegmentedTabs_1 = __importDefault(require("../SegmentedTabs"));
44
44
  const JsonViewer_1 = __importDefault(require("../JsonViewer"));
@@ -54,7 +54,7 @@ const AppColors_1 = require("../../styles/AppColors");
54
54
  const AppFonts_1 = require("../../styles/AppFonts");
55
55
  const NetworkIcons_1 = require("../NetworkIcons");
56
56
  const ReduxDetail = react_1.default.memo(() => {
57
- const { t } = (0, react_i18next_1.useTranslation)();
57
+ const { t } = (0, i18n_1.useTranslation)();
58
58
  const { reduxState, reduxLastActionMap, selectedReduxSlice, selectedReduxAction, setSelectedReduxSlice, setSelectedReduxAction, } = (0, InspectorContext_1.useInspector)();
59
59
  // Search filter within details
60
60
  const [detailSearch, setDetailSearch] = (0, react_1.useState)('');
@@ -370,7 +370,7 @@ const reduxDetailStyles = react_native_1.StyleSheet.create({
370
370
  paddingVertical: 2,
371
371
  borderRadius: 4,
372
372
  borderWidth: 1,
373
- borderColor: '#A7F3D0',
373
+ borderColor: AppColors_1.AppColors.emeraldBorder,
374
374
  },
375
375
  persistedChipText: {
376
376
  fontFamily: AppFonts_1.AppFonts.interBold,
@@ -541,7 +541,7 @@ const reduxDetailStyles = react_native_1.StyleSheet.create({
541
541
  alignItems: 'center',
542
542
  justifyContent: 'center',
543
543
  gap: 6,
544
- backgroundColor: '#FEF2F2',
544
+ backgroundColor: AppColors_1.AppColors.errorCardBg,
545
545
  borderWidth: 1,
546
546
  borderColor: '#FEE2E2',
547
547
  borderRadius: 8,
@@ -409,18 +409,18 @@ const reduxTabStyles = react_native_1.StyleSheet.create({
409
409
  flexDirection: 'row',
410
410
  alignItems: 'center',
411
411
  gap: 4,
412
- backgroundColor: '#ECFDF5',
412
+ backgroundColor: AppColors_1.AppColors.emeraldBg,
413
413
  paddingHorizontal: 6,
414
414
  paddingVertical: 3,
415
415
  borderRadius: 5,
416
416
  borderWidth: 1,
417
- borderColor: '#A7F3D0',
417
+ borderColor: AppColors_1.AppColors.emeraldBorder,
418
418
  },
419
419
  liveDot: {
420
420
  width: 6,
421
421
  height: 6,
422
422
  borderRadius: 3,
423
- backgroundColor: '#10B981',
423
+ backgroundColor: AppColors_1.AppColors.emerald500,
424
424
  },
425
425
  livePillText: {
426
426
  fontFamily: AppFonts_1.AppFonts.interBold,
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const react_1 = __importStar(require("react"));
40
40
  const react_native_1 = require("react-native");
41
- const react_i18next_1 = require("react-i18next");
41
+ const i18n_1 = require("../i18n");
42
42
  // Components
43
43
  const TreeNode_1 = __importDefault(require("./TreeNode"));
44
44
  const SegmentedTabs_1 = __importDefault(require("./SegmentedTabs"));
@@ -94,7 +94,7 @@ const JsonTableRow = react_1.default.memo(({ itemKey, val, search, }) => {
94
94
  });
95
95
  // ── JsonViewer Component ─────────────────────────────────────────────────────
96
96
  const JsonViewer = react_1.default.memo(({ data, search, forceOpen, defaultExpandDepth, wrap, fullHeight = false, maxHeight, mode: externalMode, onModeChange, hideTabs = false, }) => {
97
- const { t } = (0, react_i18next_1.useTranslation)();
97
+ const { t } = (0, i18n_1.useTranslation)();
98
98
  const [internalMode, setInternalMode] = (0, react_1.useState)('pretty');
99
99
  const mode = externalMode ?? internalMode;
100
100
  const setMode = (newMode) => {
@@ -46,9 +46,9 @@ const NetworkIcons_1 = require("./NetworkIcons");
46
46
  const styles_1 = __importDefault(require("../styles"));
47
47
  const HighlightText_1 = __importDefault(require("./HighlightText"));
48
48
  const TouchableScale_1 = __importDefault(require("./TouchableScale"));
49
- const react_i18next_1 = require("react-i18next");
49
+ const i18n_1 = require("../i18n");
50
50
  const LogCard = react_1.default.memo(function LogCard({ item, onPress, timelineMinStart, timelineTotalRange, isNew, isSelected, onToggleSelect, searchStr, }) {
51
- const { t } = (0, react_i18next_1.useTranslation)();
51
+ const { t } = (0, i18n_1.useTranslation)();
52
52
  const methodColor = constants_1.METHOD_COLORS[item.method] ?? constants_1.METHOD_COLORS.ALL;
53
53
  const isFailed = item.status === 0 || (item.status != null && item.status >= 400);
54
54
  const isLoading = item.status == null;
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const react_1 = __importStar(require("react"));
40
- const react_i18next_1 = require("react-i18next");
40
+ const i18n_1 = require("../i18n");
41
41
  const react_native_1 = require("react-native");
42
42
  // Constants
43
43
  const constants_1 = require("../constants");
@@ -54,7 +54,7 @@ const AppColors_1 = require("../styles/AppColors");
54
54
  const AppFonts_1 = require("../styles/AppFonts");
55
55
  const styles_1 = __importDefault(require("../styles"));
56
56
  const MetaAccordion = ({ status, statusColor, duration, size, triggeredAt, method, contentType, url, }) => {
57
- const { t } = (0, react_i18next_1.useTranslation)();
57
+ const { t } = (0, i18n_1.useTranslation)();
58
58
  const [urlExpanded, setUrlExpanded] = (0, react_1.useState)(false);
59
59
  const { toggleOpen, chevronStyle, bodyStyle } = (0, useAccordion_1.default)(true, 800, 390);
60
60
  const isFailed = status === 0 || status == null;
@@ -1 +1 @@
1
- export declare const LIB_VERSION = "1.1.20";
1
+ export declare const LIB_VERSION = "1.1.22";
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LIB_VERSION = void 0;
4
4
  // AUTO-GENERATED FILE — do not edit by hand.
5
5
  // Regenerated from package.json on every build by scripts/gen-version.js.
6
- exports.LIB_VERSION = '1.1.20';
6
+ exports.LIB_VERSION = '1.1.22';
@@ -0,0 +1,115 @@
1
+ export type FileTypeCategory = 'image' | 'typescript' | 'javascript' | 'font' | 'json';
2
+ export interface HostBundleFileItem {
3
+ id: string;
4
+ name: string;
5
+ path: string;
6
+ ext: string;
7
+ category: FileTypeCategory;
8
+ sizeKb: number;
9
+ meta: string;
10
+ color: string;
11
+ status?: 'optimal' | 'warning' | 'info';
12
+ advice?: string;
13
+ isConsumed?: boolean;
14
+ previewUri?: string;
15
+ }
16
+ export interface HostBundlePackageItem {
17
+ id: string;
18
+ name: string;
19
+ version: string;
20
+ latestVersion?: string;
21
+ sizeKb: number;
22
+ percentage: number;
23
+ type: 'direct' | 'peer' | 'transitive';
24
+ isDirectDefined?: boolean;
25
+ parentPackageName?: string;
26
+ subpackages?: HostBundlePackageItem[];
27
+ category: 'core' | 'navigation' | 'network' | 'ui' | 'utils';
28
+ color: string;
29
+ description: string;
30
+ npmUrl?: string;
31
+ isDeprecated?: boolean;
32
+ deprecationReason?: string;
33
+ lastActive?: string;
34
+ }
35
+ export interface HostBinaryComponentItem {
36
+ id: string;
37
+ name: string;
38
+ category: 'js' | 'native' | 'frameworks' | 'assets' | 'meta';
39
+ sizeMb: number;
40
+ pct: number;
41
+ color: string;
42
+ description: string;
43
+ advice: string;
44
+ }
45
+ export interface HostBundleAnalysisResult {
46
+ isLive: boolean;
47
+ scriptURL: string;
48
+ totalDevBytes: number;
49
+ totalDevMb: number;
50
+ totalDevKb: number;
51
+ isHermes: boolean;
52
+ moduleCount: number;
53
+ packageCount: number;
54
+ filesCount: number;
55
+ splitUp: {
56
+ appSource: {
57
+ kb: number;
58
+ mb: number;
59
+ pct: number;
60
+ };
61
+ nodeModules: {
62
+ kb: number;
63
+ mb: number;
64
+ pct: number;
65
+ };
66
+ assetsMedia: {
67
+ kb: number;
68
+ mb: number;
69
+ pct: number;
70
+ };
71
+ metroDevOverhead: {
72
+ kb: number;
73
+ mb: number;
74
+ pct: number;
75
+ };
76
+ };
77
+ files: HostBundleFileItem[];
78
+ packages: HostBundlePackageItem[];
79
+ production: {
80
+ ios: {
81
+ totalInstallMb: number;
82
+ totalDownloadMb: number;
83
+ compressionRatioPct: number;
84
+ components: HostBinaryComponentItem[];
85
+ };
86
+ androidAab: {
87
+ totalInstallMb: number;
88
+ totalDownloadMb: number;
89
+ compressionRatioPct: number;
90
+ components: HostBinaryComponentItem[];
91
+ };
92
+ androidApk: {
93
+ totalInstallMb: number;
94
+ totalDownloadMb: number;
95
+ compressionRatioPct: number;
96
+ components: HostBinaryComponentItem[];
97
+ };
98
+ android: {
99
+ totalInstallMb: number;
100
+ totalDownloadMb: number;
101
+ compressionRatioPct: number;
102
+ components: HostBinaryComponentItem[];
103
+ };
104
+ };
105
+ }
106
+ export declare const getHostScriptURL: () => string;
107
+ /**
108
+ * Parses raw Metro bundle source code to discover real modules and packages in the host app.
109
+ */
110
+ export declare const parseBundleSource: (bundleText: string, totalBytes: number, scriptURL: string) => HostBundleAnalysisResult;
111
+ /**
112
+ * Automatically fetch and analyze the real running bundle for the host app.
113
+ */
114
+ export declare const analyzeHostAppBundle: () => Promise<HostBundleAnalysisResult>;
115
+ export declare const getCachedBundleAnalysis: () => HostBundleAnalysisResult | null;