@rsdoctor/components 0.0.2-beta.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 (276) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/assets/connection-point.3b3c78ca.svg +1 -0
  4. package/dist/assets/icon.7509d763.svg +21 -0
  5. package/dist/assets/webpack.98604d64.svg +1 -0
  6. package/dist/components/Alert/change.d.ts +8 -0
  7. package/dist/components/Alert/change.js +94 -0
  8. package/dist/components/Alert/file-relation.d.ts +3 -0
  9. package/dist/components/Alert/file-relation.js +9 -0
  10. package/dist/components/Alert/index.css +29 -0
  11. package/dist/components/Alert/index.d.ts +4 -0
  12. package/dist/components/Alert/index.js +37 -0
  13. package/dist/components/Alert/link.d.ts +3 -0
  14. package/dist/components/Alert/link.js +27 -0
  15. package/dist/components/Alert/package-relation.d.ts +17 -0
  16. package/dist/components/Alert/package-relation.js +206 -0
  17. package/dist/components/Alert/types.d.ts +31 -0
  18. package/dist/components/Alert/types.js +0 -0
  19. package/dist/components/Alert/view.d.ts +4 -0
  20. package/dist/components/Alert/view.js +59 -0
  21. package/dist/components/Alerts/bundle.d.ts +11 -0
  22. package/dist/components/Alerts/bundle.js +47 -0
  23. package/dist/components/Alerts/common.d.ts +15 -0
  24. package/dist/components/Alerts/common.js +106 -0
  25. package/dist/components/Alerts/compile.d.ts +10 -0
  26. package/dist/components/Alerts/compile.js +46 -0
  27. package/dist/components/Alerts/index.d.ts +3 -0
  28. package/dist/components/Alerts/index.js +3 -0
  29. package/dist/components/Alerts/overlay.d.ts +26 -0
  30. package/dist/components/Alerts/overlay.js +154 -0
  31. package/dist/components/Badge/index.d.ts +21 -0
  32. package/dist/components/Badge/index.js +105 -0
  33. package/dist/components/Card/diff.d.ts +23 -0
  34. package/dist/components/Card/diff.js +131 -0
  35. package/dist/components/Card/index.d.ts +7 -0
  36. package/dist/components/Card/index.js +62 -0
  37. package/dist/components/Card/size.d.ts +16 -0
  38. package/dist/components/Card/size.js +71 -0
  39. package/dist/components/Card/statistic.css +16 -0
  40. package/dist/components/Card/statistic.d.ts +9 -0
  41. package/dist/components/Card/statistic.js +34 -0
  42. package/dist/components/Charts/TimelineCharts/index.d.ts +8 -0
  43. package/dist/components/Charts/TimelineCharts/index.js +197 -0
  44. package/dist/components/Charts/bootstrap.d.ts +5 -0
  45. package/dist/components/Charts/bootstrap.js +44 -0
  46. package/dist/components/Charts/common.d.ts +13 -0
  47. package/dist/components/Charts/common.js +56 -0
  48. package/dist/components/Charts/done.d.ts +5 -0
  49. package/dist/components/Charts/done.js +45 -0
  50. package/dist/components/Charts/index.d.ts +10 -0
  51. package/dist/components/Charts/index.js +37 -0
  52. package/dist/components/Charts/loader.css +31 -0
  53. package/dist/components/Charts/loader.d.ts +4 -0
  54. package/dist/components/Charts/loader.js +68 -0
  55. package/dist/components/Charts/minify.d.ts +5 -0
  56. package/dist/components/Charts/minify.js +37 -0
  57. package/dist/components/Charts/tooltips.css +62 -0
  58. package/dist/components/Charts/types.d.ts +61 -0
  59. package/dist/components/Charts/types.js +11 -0
  60. package/dist/components/Charts/utils.d.ts +13 -0
  61. package/dist/components/Charts/utils.js +203 -0
  62. package/dist/components/CodeViewer/config.d.ts +2 -0
  63. package/dist/components/CodeViewer/config.js +18 -0
  64. package/dist/components/CodeViewer/diff.d.ts +11 -0
  65. package/dist/components/CodeViewer/diff.js +53 -0
  66. package/dist/components/CodeViewer/hightlight.d.ts +10 -0
  67. package/dist/components/CodeViewer/hightlight.js +76 -0
  68. package/dist/components/CodeViewer/index.d.ts +4 -0
  69. package/dist/components/CodeViewer/index.js +4 -0
  70. package/dist/components/CodeViewer/viewer.d.ts +13 -0
  71. package/dist/components/CodeViewer/viewer.js +76 -0
  72. package/dist/components/Configuration/index.d.ts +1 -0
  73. package/dist/components/Configuration/index.js +1 -0
  74. package/dist/components/Configuration/webpack.d.ts +13 -0
  75. package/dist/components/Configuration/webpack.js +70 -0
  76. package/dist/components/FileTree/index.css +58 -0
  77. package/dist/components/FileTree/index.d.ts +4 -0
  78. package/dist/components/FileTree/index.js +53 -0
  79. package/dist/components/Form/keyword.d.ts +14 -0
  80. package/dist/components/Form/keyword.js +76 -0
  81. package/dist/components/Keyword/index.d.ts +6 -0
  82. package/dist/components/Keyword/index.js +68 -0
  83. package/dist/components/Layout/builder-select.d.ts +2 -0
  84. package/dist/components/Layout/builder-select.js +50 -0
  85. package/dist/components/Layout/constants.d.ts +1 -0
  86. package/dist/components/Layout/constants.js +4 -0
  87. package/dist/components/Layout/header.css +12 -0
  88. package/dist/components/Layout/header.d.ts +3 -0
  89. package/dist/components/Layout/header.js +87 -0
  90. package/dist/components/Layout/index.d.ts +5 -0
  91. package/dist/components/Layout/index.js +34 -0
  92. package/dist/components/Layout/menus.d.ts +8 -0
  93. package/dist/components/Layout/menus.js +155 -0
  94. package/dist/components/Layout/progress.d.ts +8 -0
  95. package/dist/components/Layout/progress.js +44 -0
  96. package/dist/components/Loader/Analysis/files.d.ts +8 -0
  97. package/dist/components/Loader/Analysis/files.js +187 -0
  98. package/dist/components/Loader/Analysis/index.d.ts +11 -0
  99. package/dist/components/Loader/Analysis/index.js +23 -0
  100. package/dist/components/Loader/executions.d.ts +13 -0
  101. package/dist/components/Loader/executions.js +221 -0
  102. package/dist/components/Manifest/api.d.ts +41 -0
  103. package/dist/components/Manifest/api.js +157 -0
  104. package/dist/components/Manifest/data.d.ts +8 -0
  105. package/dist/components/Manifest/data.js +81 -0
  106. package/dist/components/Manifest/index.d.ts +2 -0
  107. package/dist/components/Manifest/index.js +2 -0
  108. package/dist/components/Opener/code.d.ts +28 -0
  109. package/dist/components/Opener/code.js +69 -0
  110. package/dist/components/Opener/index.d.ts +2 -0
  111. package/dist/components/Opener/index.js +2 -0
  112. package/dist/components/Opener/vscode.d.ts +16 -0
  113. package/dist/components/Opener/vscode.js +57 -0
  114. package/dist/components/Overall/NumberButton.d.ts +14 -0
  115. package/dist/components/Overall/NumberButton.js +29 -0
  116. package/dist/components/Overall/NumberButton.module.js +5 -0
  117. package/dist/components/Overall/NumberButton_module.css +70 -0
  118. package/dist/components/Overall/bundle.d.ts +6 -0
  119. package/dist/components/Overall/bundle.js +167 -0
  120. package/dist/components/Overall/bundle.module.css +0 -0
  121. package/dist/components/Overall/card.module.js +5 -0
  122. package/dist/components/Overall/card_module.css +6 -0
  123. package/dist/components/Overall/compile.d.ts +5 -0
  124. package/dist/components/Overall/compile.js +68 -0
  125. package/dist/components/Overall/compile.module.js +5 -0
  126. package/dist/components/Overall/compile_module.css +4 -0
  127. package/dist/components/Overall/index.d.ts +3 -0
  128. package/dist/components/Overall/index.js +3 -0
  129. package/dist/components/Overall/list.module.js +5 -0
  130. package/dist/components/Overall/list_module.css +7 -0
  131. package/dist/components/Overall/project.d.ts +8 -0
  132. package/dist/components/Overall/project.js +73 -0
  133. package/dist/components/Plugins/webpack.d.ts +18 -0
  134. package/dist/components/Plugins/webpack.js +76 -0
  135. package/dist/components/Resolver/analysis.d.ts +15 -0
  136. package/dist/components/Resolver/analysis.js +160 -0
  137. package/dist/components/Select/index.d.ts +15 -0
  138. package/dist/components/Select/index.js +68 -0
  139. package/dist/components/Status/failed.d.ts +9 -0
  140. package/dist/components/Status/failed.js +33 -0
  141. package/dist/components/Status/index.d.ts +1 -0
  142. package/dist/components/Status/index.js +1 -0
  143. package/dist/components/TextDrawer/duplicate.d.ts +17 -0
  144. package/dist/components/TextDrawer/duplicate.js +107 -0
  145. package/dist/components/TextDrawer/index.d.ts +11 -0
  146. package/dist/components/TextDrawer/index.js +55 -0
  147. package/dist/components/Title/index.d.ts +15 -0
  148. package/dist/components/Title/index.js +10 -0
  149. package/dist/components/index.d.ts +8 -0
  150. package/dist/components/index.js +11 -0
  151. package/dist/components/worker/ecmaversion/client.d.ts +10 -0
  152. package/dist/components/worker/ecmaversion/client.js +61 -0
  153. package/dist/components/worker/ecmaversion/worker.d.ts +1 -0
  154. package/dist/components/worker/ecmaversion/worker.js +13 -0
  155. package/dist/components/worker/jsequal/client.d.ts +11 -0
  156. package/dist/components/worker/jsequal/client.js +39 -0
  157. package/dist/components/worker/jsequal/worker.d.ts +1 -0
  158. package/dist/components/worker/jsequal/worker.js +52 -0
  159. package/dist/config.d.ts +19 -0
  160. package/dist/config.js +39 -0
  161. package/dist/constants.d.ts +48 -0
  162. package/dist/constants.js +71 -0
  163. package/dist/index.d.ts +3 -0
  164. package/dist/index.js +6 -0
  165. package/dist/pages/BundleSize/components/asset.d.ts +26 -0
  166. package/dist/pages/BundleSize/components/asset.js +405 -0
  167. package/dist/pages/BundleSize/components/cards.d.ts +7 -0
  168. package/dist/pages/BundleSize/components/cards.js +154 -0
  169. package/dist/pages/BundleSize/components/editor.d.ts +5 -0
  170. package/dist/pages/BundleSize/components/editor.js +38 -0
  171. package/dist/pages/BundleSize/components/index.css +20 -0
  172. package/dist/pages/BundleSize/components/index.d.ts +16 -0
  173. package/dist/pages/BundleSize/components/index.js +314 -0
  174. package/dist/pages/BundleSize/config.d.ts +7 -0
  175. package/dist/pages/BundleSize/config.js +9 -0
  176. package/dist/pages/BundleSize/constants.d.ts +5 -0
  177. package/dist/pages/BundleSize/constants.js +9 -0
  178. package/dist/pages/BundleSize/index.d.ts +3 -0
  179. package/dist/pages/BundleSize/index.js +11 -0
  180. package/dist/pages/ModuleAnalyze/chunks.d.ts +6 -0
  181. package/dist/pages/ModuleAnalyze/chunks.js +48 -0
  182. package/dist/pages/ModuleAnalyze/components/fileTreeCom.css +88 -0
  183. package/dist/pages/ModuleAnalyze/components/fileTreeCom.d.ts +15 -0
  184. package/dist/pages/ModuleAnalyze/components/fileTreeCom.js +138 -0
  185. package/dist/pages/ModuleAnalyze/constants.d.ts +7 -0
  186. package/dist/pages/ModuleAnalyze/constants.js +14 -0
  187. package/dist/pages/ModuleAnalyze/dependncy.d.ts +9 -0
  188. package/dist/pages/ModuleAnalyze/dependncy.js +31 -0
  189. package/dist/pages/ModuleAnalyze/fileTree.d.ts +9 -0
  190. package/dist/pages/ModuleAnalyze/fileTree.js +125 -0
  191. package/dist/pages/ModuleAnalyze/index.css +10 -0
  192. package/dist/pages/ModuleAnalyze/index.d.ts +8 -0
  193. package/dist/pages/ModuleAnalyze/index.js +64 -0
  194. package/dist/pages/ModuleAnalyze/utils/hooks.d.ts +21 -0
  195. package/dist/pages/ModuleAnalyze/utils/hooks.js +65 -0
  196. package/dist/pages/ModuleAnalyze/utils/index.d.ts +3 -0
  197. package/dist/pages/ModuleAnalyze/utils/index.js +36 -0
  198. package/dist/pages/ModuleResolve/constants.d.ts +3 -0
  199. package/dist/pages/ModuleResolve/constants.js +7 -0
  200. package/dist/pages/ModuleResolve/index.d.ts +3 -0
  201. package/dist/pages/ModuleResolve/index.js +19 -0
  202. package/dist/pages/Overall/constants.d.ts +3 -0
  203. package/dist/pages/Overall/constants.js +7 -0
  204. package/dist/pages/Overall/index.d.ts +9 -0
  205. package/dist/pages/Overall/index.js +28 -0
  206. package/dist/pages/WebpackLoaders/Analysis/constants.d.ts +3 -0
  207. package/dist/pages/WebpackLoaders/Analysis/constants.js +7 -0
  208. package/dist/pages/WebpackLoaders/Analysis/index.d.ts +3 -0
  209. package/dist/pages/WebpackLoaders/Analysis/index.js +19 -0
  210. package/dist/pages/WebpackLoaders/Overall/constants.d.ts +3 -0
  211. package/dist/pages/WebpackLoaders/Overall/constants.js +7 -0
  212. package/dist/pages/WebpackLoaders/Overall/index.d.ts +3 -0
  213. package/dist/pages/WebpackLoaders/Overall/index.js +11 -0
  214. package/dist/pages/WebpackLoaders/constants.d.ts +2 -0
  215. package/dist/pages/WebpackLoaders/constants.js +6 -0
  216. package/dist/pages/WebpackPlugins/constants.d.ts +3 -0
  217. package/dist/pages/WebpackPlugins/constants.js +7 -0
  218. package/dist/pages/WebpackPlugins/index.d.ts +3 -0
  219. package/dist/pages/WebpackPlugins/index.js +79 -0
  220. package/dist/pages/index.d.ts +7 -0
  221. package/dist/pages/index.js +16 -0
  222. package/dist/utils/data/base.d.ts +24 -0
  223. package/dist/utils/data/base.js +70 -0
  224. package/dist/utils/data/index.d.ts +5 -0
  225. package/dist/utils/data/index.js +66 -0
  226. package/dist/utils/data/local.d.ts +14 -0
  227. package/dist/utils/data/local.js +106 -0
  228. package/dist/utils/data/remote.d.ts +10 -0
  229. package/dist/utils/data/remote.js +70 -0
  230. package/dist/utils/file.d.ts +39 -0
  231. package/dist/utils/file.js +154 -0
  232. package/dist/utils/hooks.d.ts +30 -0
  233. package/dist/utils/hooks.js +256 -0
  234. package/dist/utils/i18n/cn.d.ts +3 -0
  235. package/dist/utils/i18n/cn.js +33 -0
  236. package/dist/utils/i18n/en.d.ts +30 -0
  237. package/dist/utils/i18n/en.js +33 -0
  238. package/dist/utils/i18n/index.d.ts +2 -0
  239. package/dist/utils/i18n/index.js +34 -0
  240. package/dist/utils/index.d.ts +16 -0
  241. package/dist/utils/index.js +16 -0
  242. package/dist/utils/loader.d.ts +7 -0
  243. package/dist/utils/loader.js +29 -0
  244. package/dist/utils/locale.d.ts +2 -0
  245. package/dist/utils/locale.js +9 -0
  246. package/dist/utils/manifest.d.ts +27 -0
  247. package/dist/utils/manifest.js +54 -0
  248. package/dist/utils/monaco.d.ts +9 -0
  249. package/dist/utils/monaco.js +48 -0
  250. package/dist/utils/request.d.ts +23 -0
  251. package/dist/utils/request.js +162 -0
  252. package/dist/utils/routes.d.ts +3 -0
  253. package/dist/utils/routes.js +14 -0
  254. package/dist/utils/size.d.ts +2 -0
  255. package/dist/utils/size.js +24 -0
  256. package/dist/utils/socket.d.ts +2 -0
  257. package/dist/utils/socket.js +20 -0
  258. package/dist/utils/storage.d.ts +13 -0
  259. package/dist/utils/storage.js +70 -0
  260. package/dist/utils/string.d.ts +2 -0
  261. package/dist/utils/string.js +14 -0
  262. package/dist/utils/time.d.ts +3 -0
  263. package/dist/utils/time.js +7 -0
  264. package/dist/utils/url.d.ts +6 -0
  265. package/dist/utils/url.js +89 -0
  266. package/dist/utils/worker/index.d.ts +4 -0
  267. package/dist/utils/worker/index.js +4 -0
  268. package/dist/utils/worker/master.d.ts +8 -0
  269. package/dist/utils/worker/master.js +18 -0
  270. package/dist/utils/worker/types.d.ts +9 -0
  271. package/dist/utils/worker/types.js +0 -0
  272. package/dist/utils/worker/utils.d.ts +9 -0
  273. package/dist/utils/worker/utils.js +29 -0
  274. package/dist/utils/worker/worker.d.ts +13 -0
  275. package/dist/utils/worker/worker.js +38 -0
  276. package/package.json +87 -0
