rn-backstage 1.0.0 → 1.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.
Files changed (72) hide show
  1. package/README.md +74 -23
  2. package/lib/commonjs/Backstage.js +55 -5
  3. package/lib/commonjs/Backstage.js.map +1 -1
  4. package/lib/commonjs/components/BackstagePanel.js +36 -5
  5. package/lib/commonjs/components/BackstagePanel.js.map +1 -1
  6. package/lib/commonjs/components/FlagsTab.js +255 -0
  7. package/lib/commonjs/components/FlagsTab.js.map +1 -0
  8. package/lib/commonjs/components/NetworkItem.js +537 -0
  9. package/lib/commonjs/components/NetworkItem.js.map +1 -0
  10. package/lib/commonjs/components/NetworkTab.js +274 -0
  11. package/lib/commonjs/components/NetworkTab.js.map +1 -0
  12. package/lib/commonjs/constants.js +11 -3
  13. package/lib/commonjs/constants.js.map +1 -1
  14. package/lib/commonjs/index.js +6 -0
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/log-interceptor.js +8 -1
  17. package/lib/commonjs/log-interceptor.js.map +1 -1
  18. package/lib/commonjs/network-interceptor.js +417 -0
  19. package/lib/commonjs/network-interceptor.js.map +1 -0
  20. package/lib/commonjs/types.js +9 -1
  21. package/lib/commonjs/types.js.map +1 -1
  22. package/lib/module/Backstage.js +56 -6
  23. package/lib/module/Backstage.js.map +1 -1
  24. package/lib/module/components/BackstagePanel.js +36 -5
  25. package/lib/module/components/BackstagePanel.js.map +1 -1
  26. package/lib/module/components/FlagsTab.js +250 -0
  27. package/lib/module/components/FlagsTab.js.map +1 -0
  28. package/lib/module/components/NetworkItem.js +532 -0
  29. package/lib/module/components/NetworkItem.js.map +1 -0
  30. package/lib/module/components/NetworkTab.js +269 -0
  31. package/lib/module/components/NetworkTab.js.map +1 -0
  32. package/lib/module/constants.js +10 -2
  33. package/lib/module/constants.js.map +1 -1
  34. package/lib/module/index.js +1 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/log-interceptor.js +8 -1
  37. package/lib/module/log-interceptor.js.map +1 -1
  38. package/lib/module/network-interceptor.js +409 -0
  39. package/lib/module/network-interceptor.js.map +1 -0
  40. package/lib/module/types.js +10 -0
  41. package/lib/module/types.js.map +1 -1
  42. package/lib/typescript/Backstage.d.ts.map +1 -1
  43. package/lib/typescript/components/BackstagePanel.d.ts +7 -1
  44. package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
  45. package/lib/typescript/components/FlagsTab.d.ts +9 -0
  46. package/lib/typescript/components/FlagsTab.d.ts.map +1 -0
  47. package/lib/typescript/components/NetworkItem.d.ts +9 -0
  48. package/lib/typescript/components/NetworkItem.d.ts.map +1 -0
  49. package/lib/typescript/components/NetworkTab.d.ts +11 -0
  50. package/lib/typescript/components/NetworkTab.d.ts.map +1 -0
  51. package/lib/typescript/constants.d.ts +8 -0
  52. package/lib/typescript/constants.d.ts.map +1 -1
  53. package/lib/typescript/index.d.ts +2 -2
  54. package/lib/typescript/index.d.ts.map +1 -1
  55. package/lib/typescript/log-interceptor.d.ts +3 -1
  56. package/lib/typescript/log-interceptor.d.ts.map +1 -1
  57. package/lib/typescript/network-interceptor.d.ts +35 -0
  58. package/lib/typescript/network-interceptor.d.ts.map +1 -0
  59. package/lib/typescript/types.d.ts +46 -0
  60. package/lib/typescript/types.d.ts.map +1 -1
  61. package/package.json +1 -1
  62. package/src/Backstage.tsx +64 -6
  63. package/src/components/BackstagePanel.tsx +46 -5
  64. package/src/components/FlagsTab.tsx +249 -0
  65. package/src/components/InfoTab.tsx +1 -1
  66. package/src/components/NetworkItem.tsx +536 -0
  67. package/src/components/NetworkTab.tsx +274 -0
  68. package/src/constants.ts +11 -2
  69. package/src/index.ts +3 -1
  70. package/src/log-interceptor.ts +12 -1
  71. package/src/network-interceptor.ts +468 -0
  72. package/src/types.ts +60 -0
