redux-connected-devtools 1.0.2 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. package/dist/components/DevInspector/DevInspector.js +12 -0
  2. package/{src/components/DevInspector/DevInspector.style.tsx → dist/components/DevInspector/DevInspector.style.js} +1 -3
  3. package/dist/components/DevList/DevList.js +24 -0
  4. package/{src/components/DevList/DevList.style.tsx → dist/components/DevList/DevList.style.js} +2 -4
  5. package/dist/components/DevMenu/DevMenu.js +25 -0
  6. package/{src/components/DevMenu/DevMenu.style.tsx → dist/components/DevMenu/DevMenu.style.js} +15 -19
  7. package/dist/components/DevPanel/DevPanel.js +38 -0
  8. package/dist/components/DevPanel/DevPanel.style.js +22 -0
  9. package/dist/components/DevtoolsApp/DevtoolsApp.js +17 -0
  10. package/dist/components/DevtoolsApp/DevtoolsApp.style.js +11 -0
  11. package/dist/components/Icon/AllIcons.js +18 -0
  12. package/dist/components/Icon/Icon.js +9 -0
  13. package/dist/components/Icon/Icon.style.js +10 -0
  14. package/{src/components/JourneyRow/JourneyRow.tsx → dist/components/JourneyRow/JourneyRow.js} +9 -32
  15. package/{src/components/JourneyRow/JourneyRow.style.tsx → dist/components/JourneyRow/JourneyRow.style.js} +7 -12
  16. package/dist/components/JsonViewer/JsonViewer.js +7 -0
  17. package/{src/components/JsonViewer/JsonViewer.style.tsx → dist/components/JsonViewer/JsonViewer.style.js} +1 -2
  18. package/dist/components/Lifecycle/Lifecycle.js +15 -0
  19. package/{src/components/Lifecycle/Lifecycle.style.tsx → dist/components/Lifecycle/Lifecycle.style.js} +1 -2
  20. package/dist/components/RequestDetails/RequestDetails.js +10 -0
  21. package/dist/components/RequestDetails/RequestDetails.style.js +16 -0
  22. package/dist/components/RequestJourney/RequestJourney.js +14 -0
  23. package/dist/components/RequestJourney/RequestJourney.style.js +26 -0
  24. package/dist/components/RequestRow/RequestRow.js +9 -0
  25. package/{src/components/RequestRow/RequestRow.style.tsx → dist/components/RequestRow/RequestRow.style.js} +6 -10
  26. package/dist/components/Size/Size.js +10 -0
  27. package/dist/components/Size/Size.style.js +5 -0
  28. package/{src/components/Time/Time.tsx → dist/components/Time/Time.js} +3 -17
  29. package/{src/components/Time/Time.style.tsx → dist/components/Time/Time.style.js} +4 -7
  30. package/dist/containers/DevMenuContainer.js +11 -0
  31. package/dist/containers/DevPanelContainer.js +6 -0
  32. package/dist/containers/DevtoolsAppContainer.js +24 -0
  33. package/{src/containers/EndpointConfigsContainer.tsx → dist/containers/EndpointConfigsContainer.js} +2 -5
  34. package/{src/containers/EndpointStatusContainer.tsx → dist/containers/EndpointStatusContainer.js} +2 -5
  35. package/{src/containers/GlobalSettingsContainer.tsx → dist/containers/GlobalSettingsContainer.js} +2 -5
  36. package/{src/containers/GlobalStatsContainer.tsx → dist/containers/GlobalStatsContainer.js} +2 -5
  37. package/{src/containers/LifecycleApiErrorContainer.tsx → dist/containers/LifecycleApiErrorContainer.js} +2 -4
  38. package/dist/containers/LifecycleFailedContainer.js +9 -0
  39. package/{src/containers/LifecycleGeneralErrorContainer.tsx → dist/containers/LifecycleGeneralErrorContainer.js} +2 -4
  40. package/{src/containers/LifecycleInQueueContainer.tsx → dist/containers/LifecycleInQueueContainer.js} +2 -4
  41. package/{src/containers/LifecyclePendingApiContainer.tsx → dist/containers/LifecyclePendingApiContainer.js} +2 -4
  42. package/{src/containers/LifecyclePostActionContainer.tsx → dist/containers/LifecyclePostActionContainer.js} +2 -4
  43. package/{src/containers/LifecycleReceivedContainer.tsx → dist/containers/LifecycleReceivedContainer.js} +2 -4
  44. package/{src/data/devComponents.tsx → dist/data/devComponents.js} +3 -4
  45. package/{src/data/devRoutes.ts → dist/data/devRoutes.js} +23 -28
  46. package/dist/dts/components/DevInspector/DevInspector.d.ts +7 -0
  47. package/dist/dts/components/DevInspector/DevInspector.style.d.ts +1 -0
  48. package/dist/dts/components/DevList/DevList.d.ts +9 -0
  49. package/dist/dts/components/DevList/DevList.style.d.ts +2 -0
  50. package/dist/dts/components/DevMenu/DevMenu.d.ts +12 -0
  51. package/dist/dts/components/DevMenu/DevMenu.style.d.ts +7 -0
  52. package/dist/dts/components/DevPanel/DevPanel.d.ts +6 -0
  53. package/dist/dts/components/DevPanel/DevPanel.style.d.ts +3 -0
  54. package/dist/dts/components/DevtoolsApp/DevtoolsApp.d.ts +10 -0
  55. package/dist/dts/components/DevtoolsApp/DevtoolsApp.style.d.ts +1 -0
  56. package/dist/dts/components/Icon/AllIcons.d.ts +8 -0
  57. package/dist/dts/components/Icon/Icon.d.ts +10 -0
  58. package/dist/dts/components/Icon/Icon.style.d.ts +3 -0
  59. package/dist/dts/components/JourneyRow/JourneyRow.d.ts +7 -0
  60. package/dist/dts/components/JourneyRow/JourneyRow.style.d.ts +5 -0
  61. package/dist/dts/components/JsonViewer/JsonViewer.d.ts +7 -0
  62. package/dist/dts/components/JsonViewer/JsonViewer.style.d.ts +3 -0
  63. package/dist/dts/components/Lifecycle/Lifecycle.d.ts +7 -0
  64. package/dist/dts/components/Lifecycle/Lifecycle.style.d.ts +1 -0
  65. package/dist/dts/components/RequestDetails/RequestDetails.d.ts +7 -0
  66. package/dist/dts/components/RequestDetails/RequestDetails.style.d.ts +4 -0
  67. package/dist/dts/components/RequestJourney/RequestJourney.d.ts +7 -0
  68. package/dist/dts/components/RequestJourney/RequestJourney.style.d.ts +1 -0
  69. package/dist/dts/components/RequestRow/RequestRow.d.ts +11 -0
  70. package/dist/dts/components/RequestRow/RequestRow.style.d.ts +6 -0
  71. package/dist/dts/components/Size/Size.d.ts +6 -0
  72. package/dist/dts/components/Size/Size.style.d.ts +1 -0
  73. package/dist/dts/components/Time/Time.d.ts +6 -0
  74. package/dist/dts/components/Time/Time.style.d.ts +3 -0
  75. package/dist/dts/containers/DevMenuContainer.d.ts +8 -0
  76. package/dist/dts/containers/DevPanelContainer.d.ts +6 -0
  77. package/dist/dts/containers/DevtoolsAppContainer.d.ts +7 -0
  78. package/dist/dts/containers/EndpointConfigsContainer.d.ts +3 -0
  79. package/dist/dts/containers/EndpointStatusContainer.d.ts +3 -0
  80. package/dist/dts/containers/GlobalSettingsContainer.d.ts +3 -0
  81. package/dist/dts/containers/GlobalStatsContainer.d.ts +3 -0
  82. package/dist/dts/containers/LifecycleApiErrorContainer.d.ts +3 -0
  83. package/dist/dts/containers/LifecycleFailedContainer.d.ts +3 -0
  84. package/dist/dts/containers/LifecycleGeneralErrorContainer.d.ts +3 -0
  85. package/dist/dts/containers/LifecycleInQueueContainer.d.ts +3 -0
  86. package/dist/dts/containers/LifecyclePendingApiContainer.d.ts +3 -0
  87. package/dist/dts/containers/LifecyclePostActionContainer.d.ts +3 -0
  88. package/dist/dts/containers/LifecycleReceivedContainer.d.ts +3 -0
  89. package/dist/dts/data/devComponents.d.ts +4 -0
  90. package/dist/dts/data/devRoutes.d.ts +8 -0
  91. package/dist/dts/hooks/useStoreSize.d.ts +7 -0
  92. package/dist/dts/index.d.ts +1 -0
  93. package/dist/dts/store/selectors.d.ts +2235 -0
  94. package/dist/dts/types.d.ts +0 -0
  95. package/dist/dts/utils/date.d.ts +4 -0
  96. package/dist/dts/utils/download.d.ts +1 -0
  97. package/dist/hooks/useStoreSize.js +16 -0
  98. package/dist/index.d.ts +1 -0
  99. package/dist/index.js +1 -0
  100. package/dist/redux-connected-devtools.es.js +992 -0
  101. package/dist/redux-connected-devtools.es.js.map +1 -0
  102. package/dist/redux-connected-devtools.umd.js +247 -0
  103. package/dist/redux-connected-devtools.umd.js.map +1 -0
  104. package/dist/store/selectors.js +143 -0
  105. package/dist/types.js +1 -0
  106. package/dist/utils/date.js +8 -0
  107. package/dist/utils/download.js +17 -0
  108. package/package.json +29 -13
  109. package/.env +0 -2
  110. package/.prettierrc.js +0 -10
  111. package/.vscode/settings.json +0 -12
  112. package/.vscode/tasks.json +0 -33
  113. package/index.html +0 -58
  114. package/jest.config.js +0 -8
  115. package/public/devtools.html +0 -8
  116. package/public/icon.png +0 -0
  117. package/public/manifest.json +0 -29
  118. package/public/options.html +0 -12
  119. package/public/panel.html +0 -39
  120. package/public/popup.html +0 -12
  121. package/src/__tests__/sum.ts +0 -9
  122. package/src/background.ts +0 -49
  123. package/src/components/DevInspector/DevInspector.scss +0 -2
  124. package/src/components/DevInspector/DevInspector.tsx +0 -34
  125. package/src/components/DevList/DevList.scss +0 -2
  126. package/src/components/DevList/DevList.tsx +0 -62
  127. package/src/components/DevMenu/DevMenu.scss +0 -2
  128. package/src/components/DevMenu/DevMenu.tsx +0 -76
  129. package/src/components/DevPanel/DevPanel.scss +0 -2
  130. package/src/components/DevPanel/DevPanel.style.tsx +0 -16
  131. package/src/components/DevPanel/DevPanel.tsx +0 -51
  132. package/src/components/JourneyRow/JourneyRow.scss +0 -2
  133. package/src/components/JsonViewer/JsonViewer.scss +0 -2
  134. package/src/components/JsonViewer/JsonViewer.tsx +0 -24
  135. package/src/components/Lifecycle/Lifecycle.scss +0 -2
  136. package/src/components/Lifecycle/Lifecycle.tsx +0 -31
  137. package/src/components/LogsViewer/LogsViewer.scss +0 -2
  138. package/src/components/LogsViewer/LogsViewer.style.tsx +0 -5
  139. package/src/components/LogsViewer/LogsViewer.tsx +0 -14
  140. package/src/components/RequestDetails/RequestDetails.scss +0 -2
  141. package/src/components/RequestDetails/RequestDetails.style.tsx +0 -20
  142. package/src/components/RequestDetails/RequestDetails.tsx +0 -60
  143. package/src/components/RequestJourney/RequestJourney.scss +0 -2
  144. package/src/components/RequestJourney/RequestJourney.style.tsx +0 -6
  145. package/src/components/RequestJourney/RequestJourney.tsx +0 -33
  146. package/src/components/RequestRow/RequestRow.scss +0 -2
  147. package/src/components/RequestRow/RequestRow.tsx +0 -37
  148. package/src/components/Time/Time.scss +0 -2
  149. package/src/containers/DevMenuContainer.tsx +0 -28
  150. package/src/containers/DevPanelContainer.tsx +0 -10
  151. package/src/content_script.ts +0 -19
  152. package/src/devtools.tsx +0 -29
  153. package/src/index.ts +0 -1
  154. package/src/injected_script.ts +0 -9
  155. package/src/options.tsx +0 -77
  156. package/src/panel.tsx +0 -30
  157. package/src/popup.tsx +0 -63
  158. package/src/store/initialState.ts +0 -42
  159. package/src/store/selectors.ts +0 -205
  160. package/src/sum.ts +0 -3
  161. package/src/types.ts +0 -1
  162. package/src/utils/date.ts +0 -3
  163. package/tsconfig.json +0 -24
  164. package/vite.config.ts +0 -45
  165. package/webpack/webpack.common.js +0 -46
  166. package/webpack/webpack.dev.js +0 -7
  167. package/webpack/webpack.prod.js +0 -6
