@rozenite/network-activity-plugin 1.0.0-alpha.7 → 1.0.0-alpha.9

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 (96) hide show
  1. package/dist/App.html +2 -2
  2. package/dist/assets/{App-CIflVb88.js → App-CA1Fbh0I.js} +12009 -10809
  3. package/dist/assets/{App-Czu6Vt2P.css → App-DoHQsY5s.css} +43 -0
  4. package/dist/event-source.cjs +22 -0
  5. package/dist/event-source.js +23 -0
  6. package/dist/rozenite.json +1 -1
  7. package/dist/src/react-native/{network-inspector.d.ts → http/network-inspector.d.ts} +1 -1
  8. package/dist/src/react-native/sse/event-source.d.ts +2 -0
  9. package/dist/src/react-native/sse/sse-inspector.d.ts +9 -0
  10. package/dist/src/react-native/sse/sse-interceptor.d.ts +36 -0
  11. package/dist/src/react-native/sse/types.d.ts +6 -0
  12. package/dist/src/react-native/utils.d.ts +6 -0
  13. package/dist/src/react-native/websocket/websocket-inspector.d.ts +9 -0
  14. package/dist/src/react-native/websocket/websocket-interceptor.d.ts +74 -0
  15. package/dist/src/shared/client.d.ts +8 -4
  16. package/dist/src/shared/sse-events.d.ts +35 -0
  17. package/dist/src/shared/websocket-events.d.ts +60 -0
  18. package/dist/src/ui/components/Badge.d.ts +1 -1
  19. package/dist/src/ui/components/Button.d.ts +1 -1
  20. package/dist/src/ui/components/JsonTreeCopyableItem.d.ts +7 -0
  21. package/dist/src/ui/components/RequestList.d.ts +6 -26
  22. package/dist/src/ui/components/SidePanel.d.ts +1 -0
  23. package/dist/src/ui/components/Toolbar.d.ts +1 -0
  24. package/dist/src/ui/hooks/useCopyToClipboard.d.ts +4 -0
  25. package/dist/src/ui/state/derived.d.ts +5 -0
  26. package/dist/src/ui/state/hooks.d.ts +17 -0
  27. package/dist/src/ui/state/model.d.ts +98 -0
  28. package/dist/src/ui/state/store.d.ts +24 -0
  29. package/dist/src/ui/tabs/CookiesTab.d.ts +3 -6
  30. package/dist/src/ui/tabs/HeadersTab.d.ts +3 -15
  31. package/dist/src/ui/tabs/MessagesTab.d.ts +5 -0
  32. package/dist/src/ui/tabs/RequestTab.d.ts +2 -7
  33. package/dist/src/ui/tabs/ResponseTab.d.ts +2 -8
  34. package/dist/src/ui/tabs/SSEMessagesTab.d.ts +5 -0
  35. package/dist/src/ui/tabs/TimingTab.d.ts +3 -5
  36. package/dist/src/ui/types.d.ts +6 -3
  37. package/dist/src/ui/utils/assert.d.ts +1 -0
  38. package/dist/src/ui/utils/copyToClipboard.d.ts +1 -0
  39. package/dist/src/ui/utils/getHttpHeaderValue.d.ts +2 -0
  40. package/dist/src/ui/utils/getId.d.ts +1 -0
  41. package/dist/src/ui/utils/getStatusColor.d.ts +1 -0
  42. package/dist/useNetworkActivityDevTools.cjs +433 -34
  43. package/dist/useNetworkActivityDevTools.js +431 -34
  44. package/package.json +19 -8
  45. package/src/react-native/{network-inspector.ts → http/network-inspector.ts} +14 -32
  46. package/src/react-native/{xml-request.d.ts → http/xml-request.d.ts} +1 -0
  47. package/src/react-native/sse/event-source.ts +25 -0
  48. package/src/react-native/sse/sse-inspector.ts +117 -0
  49. package/src/react-native/sse/sse-interceptor.ts +162 -0
  50. package/src/react-native/sse/types.ts +9 -0
  51. package/src/react-native/useNetworkActivityDevTools.ts +75 -1
  52. package/src/react-native/utils.ts +43 -0
  53. package/src/react-native/websocket/websocket-inspector.ts +180 -0
  54. package/src/react-native/websocket/websocket-interceptor.d.ts +4 -0
  55. package/src/react-native/websocket/websocket-interceptor.ts +166 -0
  56. package/src/shared/client.ts +10 -4
  57. package/src/shared/sse-events.ts +44 -0
  58. package/src/shared/websocket-events.ts +79 -0
  59. package/src/ui/components/Badge.tsx +1 -1
  60. package/src/ui/components/Button.tsx +1 -1
  61. package/src/ui/components/Input.tsx +1 -1
  62. package/src/ui/components/JsonTree.tsx +13 -0
  63. package/src/ui/components/JsonTreeCopyableItem.tsx +33 -0
  64. package/src/ui/components/RequestList.tsx +42 -123
  65. package/src/ui/components/ScrollArea.tsx +1 -1
  66. package/src/ui/components/Separator.tsx +1 -1
  67. package/src/ui/components/SidePanel.tsx +323 -0
  68. package/src/ui/components/Tabs.tsx +2 -2
  69. package/src/ui/components/Toolbar.tsx +45 -0
  70. package/src/ui/hooks/useCopyToClipboard.ts +28 -0
  71. package/src/ui/state/derived.ts +112 -0
  72. package/src/ui/state/hooks.ts +44 -0
  73. package/src/ui/state/model.ts +129 -0
  74. package/src/ui/state/store.ts +559 -0
  75. package/src/ui/tabs/CookiesTab.tsx +168 -179
  76. package/src/ui/tabs/HeadersTab.tsx +24 -31
  77. package/src/ui/tabs/MessagesTab.tsx +276 -0
  78. package/src/ui/tabs/RequestTab.tsx +28 -31
  79. package/src/ui/tabs/ResponseTab.tsx +10 -12
  80. package/src/ui/tabs/SSEMessagesTab.tsx +213 -0
  81. package/src/ui/tabs/TimingTab.tsx +33 -44
  82. package/src/ui/types.ts +6 -2
  83. package/src/ui/utils/assert.ts +5 -0
  84. package/src/ui/utils/copyToClipboard.ts +3 -0
  85. package/src/ui/utils/getHttpHeaderValue.ts +14 -0
  86. package/src/ui/utils/getId.ts +10 -0
  87. package/src/ui/utils/getStatusColor.ts +15 -0
  88. package/src/ui/views/InspectorView.tsx +24 -320
  89. package/tailwind.config.ts +3 -0
  90. package/vite.config.ts +12 -0
  91. /package/dist/src/react-native/{network-requests-registry.d.ts → http/network-requests-registry.d.ts} +0 -0
  92. /package/dist/src/react-native/{xhr-interceptor.d.ts → http/xhr-interceptor.d.ts} +0 -0
  93. /package/dist/src/ui/{utils.d.ts → utils/cn.d.ts} +0 -0
  94. /package/src/react-native/{network-requests-registry.ts → http/network-requests-registry.ts} +0 -0
  95. /package/src/react-native/{xhr-interceptor.ts → http/xhr-interceptor.ts} +0 -0
  96. /package/src/ui/{utils.ts → utils/cn.ts} +0 -0