@@ -6,20 +6,32 @@ import { DarkTheme, MonospaceFont, TestIDs } from '../constants';
6
6
  import { TabBar } from './TabBar';
7
7
  import { InfoTab } from './InfoTab';
8
8
  import { LogsTab } from './LogsTab';
9
+ import { NetworkTab } from './NetworkTab';
10
+ import { FlagsTab } from './FlagsTab';
9
11
 
10
12
  // ─── Types ───────────────────────────────────────────────────────────────────
11
13
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
12
- // ─── Built-in Tab Definitions ────────────────────────────────────────────────
14
+ // ─── Built-in Tab Definitions ────────────────────────────────────────────
13
15
 
14
- const BUILT_IN_TABS = [{
16
+ const ALWAYS_ON_TABS = [{
15
17
  key: 'info',
16
18
  title: 'Info',
17
19
  icon: 'ℹ️'
18
20
  }, {
21
+ key: 'network',
22
+ title: 'Network',
23
+ icon: '🌐'
24
+ }];
25
+ const FLAGS_TAB = {
26
+ key: 'flags',
27
+ title: 'Flags',
28
+ icon: '🎚'
29
+ };
30
+ const LOGS_TAB = {
19
31
  key: 'logs',
20
32
  title: 'Logs',
21
33
  icon: '📋'
22
- }];
34
+ };
23
35
 
24
36
  // ─── Component ───────────────────────────────────────────────────────────────
25
37
 