@@ -0,0 +1,27 @@
1
+ import { ModuleGraph } from '@rsdoctor/graph';
2
+ import { Manifest, SDK } from '@rsdoctor/types';
3
+ import { Theme, ViewMode } from '../constants';
4
+ export declare function useManifestJson(): Manifest.DoctorManifest;
5
+ export declare function useLocale(): import("../constants").Language;
6
+ export declare function useTheme(): {
7
+ theme: Theme;
8
+ setTheme: (theme: Theme) => void;
9
+ isDark: boolean;
10
+ isLight: boolean;
11
+ };
12
+ export declare function useViewMode(): {
13
+ viewMode: {
14
+ bundleAlerts: ViewMode;
15
+ compileAlerts: ViewMode;
16
+ };
17
+ setViewMode: (mode: Partial<{
18
+ bundleAlerts: ViewMode;
19
+ compileAlerts: ViewMode;
20
+ }>, saveStorage?: boolean | undefined) => void;
21
+ setCompileAlertsViewMode(mode: ViewMode): void;
22
+ setBundleAlertsViewMode(mode: ViewMode): void;
23
+ isCompileList: boolean;
24
+ isBundleList: boolean;
25
+ };
26
+ export declare function useManifest(url: string): Manifest.DoctorManifestWithShardingFiles | undefined;
27
+ export declare function useModuleGraphInstanceByModuleGraph(moduleGraph: SDK.ModuleGraphData): ModuleGraph;
@@ -0,0 +1,54 @@
1
+ import { useContext, useEffect, useMemo, useState } from "react";
2
+ import { ModuleGraph } from "@rsdoctor/graph";
3
+ import { ConfigContext } from "../config";
4
+ import { Theme, ViewMode } from "../constants";
5
+ import { fetchManifest } from "./request";
6
+ function useManifestJson() {
7
+ const { json } = useContext(ConfigContext);
8
+ return json;
9
+ }
10
+ function useLocale() {
11
+ const ctx = useContext(ConfigContext);
12
+ return ctx.locale;
13
+ }
14
+ function useTheme() {
15
+ const { theme, setTheme } = useContext(ConfigContext);
16
+ const isDark = theme === Theme.Dark;
17
+ return { theme, setTheme, isDark, isLight: !isDark };
18
+ }
19
+ function useViewMode() {
20
+ const { viewMode, setViewMode } = useContext(ConfigContext);
21
+ const { bundleAlerts, compileAlerts } = viewMode;
22
+ return {
23
+ viewMode,
24
+ setViewMode,
25
+ setCompileAlertsViewMode(mode) {
26
+ setViewMode({ compileAlerts: mode });
27
+ },
28
+ setBundleAlertsViewMode(mode) {
29
+ setViewMode({ bundleAlerts: mode });
30
+ },
31
+ isCompileList: compileAlerts === ViewMode.List,
32
+ isBundleList: bundleAlerts === ViewMode.List
33
+ };
34
+ }
35
+ function useManifest(url) {
36
+ const [manifest, setManifest] = useState();
37
+ useEffect(() => {
38
+ fetchManifest(url).then((res) => {
39
+ setManifest(res);
40
+ });
41
+ }, []);
42
+ return manifest;
43
+ }
44
+ function useModuleGraphInstanceByModuleGraph(moduleGraph) {
45
+ return useMemo(() => ModuleGraph.fromData(moduleGraph), [moduleGraph]);
46
+ }
47
+ export {
48
+ useLocale,
49
+ useManifest,
50
+ useManifestJson,
51
+ useModuleGraphInstanceByModuleGraph,
52
+ useTheme,
53
+ useViewMode
54
+ };
@@ -0,0 +1,9 @@
1
+ import type { SDK } from '@rsdoctor/types';
2
+ import type { Range as RangeClass } from 'monaco-editor';
3
+ export declare function getOriginalLanguage(filepath: string): string;
4
+ export declare function getModifiedLanguage(filepath: string): string;
5
+ export declare function getRevealPositionForViewer(startLineNumber: number, startColumn: number): {
6
+ lineNumber: number;
7
+ column: number;
8
+ };
9
+ export declare function getSelectionRange(source: SDK.SourceRange, Range: typeof RangeClass): RangeClass;
@@ -0,0 +1,48 @@
1
+ import { extname } from "path";
2
+ import { isJsDataUrl } from "./url";
3
+ function getOriginalLanguage(filepath) {
4
+ if (isJsDataUrl(filepath)) {
5
+ return "javascript";
6
+ }
7
+ const ext = extname(filepath).slice(1);
8
+ switch (ext) {
9
+ case "js":
10
+ case "jsx":
11
+ return "javascript";
12
+ case "ts":
13
+ case "tsx":
14
+ return "typescript";
15
+ default:
16
+ return ext;
17
+ }
18
+ }
19
+ function getModifiedLanguage(filepath) {
20
+ const ext = extname(filepath).slice(1);
21
+ switch (ext) {
22
+ case "js":
23
+ case "jsx":
24
+ case "ts":
25
+ case "tsx":
26
+ return "javascript";
27
+ default:
28
+ return ext;
29
+ }
30
+ }
31
+ function getRevealPositionForViewer(startLineNumber, startColumn) {
32
+ return {
33
+ lineNumber: Math.floor(startLineNumber / 1.2) || 1,
34
+ column: Math.floor(startColumn / 1.5) || 1
35
+ };
36
+ }
37
+ function getSelectionRange(source, Range) {
38
+ var _a, _b;
39
+ const { start, end } = source;
40
+ const { line = 1, column = 0 } = start;
41
+ return new Range(line, column + 1, (_a = end == null ? void 0 : end.line) != null ? _a : line, ((_b = end == null ? void 0 : end.column) != null ? _b : 9999) + 1);
42
+ }
43
+ export {
44
+ getModifiedLanguage,
45
+ getOriginalLanguage,
46
+ getRevealPositionForViewer,
47
+ getSelectionRange
48
+ };
@@ -0,0 +1,23 @@
1
+ import { Manifest, SDK } from '@rsdoctor/types';
2
+ export declare function fetchShardingFile(url: string): Promise<string>;
3
+ export declare function loadManifestByUrl(url: string): Promise<{
4
+ data: Manifest.DoctorManifestData;
5
+ __LOCAL__SERVER__?: boolean | undefined;
6
+ __SOCKET__URL__?: string | undefined;
7
+ client: Manifest.DoctorManifestClient;
8
+ name?: string | undefined;
9
+ series?: Manifest.DoctorManifestSeriesData[] | undefined;
10
+ }>;
11
+ export declare function fetchJSONByUrl(url: string): Promise<Manifest.DoctorManifestWithShardingFiles>;
12
+ export declare function fetchJSONByUrls(urls: string[]): Promise<Manifest.DoctorManifestWithShardingFiles[]>;
13
+ export declare function parseManifest(json: Manifest.DoctorManifestWithShardingFiles): Promise<{
14
+ data: Manifest.DoctorManifestData;
15
+ __LOCAL__SERVER__?: boolean | undefined;
16
+ __SOCKET__URL__?: string | undefined;
17
+ client: Manifest.DoctorManifestClient;
18
+ name?: string | undefined;
19
+ series?: Manifest.DoctorManifestSeriesData[] | undefined;
20
+ }>;
21
+ export declare function getManifestUrl(): string;
22
+ export declare function fetchManifest(url?: string): Promise<Manifest.DoctorManifestWithShardingFiles>;
23
+ export declare function postServerAPI<T extends SDK.ServerAPI.API, B extends SDK.ServerAPI.InferRequestBodyType<T> = SDK.ServerAPI.InferRequestBodyType<T>, R extends SDK.ServerAPI.InferResponseType<T> = SDK.ServerAPI.InferResponseType<T>>(...args: B extends void ? [api: T] : [api: T, body: B]): Promise<R>;
@@ -0,0 +1,162 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+ import axios from "axios";
41
+ import { Manifest, SDK } from "@rsdoctor/types";
42
+ import { Manifest as ManifestMethod, Url } from "@rsdoctor/utils/common";
43
+ import { APILoaderMode4Dev } from "../constants";
44
+ import { getManifestUrlFromUrlQuery } from "./url";
45
+ import { getAPILoaderModeFromStorage } from "./storage";
46
+ function random() {
47
+ return `${Date.now()}${Math.floor(Math.random() * 1e4)}`;
48
+ }
49
+ function fetchShardingFile(url) {
50
+ return __async(this, null, function* () {
51
+ if (Url.isUrl(url)) {
52
+ return axios.get(url, { timeout: 999999, responseType: "text" }).then((e) => e.data);
53
+ }
54
+ return url;
55
+ });
56
+ }
57
+ function loadManifestByUrl(url) {
58
+ return __async(this, null, function* () {
59
+ const json = yield fetchJSONByUrl(url);
60
+ const res = yield parseManifest(json);
61
+ return res;
62
+ });
63
+ }
64
+ function fetchJSONByUrl(url) {
65
+ return __async(this, null, function* () {
66
+ let json = yield axios.get(url, { timeout: 3e4 }).then((e) => e.data);
67
+ if (typeof json === "string") {
68
+ json = JSON.parse(json);
69
+ }
70
+ console.log("[json] ", url, json);
71
+ return json;
72
+ });
73
+ }
74
+ function fetchJSONByUrls(urls) {
75
+ return Promise.all(urls.map((url) => fetchJSONByUrl(url)));
76
+ }
77
+ function parseManifest(json) {
78
+ return __async(this, null, function* () {
79
+ let transformedData;
80
+ if (json.data) {
81
+ try {
82
+ transformedData = yield ManifestMethod.fetchShardingFiles(json.data, fetchShardingFile);
83
+ } catch (error) {
84
+ console.log("cloudData load error: ", error);
85
+ }
86
+ } else {
87
+ throw new Error("fallback to load json.data");
88
+ }
89
+ return __spreadProps(__spreadValues({}, json), {
90
+ data: transformedData
91
+ });
92
+ });
93
+ }
94
+ const manifestUrlForDev = "/manifest.json";
95
+ function getManifestUrl() {
96
+ let file;
97
+ if (window[Manifest.DoctorManifestClientConstant.WindowPropertyForManifestUrl]) {
98
+ file = window[Manifest.DoctorManifestClientConstant.WindowPropertyForManifestUrl];
99
+ } else {
100
+ file = getManifestUrlFromUrlQuery();
101
+ }
102
+ if (!file) {
103
+ if (process.env.NODE_ENV === "development") {
104
+ file = manifestUrlForDev;
105
+ } else {
106
+ file = SDK.ServerAPI.API.Manifest;
107
+ }
108
+ }
109
+ return file;
110
+ }
111
+ const pool = /* @__PURE__ */ new Map();
112
+ function fetchManifest() {
113
+ return __async(this, arguments, function* (url = getManifestUrl()) {
114
+ if (!pool.has(url)) {
115
+ pool.set(
116
+ url,
117
+ fetchJSONByUrl(url).catch((err) => {
118
+ pool.delete(url);
119
+ throw err;
120
+ })
121
+ );
122
+ }
123
+ const res = yield pool.get(url);
124
+ return res;
125
+ });
126
+ }
127
+ if (process.env.NODE_ENV === "development") {
128
+ if (getAPILoaderModeFromStorage() === APILoaderMode4Dev.Local) {
129
+ axios.interceptors.request.use((c) => {
130
+ c.withCredentials = false;
131
+ if (c.url && c.url.startsWith("/")) {
132
+ if (c.url === manifestUrlForDev) {
133
+ c.url = SDK.ServerAPI.API.Manifest;
134
+ }
135
+ const url = new URL(location.href);
136
+ url.port = String(process.env.LOCAL_CLI_PORT);
137
+ return __spreadProps(__spreadValues({}, c), {
138
+ url: `${url.origin}${c.url}`
139
+ });
140
+ }
141
+ return c;
142
+ });
143
+ }
144
+ }
145
+ function postServerAPI(...args) {
146
+ return __async(this, null, function* () {
147
+ const [api, body] = args;
148
+ const timeout = process.env.NODE_ENV === "development" ? 1e4 : 6e4;
149
+ const { data } = yield axios.post(`${api}?_t=${random()}`, body, { timeout });
150
+ return data;
151
+ });
152
+ }
153
+ export {
154
+ fetchJSONByUrl,
155
+ fetchJSONByUrls,
156
+ fetchManifest,
157
+ fetchShardingFile,
158
+ getManifestUrl,
159
+ loadManifestByUrl,
160
+ parseManifest,
161
+ postServerAPI
162
+ };
@@ -0,0 +1,3 @@
1
+ import { Manifest } from '@rsdoctor/types';
2
+ export declare function hasCompile(routes: Manifest.DoctorManifestClientRoutes[]): boolean;
3
+ export declare function hasBundle(routes: Manifest.DoctorManifestClientRoutes[]): boolean;
@@ -0,0 +1,14 @@
1
+ import { includes } from "lodash-es";
2
+ import { Manifest } from "@rsdoctor/types";
3
+ function hasCompile(routes) {
4
+ const hasCompile2 = includes(routes, Manifest.DoctorManifestClientRoutes.WebpackLoaders) || includes(routes, Manifest.DoctorManifestClientRoutes.ModuleResolve) || includes(routes, Manifest.DoctorManifestClientRoutes.WebpackPlugins);
5
+ return hasCompile2;
6
+ }
7
+ function hasBundle(routes) {
8
+ const hasBundle2 = includes(routes, Manifest.DoctorManifestClientRoutes.BundleSize) || includes(routes, Manifest.DoctorManifestClientRoutes.ModuleGraph) || includes(routes, Manifest.DoctorManifestClientRoutes.TreeShaking);
9
+ return hasBundle2;
10
+ }
11
+ export {
12
+ hasBundle,
13
+ hasCompile
14
+ };
@@ -0,0 +1,2 @@
1
+ export declare function formatSize(bytes: number): string;
2
+ export declare function formatPercent(percent: number): string;
@@ -0,0 +1,24 @@
1
+ function formatSize(bytes) {
2
+ let res;
3
+ if (bytes >= 1073741824) {
4
+ res = `${(bytes / 1073741824).toFixed(2)} GB`;
5
+ } else if (bytes >= 1048576) {
6
+ res = `${(bytes / 1048576).toFixed(2)} MB`;
7
+ } else if (bytes >= 1024) {
8
+ res = `${(bytes / 1024).toFixed(2)} KB`;
9
+ } else if (bytes > 1) {
10
+ res = `${bytes} bytes`;
11
+ } else if (bytes === 1) {
12
+ res = `${bytes} byte`;
13
+ } else {
14
+ res = "0 bytes";
15
+ }
16
+ return res;
17
+ }
18
+ function formatPercent(percent) {
19
+ return `${+percent.toFixed(2)}%`;
20
+ }
21
+ export {
22
+ formatPercent,
23
+ formatSize
24
+ };
@@ -0,0 +1,2 @@
1
+ import { Socket } from 'socket.io-client';
2
+ export declare function getSocket(socketUrl?: string): Socket;
@@ -0,0 +1,20 @@
1
+ import { io } from "socket.io-client";
2
+ const map = /* @__PURE__ */ new Map();
3
+ const defaultSocketUrl = process.env.NODE_ENV === "development" ? `ws://${location.hostname}:${process.env.LOCAL_CLI_PORT}` : `ws://${location.host}`;
4
+ function ensureSocket(socketUrl = defaultSocketUrl) {
5
+ if (!map.has(socketUrl)) {
6
+ const socket = io(socketUrl, {});
7
+ socket.on("connect", () => {
8
+ console.log(`Scoket Connect ${socketUrl}`);
9
+ });
10
+ map.set(socketUrl, socket);
11
+ }
12
+ return map.get(socketUrl);
13
+ }
14
+ function getSocket(socketUrl = defaultSocketUrl) {
15
+ const socket = ensureSocket(socketUrl);
16
+ return socket;
17
+ }
18
+ export {
19
+ getSocket
20
+ };
@@ -0,0 +1,13 @@
1
+ import type { Config } from '../config';
2
+ import { APILoaderMode4Dev } from '../constants';
3
+ export declare function getStorage(key: string): string | null;
4
+ export declare function setStorage(key: string, value: string): boolean;
5
+ export declare function getThemeFromStorage(): Config['theme'];
6
+ export declare function setThemeToStorage(theme: Config['theme']): void;
7
+ export declare function getLocaleFromStorage(): Config['locale'];
8
+ export declare function setLocaleToStorage(locale: Config['locale']): void;
9
+ export declare function getViewModeFromStorage(): Config['viewMode'];
10
+ export declare function setViewModeToStorage(viewMode: Config['viewMode']): void;
11
+ export declare function hasViewModeFromStorage(): boolean;
12
+ export declare function setAPILoaderModeToStorage(mode: APILoaderMode4Dev): void;
13
+ export declare function getAPILoaderModeFromStorage(): string;
@@ -0,0 +1,70 @@
1
+ import { APILoaderMode4Dev, Language, Theme, ViewMode } from "../constants";
2
+ var Keys = /* @__PURE__ */ ((Keys2) => {
3
+ Keys2["Namespace"] = "__WEBDOCTOR__STORAGE__";
4
+ Keys2["Theme"] = "THEME";
5
+ Keys2["Locale"] = "LOCALE";
6
+ Keys2["ViewMode"] = "VIEWMODE";
7
+ Keys2["APILoaderMode4Dev"] = "APILOADERMODE_DEV";
8
+ return Keys2;
9
+ })(Keys || {});
10
+ function getStorage(key) {
11
+ return window.localStorage.getItem(`${"__WEBDOCTOR__STORAGE__" /* Namespace */}${key}`);
12
+ }
13
+ function setStorage(key, value) {
14
+ try {
15
+ window.localStorage.setItem(`${"__WEBDOCTOR__STORAGE__" /* Namespace */}${key}`, value);
16
+ return true;
17
+ } catch (error) {
18
+ console.error(error);
19
+ return false;
20
+ }
21
+ }
22
+ function getThemeFromStorage() {
23
+ return getStorage("THEME" /* Theme */) || Theme.Light;
24
+ }
25
+ function setThemeToStorage(theme) {
26
+ setStorage("THEME" /* Theme */, theme);
27
+ }
28
+ function getLocaleFromStorage() {
29
+ return getStorage("LOCALE" /* Locale */) || Language.En;
30
+ }
31
+ function setLocaleToStorage(locale) {
32
+ setStorage("LOCALE" /* Locale */, locale);
33
+ }
34
+ function getViewModeFromStorage() {
35
+ const fallback = { bundleAlerts: ViewMode.List, compileAlerts: ViewMode.List };
36
+ try {
37
+ const str = getStorage("VIEWMODE" /* ViewMode */);
38
+ if (str) {
39
+ return JSON.parse(str) || fallback;
40
+ }
41
+ return fallback;
42
+ } catch (error) {
43
+ return fallback;
44
+ }
45
+ }
46
+ function setViewModeToStorage(viewMode) {
47
+ setStorage("VIEWMODE" /* ViewMode */, JSON.stringify(viewMode));
48
+ }
49
+ function hasViewModeFromStorage() {
50
+ return !!getStorage("VIEWMODE" /* ViewMode */);
51
+ }
52
+ function setAPILoaderModeToStorage(mode) {
53
+ setStorage("APILOADERMODE_DEV" /* APILoaderMode4Dev */, mode);
54
+ }
55
+ function getAPILoaderModeFromStorage() {
56
+ return getStorage("APILOADERMODE_DEV" /* APILoaderMode4Dev */) || APILoaderMode4Dev.Default;
57
+ }
58
+ export {
59
+ getAPILoaderModeFromStorage,
60
+ getLocaleFromStorage,
61
+ getStorage,
62
+ getThemeFromStorage,
63
+ getViewModeFromStorage,
64
+ hasViewModeFromStorage,
65
+ setAPILoaderModeToStorage,
66
+ setLocaleToStorage,
67
+ setStorage,
68
+ setThemeToStorage,
69
+ setViewModeToStorage
70
+ };
@@ -0,0 +1,2 @@
1
+ export declare function ensurePrefix(str: string, prefix: string): string;
2
+ export declare function removePrefix(str: string, prefix: string): string;
@@ -0,0 +1,14 @@
1
+ function ensurePrefix(str, prefix) {
2
+ return str.slice(0, prefix.length) === prefix ? str : `${str}${prefix}`;
3
+ }
4
+ function removePrefix(str, prefix) {
5
+ let res = str;
6
+ while (res.slice(0, prefix.length) === prefix) {
7
+ res = res.slice(prefix.length);
8
+ }
9
+ return res;
10
+ }
11
+ export {
12
+ ensurePrefix,
13
+ removePrefix
14
+ };
@@ -0,0 +1,3 @@
1
+ import { Time } from '@rsdoctor/utils/common';
2
+ declare const toFixedDigits: typeof Time.toFixedDigits, getUnit: typeof Time.getUnit, formatCosts: typeof Time.formatCosts;
3
+ export { toFixedDigits as toFixed, getUnit, formatCosts };
@@ -0,0 +1,7 @@
1
+ import { Time } from "@rsdoctor/utils/common";
2
+ const { toFixedDigits, getUnit, formatCosts } = Time;
3
+ export {
4
+ formatCosts,
5
+ getUnit,
6
+ toFixedDigits as toFixed
7
+ };
@@ -0,0 +1,6 @@
1
+ export declare function isJsDataUrl(path: string): boolean;
2
+ export declare function getManifestUrlFromUrlQuery(): string | void;
3
+ export declare function changeOrigin(origin: string): string;
4
+ export declare function getSharingUrl(manifestCloudUrl: string): string;
5
+ export declare function getDemoUrl(): string | null;
6
+ export declare const getShortPath: (path: string) => string;
@@ -0,0 +1,89 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import parse from "url-parse";
21
+ import { Constants, Client } from "@rsdoctor/types";
22
+ import { endsWith } from "lodash-es";
23
+ function setDefaultUrl(url) {
24
+ if (process.env.NODE_ENV !== "development") {
25
+ const uri = parse(Constants.RsdoctorClientUrl, true);
26
+ url.set("origin", uri.origin);
27
+ url.set("protocol", uri.protocol);
28
+ url.set("host", uri.host);
29
+ url.set("pathname", uri.pathname);
30
+ }
31
+ }
32
+ function setUploaderHash(url) {
33
+ if (endsWith(url.hash, Client.DoctorClientRoutes.Uploader)) {
34
+ url.set("hash", Client.DoctorClientRoutes.Overall);
35
+ }
36
+ }
37
+ function isJsDataUrl(path) {
38
+ return path.startsWith("data:text/javascript;");
39
+ }
40
+ function getManifestUrlFromUrlQuery() {
41
+ const { query } = parse(location.href, true);
42
+ const url = query[Client.DoctorClientUrlQuery.ManifestFile];
43
+ if (url) {
44
+ return decodeURIComponent(url);
45
+ }
46
+ }
47
+ function changeOrigin(origin) {
48
+ const url = parse(location.href, true);
49
+ const newUrl = parse(origin, true);
50
+ setUploaderHash(url);
51
+ url.set("origin", origin);
52
+ url.set("protocol", newUrl.protocol);
53
+ url.set("host", newUrl.host);
54
+ url.set("port", newUrl.port);
55
+ return url.toString();
56
+ }
57
+ function getSharingUrl(manifestCloudUrl) {
58
+ const url = parse(location.href, true);
59
+ setDefaultUrl(url);
60
+ setUploaderHash(url);
61
+ url.set("query", __spreadProps(__spreadValues({}, url.query), {
62
+ [Client.DoctorClientUrlQuery.ManifestFile]: manifestCloudUrl
63
+ }));
64
+ return url.toString();
65
+ }
66
+ function getDemoUrl() {
67
+ if (process.env.OFFICAL_DEMO_MANIFEST_PATH) {
68
+ return getSharingUrl(process.env.OFFICAL_DEMO_MANIFEST_PATH);
69
+ }
70
+ return null;
71
+ }
72
+ const getShortPath = (path) => {
73
+ if ((path == null ? void 0 : path.indexOf("node_modules")) >= 0) {
74
+ const pathArr = path.split("node_modules");
75
+ return `node_modules${pathArr[pathArr.length - 1]}`;
76
+ }
77
+ if (path == null ? void 0 : path.length) {
78
+ return `${path == null ? void 0 : path.split("/").slice(-4).join("/")}`;
79
+ }
80
+ return path;
81
+ };
82
+ export {
83
+ changeOrigin,
84
+ getDemoUrl,
85
+ getManifestUrlFromUrlQuery,
86
+ getSharingUrl,
87
+ getShortPath,
88
+ isJsDataUrl
89
+ };
@@ -0,0 +1,4 @@
1
+ export * from './utils';
2
+ export * from './types';
3
+ export * from './master';
4
+ export * from './worker';
@@ -0,0 +1,4 @@
1
+ export * from "./utils";
2
+ export * from "./types";
3
+ export * from "./master";
4
+ export * from "./worker";
@@ -0,0 +1,8 @@
1
+ import { CreateWorker } from './types';
2
+ import { ChildWorker } from './worker';
3
+ declare class Master {
4
+ private _workerMap;
5
+ detectWorker(create: CreateWorker): ChildWorker;
6
+ }
7
+ export declare const master: Master;
8
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ChildWorker } from "./worker";
2
+ class Master {
3
+ constructor() {
4
+ this._workerMap = /* @__PURE__ */ new WeakMap();
5
+ }
6
+ detectWorker(create) {
7
+ if (this._workerMap.has(create))
8
+ return this._workerMap.get(create);
9
+ const worker = create();
10
+ const child = new ChildWorker(worker);
11
+ this._workerMap.set(create, child);
12
+ return child;
13
+ }
14
+ }
15
+ const master = new Master();
16
+ export {
17
+ master
18
+ };
@@ -0,0 +1,9 @@
1
+ export type CreateWorker = () => Worker;
2
+ export type NativeWorkerMessage<T = unknown> = MessageEvent<WorkerMessage<T>>;
3
+ export type WorkerMessage<T = unknown> = {
4
+ id: number | string;
5
+ data: T;
6
+ };
7
+ export type InternalWorkerEventCallback<T> = (message: WorkerMessage<T>) => unknown;
8
+ export type UserWorkerEventCallback<T = unknown> = (data: T) => unknown;
9
+ export type UserWorkerEventHandler<T = unknown, R = unknown> = (data: T) => R | Promise<R>;
File without changes