@@ -0,0 +1,143 @@
1
+ import { createSelector } from 'reselect';
2
+ import { connectedSelectors, LifecycleStatus } from 'redux-connected';
3
+ export const $requests = createSelector(connectedSelectors.$requests, (requests) => {
4
+ return requests
5
+ .map((request) => {
6
+ const { items } = request;
7
+ const lastPoint = items[items.length - 1] ?? {};
8
+ const journeyWithDelta = items.map((point, index) => {
9
+ const nextPoint = items[index + 1] ?? point;
10
+ const delta = nextPoint.timestamp - point.timestamp;
11
+ return {
12
+ ...point,
13
+ delta,
14
+ };
15
+ });
16
+ return {
17
+ ...request,
18
+ items: journeyWithDelta,
19
+ lastPointTimestamp: lastPoint.timestamp,
20
+ lastPointStatus: lastPoint.status,
21
+ };
22
+ })
23
+ .sort((a, b) => {
24
+ if (a.lastPointTimestamp === b.lastPointTimestamp) {
25
+ return 0;
26
+ }
27
+ return a.lastPointTimestamp > b.lastPointTimestamp ? -1 : 1;
28
+ });
29
+ });
30
+ // 1
31
+ export const $requestsReceived = createSelector($requests, (requests) => {
32
+ return requests.filter((request) => {
33
+ const { items } = request;
34
+ const lastPoint = items[items.length - 1];
35
+ return lastPoint && lastPoint.status === LifecycleStatus.RECEIVED;
36
+ });
37
+ });
38
+ export const $requestsReceivedPast = createSelector($requests, (requests) => {
39
+ return requests.filter((request) => {
40
+ const { items } = request;
41
+ return items.find((point) => point.status === LifecycleStatus.RECEIVED);
42
+ });
43
+ });
44
+ // 2
45
+ export const $requestsInQueue = createSelector($requests, (requests) => {
46
+ return requests.filter((request) => {
47
+ const { items } = request;
48
+ const lastPoint = items[items.length - 1];
49
+ return lastPoint && lastPoint.status === LifecycleStatus.IN_QUEUE;
50
+ });
51
+ });
52
+ export const $requestsInQueuePast = createSelector($requests, (requests) => {
53
+ return requests.filter((request) => {
54
+ const { items } = request;
55
+ return items.find((point) => point.status === LifecycleStatus.IN_QUEUE);
56
+ });
57
+ });
58
+ // 3
59
+ export const $requestsPendingApi = createSelector($requests, (requests) => {
60
+ return requests.filter((request) => {
61
+ const { items } = request;
62
+ const lastPoint = items[items.length - 1];
63
+ return (lastPoint &&
64
+ lastPoint.status === LifecycleStatus.PENDING_API_RESPONSE);
65
+ });
66
+ });
67
+ export const $requestsPendingApiPast = createSelector($requests, (requests) => {
68
+ return requests.filter((request) => {
69
+ const { items } = request;
70
+ return items.find((point) => point.status === LifecycleStatus.PENDING_API_RESPONSE);
71
+ });
72
+ });
73
+ // 4
74
+ export const $requestsPostAction = createSelector($requests, (requests) => {
75
+ return requests.filter((request) => {
76
+ const { items } = request;
77
+ const lastPoint = items[items.length - 1];
78
+ return lastPoint && lastPoint.status === LifecycleStatus.POST_ACTION;
79
+ });
80
+ });
81
+ export const $requestsPostActionPast = createSelector($requests, (requests) => {
82
+ return requests.filter((request) => {
83
+ const { items } = request;
84
+ return items.find((point) => point.status === LifecycleStatus.POST_ACTION);
85
+ });
86
+ });
87
+ // e1
88
+ export const $requestsGeneralError = createSelector($requests, (requests) => {
89
+ return requests.filter((request) => {
90
+ const { items } = request;
91
+ const lastPoint = items[items.length - 1];
92
+ return lastPoint && lastPoint.status === LifecycleStatus.GENERAL_ERROR;
93
+ });
94
+ });
95
+ export const $requestsGeneralErrorPast = createSelector($requests, (requests) => {
96
+ return requests.filter((request) => {
97
+ const { items } = request;
98
+ return items.find((point) => point.status === LifecycleStatus.GENERAL_ERROR);
99
+ });
100
+ });
101
+ // e2
102
+ export const $requestsApiError = createSelector($requests, (requests) => {
103
+ return requests.filter((request) => {
104
+ const { items } = request;
105
+ const lastPoint = items[items.length - 1];
106
+ return lastPoint && lastPoint.status === LifecycleStatus.API_ERROR;
107
+ });
108
+ });
109
+ // e3
110
+ export const $requestsFailed = createSelector($requests, (requests) => {
111
+ return requests.filter((request) => {
112
+ const { items } = request;
113
+ return items.find((point) => point.status === LifecycleStatus.FAILED);
114
+ });
115
+ });
116
+ export const $requestsApiErrorPast = createSelector($requests, (requests) => {
117
+ return requests.filter((request) => {
118
+ const { items } = request;
119
+ return items.find((point) => point.status === LifecycleStatus.API_ERROR);
120
+ });
121
+ });
122
+ export const $menuBadges = createSelector($requestsReceived, $requestsInQueue, $requestsGeneralError, $requestsPendingApi, $requestsApiError, $requestsFailed, $requestsPostAction, (requestsReceived, requestsInQueue, requestsGeneralError, requestsPendingApi, requestsApiError, requestsFailed, requestsPostAction) => {
123
+ return {
124
+ lifecycleReceived: requestsReceived.length,
125
+ lifecycleInQueue: requestsInQueue.length,
126
+ lifecycleGeneralError: requestsGeneralError.length,
127
+ lifecyclePendingApi: requestsPendingApi.length,
128
+ lifecycleApiError: requestsApiError.length,
129
+ lifecycleFailed: requestsFailed.length,
130
+ lifecyclePostAction: requestsPostAction.length,
131
+ };
132
+ });
133
+ export const $menuBadgesTotal = createSelector($requestsReceivedPast, $requestsInQueuePast, $requestsGeneralErrorPast, $requestsPendingApiPast, $requestsApiErrorPast, $requestsFailed, $requestsPostActionPast, (requestsReceived, requestsInQueue, requestsGeneralError, requestsPendingApi, requestsApiError, requestsFailed, requestsPostAction) => {
134
+ return {
135
+ lifecycleReceived: requestsReceived.length,
136
+ lifecycleInQueue: requestsInQueue.length,
137
+ lifecycleGeneralError: requestsGeneralError.length,
138
+ lifecyclePendingApi: requestsPendingApi.length,
139
+ lifecycleApiError: requestsApiError.length,
140
+ lifecycleFailed: requestsFailed.length,
141
+ lifecyclePostAction: requestsPostAction.length,
142
+ };
143
+ });
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,8 @@
1
+ export const timestamp = () => new Date().getTime();
2
+ export let startOfTime = timestamp();
3
+ export const resetStartOfTime = () => {
4
+ startOfTime = timestamp();
5
+ };
6
+ export const getMinutes = () => {
7
+ return new Date().getMinutes();
8
+ };
@@ -0,0 +1,17 @@
1
+ export const download = (filename, json) => {
2
+ const data = JSON.stringify(json, null, 4);
3
+ const blob = new Blob([data], { type: 'text/csv' });
4
+ // @ts-ignore
5
+ if (window.navigator.msSaveOrOpenBlob) {
6
+ // @ts-ignore
7
+ window.navigator.msSaveBlob(blob, filename);
8
+ }
9
+ else {
10
+ const elem = window.document.createElement('a');
11
+ elem.href = window.URL.createObjectURL(blob);
12
+ elem.download = filename;
13
+ document.body.appendChild(elem);
14
+ elem.click();
15
+ document.body.removeChild(elem);
16
+ }
17
+ };
package/package.json CHANGED
@@ -1,13 +1,11 @@
1
1
  {
2
2
  "name": "redux-connected-devtools",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "redux-connected-devtools",
5
- "main": "src/index.ts",
6
5
  "scripts": {
7
6
  "dev": "vite",
8
7
  "watch": "webpack --config webpack/webpack.dev.js --watch",
9
- "build": "webpack --config webpack/webpack.prod.js",
10
- "clean": "rimraf dist",
8
+ "build": "tsc & vite build",
11
9
  "test": "npx jest",
12
10
  "style": "prettier --write \"src/**/*.{ts,tsx}\""
13
11
  },
@@ -17,42 +15,60 @@
17
15
  "type": "git",
18
16
  "url": "https://github.com/dht/redux-connected-devtools.git"
19
17
  },