@@ -0,0 +1,24 @@
1
+ import { NetworkActivityDevToolsClient, NetworkActivityEventMap, RequestId } from '../../shared/client';
2
+ import { NetworkEntry, WebSocketMessage } from './model';
3
+ export interface NetworkActivityState {
4
+ isRecording: boolean;
5
+ selectedRequestId: RequestId | null;
6
+ networkEntries: Map<RequestId, NetworkEntry>;
7
+ websocketMessages: Map<RequestId, WebSocketMessage[]>;
8
+ _unsubscribeFunctions?: Array<{
9
+ remove: () => void;
10
+ }>;
11
+ _client?: NetworkActivityDevToolsClient;
12
+ actions: {
13
+ setRecording: (isRecording: boolean) => void;
14
+ setSelectedRequest: (requestId: RequestId | null) => void;
15
+ clearRequests: () => void;
16
+ };
17
+ handleEvent: <K extends keyof NetworkActivityEventMap>(eventType: K, data: NetworkActivityEventMap[K]) => void;
18
+ client: {
19
+ setupClient: (client: NetworkActivityDevToolsClient) => void;
20
+ cleanupClient: () => void;
21
+ };
22
+ }
23
+ export declare const createNetworkActivityStore: () => import('zustand').StoreApi<NetworkActivityState>;
24
+ export declare const store: import('zustand').StoreApi<NetworkActivityState>;
@@ -1,8 +1,5 @@
1
- import { NetworkEntry } from '../types';
1
+ import { HttpNetworkEntry, SSENetworkEntry } from '../state/model';
2
2
  export type CookiesTabProps = {
3
- selectedRequest: {
4
- id: string;
5
- };
6
- networkEntries: Map<string, NetworkEntry>;
3
+ selectedRequest: HttpNetworkEntry | SSENetworkEntry;
7
4
  };