@@ -32,17 +44,24 @@ export const BackstagePanel = ({
32
44
  deviceInfo,
33
45
  state,
34
46
  quickActions,
47
+ featureFlags,
48
+ onToggleFeatureFlag,
35
49
  logs,
36
50
  onRefreshLogs,
37
51
  onCopyLogs,
52
+ networkEntries,
53
+ onRefreshNetwork,
54
+ onClearNetwork,
55
+ onCopyNetwork,
38
56
  extraTabs = [],
39
57
  styles: propStyles,
40
58
  children
41
59
  }) => {
42
60
  const [activeTab, setActiveTab] = useState('info');
43
61
 
44
- // Compose all tabs: built-in + extra
45
- const allTabs = [...BUILT_IN_TABS, ...extraTabs.map(t => ({
62
+ // Compose all tabs: built-in (conditionally including Flags) + extra
63
+ const hasFlags = featureFlags && featureFlags.length > 0;
64
+ const allTabs = [...ALWAYS_ON_TABS, ...(hasFlags ? [FLAGS_TAB] : []), LOGS_TAB, ...extraTabs.map(t => ({
46
65
  key: t.key,
47
66
  title: t.title,
48
67
  icon: t.icon
@@ -63,6 +82,18 @@ export const BackstagePanel = ({
63
82
  styles: propStyles,
64
83
  children: children
65
84
  });
85
+ case 'flags':
86
+ return /*#__PURE__*/_jsx(FlagsTab, {
87
+ flags: featureFlags ?? [],
88
+ onToggle: onToggleFeatureFlag
89
+ });
90
+ case 'network':
91
+ return /*#__PURE__*/_jsx(NetworkTab, {
92
+ entries: networkEntries,
93
+ onRefresh: onRefreshNetwork,
94
+ onClear: onClearNetwork,
95
+ onCopy: onCopyNetwork
96
+ });
66
97
  case 'logs':
67
98
  return /*#__PURE__*/_jsx(LogsTab, {
68
99
  logs: logs,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Modal","SafeAreaView","StatusBar","StyleSheet","Text","TouchableOpacity","View","DarkTheme","MonospaceFont","TestIDs","TabBar","InfoTab","LogsTab","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","BUILT_IN_TABS","key","title","icon","BackstagePanel","visible","onClose","appVersion","buildNumber","bundleId","deviceInfo","state","quickActions","logs","onRefreshLogs","onCopyLogs","extraTabs","styles","propStyles","children","activeTab","setActiveTab","allTabs","map","t","renderTabContent","onClosePanel","onRefresh","extraTab","find","render","testID","panel","animationType","transparent","onRequestClose","statusBarTranslucent","barStyle","backgroundColor","background","style","safeArea","panelStyle","header","headerLeft","headerBrand","headerTitle","headerTitleStyle","closeButton","onPress","activeOpacity","hitSlop","top","bottom","left","right","closeButtonText","tabs","onTabChange","content","create","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","fontSize","marginRight","fontFamily","fontWeight","color","text","letterSpacing","width","height","borderRadius","surfaceElevated","borderWidth","borderColor","textSecondary"],"sourceRoot":"../../../src","sources":["components/BackstagePanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","Modal","SafeAreaView","StatusBar","StyleSheet","Text","TouchableOpacity","View","DarkTheme","MonospaceFont","TestIDs","TabBar","InfoTab","LogsTab","NetworkTab","FlagsTab","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALWAYS_ON_TABS","key","title","icon","FLAGS_TAB","LOGS_TAB","BackstagePanel","visible","onClose","appVersion","buildNumber","bundleId","deviceInfo","state","quickActions","featureFlags","onToggleFeatureFlag","logs","onRefreshLogs","onCopyLogs","networkEntries","onRefreshNetwork","onClearNetwork","onCopyNetwork","extraTabs","styles","propStyles","children","activeTab","setActiveTab","hasFlags","length","allTabs","map","t","renderTabContent","onClosePanel","flags","onToggle","entries","onRefresh","onClear","onCopy","extraTab","find","render","testID","panel","animationType","transparent","onRequestClose","statusBarTranslucent","barStyle","backgroundColor","background","style","safeArea","panelStyle","header","headerLeft","headerBrand","headerTitle","headerTitleStyle","closeButton","onPress","activeOpacity","hitSlop","top","bottom","left","right","closeButtonText","tabs","onTabChange","content","create","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","fontSize","marginRight","fontFamily","fontWeight","color","text","letterSpacing","width","height","borderRadius","surfaceElevated","borderWidth","borderColor","textSecondary"],"sourceRoot":"../../../src","sources":["components/BackstagePanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo, useState } from 'react';
4
+ import { ScrollView, StyleSheet, Switch, Text, TextInput, View } from 'react-native';
5
+ import { DarkTheme, MonospaceFont } from '../constants';
6
+
7
+ // ─── Types ───────────────────────────────────────────────────────────────────
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ // ─── Component ───────────────────────────────────────────────────────────────
10
+
11
+ export const FlagsTab = ({
12
+ flags,
13
+ onToggle
14
+ }) => {
15
+ const [searchText, setSearchText] = useState('');
16
+ const filteredFlags = useMemo(() => {
17
+ if (!searchText.trim()) return flags;
18
+ const query = searchText.toLowerCase();
19
+ return flags.filter(f => f.label.toLowerCase().includes(query) || f.key.toLowerCase().includes(query) || f.description && f.description.toLowerCase().includes(query));
20
+ }, [flags, searchText]);
21
+
22
+ // Stats
23
+ const enabledCount = flags.filter(f => f.value).length;
24
+ return /*#__PURE__*/_jsxs(View, {
25
+ style: styles.container,
26
+ children: [/*#__PURE__*/_jsx(View, {
27
+ style: styles.searchContainer,
28
+ children: /*#__PURE__*/_jsxs(View, {
29
+ style: styles.searchInputWrapper,
30
+ children: [/*#__PURE__*/_jsx(Text, {
31
+ style: styles.searchIcon,
32
+ children: "\u2315"
33
+ }), /*#__PURE__*/_jsx(TextInput, {
34
+ style: styles.searchInput,
35
+ placeholder: "Filter flags...",
36
+ placeholderTextColor: DarkTheme.textMuted,
37
+ value: searchText,
38
+ onChangeText: setSearchText,
39
+ autoCapitalize: "none",
40
+ autoCorrect: false,
41
+ clearButtonMode: "while-editing",
42
+ returnKeyType: "search"
43
+ })]
44
+ })
45
+ }), /*#__PURE__*/_jsxs(View, {
46
+ style: styles.statsBar,
47
+ children: [/*#__PURE__*/_jsx(Text, {
48
+ style: styles.statText,
49
+ children: filteredFlags.length === flags.length ? `${flags.length} flag${flags.length !== 1 ? 's' : ''}` : `${filteredFlags.length} of ${flags.length}`
50
+ }), /*#__PURE__*/_jsxs(Text, {
51
+ style: styles.statText,
52
+ children: [/*#__PURE__*/_jsxs(Text, {
53
+ style: styles.statEnabled,
54
+ children: [enabledCount, " on"]
55
+ }), ' · ', /*#__PURE__*/_jsxs(Text, {
56
+ style: styles.statDisabled,
57
+ children: [flags.length - enabledCount, " off"]
58
+ })]
59
+ })]
60
+ }), /*#__PURE__*/_jsx(ScrollView, {
61
+ style: styles.list,
62
+ contentContainerStyle: filteredFlags.length === 0 ? styles.emptyContainer : styles.listContent,
63
+ showsVerticalScrollIndicator: false,
64
+ children: filteredFlags.length === 0 ? /*#__PURE__*/_jsxs(View, {
65
+ style: styles.emptyState,
66
+ children: [/*#__PURE__*/_jsx(Text, {
67
+ style: styles.emptyIcon,
68
+ children: "\uD83C\uDF9A"
69
+ }), /*#__PURE__*/_jsx(Text, {
70
+ style: styles.emptyTitle,
71
+ children: "No flags match"
72
+ }), /*#__PURE__*/_jsx(Text, {
73
+ style: styles.emptySubtitle,
74
+ children: "Try adjusting your search"
75
+ })]
76
+ }) : filteredFlags.map((flag, index) => /*#__PURE__*/_jsxs(View, {
77
+ children: [/*#__PURE__*/_jsxs(View, {
78
+ style: styles.flagRow,
79
+ children: [/*#__PURE__*/_jsxs(View, {
80
+ style: styles.flagInfo,
81
+ children: [/*#__PURE__*/_jsxs(View, {
82
+ style: styles.flagHeader,
83
+ children: [/*#__PURE__*/_jsx(Text, {
84
+ style: styles.flagLabel,
85
+ children: flag.label
86
+ }), /*#__PURE__*/_jsx(Text, {
87
+ style: [styles.flagKey, flag.value && styles.flagKeyActive],
88
+ children: flag.key
89
+ })]
90
+ }), flag.description && /*#__PURE__*/_jsx(Text, {
91
+ style: styles.flagDescription,
92
+ children: flag.description
93
+ })]
94
+ }), /*#__PURE__*/_jsx(Switch, {
95
+ testID: `backstage.flag.${flag.key}`,
96
+ value: flag.value,
97
+ onValueChange: newValue => onToggle?.(flag.key, newValue),
98
+ trackColor: {
99
+ false: DarkTheme.border,
100
+ true: DarkTheme.accent
101
+ },
102
+ thumbColor: flag.value ? '#FFFFFF' : DarkTheme.textMuted,
103
+ ios_backgroundColor: DarkTheme.border
104
+ })]
105
+ }), index < filteredFlags.length - 1 && /*#__PURE__*/_jsx(View, {
106
+ style: styles.divider
107
+ })]
108
+ }, flag.key))
109
+ })]
110
+ });
111
+ };
112
+
113
+ // ─── Styles ──────────────────────────────────────────────────────────────────
114
+
115
+ const styles = StyleSheet.create({
116
+ container: {
117
+ flex: 1
118
+ },
119
+ searchContainer: {
120
+ paddingHorizontal: 14,
121
+ paddingVertical: 10,
122
+ borderBottomWidth: 1,
123
+ borderBottomColor: DarkTheme.border
124
+ },
125
+ searchInputWrapper: {
126
+ flexDirection: 'row',
127
+ alignItems: 'center',
128
+ backgroundColor: DarkTheme.surfaceElevated,
129
+ borderRadius: 10,
130
+ borderWidth: 1,
131
+ borderColor: DarkTheme.border,
132
+ paddingHorizontal: 12,
133
+ height: 38
134
+ },
135
+ searchIcon: {
136
+ fontSize: 16,
137
+ color: DarkTheme.textMuted,
138
+ marginRight: 8
139
+ },
140
+ searchInput: {
141
+ flex: 1,
142
+ fontFamily: MonospaceFont,
143
+ fontSize: 13,
144
+ color: DarkTheme.text,
145
+ padding: 0
146
+ },
147
+ statsBar: {
148
+ flexDirection: 'row',
149
+ justifyContent: 'space-between',
150
+ alignItems: 'center',
151
+ paddingHorizontal: 16,
152
+ paddingVertical: 6,
153
+ backgroundColor: DarkTheme.surface
154
+ },
155
+ statText: {
156
+ fontFamily: MonospaceFont,
157
+ fontSize: 11,
158
+ color: DarkTheme.textMuted
159
+ },
160
+ statEnabled: {
161
+ color: DarkTheme.success,
162
+ fontWeight: '700'
163
+ },
164
+ statDisabled: {
165
+ color: DarkTheme.textMuted
166
+ },
167
+ list: {
168
+ flex: 1
169
+ },
170
+ listContent: {
171
+ paddingHorizontal: 16,
172
+ paddingVertical: 8
173
+ },
174
+ emptyContainer: {
175
+ flex: 1,
176
+ justifyContent: 'center'
177
+ },
178
+ emptyState: {
179
+ alignItems: 'center',
180
+ justifyContent: 'center',
181
+ padding: 40
182
+ },
183
+ emptyIcon: {
184
+ fontSize: 48,
185
+ marginBottom: 16,
186
+ opacity: 0.5
187
+ },
188
+ emptyTitle: {
189
+ fontFamily: MonospaceFont,
190
+ fontSize: 16,
191
+ fontWeight: '700',
192
+ color: DarkTheme.textSecondary,
193
+ marginBottom: 8
194
+ },
195
+ emptySubtitle: {
196
+ fontFamily: MonospaceFont,
197
+ fontSize: 13,
198
+ color: DarkTheme.textMuted,
199
+ textAlign: 'center'
200
+ },
201
+ flagRow: {
202
+ flexDirection: 'row',
203
+ justifyContent: 'space-between',
204
+ alignItems: 'center',
205
+ paddingVertical: 14,
206
+ paddingHorizontal: 4
207
+ },
208
+ flagInfo: {
209
+ flex: 1,
210
+ marginRight: 16
211
+ },
212
+ flagHeader: {
213
+ flexDirection: 'row',
214
+ alignItems: 'center',
215
+ gap: 8
216
+ },
217
+ flagLabel: {
218
+ fontFamily: MonospaceFont,
219
+ fontSize: 14,
220
+ color: DarkTheme.text,
221
+ fontWeight: '600'
222
+ },
223
+ flagKey: {
224
+ fontFamily: MonospaceFont,
225
+ fontSize: 10,
226
+ color: DarkTheme.textMuted,
227
+ backgroundColor: DarkTheme.surfaceElevated,
228
+ borderRadius: 4,
229
+ paddingHorizontal: 6,
230
+ paddingVertical: 1,
231
+ overflow: 'hidden'
232
+ },
233
+ flagKeyActive: {
234
+ color: DarkTheme.accent,
235
+ backgroundColor: DarkTheme.accentDim
236
+ },
237
+ flagDescription: {
238
+ fontFamily: MonospaceFont,
239
+ fontSize: 12,
240
+ color: DarkTheme.textMuted,
241
+ marginTop: 4,
242
+ lineHeight: 18
243
+ },
244
+ divider: {
245
+ height: 1,
246
+ backgroundColor: DarkTheme.border,
247
+ marginHorizontal: 4
248
+ }
249
+ });
250
+ //# sourceMappingURL=FlagsTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useState","ScrollView","StyleSheet","Switch","Text","TextInput","View","DarkTheme","MonospaceFont","jsx","_jsx","jsxs","_jsxs","FlagsTab","flags","onToggle","searchText","setSearchText","filteredFlags","trim","query","toLowerCase","filter","f","label","includes","key","description","enabledCount","value","length","style","styles","container","children","searchContainer","searchInputWrapper","searchIcon","searchInput","placeholder","placeholderTextColor","textMuted","onChangeText","autoCapitalize","autoCorrect","clearButtonMode","returnKeyType","statsBar","statText","statEnabled","statDisabled","list","contentContainerStyle","emptyContainer","listContent","showsVerticalScrollIndicator","emptyState","emptyIcon","emptyTitle","emptySubtitle","map","flag","index","flagRow","flagInfo","flagHeader","flagLabel","flagKey","flagKeyActive","flagDescription","testID","onValueChange","newValue","trackColor","false","border","true","accent","thumbColor","ios_backgroundColor","divider","create","flex","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","flexDirection","alignItems","backgroundColor","surfaceElevated","borderRadius","borderWidth","borderColor","height","fontSize","color","marginRight","fontFamily","text","padding","justifyContent","surface","success","fontWeight","marginBottom","opacity","textSecondary","textAlign","gap","overflow","accentDim","marginTop","lineHeight","marginHorizontal"],"sourceRoot":"../../../src","sources":["components/FlagsTab.tsx"],"mappings":"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","ignoreList":[]}