18
+ "files": [
19
+ "dist"
20
+ ],
20
21
  "dependencies": {
21
22
  "@redux-devtools/extension": "^3.2.2",
22
23
  "bytes": "^3.1.2",
24
+ "classnames": "^2.3.2",
23
25
  "dotenv-flow": "^3.2.0",
24
- "react": "^17.0.1",
25
- "react-dom": "^17.0.2",
26
26
  "react-redux": "^7.2.6",
27
- "react-window": "^1.8.6",
28
- "redux-connected": "^0.0.90",
29
- "redux-store-generator": "^0.9.74",
27
+ "react-window": "^1.8.8",
28
+ "redux-connected": "^0.0.103",
29
+ "redux-store-generator": "^0.9.89",
30
30
  "reselect": "^4.1.5",
31
+ "rollup-plugin-analyzer": "^4.0.0",
32
+ "shared-base": "^0.0.27",
31
33
  "styled-components": "^5.3.3",
32
34
  "tslib": "^2.3.1"
33
35
  },
36
+ "peerDependencies": {
37
+ "react": "^18.2.0",
38
+ "react-dom": "^18.2.0"
39
+ },
34
40
  "devDependencies": {
35
- "@types/bytes": "^3.1.1",
36
41
  "@types/chrome": "0.0.158",
37
42
  "@types/jest": "^27.0.2",
38
43
  "@types/react": "^17.0.0",
39
44
  "@types/react-dom": "^17.0.0",
40
- "@types/react-window": "^1.8.5",
41
45
  "@types/styled-components": "^5.1.24",
42
46
  "@vitejs/plugin-react": "^1.2.0",
43
47
  "copy-webpack-plugin": "^9.0.1",
44
48
  "glob": "^7.1.6",
45
49
  "jest": "^27.2.1",
46
50
  "prettier": "^2.2.1",
51
+ "react": "^18.2.0",
52
+ "react-dom": "^18.2.0",
47
53
  "rimraf": "^3.0.2 ",
48
54
  "ts-jest": "^27.0.5",
49
55
  "ts-loader": "^8.0.0",
50
- "typescript": "^4.4.3 ",
56
+ "typescript": "^4.5.5",
51
57
  "vite": "^2.6.4",
52
- "vite-plugin-react-svg": "^0.2.0",
58
+ "vite-plugin-dts": "^1.7.1",
59
+ "vite-plugin-react-svg": "^0.1.0",
53
60
  "vite-tsconfig-paths": "^3.3.13",
54
61
  "webpack": "^5.0.0",
55
62
  "webpack-cli": "^4.0.0",
56
63
  "webpack-merge": "^5.0.0"
64
+ },
65
+ "main": "./dist/redux-connected-devtools.umd.js",
66
+ "module": "./dist/redux-connected-devtools.es.js",
67
+ "types": "./dist/dts/index.d.ts",
68
+ "exports": {
69
+ ".": {
70
+ "import": "./dist/redux-connected-devtools.es.js",
71
+ "require": "./dist/redux-connected-devtools.umd.js"
72
+ }
57
73
  }