8
- export declare const CookiesTab: ({ selectedRequest, networkEntries, }: CookiesTabProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const CookiesTab: ({ selectedRequest }: CookiesTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,17 +1,5 @@
1
- import { NetworkEntry } from '../types';
1
+ import { HttpNetworkEntry, SSENetworkEntry } from '../state/model';
2
2
  export type HeadersTabProps = {
3
- selectedRequest: {
4
- id: string;
5
- domain: string;
6
- path: string;
7
- method: string;
8
- status: number;
9
- requestBody?: {
10
- type: string;
11
- data: string;
12
- };
13
- };
14
- networkEntries: Map<string, NetworkEntry>;
15
- getStatusColor: (status: number) => string;
3
+ selectedRequest: HttpNetworkEntry | SSENetworkEntry;
16
4
  };
17
- export declare const HeadersTab: ({ selectedRequest, networkEntries, getStatusColor, }: HeadersTabProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const HeadersTab: ({ selectedRequest }: HeadersTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { WebSocketNetworkEntry } from '../state/model';
2
+ export type MessagesTabProps = {
3
+ selectedRequest: WebSocketNetworkEntry;
4
+ };
5
+ export declare const MessagesTab: ({ selectedRequest }: MessagesTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,5 @@
1
+ import { HttpNetworkEntry, SSENetworkEntry } from '../state/model';
1
2
  export type RequestTabProps = {
2
- selectedRequest: {
3
- method: string;
4
- requestBody?: {
5
- type: string;
6
- data: string;
7
- };
8
- };
3
+ selectedRequest: HttpNetworkEntry | SSENetworkEntry;
9
4
  };
10
5
  export declare const RequestTab: ({ selectedRequest }: RequestTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,6 @@
1
+ import { HttpNetworkEntry } from '../state/model';
1
2
  export type ResponseTabProps = {
2
- selectedRequest: {
3
- id: string;
4
- type: string;
5
- responseBody?: {
6
- type: string;
7
- data: string | null;
8
- };
9
- };
3
+ selectedRequest: HttpNetworkEntry;
10
4
  onRequestResponseBody: (requestId: string) => void;
11
5
  };
12
6
  export declare const ResponseTab: ({ selectedRequest, onRequestResponseBody, }: ResponseTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { SSENetworkEntry } from '../state/model';
2
+ export type SSEMessagesTabProps = {
3
+ selectedRequest: SSENetworkEntry;
4
+ };
5
+ export declare const SSEMessagesTab: ({ selectedRequest }: SSEMessagesTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,5 @@
1
- import { NetworkRequest } from '../components/RequestList';
2
- import { NetworkEntry } from '../types';
1
+ import { HttpNetworkEntry } from '../state/model';
3
2
  export type TimingTabProps = {
4
- selectedRequest: NetworkRequest | null;
5
- networkEntries: Map<string, NetworkEntry>;
3
+ selectedRequest: HttpNetworkEntry;
6
4
  };
7
- export declare const TimingTab: ({ selectedRequest, networkEntries, }: TimingTabProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const TimingTab: ({ selectedRequest }: TimingTabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,13 @@
1
- import { RequestId, Request, Response, Initiator, ResourceType } from '../shared/client';
1
+ import { RequestId, Request, Response, Initiator, ResourceType, HttpHeaders } from '../shared/client';
2
2
  export type NetworkEntry = {
3
3
  requestId: RequestId;
4
4
  url: string;
5
5
  method: string;
6
- headers: Record<string, string>;
7
- postData?: string;
6
+ headers: HttpHeaders;
7
+ body?: {
8
+ type: string;
9
+ data: string;
10
+ };
8
11
  status: 'pending' | 'loading' | 'finished' | 'failed';
9
12
  startTime: number;
10
13
  endTime?: number;
@@ -0,0 +1 @@
1
+ export declare function assert(condition: boolean, message: string): asserts condition;
@@ -0,0 +1 @@
1
+ export declare function copyToClipboard(text: string): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import { HttpHeaders } from '../../shared/client';
2
+ export declare function getHttpHeaderValue(headers: HttpHeaders, name: string): string | undefined;
@@ -0,0 +1 @@
1
+ export declare const getId: (namespace: string) => string;
@@ -0,0 +1 @@
1
+ export declare const getStatusColor: (status: number | string) => string;