58
74
  }
package/.env DELETED
@@ -1,2 +0,0 @@
1
- VITE_SERVER_DOMAIN=http://localhost
2
- VITE_BASE_PORT_PAYEM=3100
package/.prettierrc.js DELETED
@@ -1,10 +0,0 @@
1
- module.exports = {
2
- trailingComma: 'es5',
3
- tabWidth: 4,
4
- semi: true,
5
- singleQuote: true,
6
- jsxSingleQuote: true,
7
- endOfLine: 'auto',
8
- // printWidth: 120,
9
- useTabs: false,
10
- };
@@ -1,12 +0,0 @@
1
- {
2
- "typescript.tsdk": "./node_modules/typescript/lib",
3
- "files.eol": "\n",
4
- "json.schemas": [
5
- {
6
- "fileMatch": [
7
- "/manifest.json"
8
- ],
9
- "url": "http://json.schemastore.org/chrome-manifest"
10
- }
11
- ]
12
- }
@@ -1,33 +0,0 @@
1
- {
2
- // See https://go.microsoft.com/fwlink/?LinkId=733558
3
- // for the documentation about the tasks.json format
4
- "version": "2.0.0",
5
- "command": "npm",
6
- "tasks": [
7
- {
8
- "label": "install",
9
- "type": "shell",
10
- "command": "npm",
11
- "args": ["install"]
12
- },
13
- {
14
- "label": "update",
15
- "type": "shell",
16
- "command": "npm",
17
- "args": ["update"]
18
- },
19
- {
20
- "label": "test",
21
- "type": "shell",
22
- "command": "npm",
23
- "args": ["run", "test"]
24
- },
25
- {
26
- "label": "build",
27
- "type": "shell",
28
- "group": "build",
29
- "command": "npm",
30
- "args": ["run", "watch"]
31
- }
32
- ]
33
- }
package/index.html DELETED
@@ -1,58 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/src/favicon.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <link
8
- rel="stylesheet"
9
- href="https://fonts.googleapis.com/icon?family=Material+Icons"
10
- />
11
- <link
12
- rel="stylesheet"
13
- href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
14
- />
15
- <link rel="preconnect" href="https://fonts.googleapis.com" />
16
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
17
- <link
18
- href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Roboto:wght@100;400;500;700&display=swap"
19
- rel="stylesheet"
20
- />
21
- <link rel="preconnect" href="https://fonts.googleapis.com" />
22
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
23
- <link
24
- href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"
25
- rel="stylesheet"
26
- />
27
-
28
- <title>redux-connected-chrome-extension</title>
29
- <style>
30
- body {
31
- padding: 0;
32
- margin: 0;
33
- min-height: 100vh;
34
- font-family: 'Inter', sans-serif;
35
- }
36
-
37
- body,
38
- #root {
39
- display: flex;
40
- flex: 1;
41
- }
42
-
43
- input,
44
- h1,
45
- h2,
46
- h3,
47
- select,
48
- textarea {
49
- font-family: 'Inter', sans-serif;
50
- }
51
- </style>
52
- </head>
53
- <body>
54
- <div id="root"></div>
55
- <div id="modal-root"></div>
56
- <script type="module" src="/src/panel.tsx"></script>
57
- </body>
58
- </html>
package/jest.config.js DELETED
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- "roots": [
3
- "src"
4
- ],
5
- "transform": {
6
- "^.+\\.ts$": "ts-jest"
7
- },
8
- };
@@ -1,8 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Injects the devtools panel</title>
5
- <script src="js/devtools.js"></script>
6
- </head>
7
- <body></body>
8
- </html>
package/public/icon.png DELETED
Binary file
@@ -1,29 +0,0 @@
1
- {
2
- "manifest_version": 3,
3
- "name": "redux-connected devtools",
4
- "description": "Inspect the lifecycle of a redux-connected request",
5
- "version": "1.0",
6
- "options_ui": {
7
- "page": "options.html"
8
- },
9
- "action": {
10
- "default_icon": "icon.png",
11
- "default_popup": "popup.html"
12
- },
13
- "background": {
14
- "service_worker": "js/background.js"
15
- },
16
- "content_scripts": [
17
- {
18
- "matches": ["<all_urls>"],
19
- "js": [
20
- "js/vendor.js",
21
- "js/content_script.js",
22
- "js/injected_script.js"
23
- ]
24
- }
25
- ],
26
- "devtools_page": "devtools.html",
27
- "permissions": ["storage"],
28
- "host_permissions": ["<all_urls>"]
29
- }
@@ -1,12 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Extension options</title>
5
- <script src="js/vendor.js"></script>
6
- </head>
7
-
8
- <body>
9
- <div id="root"></div>
10
- <script src="js/options.js"></script>
11
- </body>
12
- </html>
package/public/panel.html DELETED
@@ -1,39 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Redux-connected devtools</title>
5
- <script src="js/vendor.js"></script>
6
- <link
7
- href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"
8
- rel="stylesheet"
9
- />
10
- <style>
11
- body {
12
- padding: 0;
13
- margin: 0;
14
- min-height: 100vh;
15
- }
16
-
17
- body,
18
- #root {
19
- display: flex;
20
- flex: 1;
21
- font-family: 'Inter', sans-serif;
22
- }
23
-
24
- input,
25
- h1,
26
- h2,
27
- h3,
28
- select,
29
- textarea {
30
- font-family: 'Inter', sans-serif;
31
- }
32
- </style>
33
- </head>
34
-
35
- <body>
36
- <div id="root"></div>
37
- <script src="js/panel.js"></script>
38
- </body>
39
- </html>
package/public/popup.html DELETED
@@ -1,12 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8" />
5
- <title>Popup</title>
6
- <script src="js/vendor.js"></script>
7
- </head>
8
- <body>
9
- <div id="root"></div>
10
- <script src="js/popup.js"></script>
11
- </body>
12
- </html>
@@ -1,9 +0,0 @@
1
- import { sum } from "../sum";
2
-
3
- test("1 + 1 = 2", () => {
4
- expect(sum(1, 1)).toBe(2);
5
- });
6
-
7
- test("1 + 2 != 2", () => {
8
- expect(sum(1, 2)).not.toBe(2);
9
- });
package/src/background.ts DELETED
@@ -1,49 +0,0 @@
1
- // background.js
2
-
3
- let connections: Record<number | string, chrome.runtime.Port> = {};
4
-
5
- chrome.runtime.onConnect.addListener(function (port) {
6
- var extensionListener = function (message: any) {
7
- // The original connection event doesn't include the tab ID of the
8
- // DevTools page, so we need to send it explicitly.
9
- if (message.name == 'init') {
10
- connections[message.tabId] = port;
11
- return;
12
- }
13
-
14
- // other message handling
15
- };
16
-
17
- // Listen to messages sent from the DevTools page
18
- port.onMessage.addListener(extensionListener);
19
-
20
- port.onDisconnect.addListener(function (port) {
21
- port.onMessage.removeListener(extensionListener);
22
-
23
- const tabs = Object.keys(connections);
24
- for (var i = 0, len = tabs.length; i < len; i++) {
25
- if (connections[tabs[i]] == port) {
26
- delete connections[tabs[i]];
27
- break;
28
- }
29
- }
30
- });
31
- });
32
-
33
- // Receive message from content script and relay to the devTools page for the
34
- // current tab
35
- chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
36
- // Messages from content scripts should have sender.tab set
37
- if (sender.tab) {
38
- var tabId = sender.tab.id;
39
-
40
- if (tabId && connections[tabId]) {
41
- connections[tabId].postMessage(request);
42
- } else {
43
- console.log('Tab not found in connection list.');
44
- }
45
- } else {
46
- console.log('sender.tab not defined.');
47
- }
48
- return true;
49
- });
@@ -1,2 +0,0 @@
1
- .DevInspector-container {
2
- }
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { Container } from './DevInspector.style';
3
- import { ApiRequest } from 'redux-connected';
4
- import RequestJourney from '../RequestJourney/RequestJourney';
5
- import RequestDetails from '../RequestDetails/RequestDetails';
6
-
7
- export type DevInspectorProps = {
8
- item?: ApiRequest;
9
- };
10
-
11
- export function DevInspector(props: DevInspectorProps) {
12
- const { item } = props;
13
-
14
- if (!item) {
15
- return (
16
- <Container
17
- className='DevInspector-container'
18
- data-testid='DevInspector-container'
19
- ></Container>
20
- );
21
- }
22
-
23
- return (
24
- <Container
25
- className='DevInspector-container'
26
- data-testid='DevInspector-container'
27
- >
28
- <RequestDetails item={item} />
29
- <RequestJourney item={item} />
30
- </Container>
31
- );
32
- }
33
-
34
- export default DevInspector;
@@ -1,2 +0,0 @@
1
- .DevList-container {
2
- }
@@ -1,62 +0,0 @@
1
- import React from 'react';
2
- import { Container, Empty } from './DevList.style';
3
- import { FixedSizeList as List } from 'react-window';
4
- import { Json } from '../../types';
5
-
6
- export type DevListProps = {
7
- items: Json[];
8
- row: React.FC<any>;
9
- onClick: (item: any) => void;
10
- };
11
-
12
- export function DevList(props: DevListProps) {
13
- const { row: Cmp, items } = props;
14
-
15
- const Item = (rowInfo: any) => {
16
- const { index, style } = rowInfo;
17
-
18
- const item = items[index];
19
-
20
- return (
21
- <Cmp
22
- onClick={props.onClick}
23
- index={index}
24
- style={style}
25
- item={item}
26
- />
27
- );
28
- };
29
-
30
- function renderEmpty() {
31
- return <Empty>Empty list</Empty>;
32
- }
33
-
34
- function renderList() {
35
- if (items.length === 0) {
36
- return renderEmpty();
37
- }
38
-
39
- return (
40
- <List
41
- height={850}
42
- itemCount={items.length}
43
- itemSize={68}
44
- width={350}
45
- className='list'
46
- >
47
- {Item}
48
- </List>
49
- );
50
- }
51
-
52
- return (
53
- <Container
54
- className='DevList-container'
55
- data-testid='DevList-container'
56
- >
57
- {renderList()}
58
- </Container>
59
- );
60
- }
61
-
62
- export default DevList;
@@ -1,2 +0,0 @@
1
- .DevMenu-container {
2
- }