@rsdoctor/components 1.3.7 → 1.3.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 (281) hide show
  1. package/dist/common/imgs/connection-point.mjs.map +1 -1
  2. package/dist/common/imgs/webpack.mjs.map +1 -1
  3. package/dist/common/svg/bundle-size.mjs.map +1 -1
  4. package/dist/common/svg/error.mjs.map +1 -1
  5. package/dist/common/svg/file-css.mjs.map +1 -1
  6. package/dist/common/svg/file-html.mjs.map +1 -1
  7. package/dist/common/svg/file-image.mjs.map +1 -1
  8. package/dist/common/svg/file-js.mjs.map +1 -1
  9. package/dist/common/svg/file-unknown.mjs.map +1 -1
  10. package/dist/common/svg/file.mjs.map +1 -1
  11. package/dist/common/svg/files/css.mjs.map +1 -1
  12. package/dist/common/svg/files/html.mjs.map +1 -1
  13. package/dist/common/svg/files/image.mjs.map +1 -1
  14. package/dist/common/svg/files/js.mjs.map +1 -1
  15. package/dist/common/svg/files/unkown-file.mjs.map +1 -1
  16. package/dist/common/svg/loader/input.mjs.map +1 -1
  17. package/dist/common/svg/loader/output.mjs.map +1 -1
  18. package/dist/common/svg/loader/step.mjs.map +1 -1
  19. package/dist/common/svg/navbar/bundle-size-active.mjs.map +1 -1
  20. package/dist/common/svg/navbar/bundle-size-inactive.mjs.map +1 -1
  21. package/dist/common/svg/navbar/compile-analysis-active.mjs.map +1 -1
  22. package/dist/common/svg/navbar/compile-analysis-inactive.mjs.map +1 -1
  23. package/dist/common/svg/navbar/overall-active.mjs.map +1 -1
  24. package/dist/common/svg/navbar/overall-inactive.mjs.map +1 -1
  25. package/dist/common/svg/output.mjs.map +1 -1
  26. package/dist/common/svg/source-size.mjs.map +1 -1
  27. package/dist/common/svg/source.mjs.map +1 -1
  28. package/dist/common/svg/total-size.mjs.map +1 -1
  29. package/dist/common/svg/version.mjs.map +1 -1
  30. package/dist/components/Alert/change.d.ts +1 -1
  31. package/dist/components/Alert/change.mjs.map +1 -1
  32. package/dist/components/Alert/ecma-version-check.d.ts +1 -1
  33. package/dist/components/Alert/ecma-version-check.mjs.map +1 -1
  34. package/dist/components/Alert/ecma-version-check.module.mjs.map +1 -1
  35. package/dist/components/Alert/file-relation.d.ts +1 -1
  36. package/dist/components/Alert/file-relation.mjs.map +1 -1
  37. package/dist/components/Alert/package-relation.d.ts +1 -1
  38. package/dist/components/Alert/package-relation.mjs.map +1 -1
  39. package/dist/components/Alert/package-relation.module.mjs.map +1 -1
  40. package/dist/components/Alert/view.d.ts +1 -1
  41. package/dist/components/Alert/view.mjs.map +1 -1
  42. package/dist/components/Alerts/bundle-alert.d.ts +2 -2
  43. package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
  44. package/dist/components/Alerts/bundle-alert.module.mjs.map +1 -1
  45. package/dist/components/Alerts/bundle.mjs.map +1 -1
  46. package/dist/components/Alerts/collapse-cross-chunks.d.ts +1 -1
  47. package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
  48. package/dist/components/Alerts/collapse.d.ts +1 -1
  49. package/dist/components/Alerts/collapse.mjs.map +1 -1
  50. package/dist/components/Alerts/collapse.module.mjs.map +1 -1
  51. package/dist/components/Alerts/compile.mjs.map +1 -1
  52. package/dist/components/Alerts/index.d.ts +3 -3
  53. package/dist/components/Alerts/list.mjs.map +1 -1
  54. package/dist/components/Alerts/list.module.mjs.map +1 -1
  55. package/dist/components/Alerts/overlay.mjs.map +1 -1
  56. package/dist/components/Alerts/overlay.module.mjs.map +1 -1
  57. package/dist/components/Badge/index.mjs.map +1 -1
  58. package/dist/components/Card/diff.d.ts +1 -1
  59. package/dist/components/Card/diff.mjs.map +1 -1
  60. package/dist/components/Card/index.d.ts +1 -1
  61. package/dist/components/Card/index.mjs.map +1 -1
  62. package/dist/components/Card/size.mjs.map +1 -1
  63. package/dist/components/Card/size.module.mjs.map +1 -1
  64. package/dist/components/Card/statistic.mjs.map +1 -1
  65. package/dist/components/Charts/TimelineCharts/index.d.ts +2 -2
  66. package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
  67. package/dist/components/Charts/TreeMap.mjs.map +1 -1
  68. package/dist/components/Charts/bootstrap.d.ts +1 -1
  69. package/dist/components/Charts/bootstrap.mjs.map +1 -1
  70. package/dist/components/Charts/common.d.ts +2 -2
  71. package/dist/components/Charts/common.mjs.map +1 -1
  72. package/dist/components/Charts/constants.mjs.map +1 -1
  73. package/dist/components/Charts/done.d.ts +1 -1
  74. package/dist/components/Charts/done.mjs.map +1 -1
  75. package/dist/components/Charts/index.mjs.map +1 -1
  76. package/dist/components/Charts/loader.d.ts +1 -1
  77. package/dist/components/Charts/loader.mjs.map +1 -1
  78. package/dist/components/Charts/minify.d.ts +1 -1
  79. package/dist/components/Charts/minify.mjs.map +1 -1
  80. package/dist/components/Charts/treemap.module.mjs.map +1 -1
  81. package/dist/components/Charts/types.mjs.map +1 -1
  82. package/dist/components/Charts/utils.d.ts +1 -1
  83. package/dist/components/Charts/utils.mjs.map +1 -1
  84. package/dist/components/Configuration/builder.mjs.map +1 -1
  85. package/dist/components/Configuration/builder.module.mjs.map +1 -1
  86. package/dist/components/Configuration/index.d.ts +1 -1
  87. package/dist/components/FileTree/css.mjs.map +1 -1
  88. package/dist/components/FileTree/html.mjs.map +1 -1
  89. package/dist/components/FileTree/image.mjs.map +1 -1
  90. package/dist/components/FileTree/index.mjs.map +1 -1
  91. package/dist/components/FileTree/js.mjs.map +1 -1
  92. package/dist/components/FileTree/unkown-file.mjs.map +1 -1
  93. package/dist/components/Form/keyword.mjs.map +1 -1
  94. package/dist/components/Keyword/index.mjs.map +1 -1
  95. package/dist/components/Keyword/style.module.mjs.map +1 -1
  96. package/dist/components/Layout/builder-select.mjs.map +1 -1
  97. package/dist/components/Layout/bundle-size-icon.mjs.map +1 -1
  98. package/dist/components/Layout/compile-icon.mjs.map +1 -1
  99. package/dist/components/Layout/constants.mjs.map +1 -1
  100. package/dist/components/Layout/header.mjs.map +1 -1
  101. package/dist/components/Layout/index.mjs.map +1 -1
  102. package/dist/components/Layout/menus.mjs.map +1 -1
  103. package/dist/components/Layout/overall-icon.mjs.map +1 -1
  104. package/dist/components/Layout/progress.mjs.map +1 -1
  105. package/dist/components/Loader/Analysis/files.mjs.map +1 -1
  106. package/dist/components/Loader/Analysis/index.mjs.map +1 -1
  107. package/dist/components/Loader/Analysis/input.mjs.map +1 -1
  108. package/dist/components/Loader/Analysis/output.mjs.map +1 -1
  109. package/dist/components/Loader/Analysis/style.module.mjs.map +1 -1
  110. package/dist/components/Loader/executions.mjs.map +1 -1
  111. package/dist/components/Loader/step.mjs.map +1 -1
  112. package/dist/components/Manifest/api.mjs.map +1 -1
  113. package/dist/components/Manifest/data.mjs.map +1 -1
  114. package/dist/components/Manifest/index.d.ts +2 -2
  115. package/dist/components/Opener/code.mjs.map +1 -1
  116. package/dist/components/Opener/index.d.ts +2 -2
  117. package/dist/components/Opener/vscode.mjs.map +1 -1
  118. package/dist/components/Overall/DataSummary.mjs.map +1 -1
  119. package/dist/components/Overall/DataSummary.module.mjs.map +1 -1
  120. package/dist/components/Overall/bundle.mjs.map +1 -1
  121. package/dist/components/Overall/bundle.module.mjs.map +1 -1
  122. package/dist/components/Overall/card.module.mjs.map +1 -1
  123. package/dist/components/Overall/compile.mjs.map +1 -1
  124. package/dist/components/Overall/compile.module.mjs.map +1 -1
  125. package/dist/components/Overall/help-center.mjs.map +1 -1
  126. package/dist/components/Overall/help-center.module.mjs.map +1 -1
  127. package/dist/components/Overall/index.d.ts +3 -3
  128. package/dist/components/Overall/list.module.mjs.map +1 -1
  129. package/dist/components/Overall/overview.mjs.map +1 -1
  130. package/dist/components/Overall/overview.module.mjs.map +1 -1
  131. package/dist/components/Overall/project.mjs.map +1 -1
  132. package/dist/components/Overall/project.module.mjs.map +1 -1
  133. package/dist/components/Plugins/webpack.mjs.map +1 -1
  134. package/dist/components/Resolver/analysis.mjs.map +1 -1
  135. package/dist/components/Select/index.mjs.map +1 -1
  136. package/dist/components/Status/failed.mjs.map +1 -1
  137. package/dist/components/Status/index.d.ts +1 -1
  138. package/dist/components/TextDrawer/duplicate.d.ts +2 -2
  139. package/dist/components/TextDrawer/duplicate.mjs.map +1 -1
  140. package/dist/components/TextDrawer/index.d.ts +1 -1
  141. package/dist/components/TextDrawer/index.mjs.map +1 -1
  142. package/dist/components/Title/index.mjs.map +1 -1
  143. package/dist/components/base/CodeViewer/index.d.ts +4 -4
  144. package/dist/components/base/CodeViewer/index.mjs.map +1 -1
  145. package/dist/components/base/CodeViewer/index.module.mjs.map +1 -1
  146. package/dist/components/base/CodeViewer/useCodeDrawer.d.ts +1 -1
  147. package/dist/components/base/CodeViewer/useCodeDrawer.mjs.map +1 -1
  148. package/dist/components/base/CodeViewer/utils.mjs.map +1 -1
  149. package/dist/components/base/DiffViewer/index.d.ts +4 -4
  150. package/dist/components/base/DiffViewer/index.mjs.map +1 -1
  151. package/dist/components/base/DiffViewer/index.module.mjs.map +1 -1
  152. package/dist/components/base/DiffViewer/useDiffDrawer.d.ts +1 -1
  153. package/dist/components/base/DiffViewer/useDiffDrawer.mjs.map +1 -1
  154. package/dist/components/base/DiffViewer/utils.mjs.map +1 -1
  155. package/dist/components/base/index.d.ts +2 -2
  156. package/dist/components/index.d.ts +10 -10
  157. package/dist/config.d.ts +1 -1
  158. package/dist/config.mjs.map +1 -1
  159. package/dist/constants.mjs.map +1 -1
  160. package/dist/index.d.ts +3 -3
  161. package/dist/pages/BundleSize/components/asset.d.ts +1 -1
  162. package/dist/pages/BundleSize/components/asset.mjs.map +1 -1
  163. package/dist/pages/BundleSize/components/card.module.mjs.map +1 -1
  164. package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
  165. package/dist/pages/BundleSize/components/index.mjs.map +1 -1
  166. package/dist/pages/BundleSize/components/index.module.mjs.map +1 -1
  167. package/dist/pages/BundleSize/components/search-modal.mjs.map +1 -1
  168. package/dist/pages/BundleSize/config.mjs.map +1 -1
  169. package/dist/pages/BundleSize/constants.mjs.map +1 -1
  170. package/dist/pages/BundleSize/index.d.ts +1 -1
  171. package/dist/pages/BundleSize/index.mjs.map +1 -1
  172. package/dist/pages/ModuleAnalyze/chunks.mjs.map +1 -1
  173. package/dist/pages/ModuleAnalyze/components/fileTreeCom.d.ts +1 -1
  174. package/dist/pages/ModuleAnalyze/components/fileTreeCom.mjs.map +1 -1
  175. package/dist/pages/ModuleAnalyze/constants.mjs.map +1 -1
  176. package/dist/pages/ModuleAnalyze/dependency.mjs.map +1 -1
  177. package/dist/pages/ModuleAnalyze/fileTree.mjs.map +1 -1
  178. package/dist/pages/ModuleAnalyze/index.mjs.map +1 -1
  179. package/dist/pages/ModuleAnalyze/utils/hooks.mjs.map +1 -1
  180. package/dist/pages/ModuleAnalyze/utils/index.mjs.map +1 -1
  181. package/dist/pages/ModuleResolve/constants.mjs.map +1 -1
  182. package/dist/pages/ModuleResolve/index.d.ts +1 -1
  183. package/dist/pages/ModuleResolve/index.mjs.map +1 -1
  184. package/dist/pages/Overall/constants.mjs.map +1 -1
  185. package/dist/pages/Overall/index.d.ts +1 -1
  186. package/dist/pages/Overall/index.mjs.map +1 -1
  187. package/dist/pages/Overall/index.module.mjs.map +1 -1
  188. package/dist/pages/Overall/responsiveLayout.mjs.map +1 -1
  189. package/dist/pages/Resources/BundleDiff/DiffContainer/assets.mjs.map +1 -1
  190. package/dist/pages/Resources/BundleDiff/DiffContainer/cards.d.ts +1 -1
  191. package/dist/pages/Resources/BundleDiff/DiffContainer/cards.mjs.map +1 -1
  192. package/dist/pages/Resources/BundleDiff/DiffContainer/changes.mjs.map +1 -1
  193. package/dist/pages/Resources/BundleDiff/DiffContainer/constants.mjs.map +1 -1
  194. package/dist/pages/Resources/BundleDiff/DiffContainer/index.d.ts +1 -1
  195. package/dist/pages/Resources/BundleDiff/DiffContainer/index.mjs.map +1 -1
  196. package/dist/pages/Resources/BundleDiff/DiffContainer/modules.d.ts +2 -2
  197. package/dist/pages/Resources/BundleDiff/DiffContainer/modules.mjs.map +1 -1
  198. package/dist/pages/Resources/BundleDiff/DiffContainer/overview.mjs.map +1 -1
  199. package/dist/pages/Resources/BundleDiff/DiffContainer/packages.d.ts +1 -1
  200. package/dist/pages/Resources/BundleDiff/DiffContainer/packages.mjs.map +1 -1
  201. package/dist/pages/Resources/BundleDiff/DiffContainer/row.d.ts +1 -1
  202. package/dist/pages/Resources/BundleDiff/DiffContainer/row.mjs.map +1 -1
  203. package/dist/pages/Resources/BundleDiff/DiffContainer/types.d.ts +2 -2
  204. package/dist/pages/Resources/BundleDiff/DiffContainer/utils.mjs.map +1 -1
  205. package/dist/pages/Resources/BundleDiff/DiffServerAPIProvider/index.d.ts +1 -1
  206. package/dist/pages/Resources/BundleDiff/DiffServerAPIProvider/index.mjs.map +1 -1
  207. package/dist/pages/Resources/BundleDiff/constants.mjs.map +1 -1
  208. package/dist/pages/Resources/BundleDiff/index.d.ts +2 -2
  209. package/dist/pages/Resources/BundleDiff/index.mjs.map +1 -1
  210. package/dist/pages/Resources/RuleIndex/constants.mjs.map +1 -1
  211. package/dist/pages/Resources/RuleIndex/index.d.ts +1 -1
  212. package/dist/pages/Resources/RuleIndex/index.mjs.map +1 -1
  213. package/dist/pages/TreeShaking/constants.mjs.map +1 -1
  214. package/dist/pages/TreeShaking/editor.d.ts +1 -1
  215. package/dist/pages/TreeShaking/editor.mjs.map +1 -1
  216. package/dist/pages/TreeShaking/index.d.ts +1 -1
  217. package/dist/pages/TreeShaking/index.mjs.map +1 -1
  218. package/dist/pages/TreeShaking/open-tag.mjs.map +1 -1
  219. package/dist/pages/TreeShaking/range.mjs.map +1 -1
  220. package/dist/pages/TreeShaking/space.mjs.map +1 -1
  221. package/dist/pages/TreeShaking/table.d.ts +1 -1
  222. package/dist/pages/TreeShaking/table.mjs.map +1 -1
  223. package/dist/pages/TreeShaking/utils.d.ts +1 -1
  224. package/dist/pages/TreeShaking/utils.mjs.map +1 -1
  225. package/dist/pages/Uploader/constants.mjs.map +1 -1
  226. package/dist/pages/Uploader/index.d.ts +1 -1
  227. package/dist/pages/Uploader/index.mjs.map +1 -1
  228. package/dist/pages/Uploader/utils.mjs.map +1 -1
  229. package/dist/pages/WebpackLoaders/Analysis/constants.mjs.map +1 -1
  230. package/dist/pages/WebpackLoaders/Analysis/index.d.ts +1 -1
  231. package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
  232. package/dist/pages/WebpackLoaders/Overall/constants.mjs.map +1 -1
  233. package/dist/pages/WebpackLoaders/Overall/index.d.ts +1 -1
  234. package/dist/pages/WebpackLoaders/Overall/index.mjs.map +1 -1
  235. package/dist/pages/WebpackLoaders/constants.mjs.map +1 -1
  236. package/dist/pages/WebpackPlugins/constants.mjs.map +1 -1
  237. package/dist/pages/WebpackPlugins/index.d.ts +1 -1
  238. package/dist/pages/WebpackPlugins/index.mjs.map +1 -1
  239. package/dist/pages/index.d.ts +11 -11
  240. package/dist/utils/data/base.mjs.map +1 -1
  241. package/dist/utils/data/brief.d.ts +1 -1
  242. package/dist/utils/data/brief.mjs.map +1 -1
  243. package/dist/utils/data/index.d.ts +1 -1
  244. package/dist/utils/data/index.mjs.map +1 -1
  245. package/dist/utils/data/local.d.ts +1 -1
  246. package/dist/utils/data/local.mjs.map +1 -1
  247. package/dist/utils/data/remote.d.ts +1 -1
  248. package/dist/utils/data/remote.mjs.map +1 -1
  249. package/dist/utils/file.mjs.map +1 -1
  250. package/dist/utils/hooks.d.ts +1 -1
  251. package/dist/utils/hooks.mjs +4 -3
  252. package/dist/utils/hooks.mjs.map +1 -1
  253. package/dist/utils/i18n/cn.d.ts +1 -1
  254. package/dist/utils/i18n/cn.mjs.map +1 -1
  255. package/dist/utils/i18n/en.mjs +3 -3
  256. package/dist/utils/i18n/en.mjs.map +1 -1
  257. package/dist/utils/i18n/index.mjs.map +1 -1
  258. package/dist/utils/index.d.ts +16 -16
  259. package/dist/utils/loader.mjs.map +1 -1
  260. package/dist/utils/locale.d.ts +1 -1
  261. package/dist/utils/locale.mjs.map +1 -1
  262. package/dist/utils/manifest.d.ts +4 -4
  263. package/dist/utils/manifest.mjs.map +1 -1
  264. package/dist/utils/request.mjs.map +1 -1
  265. package/dist/utils/routes.mjs.map +1 -1
  266. package/dist/utils/size.mjs.map +1 -1
  267. package/dist/utils/socket.mjs.map +1 -1
  268. package/dist/utils/stats.mjs.map +1 -1
  269. package/dist/utils/storage.d.ts +2 -2
  270. package/dist/utils/storage.mjs.map +1 -1
  271. package/dist/utils/string.mjs.map +1 -1
  272. package/dist/utils/time.mjs.map +1 -1
  273. package/dist/utils/url.mjs.map +1 -1
  274. package/dist/utils/worker/index.d.ts +4 -4
  275. package/dist/utils/worker/master.d.ts +2 -2
  276. package/dist/utils/worker/master.mjs.map +1 -1
  277. package/dist/utils/worker/utils.d.ts +1 -1
  278. package/dist/utils/worker/utils.mjs.map +1 -1
  279. package/dist/utils/worker/worker.d.ts +1 -1
  280. package/dist/utils/worker/worker.mjs.map +1 -1
  281. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/DataSummary.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/DataSummary.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\n\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport FileSvg from '../../common/svg/file.svg';\n\nimport styles from './DataSummary.module.scss';\n\nexport interface DataSummaryProps {\n theme: 'common' | 'warning';\n number: string | number;\n onClick?: () => void;\n description: string;\n numberFontSize?: string;\n}\n\nexport const DataSummary = ({\n theme,\n number,\n description,\n}: DataSummaryProps) => {\n return (\n <div className={`${styles.container} ${styles[theme]}`}>\n <Icon\n style={{ fontSize: '18px', margin: '0 5px' }}\n component={theme === 'common' ? FileSvg : TotalSizeSvg}\n />\n <span className={styles.description}>{description}</span>\n <span className={styles.data}>{number}</span>\n </div>\n );\n};\n"],"names":["DataSummary","theme","number","description","styles","Icon","FileSvg","TotalSizeSvg"],"mappings":";;;;;AAeO,MAAMA,cAAc,CAAC,EAC1BC,KAAK,EACLC,MAAM,EACNC,WAAW,EACM,GACV,WAAP,GACE,KAAC;QAAI,WAAW,GAAGC,mBAAAA,SAAgB,CAAC,CAAC,EAAEA,kBAAM,CAACH,MAAM,EAAE;;0BACpD,IAACI,OAAIA;gBACH,OAAO;oBAAE,UAAU;oBAAQ,QAAQ;gBAAQ;gBAC3C,WAAWJ,AAAU,aAAVA,QAAqBK,OAAUC;;0BAE5C,IAAC;gBAAK,WAAWH,mBAAAA,WAAkB;0BAAGD;;0BACtC,IAAC;gBAAK,WAAWC,mBAAAA,IAAW;0BAAGF"}
1
+ {"version":3,"file":"components/Overall/DataSummary.mjs","sources":["../../../src/components/Overall/DataSummary.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\n\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport FileSvg from '../../common/svg/file.svg';\n\nimport styles from './DataSummary.module.scss';\n\nexport interface DataSummaryProps {\n theme: 'common' | 'warning';\n number: string | number;\n onClick?: () => void;\n description: string;\n numberFontSize?: string;\n}\n\nexport const DataSummary = ({\n theme,\n number,\n description,\n}: DataSummaryProps) => {\n return (\n <div className={`${styles.container} ${styles[theme]}`}>\n <Icon\n style={{ fontSize: '18px', margin: '0 5px' }}\n component={theme === 'common' ? FileSvg : TotalSizeSvg}\n />\n <span className={styles.description}>{description}</span>\n <span className={styles.data}>{number}</span>\n </div>\n );\n};\n"],"names":["DataSummary","theme","number","description","styles","Icon","FileSvg","TotalSizeSvg"],"mappings":";;;;;AAeO,MAAMA,cAAc,CAAC,EAC1BC,KAAK,EACLC,MAAM,EACNC,WAAW,EACM,GACV,WAAP,GACE,KAAC;QAAI,WAAW,GAAGC,mBAAAA,SAAgB,CAAC,CAAC,EAAEA,kBAAM,CAACH,MAAM,EAAE;;0BACpD,IAACI,OAAIA;gBACH,OAAO;oBAAE,UAAU;oBAAQ,QAAQ;gBAAQ;gBAC3C,WAAWJ,AAAU,aAAVA,QAAqBK,OAAUC;;0BAE5C,IAAC;gBAAK,WAAWH,mBAAAA,WAAkB;0BAAGD;;0BACtC,IAAC;gBAAK,WAAWC,mBAAAA,IAAW;0BAAGF"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/DataSummary.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/DataSummary.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./DataSummary_module.css\"\nexport default {\"errorNumber\":\"errorNumber-NtnGpL\",\"warningNumber\":\"warningNumber-UgutU8\",\"successNumber\":\"successNumber-YOK23K\",\"errorText\":\"errorText-u5Q3ns\",\"warningText\":\"warningText-PymRi4\",\"successText\":\"successText-ddFAF_\",\"errorButton\":\"errorButton-jYRQzL\",\"warningButton\":\"warningButton-KAF3GT\",\"successButton\":\"successButton-clAJSx\",\"container\":\"container-ssAvLP\",\"icon\":\"icon-K6JtIV\",\"description\":\"description-Ik1PO7\",\"data\":\"data-J9Vxvq\",\"common\":\"common-sHeHRd\",\"warning\":\"warning-HnVMOj\"};"],"names":[],"mappings":";AAEA,2BAAe;IAAC,aAAc;IAAqB,eAAgB;IAAuB,eAAgB;IAAuB,WAAY;IAAmB,aAAc;IAAqB,aAAc;IAAqB,aAAc;IAAqB,eAAgB;IAAuB,eAAgB;IAAuB,WAAY;IAAmB,MAAO;IAAc,aAAc;IAAqB,MAAO;IAAc,QAAS;IAAgB,SAAU;AAAgB"}
1
+ {"version":3,"file":"components/Overall/DataSummary.module.mjs","sources":["../../../src/components/Overall/DataSummary.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./DataSummary_module.css\"\nexport default {\"errorNumber\":\"errorNumber-NtnGpL\",\"warningNumber\":\"warningNumber-UgutU8\",\"successNumber\":\"successNumber-YOK23K\",\"errorText\":\"errorText-u5Q3ns\",\"warningText\":\"warningText-PymRi4\",\"successText\":\"successText-ddFAF_\",\"errorButton\":\"errorButton-jYRQzL\",\"warningButton\":\"warningButton-KAF3GT\",\"successButton\":\"successButton-clAJSx\",\"container\":\"container-ssAvLP\",\"icon\":\"icon-K6JtIV\",\"description\":\"description-Ik1PO7\",\"data\":\"data-J9Vxvq\",\"common\":\"common-sHeHRd\",\"warning\":\"warning-HnVMOj\"};"],"names":[],"mappings":";AAEA,2BAAe;IAAC,aAAc;IAAqB,eAAgB;IAAuB,eAAgB;IAAuB,WAAY;IAAmB,aAAc;IAAqB,aAAc;IAAqB,aAAc;IAAqB,eAAgB;IAAuB,eAAgB;IAAuB,WAAY;IAAmB,MAAO;IAAc,aAAc;IAAqB,MAAO;IAAc,QAAS;IAAgB,SAAU;AAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/bundle.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/bundle.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Descriptions,\n DescriptionsProps,\n Button,\n Tree,\n Tag,\n Segmented,\n} from 'antd';\nimport { FolderOpenTwoTone, RightOutlined } from '@ant-design/icons';\nimport { useNavigate } from 'react-router-dom';\n\nimport { getFileCom } from '../FileTree';\nimport { formatSize, useI18n } from '../../utils';\nimport { TextDrawer } from '../TextDrawer';\nimport { Card } from '../Card';\nimport { ServerAPIProvider } from '../Manifest';\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport { DataSummary } from './DataSummary';\n\nimport { Client, SDK } from '@rsdoctor/types';\nimport type { TreeDataNode } from 'antd';\n\nimport styles from './bundle.module.scss';\n\ntype viewType = 'files' | 'size';\n\nconst { DirectoryTree } = Tree;\n\nexport const getFiles = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n) => {\n let files: Array<{\n fileName: string;\n defaultDir: string;\n size: number;\n initial: boolean;\n }> = [];\n if (data.files.length) {\n files = data.files.map((fileMessage) => {\n const filePath = fileMessage.path;\n const pathArray = filePath.split('/');\n const fileName = pathArray.pop()!;\n const defaultDir = pathArray.join('/') || 'output';\n\n return {\n fileName,\n defaultDir,\n size: fileMessage.size,\n initial: fileMessage.initial,\n };\n });\n }\n\n const treeData: TreeDataNode[] = [];\n files.forEach((file) => {\n const target = treeData.find((data) => data.title === file.defaultDir);\n const parent: TreeDataNode = target || {\n title: file.defaultDir,\n key: file.defaultDir,\n icon: <FolderOpenTwoTone />,\n children: [],\n };\n const icon = getFileCom(file.fileName);\n if (!target) {\n treeData.push(parent);\n }\n parent.children!.push({\n title: (\n <div className={styles.treeContainer}>\n <div className={styles.treeTitle}>{file.fileName}</div>\n <div className={styles.line} />\n <Tag className={styles.tag} color=\"green\">\n {formatSize(file.size)}\n </Tag>\n {file.initial ? (\n <Tag className={styles.tag} color=\"cyan\">\n initial\n </Tag>\n ) : null}\n </div>\n ),\n key: file.fileName,\n isLeaf: true,\n icon,\n });\n });\n\n return {\n treeData,\n };\n};\n\nexport const getFilesWithDrawer = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n): JSX.Element => {\n const { treeData } = getFiles(data);\n\n return (\n <>\n {data.files.length ? (\n <TextDrawer\n buttonProps={{\n size: 'small',\n }}\n buttonStyle={{\n fontSize: 'inherit',\n }}\n drawerProps={{\n title: 'Files',\n }}\n text={<span>{data.count}</span>}\n >\n <DirectoryTree\n defaultExpandAll\n selectable={false}\n treeData={treeData}\n rootStyle={{\n minHeight: '800px',\n border: '1px solid rgba(235, 237, 241)',\n }}\n />\n </TextDrawer>\n ) : (\n data.count\n )}\n </>\n );\n};\n\nconst BundleDescriptions = ({\n res,\n view,\n}: {\n res: Client.RsdoctorClientAssetsSummary;\n view: viewType;\n}) => {\n const fileItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-count',\n label: 'JS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.js.total)}\n </span>\n ),\n },\n {\n key: 'css-files-count',\n label: 'CSS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.css.total)}\n </span>\n ),\n },\n {\n key: 'font-files-count',\n label: 'Font files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.fonts.total)}\n </span>\n ),\n },\n {\n key: 'html-files-count',\n label: 'HTML files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.html.total)}\n </span>\n ),\n },\n {\n key: 'image-files-count',\n label: 'Image files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.imgs.total)}\n </span>\n ),\n },\n {\n key: 'media-files-count',\n label: 'Media files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.media.total)}\n </span>\n ),\n },\n ];\n\n const [jsSize, jsSizeUnit] = formatSize(res.js.total.size).split(' ');\n const [cssSize, cssSizeUnit] = formatSize(res.css.total.size).split(' ');\n const [fontSize, fontSizeUnit] = formatSize(res.fonts.total.size).split(' ');\n const [htmlSize, htmlSizeUnit] = formatSize(res.html.total.size).split(' ');\n const [imgSize, imgSizeUnit] = formatSize(res.imgs.total.size).split(' ');\n const [mediaSize, mediaSizeUnit] = formatSize(res.media.total.size).split(\n ' ',\n );\n\n const sizeItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-size',\n label: <span className={styles.label}>JS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{jsSize}</span>\n <span className={styles.unit}>{jsSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'css-files-size',\n label: <span className={styles.label}>CSS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{cssSize}</span>\n <span className={styles.unit}>{cssSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'font-files-size',\n label: <span className={styles.label}>Font size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{fontSize}</span>\n <span className={styles.unit}>{fontSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'html-files-size',\n label: <span className={styles.label}>HTML size</span>,\n children: (\n <>\n <span className={styles.description}>{htmlSize}</span>\n <span className={styles.unit}>{htmlSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'image-files-size',\n label: <span className={styles.label}>Image size</span>,\n children: (\n <>\n <span className={styles.description}>{imgSize}</span>\n <span className={styles.unit}>{imgSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'media-files-size',\n label: <span className={styles.label}>Media size</span>,\n children: (\n <>\n <span className={styles.description}>{mediaSize}</span>\n <span className={styles.unit}>{mediaSizeUnit}</span>\n </>\n ),\n },\n ];\n\n return (\n <Descriptions\n layout={'vertical'}\n className={listStyles.bundleOverall}\n size=\"small\"\n column={3}\n colon={false}\n items={view === 'files' ? fileItems : sizeItems}\n />\n );\n};\n\nexport const BundleOverall: React.FC<{\n errors: SDK.ErrorsData;\n cwd: string;\n}> = (): JSX.Element | null => {\n const [view, setView] = useState<viewType>('size');\n const navigate = useNavigate();\n const { t } = useI18n();\n\n const handleViewChange = (value: viewType) => {\n setView(value);\n };\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n return (\n <Card className={cardStyles.card} style={{ height: '316px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Bundle Overall')}</span>\n <Button\n type=\"link\"\n style={{ padding: '0px' }}\n onClick={() => {\n navigate(Client.RsdoctorClientRoutes.BundleSize);\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: '8px', fontSize: '13px' }}>\n {t('ViewBundleSize')}\n </span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </div>\n </Button>\n </div>\n <Segmented\n options={['Size', 'Files']}\n onChange={(val) =>\n handleViewChange(val.toLocaleLowerCase() as viewType)\n }\n size=\"small\"\n style={{ marginBottom: 8, fontSize: '14px' }}\n />\n <DataSummary\n theme={view === 'files' ? 'common' : 'warning'}\n number={view === 'files' ? res.all.total.count : totalSizeStr}\n description={`Total ${view}`}\n />\n <BundleDescriptions view={view} res={res} />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["DirectoryTree","Tree","getFiles","data","files","fileMessage","filePath","pathArray","fileName","defaultDir","treeData","file","target","parent","FolderOpenTwoTone","icon","getFileCom","styles","Tag","formatSize","getFilesWithDrawer","TextDrawer","BundleDescriptions","res","view","fileItems","jsSize","jsSizeUnit","cssSize","cssSizeUnit","fontSize","fontSizeUnit","htmlSize","htmlSizeUnit","imgSize","imgSizeUnit","mediaSize","mediaSizeUnit","sizeItems","Descriptions","listStyles","BundleOverall","setView","useState","navigate","useNavigate","t","useI18n","handleViewChange","value","ServerAPIProvider","SDK","totalSizeStr","Card","cardStyles","Button","Client","RightOutlined","Segmented","val","DataSummary"],"mappings":"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"}
1
+ {"version":3,"file":"components/Overall/bundle.mjs","sources":["../../../src/components/Overall/bundle.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Descriptions,\n DescriptionsProps,\n Button,\n Tree,\n Tag,\n Segmented,\n} from 'antd';\nimport { FolderOpenTwoTone, RightOutlined } from '@ant-design/icons';\nimport { useNavigate } from 'react-router-dom';\n\nimport { getFileCom } from '../FileTree';\nimport { formatSize, useI18n } from '../../utils';\nimport { TextDrawer } from '../TextDrawer';\nimport { Card } from '../Card';\nimport { ServerAPIProvider } from '../Manifest';\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport { DataSummary } from './DataSummary';\n\nimport { Client, SDK } from '@rsdoctor/types';\nimport type { TreeDataNode } from 'antd';\n\nimport styles from './bundle.module.scss';\n\ntype viewType = 'files' | 'size';\n\nconst { DirectoryTree } = Tree;\n\nexport const getFiles = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n) => {\n let files: Array<{\n fileName: string;\n defaultDir: string;\n size: number;\n initial: boolean;\n }> = [];\n if (data.files.length) {\n files = data.files.map((fileMessage) => {\n const filePath = fileMessage.path;\n const pathArray = filePath.split('/');\n const fileName = pathArray.pop()!;\n const defaultDir = pathArray.join('/') || 'output';\n\n return {\n fileName,\n defaultDir,\n size: fileMessage.size,\n initial: fileMessage.initial,\n };\n });\n }\n\n const treeData: TreeDataNode[] = [];\n files.forEach((file) => {\n const target = treeData.find((data) => data.title === file.defaultDir);\n const parent: TreeDataNode = target || {\n title: file.defaultDir,\n key: file.defaultDir,\n icon: <FolderOpenTwoTone />,\n children: [],\n };\n const icon = getFileCom(file.fileName);\n if (!target) {\n treeData.push(parent);\n }\n parent.children!.push({\n title: (\n <div className={styles.treeContainer}>\n <div className={styles.treeTitle}>{file.fileName}</div>\n <div className={styles.line} />\n <Tag className={styles.tag} color=\"green\">\n {formatSize(file.size)}\n </Tag>\n {file.initial ? (\n <Tag className={styles.tag} color=\"cyan\">\n initial\n </Tag>\n ) : null}\n </div>\n ),\n key: file.fileName,\n isLeaf: true,\n icon,\n });\n });\n\n return {\n treeData,\n };\n};\n\nexport const getFilesWithDrawer = (\n data: Client.RsdoctorClientAssetsSummary['all']['total'],\n): JSX.Element => {\n const { treeData } = getFiles(data);\n\n return (\n <>\n {data.files.length ? (\n <TextDrawer\n buttonProps={{\n size: 'small',\n }}\n buttonStyle={{\n fontSize: 'inherit',\n }}\n drawerProps={{\n title: 'Files',\n }}\n text={<span>{data.count}</span>}\n >\n <DirectoryTree\n defaultExpandAll\n selectable={false}\n treeData={treeData}\n rootStyle={{\n minHeight: '800px',\n border: '1px solid rgba(235, 237, 241)',\n }}\n />\n </TextDrawer>\n ) : (\n data.count\n )}\n </>\n );\n};\n\nconst BundleDescriptions = ({\n res,\n view,\n}: {\n res: Client.RsdoctorClientAssetsSummary;\n view: viewType;\n}) => {\n const fileItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-count',\n label: 'JS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.js.total)}\n </span>\n ),\n },\n {\n key: 'css-files-count',\n label: 'CSS files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.css.total)}\n </span>\n ),\n },\n {\n key: 'font-files-count',\n label: 'Font files',\n children: (\n <span className={`${styles.description} ${styles.column}`}>\n {getFilesWithDrawer(res.fonts.total)}\n </span>\n ),\n },\n {\n key: 'html-files-count',\n label: 'HTML files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.html.total)}\n </span>\n ),\n },\n {\n key: 'image-files-count',\n label: 'Image files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.imgs.total)}\n </span>\n ),\n },\n {\n key: 'media-files-count',\n label: 'Media files',\n children: (\n <span className={styles.description}>\n {getFilesWithDrawer(res.media.total)}\n </span>\n ),\n },\n ];\n\n const [jsSize, jsSizeUnit] = formatSize(res.js.total.size).split(' ');\n const [cssSize, cssSizeUnit] = formatSize(res.css.total.size).split(' ');\n const [fontSize, fontSizeUnit] = formatSize(res.fonts.total.size).split(' ');\n const [htmlSize, htmlSizeUnit] = formatSize(res.html.total.size).split(' ');\n const [imgSize, imgSizeUnit] = formatSize(res.imgs.total.size).split(' ');\n const [mediaSize, mediaSizeUnit] = formatSize(res.media.total.size).split(\n ' ',\n );\n\n const sizeItems: DescriptionsProps['items'] = [\n {\n key: 'js-files-size',\n label: <span className={styles.label}>JS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{jsSize}</span>\n <span className={styles.unit}>{jsSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'css-files-size',\n label: <span className={styles.label}>CSS size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{cssSize}</span>\n <span className={styles.unit}>{cssSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'font-files-size',\n label: <span className={styles.label}>Font size</span>,\n children: (\n <div className={styles.column}>\n <span className={styles.description}>{fontSize}</span>\n <span className={styles.unit}>{fontSizeUnit}</span>\n </div>\n ),\n },\n {\n key: 'html-files-size',\n label: <span className={styles.label}>HTML size</span>,\n children: (\n <>\n <span className={styles.description}>{htmlSize}</span>\n <span className={styles.unit}>{htmlSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'image-files-size',\n label: <span className={styles.label}>Image size</span>,\n children: (\n <>\n <span className={styles.description}>{imgSize}</span>\n <span className={styles.unit}>{imgSizeUnit}</span>\n </>\n ),\n },\n {\n key: 'media-files-size',\n label: <span className={styles.label}>Media size</span>,\n children: (\n <>\n <span className={styles.description}>{mediaSize}</span>\n <span className={styles.unit}>{mediaSizeUnit}</span>\n </>\n ),\n },\n ];\n\n return (\n <Descriptions\n layout={'vertical'}\n className={listStyles.bundleOverall}\n size=\"small\"\n column={3}\n colon={false}\n items={view === 'files' ? fileItems : sizeItems}\n />\n );\n};\n\nexport const BundleOverall: React.FC<{\n errors: SDK.ErrorsData;\n cwd: string;\n}> = (): JSX.Element | null => {\n const [view, setView] = useState<viewType>('size');\n const navigate = useNavigate();\n const { t } = useI18n();\n\n const handleViewChange = (value: viewType) => {\n setView(value);\n };\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n return (\n <Card className={cardStyles.card} style={{ height: '316px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Bundle Overall')}</span>\n <Button\n type=\"link\"\n style={{ padding: '0px' }}\n onClick={() => {\n navigate(Client.RsdoctorClientRoutes.BundleSize);\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: '8px', fontSize: '13px' }}>\n {t('ViewBundleSize')}\n </span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </div>\n </Button>\n </div>\n <Segmented\n options={['Size', 'Files']}\n onChange={(val) =>\n handleViewChange(val.toLocaleLowerCase() as viewType)\n }\n size=\"small\"\n style={{ marginBottom: 8, fontSize: '14px' }}\n />\n <DataSummary\n theme={view === 'files' ? 'common' : 'warning'}\n number={view === 'files' ? res.all.total.count : totalSizeStr}\n description={`Total ${view}`}\n />\n <BundleDescriptions view={view} res={res} />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["DirectoryTree","Tree","getFiles","data","files","fileMessage","filePath","pathArray","fileName","defaultDir","treeData","file","target","parent","FolderOpenTwoTone","icon","getFileCom","styles","Tag","formatSize","getFilesWithDrawer","TextDrawer","BundleDescriptions","res","view","fileItems","jsSize","jsSizeUnit","cssSize","cssSizeUnit","fontSize","fontSizeUnit","htmlSize","htmlSizeUnit","imgSize","imgSizeUnit","mediaSize","mediaSizeUnit","sizeItems","Descriptions","listStyles","BundleOverall","setView","useState","navigate","useNavigate","t","useI18n","handleViewChange","value","ServerAPIProvider","SDK","totalSizeStr","Card","cardStyles","Button","Client","RightOutlined","Segmented","val","DataSummary"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/bundle.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/bundle.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./bundle_module.css\"\nexport default {\"title\":\"title-fNYU5O\",\"column\":\"column-VJtpT7\",\"description\":\"description-nwRikm\",\"unit\":\"unit-poAoxV\",\"treeContainer\":\"treeContainer-jcFlxc\",\"line\":\"line-Ia_8Yg\",\"treeTitle\":\"treeTitle-B083rc\",\"icon\":\"icon-jhYzus\",\"tag\":\"tag-fNEiQ8\",\"label\":\"label-vITl7c\"};"],"names":[],"mappings":";AAEA,sBAAe;IAAC,OAAQ;IAAe,QAAS;IAAgB,aAAc;IAAqB,MAAO;IAAc,eAAgB;IAAuB,MAAO;IAAc,WAAY;IAAmB,MAAO;IAAc,KAAM;IAAa,OAAQ;AAAc"}
1
+ {"version":3,"file":"components/Overall/bundle.module.mjs","sources":["../../../src/components/Overall/bundle.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./bundle_module.css\"\nexport default {\"title\":\"title-fNYU5O\",\"column\":\"column-VJtpT7\",\"description\":\"description-nwRikm\",\"unit\":\"unit-poAoxV\",\"treeContainer\":\"treeContainer-jcFlxc\",\"line\":\"line-Ia_8Yg\",\"treeTitle\":\"treeTitle-B083rc\",\"icon\":\"icon-jhYzus\",\"tag\":\"tag-fNEiQ8\",\"label\":\"label-vITl7c\"};"],"names":[],"mappings":";AAEA,sBAAe;IAAC,OAAQ;IAAe,QAAS;IAAgB,aAAc;IAAqB,MAAO;IAAc,eAAgB;IAAuB,MAAO;IAAc,WAAY;IAAmB,MAAO;IAAc,KAAM;IAAa,OAAQ;AAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/card.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/card.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./card_module.css\"\nexport default {\"card\":\"card-lyOUB6\"};"],"names":[],"mappings":";AAEA,oBAAe;IAAC,MAAO;AAAa"}
1
+ {"version":3,"file":"components/Overall/card.module.mjs","sources":["../../../src/components/Overall/card.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./card_module.css\"\nexport default {\"card\":\"card-lyOUB6\"};"],"names":[],"mappings":";AAEA,oBAAe;IAAC,MAAO;AAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/compile.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/compile.tsx"],"sourcesContent":["import { SDK } from '@rsdoctor/types';\nimport { Summary } from '@rsdoctor/utils/common';\nimport { Divider, Progress, Space, Typography } from 'antd';\nimport React from 'react';\nimport { formatCosts, useI18n } from '../../utils';\nimport { Card } from '../Card';\nimport { BootstrapChartContainer } from '../Charts/bootstrap';\nimport { DoneChartContainer } from '../Charts/done';\nimport { MinifyChartContainer } from '../Charts/minify';\n\nimport cardStyles from './card.module.scss';\nimport styles from './compile.module.scss';\n\nconst Stage: React.FC<\n React.PropsWithChildren<{\n name: string;\n showDivider?: boolean;\n }>\n> = ({ children, name, showDivider = true }) => {\n return (\n <Typography.Text style={{ color: 'inherit' }}>\n <Typography.Text style={{ color: 'inherit' }}>{name}</Typography.Text>\n {showDivider ? <Divider type=\"vertical\" /> : null}\n {children}\n </Typography.Text>\n );\n};\n\nexport const CompileOverall: React.FC<{ summary: SDK.SummaryData }> = ({\n summary,\n}) => {\n const { t } = useI18n();\n\n if (!summary?.costs?.length) return null;\n\n const maxCosts = Math.max(...summary.costs.map((item) => item.costs));\n\n return (\n <Card className={cardStyles.card}>\n <div>\n <Space\n style={{ wordBreak: 'break-all', width: '100%', marginTop: '0' }}\n size={20}\n direction=\"vertical\"\n >\n <div className={styles.title}>{t('Compile Overall')}</div>\n {summary.costs.map((e) => {\n const { name, costs } = e;\n const percent = (costs * 100) / maxCosts;\n\n const ProgressBar = (\n <Progress\n className={styles.progress}\n percent={percent}\n status=\"normal\"\n format={() => formatCosts(costs)}\n />\n );\n\n switch (name) {\n case Summary.SummaryCostsDataName.Bootstrap:\n return (\n <Stage name=\"Bootstrap ~ BeforeCompile\" key={name}>\n <BootstrapChartContainer summary={summary} />\n {ProgressBar}\n </Stage>\n );\n case Summary.SummaryCostsDataName.Compile:\n return (\n <Stage name=\"Compile\" key={name} showDivider={false}>\n {ProgressBar}\n </Stage>\n );\n case Summary.SummaryCostsDataName.Done:\n return (\n <Stage name=\"AfterCompile ~ Done\" key={name}>\n <DoneChartContainer summary={summary} />\n {ProgressBar}\n </Stage>\n );\n case Summary.SummaryCostsDataName.Minify:\n return (\n <Stage name=\"Minify\" key={name}>\n <MinifyChartContainer summary={summary} />\n {ProgressBar}\n </Stage>\n );\n\n default:\n return null;\n }\n })}\n </Space>\n </div>\n </Card>\n );\n};\n"],"names":["Stage","children","name","showDivider","Typography","Divider","CompileOverall","summary","t","useI18n","maxCosts","Math","item","Card","cardStyles","Space","styles","e","costs","percent","ProgressBar","Progress","formatCosts","Summary","BootstrapChartContainer","DoneChartContainer","MinifyChartContainer"],"mappings":";;;;;;;;;;;AAaA,MAAMA,QAKF,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,cAAc,IAAI,EAAE,GAClC,WAAP,GACE,KAACC,WAAW,IAAI;QAAC,OAAO;YAAE,OAAO;QAAU;;0BACzC,IAACA,WAAW,IAAI;gBAAC,OAAO;oBAAE,OAAO;gBAAU;0BAAIF;;YAC9CC,cAAc,WAAdA,GAAc,IAACE,SAAOA;gBAAC,MAAK;iBAAgB;YAC5CJ;;;AAKA,MAAMK,iBAAyD,CAAC,EACrEC,OAAO,EACR;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,IAAI,CAACF,SAAS,OAAO,QAAQ,OAAO;IAEpC,MAAMG,WAAWC,KAAK,GAAG,IAAIJ,QAAQ,KAAK,CAAC,GAAG,CAAC,CAACK,OAASA,KAAK,KAAK;IAEnE,OAAO,WAAP,GACE,IAACC,MAAIA;QAAC,WAAWC,YAAAA,IAAe;kBAC9B,kBAAC;sBACC,mBAACC,OAAKA;gBACJ,OAAO;oBAAE,WAAW;oBAAa,OAAO;oBAAQ,WAAW;gBAAI;gBAC/D,MAAM;gBACN,WAAU;;kCAEV,IAAC;wBAAI,WAAWC,eAAAA,KAAY;kCAAGR,EAAE;;oBAChCD,QAAQ,KAAK,CAAC,GAAG,CAAC,CAACU;wBAClB,MAAM,EAAEf,IAAI,EAAEgB,KAAK,EAAE,GAAGD;wBACxB,MAAME,UAAWD,AAAQ,MAARA,QAAeR;wBAEhC,MAAMU,cAAc,WAAdA,GACJ,IAACC,UAAQA;4BACP,WAAWL,eAAAA,QAAe;4BAC1B,SAASG;4BACT,QAAO;4BACP,QAAQ,IAAMG,YAAYJ;;wBAI9B,OAAQhB;4BACN,KAAKqB,QAAQ,oBAAoB,CAAC,SAAS;gCACzC,OAAO,WAAP,GACE,KAACvB,OAAAA;oCAAM,MAAK;;sDACV,IAACwB,yBAAuBA;4CAAC,SAASjB;;wCACjCa;;mCAF0ClB;4BAKjD,KAAKqB,QAAQ,oBAAoB,CAAC,OAAO;gCACvC,OAAO,WAAP,GACE,IAACvB,OAAAA;oCAAM,MAAK;oCAAqB,aAAa;8CAC3CoB;mCADwBlB;4BAI/B,KAAKqB,QAAQ,oBAAoB,CAAC,IAAI;gCACpC,OAAO,WAAP,GACE,KAACvB,OAAAA;oCAAM,MAAK;;sDACV,IAACyB,oBAAkBA;4CAAC,SAASlB;;wCAC5Ba;;mCAFoClB;4BAK3C,KAAKqB,QAAQ,oBAAoB,CAAC,MAAM;gCACtC,OAAO,WAAP,GACE,KAACvB,OAAAA;oCAAM,MAAK;;sDACV,IAAC0B,sBAAoBA;4CAAC,SAASnB;;wCAC9Ba;;mCAFuBlB;4BAM9B;gCACE,OAAO;wBACX;oBACF;;;;;AAKV"}
1
+ {"version":3,"file":"components/Overall/compile.mjs","sources":["../../../src/components/Overall/compile.tsx"],"sourcesContent":["import { SDK } from '@rsdoctor/types';\nimport { Summary } from '@rsdoctor/utils/common';\nimport { Divider, Progress, Space, Typography } from 'antd';\nimport React from 'react';\nimport { formatCosts, useI18n } from '../../utils';\nimport { Card } from '../Card';\nimport { BootstrapChartContainer } from '../Charts/bootstrap';\nimport { DoneChartContainer } from '../Charts/done';\nimport { MinifyChartContainer } from '../Charts/minify';\n\nimport cardStyles from './card.module.scss';\nimport styles from './compile.module.scss';\n\nconst Stage: React.FC<\n React.PropsWithChildren<{\n name: string;\n showDivider?: boolean;\n }>\n> = ({ children, name, showDivider = true }) => {\n return (\n <Typography.Text style={{ color: 'inherit' }}>\n <Typography.Text style={{ color: 'inherit' }}>{name}</Typography.Text>\n {showDivider ? <Divider type=\"vertical\" /> : null}\n {children}\n </Typography.Text>\n );\n};\n\nexport const CompileOverall: React.FC<{ summary: SDK.SummaryData }> = ({\n summary,\n}) => {\n const { t } = useI18n();\n\n if (!summary?.costs?.length) return null;\n\n const maxCosts = Math.max(...summary.costs.map((item) => item.costs));\n\n return (\n <Card className={cardStyles.card}>\n <div>\n <Space\n style={{ wordBreak: 'break-all', width: '100%', marginTop: '0' }}\n size={20}\n direction=\"vertical\"\n >\n <div className={styles.title}>{t('Compile Overall')}</div>\n {summary.costs.map((e) => {\n const { name, costs } = e;\n const percent = (costs * 100) / maxCosts;\n\n const ProgressBar = (\n <Progress\n className={styles.progress}\n percent={percent}\n status=\"normal\"\n format={() => formatCosts(costs)}\n />\n );\n\n switch (name) {\n case Summary.SummaryCostsDataName.Bootstrap:\n return (\n <Stage name=\"Bootstrap ~ BeforeCompile\" key={name}>\n <BootstrapChartContainer summary={summary} />\n {ProgressBar}\n </Stage>\n );\n case Summary.SummaryCostsDataName.Compile:\n return (\n <Stage name=\"Compile\" key={name} showDivider={false}>\n {ProgressBar}\n </Stage>\n );\n case Summary.SummaryCostsDataName.Done:\n return (\n <Stage name=\"AfterCompile ~ Done\" key={name}>\n <DoneChartContainer summary={summary} />\n {ProgressBar}\n </Stage>\n );\n case Summary.SummaryCostsDataName.Minify:\n return (\n <Stage name=\"Minify\" key={name}>\n <MinifyChartContainer summary={summary} />\n {ProgressBar}\n </Stage>\n );\n\n default:\n return null;\n }\n })}\n </Space>\n </div>\n </Card>\n );\n};\n"],"names":["Stage","children","name","showDivider","Typography","Divider","CompileOverall","summary","t","useI18n","maxCosts","Math","item","Card","cardStyles","Space","styles","e","costs","percent","ProgressBar","Progress","formatCosts","Summary","BootstrapChartContainer","DoneChartContainer","MinifyChartContainer"],"mappings":";;;;;;;;;;;AAaA,MAAMA,QAKF,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,cAAc,IAAI,EAAE,GAClC,WAAP,GACE,KAACC,WAAW,IAAI;QAAC,OAAO;YAAE,OAAO;QAAU;;0BACzC,IAACA,WAAW,IAAI;gBAAC,OAAO;oBAAE,OAAO;gBAAU;0BAAIF;;YAC9CC,cAAc,WAAdA,GAAc,IAACE,SAAOA;gBAAC,MAAK;iBAAgB;YAC5CJ;;;AAKA,MAAMK,iBAAyD,CAAC,EACrEC,OAAO,EACR;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,IAAI,CAACF,SAAS,OAAO,QAAQ,OAAO;IAEpC,MAAMG,WAAWC,KAAK,GAAG,IAAIJ,QAAQ,KAAK,CAAC,GAAG,CAAC,CAACK,OAASA,KAAK,KAAK;IAEnE,OAAO,WAAP,GACE,IAACC,MAAIA;QAAC,WAAWC,YAAAA,IAAe;kBAC9B,kBAAC;sBACC,mBAACC,OAAKA;gBACJ,OAAO;oBAAE,WAAW;oBAAa,OAAO;oBAAQ,WAAW;gBAAI;gBAC/D,MAAM;gBACN,WAAU;;kCAEV,IAAC;wBAAI,WAAWC,eAAAA,KAAY;kCAAGR,EAAE;;oBAChCD,QAAQ,KAAK,CAAC,GAAG,CAAC,CAACU;wBAClB,MAAM,EAAEf,IAAI,EAAEgB,KAAK,EAAE,GAAGD;wBACxB,MAAME,UAAWD,AAAQ,MAARA,QAAeR;wBAEhC,MAAMU,cAAc,WAAdA,GACJ,IAACC,UAAQA;4BACP,WAAWL,eAAAA,QAAe;4BAC1B,SAASG;4BACT,QAAO;4BACP,QAAQ,IAAMG,YAAYJ;;wBAI9B,OAAQhB;4BACN,KAAKqB,QAAQ,oBAAoB,CAAC,SAAS;gCACzC,OAAO,WAAP,GACE,KAACvB,OAAAA;oCAAM,MAAK;;sDACV,IAACwB,yBAAuBA;4CAAC,SAASjB;;wCACjCa;;mCAF0ClB;4BAKjD,KAAKqB,QAAQ,oBAAoB,CAAC,OAAO;gCACvC,OAAO,WAAP,GACE,IAACvB,OAAAA;oCAAM,MAAK;oCAAqB,aAAa;8CAC3CoB;mCADwBlB;4BAI/B,KAAKqB,QAAQ,oBAAoB,CAAC,IAAI;gCACpC,OAAO,WAAP,GACE,KAACvB,OAAAA;oCAAM,MAAK;;sDACV,IAACyB,oBAAkBA;4CAAC,SAASlB;;wCAC5Ba;;mCAFoClB;4BAK3C,KAAKqB,QAAQ,oBAAoB,CAAC,MAAM;gCACtC,OAAO,WAAP,GACE,KAACvB,OAAAA;oCAAM,MAAK;;sDACV,IAAC0B,sBAAoBA;4CAAC,SAASnB;;wCAC9Ba;;mCAFuBlB;4BAM9B;gCACE,OAAO;wBACX;oBACF;;;;;AAKV"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/compile.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/compile.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./compile_module.css\"\nexport default {\"progress\":\"progress-y4rFf4\",\"title\":\"title-wq4_QM\"};"],"names":[],"mappings":";AAEA,uBAAe;IAAC,UAAW;IAAkB,OAAQ;AAAc"}
1
+ {"version":3,"file":"components/Overall/compile.module.mjs","sources":["../../../src/components/Overall/compile.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./compile_module.css\"\nexport default {\"progress\":\"progress-y4rFf4\",\"title\":\"title-wq4_QM\"};"],"names":[],"mappings":";AAEA,uBAAe;IAAC,UAAW;IAAkB,OAAQ;AAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/help-center.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/help-center.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { RightOutlined } from '@ant-design/icons';\n\nimport { Card } from '../Card';\nimport { useI18n } from '../../utils';\n\nimport styles from './help-center.module.scss';\n\nconst data = [\n {\n title: 'FAQ',\n link: 'https://rsdoctor.rs/guide/more/faq',\n },\n {\n title: 'Introduction',\n link: 'https://rsdoctor.rs/guide/start/intro',\n },\n {\n title: 'Bundle Alerts',\n link: 'https://rsdoctor.rs/guide/usage/bundle-alerts',\n },\n {\n title: 'Bundle Overall',\n link: 'https://rsdoctor.rs/guide/usage/bundle-overall',\n },\n {\n title: 'Bundle Analysis',\n link: 'https://rsdoctor.rs/guide/usage/bundle-size',\n },\n {\n title: 'Compilation Alerts',\n link: 'https://rsdoctor.rs/guide/usage/compile-alerts',\n },\n {\n title: 'Compile Overall',\n link: 'https://rsdoctor.rs/guide/usage/compile-overall',\n },\n {\n title: 'Loaders Analysis',\n link: 'https://rsdoctor.rs/guide/usage/loaders-analysis',\n },\n {\n title: 'Loaders Timeline',\n link: 'https://rsdoctor.rs/guide/usage/loaders-timeline',\n },\n {\n title: 'Plugin Analysis',\n link: 'https://rsdoctor.rs/guide/usage/plugins-analysis',\n },\n];\n\nexport const HelpCenter = () => {\n const { t } = useI18n();\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Help Center')}</span>\n <Button\n style={{ display: 'flex', alignItems: 'center', padding: 0 }}\n type=\"link\"\n onClick={() => {\n window.open('https://rsdoctor.rs/index', '_blank');\n }}\n >\n <span style={{ marginRight: '3px' }}>More</span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </Button>\n </div>\n <div className={styles.container}>\n {data.map(({ title, link }, idx) => {\n return (\n <div\n key={idx}\n className={styles.content}\n style={{\n marginBottom: idx < data.length - 2 ? '16px' : 0,\n }}\n onClick={() => window.open(link, '_blank')}\n >\n {t(title)}\n </div>\n );\n })}\n </div>\n </div>\n </Card>\n );\n};\n"],"names":["data","HelpCenter","t","useI18n","Card","styles","Button","window","RightOutlined","title","link","idx"],"mappings":";;;;;;AAQA,MAAMA,OAAO;IACX;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;CACD;AAEM,MAAMC,aAAa;IACxB,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,OAAO,WAAP,GACE,IAACC,MAAIA;QAAC,OAAO;YAAE,OAAO;YAAQ,cAAc;QAAO;kBACjD,mBAAC;;8BACC,KAAC;oBAAI,WAAWC,mBAAAA,KAAY;;sCAC1B,IAAC;sCAAMH,EAAE;;sCACT,KAACI,QAAMA;4BACL,OAAO;gCAAE,SAAS;gCAAQ,YAAY;gCAAU,SAAS;4BAAE;4BAC3D,MAAK;4BACL,SAAS;gCACPC,OAAO,IAAI,CAAC,6BAA6B;4BAC3C;;8CAEA,IAAC;oCAAK,OAAO;wCAAE,aAAa;oCAAM;8CAAG;;8CACrC,IAACC,eAAaA;oCAAC,OAAO;wCAAE,UAAU;oCAAO;;;;;;8BAG7C,IAAC;oBAAI,WAAWH,mBAAAA,SAAgB;8BAC7BL,KAAK,GAAG,CAAC,CAAC,EAAES,KAAK,EAAEC,IAAI,EAAE,EAAEC,MACnB,WAAP,GACE,IAAC;4BAEC,WAAWN,mBAAAA,OAAc;4BACzB,OAAO;gCACL,cAAcM,MAAMX,KAAK,MAAM,GAAG,IAAI,SAAS;4BACjD;4BACA,SAAS,IAAMO,OAAO,IAAI,CAACG,MAAM;sCAEhCR,EAAEO;2BAPEE;;;;;AAerB"}
1
+ {"version":3,"file":"components/Overall/help-center.mjs","sources":["../../../src/components/Overall/help-center.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { RightOutlined } from '@ant-design/icons';\n\nimport { Card } from '../Card';\nimport { useI18n } from '../../utils';\n\nimport styles from './help-center.module.scss';\n\nconst data = [\n {\n title: 'FAQ',\n link: 'https://rsdoctor.rs/guide/more/faq',\n },\n {\n title: 'Introduction',\n link: 'https://rsdoctor.rs/guide/start/intro',\n },\n {\n title: 'Bundle Alerts',\n link: 'https://rsdoctor.rs/guide/usage/bundle-alerts',\n },\n {\n title: 'Bundle Overall',\n link: 'https://rsdoctor.rs/guide/usage/bundle-overall',\n },\n {\n title: 'Bundle Analysis',\n link: 'https://rsdoctor.rs/guide/usage/bundle-size',\n },\n {\n title: 'Compilation Alerts',\n link: 'https://rsdoctor.rs/guide/usage/compile-alerts',\n },\n {\n title: 'Compile Overall',\n link: 'https://rsdoctor.rs/guide/usage/compile-overall',\n },\n {\n title: 'Loaders Analysis',\n link: 'https://rsdoctor.rs/guide/usage/loaders-analysis',\n },\n {\n title: 'Loaders Timeline',\n link: 'https://rsdoctor.rs/guide/usage/loaders-timeline',\n },\n {\n title: 'Plugin Analysis',\n link: 'https://rsdoctor.rs/guide/usage/plugins-analysis',\n },\n];\n\nexport const HelpCenter = () => {\n const { t } = useI18n();\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Help Center')}</span>\n <Button\n style={{ display: 'flex', alignItems: 'center', padding: 0 }}\n type=\"link\"\n onClick={() => {\n window.open('https://rsdoctor.rs/index', '_blank');\n }}\n >\n <span style={{ marginRight: '3px' }}>More</span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </Button>\n </div>\n <div className={styles.container}>\n {data.map(({ title, link }, idx) => {\n return (\n <div\n key={idx}\n className={styles.content}\n style={{\n marginBottom: idx < data.length - 2 ? '16px' : 0,\n }}\n onClick={() => window.open(link, '_blank')}\n >\n {t(title)}\n </div>\n );\n })}\n </div>\n </div>\n </Card>\n );\n};\n"],"names":["data","HelpCenter","t","useI18n","Card","styles","Button","window","RightOutlined","title","link","idx"],"mappings":";;;;;;AAQA,MAAMA,OAAO;IACX;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;IACA;QACE,OAAO;QACP,MAAM;IACR;CACD;AAEM,MAAMC,aAAa;IACxB,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,OAAO,WAAP,GACE,IAACC,MAAIA;QAAC,OAAO;YAAE,OAAO;YAAQ,cAAc;QAAO;kBACjD,mBAAC;;8BACC,KAAC;oBAAI,WAAWC,mBAAAA,KAAY;;sCAC1B,IAAC;sCAAMH,EAAE;;sCACT,KAACI,QAAMA;4BACL,OAAO;gCAAE,SAAS;gCAAQ,YAAY;gCAAU,SAAS;4BAAE;4BAC3D,MAAK;4BACL,SAAS;gCACPC,OAAO,IAAI,CAAC,6BAA6B;4BAC3C;;8CAEA,IAAC;oCAAK,OAAO;wCAAE,aAAa;oCAAM;8CAAG;;8CACrC,IAACC,eAAaA;oCAAC,OAAO;wCAAE,UAAU;oCAAO;;;;;;8BAG7C,IAAC;oBAAI,WAAWH,mBAAAA,SAAgB;8BAC7BL,KAAK,GAAG,CAAC,CAAC,EAAES,KAAK,EAAEC,IAAI,EAAE,EAAEC,MACnB,WAAP,GACE,IAAC;4BAEC,WAAWN,mBAAAA,OAAc;4BACzB,OAAO;gCACL,cAAcM,MAAMX,KAAK,MAAM,GAAG,IAAI,SAAS;4BACjD;4BACA,SAAS,IAAMO,OAAO,IAAI,CAACG,MAAM;sCAEhCR,EAAEO;2BAPEE;;;;;AAerB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/help-center.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/help-center.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./help-center_module.css\"\nexport default {\"title\":\"title-dP_KVY\",\"container\":\"container-LiYKWu\",\"content\":\"content-WPe5pa\"};"],"names":[],"mappings":";AAEA,2BAAe;IAAC,OAAQ;IAAe,WAAY;IAAmB,SAAU;AAAgB"}
1
+ {"version":3,"file":"components/Overall/help-center.module.mjs","sources":["../../../src/components/Overall/help-center.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./help-center_module.css\"\nexport default {\"title\":\"title-dP_KVY\",\"container\":\"container-LiYKWu\",\"content\":\"content-WPe5pa\"};"],"names":[],"mappings":";AAEA,2BAAe;IAAC,OAAQ;IAAe,WAAY;IAAmB,SAAU;AAAgB"}
@@ -1,3 +1,3 @@
1
- export * from './bundle';
2
- export * from './compile';
3
- export * from './project';
1
+ export * from './bundle.js';
2
+ export * from './compile.js';
3
+ export * from './project.js';
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/list.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/list.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./list_module.css\"\nexport default {\"projectOverall\":\"projectOverall-T7onhG\",\"bundleOverall\":\"bundleOverall-Ay7WmZ\"};"],"names":[],"mappings":";AAEA,oBAAe;IAAC,gBAAiB;IAAwB,eAAgB;AAAsB"}
1
+ {"version":3,"file":"components/Overall/list.module.mjs","sources":["../../../src/components/Overall/list.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./list_module.css\"\nexport default {\"projectOverall\":\"projectOverall-T7onhG\",\"bundleOverall\":\"bundleOverall-Ay7WmZ\"};"],"names":[],"mappings":";AAEA,oBAAe;IAAC,gBAAiB;IAAwB,eAAgB;AAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/overview.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/overview.tsx"],"sourcesContent":["import styles from './overview.module.scss';\n\ninterface OverviewProps {\n title?: string | React.ReactNode;\n description?: string | React.ReactNode;\n icon?: React.ReactNode;\n style?: React.CSSProperties;\n}\n\nexport const Overview = (props: OverviewProps) => {\n const { title, description, icon, style } = props;\n return (\n <div className={styles.container} style={style}>\n <div className={styles.content}>\n <div className={styles.title}>{title}</div>\n <div className={styles.description}>{description}</div>\n </div>\n {icon}\n </div>\n );\n};\n\nexport default Overview;\n"],"names":["Overview","props","title","description","icon","style","styles"],"mappings":";;AASO,MAAMA,WAAW,CAACC;IACvB,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGJ;IAC5C,OAAO,WAAP,GACE,KAAC;QAAI,WAAWK,gBAAAA,SAAgB;QAAE,OAAOD;;0BACvC,KAAC;gBAAI,WAAWC,gBAAAA,OAAc;;kCAC5B,IAAC;wBAAI,WAAWA,gBAAAA,KAAY;kCAAGJ;;kCAC/B,IAAC;wBAAI,WAAWI,gBAAAA,WAAkB;kCAAGH;;;;YAEtCC;;;AAGP;AAEA,iBAAeJ"}
1
+ {"version":3,"file":"components/Overall/overview.mjs","sources":["../../../src/components/Overall/overview.tsx"],"sourcesContent":["import styles from './overview.module.scss';\n\ninterface OverviewProps {\n title?: string | React.ReactNode;\n description?: string | React.ReactNode;\n icon?: React.ReactNode;\n style?: React.CSSProperties;\n}\n\nexport const Overview = (props: OverviewProps) => {\n const { title, description, icon, style } = props;\n return (\n <div className={styles.container} style={style}>\n <div className={styles.content}>\n <div className={styles.title}>{title}</div>\n <div className={styles.description}>{description}</div>\n </div>\n {icon}\n </div>\n );\n};\n\nexport default Overview;\n"],"names":["Overview","props","title","description","icon","style","styles"],"mappings":";;AASO,MAAMA,WAAW,CAACC;IACvB,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGJ;IAC5C,OAAO,WAAP,GACE,KAAC;QAAI,WAAWK,gBAAAA,SAAgB;QAAE,OAAOD;;0BACvC,KAAC;gBAAI,WAAWC,gBAAAA,OAAc;;kCAC5B,IAAC;wBAAI,WAAWA,gBAAAA,KAAY;kCAAGJ;;kCAC/B,IAAC;wBAAI,WAAWI,gBAAAA,WAAkB;kCAAGH;;;;YAEtCC;;;AAGP;AAEA,iBAAeJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/overview.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/overview.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./overview_module.css\"\nexport default {\"container\":\"container-KSV5DZ\",\"content\":\"content-BsjkSU\",\"title\":\"title-jUwqD5\",\"description\":\"description-ArkOg4\"};"],"names":[],"mappings":";AAEA,wBAAe;IAAC,WAAY;IAAmB,SAAU;IAAiB,OAAQ;IAAe,aAAc;AAAoB"}
1
+ {"version":3,"file":"components/Overall/overview.module.mjs","sources":["../../../src/components/Overall/overview.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./overview_module.css\"\nexport default {\"container\":\"container-KSV5DZ\",\"content\":\"content-BsjkSU\",\"title\":\"title-jUwqD5\",\"description\":\"description-ArkOg4\"};"],"names":[],"mappings":";AAEA,wBAAe;IAAC,WAAY;IAAmB,SAAU;IAAiB,OAAQ;IAAe,aAAc;AAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/project.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/project.tsx"],"sourcesContent":["import { Descriptions, DescriptionsProps, Avatar } from 'antd';\nimport {\n CloseCircleFilled,\n WarningFilled,\n FileFilled,\n ExperimentFilled,\n} from '@ant-design/icons';\n\nimport { ServerAPIProvider } from '../Manifest';\nimport { useI18n, formatSize } from '../../utils';\nimport { WebpackConfigurationViewer } from '../Configuration';\nimport { Card } from '../Card';\nimport { Overview } from './overview';\nimport styles from './project.module.scss';\n\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport projectStyles from './project.module.scss';\n\nimport { SDK } from '@rsdoctor/types';\n\nexport const ProjectOverall: React.FC<{\n configs: SDK.ConfigData;\n cwd: string;\n envinfo: SDK.EnvInfo;\n alerts: SDK.ErrorsData;\n}> = ({ configs = [], cwd, envinfo, alerts = [] }) => {\n const { t } = useI18n();\n\n const warns = alerts.filter((e) => e.level === 'warn').length;\n\n const errors = alerts.length - warns;\n\n const items: DescriptionsProps['items'] = [\n ...Object.keys(envinfo).map((key) => {\n const regexp = /Version$/;\n const isVersion = regexp.test(key);\n return {\n key,\n label: isVersion ? key.replace(regexp, '') : key,\n children: envinfo ? envinfo[key] : undefined,\n };\n }),\n ...configs\n .filter((item) => !!item.version)\n .map((config) => {\n const { name, version } = config;\n return {\n key: name,\n label: name,\n children: version,\n };\n }),\n {\n key: 'cwd',\n label: 'cwd',\n children: cwd,\n },\n ];\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n const totalFiles = res.all.total.count;\n const [size, unit] = totalSizeStr.split(' ');\n const overViewData = [\n {\n title: 'Errors',\n description: <span style={{ color: '#FF4D4F' }}>{errors}</span>,\n icon: (\n <Avatar\n style={{ background: '#FF4D4F' }}\n shape=\"circle\"\n icon={<CloseCircleFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Warnings',\n description: <span style={{ color: '#FAAD14' }}>{warns}</span>,\n icon: (\n <Avatar\n style={{ background: '#FAAD14' }}\n shape=\"circle\"\n icon={<WarningFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Files',\n description: <span>{totalFiles}</span>,\n icon: (\n <Avatar\n style={{ background: '#3874F6' }}\n shape=\"circle\"\n icon={<FileFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Size',\n description: (\n <>\n <span style={{ fontSize: '20px' }}>{size}</span>\n <span style={{ fontSize: '13px', marginLeft: '5px' }}>\n {unit}\n </span>\n </>\n ),\n icon: (\n <Avatar\n style={{ background: 'rgba(226, 129, 73)' }}\n shape=\"circle\"\n icon={<ExperimentFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n ];\n\n return (\n <Card className={cardStyles.card}>\n <div>\n <div className={styles.title}>\n <span className={styles.left}>{t('Project Overall')}</span>\n <WebpackConfigurationViewer />\n </div>\n <div className={projectStyles.overview}>\n {overViewData.map((data, idx) => (\n <Overview\n key={idx}\n title={data.title}\n description={<span>{data.description}</span>}\n icon={data.icon}\n />\n ))}\n </div>\n <Descriptions\n className={listStyles.projectOverall}\n items={items}\n />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["ProjectOverall","configs","cwd","envinfo","alerts","t","useI18n","warns","e","errors","items","Object","key","regexp","isVersion","undefined","item","config","name","version","ServerAPIProvider","SDK","res","totalSizeStr","formatSize","totalFiles","size","unit","overViewData","Avatar","CloseCircleFilled","WarningFilled","FileFilled","ExperimentFilled","Card","cardStyles","styles","WebpackConfigurationViewer","projectStyles","data","idx","Overview","Descriptions","listStyles"],"mappings":"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"}
1
+ {"version":3,"file":"components/Overall/project.mjs","sources":["../../../src/components/Overall/project.tsx"],"sourcesContent":["import { Descriptions, DescriptionsProps, Avatar } from 'antd';\nimport {\n CloseCircleFilled,\n WarningFilled,\n FileFilled,\n ExperimentFilled,\n} from '@ant-design/icons';\n\nimport { ServerAPIProvider } from '../Manifest';\nimport { useI18n, formatSize } from '../../utils';\nimport { WebpackConfigurationViewer } from '../Configuration';\nimport { Card } from '../Card';\nimport { Overview } from './overview';\nimport styles from './project.module.scss';\n\nimport listStyles from './list.module.scss';\nimport cardStyles from './card.module.scss';\nimport projectStyles from './project.module.scss';\n\nimport { SDK } from '@rsdoctor/types';\n\nexport const ProjectOverall: React.FC<{\n configs: SDK.ConfigData;\n cwd: string;\n envinfo: SDK.EnvInfo;\n alerts: SDK.ErrorsData;\n}> = ({ configs = [], cwd, envinfo, alerts = [] }) => {\n const { t } = useI18n();\n\n const warns = alerts.filter((e) => e.level === 'warn').length;\n\n const errors = alerts.length - warns;\n\n const items: DescriptionsProps['items'] = [\n ...Object.keys(envinfo).map((key) => {\n const regexp = /Version$/;\n const isVersion = regexp.test(key);\n return {\n key,\n label: isVersion ? key.replace(regexp, '') : key,\n children: envinfo ? envinfo[key] : undefined,\n };\n }),\n ...configs\n .filter((item) => !!item.version)\n .map((config) => {\n const { name, version } = config;\n return {\n key: name,\n label: name,\n children: version,\n };\n }),\n {\n key: 'cwd',\n label: 'cwd',\n children: cwd,\n },\n ];\n\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: false }}\n >\n {(res) => {\n const totalSizeStr = formatSize(res.all.total.size);\n const totalFiles = res.all.total.count;\n const [size, unit] = totalSizeStr.split(' ');\n const overViewData = [\n {\n title: 'Errors',\n description: <span style={{ color: '#FF4D4F' }}>{errors}</span>,\n icon: (\n <Avatar\n style={{ background: '#FF4D4F' }}\n shape=\"circle\"\n icon={<CloseCircleFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Warnings',\n description: <span style={{ color: '#FAAD14' }}>{warns}</span>,\n icon: (\n <Avatar\n style={{ background: '#FAAD14' }}\n shape=\"circle\"\n icon={<WarningFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Files',\n description: <span>{totalFiles}</span>,\n icon: (\n <Avatar\n style={{ background: '#3874F6' }}\n shape=\"circle\"\n icon={<FileFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n {\n title: 'Total Size',\n description: (\n <>\n <span style={{ fontSize: '20px' }}>{size}</span>\n <span style={{ fontSize: '13px', marginLeft: '5px' }}>\n {unit}\n </span>\n </>\n ),\n icon: (\n <Avatar\n style={{ background: 'rgba(226, 129, 73)' }}\n shape=\"circle\"\n icon={<ExperimentFilled style={{ fontSize: '18px' }} />}\n />\n ),\n },\n ];\n\n return (\n <Card className={cardStyles.card}>\n <div>\n <div className={styles.title}>\n <span className={styles.left}>{t('Project Overall')}</span>\n <WebpackConfigurationViewer />\n </div>\n <div className={projectStyles.overview}>\n {overViewData.map((data, idx) => (\n <Overview\n key={idx}\n title={data.title}\n description={<span>{data.description}</span>}\n icon={data.icon}\n />\n ))}\n </div>\n <Descriptions\n className={listStyles.projectOverall}\n items={items}\n />\n </div>\n </Card>\n );\n }}\n </ServerAPIProvider>\n );\n};\n"],"names":["ProjectOverall","configs","cwd","envinfo","alerts","t","useI18n","warns","e","errors","items","Object","key","regexp","isVersion","undefined","item","config","name","version","ServerAPIProvider","SDK","res","totalSizeStr","formatSize","totalFiles","size","unit","overViewData","Avatar","CloseCircleFilled","WarningFilled","FileFilled","ExperimentFilled","Card","cardStyles","styles","WebpackConfigurationViewer","projectStyles","data","idx","Overview","Descriptions","listStyles"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Overall/project.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/Overall/project.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./project_module.css\"\nexport default {\"overview\":\"overview-ZAp1A3\",\"title\":\"title-cqt0lp\",\"left\":\"left-sk7eLC\"};"],"names":[],"mappings":";AAEA,uBAAe;IAAC,UAAW;IAAkB,OAAQ;IAAe,MAAO;AAAa"}
1
+ {"version":3,"file":"components/Overall/project.module.mjs","sources":["../../../src/components/Overall/project.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./project_module.css\"\nexport default {\"overview\":\"overview-ZAp1A3\",\"title\":\"title-cqt0lp\",\"left\":\"left-sk7eLC\"};"],"names":[],"mappings":";AAEA,uBAAe;IAAC,UAAW;IAAkB,OAAQ;IAAe,MAAO;AAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Plugins/webpack.mjs","sources":["webpack://@rsdoctor/components/./src/components/Plugins/webpack.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { Table, Tooltip } from 'antd';\nimport { sumBy, uniq } from 'es-toolkit/compat';\nimport { SDK } from '@rsdoctor/types';\nimport { formatCosts } from '../../utils';\n\ninterface WebpackPluginsTableDataItem {\n tapName: string;\n hook: string;\n key: string;\n hookData: SDK.PluginHookData[];\n}\nexport interface WebpackPluginsDataTableProps {\n dataSource: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetPluginData>;\n}\n\nexport function useWebpackPluginsDataSource(\n plugin: SDK.PluginData,\n selectedTapNames: string[],\n selectedHooks: string[],\n) {\n const tapNames = useMemo(\n () =>\n uniq(\n Object.values(plugin)\n .flat()\n .map((e) => e.tapName),\n ),\n [plugin],\n );\n\n const hooks = useMemo(() => Object.keys(plugin), [plugin]);\n\n const dataSource = useMemo(() => {\n if (!tapNames.length) return [];\n\n return tapNames.reduce((total, tapName) => {\n if (selectedTapNames.length && !selectedTapNames.includes(tapName)) {\n return total;\n }\n\n hooks.forEach((hook) => {\n if (selectedHooks.length && !selectedHooks.includes(hook)) {\n return;\n }\n\n const hookData = plugin[hook].filter((e) => e.tapName === tapName);\n if (hookData.length === 0) return;\n total.push({\n tapName,\n hook,\n key: `${tapName}${hook}`,\n hookData,\n });\n });\n\n return total;\n }, [] as WebpackPluginsTableDataItem[]);\n }, [plugin, selectedTapNames, selectedHooks]);\n\n return {\n dataSource,\n tapNames,\n hooks,\n };\n}\n\nexport const WebpackPluginsDataTable: React.FC<\n WebpackPluginsDataTableProps\n> = ({ dataSource }) => {\n return (\n <Table\n dataSource={dataSource}\n rowKey={(v) => `${v.tapName}_${v.hook}`}\n columns={[\n {\n title: `Plugin Tap Name`,\n render: (_v, r) => r.tapName,\n },\n {\n title: `Hook`,\n render: (_v, r) => r.hook,\n },\n {\n title: 'calls',\n render: (_v, r) => (\n <Tooltip\n title={`\"${r.hook}\" has been called ${r.data.length} times by \"${r.tapName}\"`}\n >\n {r.data.length}\n </Tooltip>\n ),\n sorter(a, b) {\n return a.data.length - b.data.length;\n },\n },\n {\n title: 'duration(total)',\n render: (_v, r) => formatCosts(sumBy(r.data, (e) => e.costs)),\n sorter(a, b) {\n return (\n sumBy(a.data, (e) => e.costs) - sumBy(b.data, (e) => e.costs)\n );\n },\n defaultSortOrder: 'descend',\n },\n ]}\n />\n );\n};\n"],"names":["useWebpackPluginsDataSource","plugin","selectedTapNames","selectedHooks","tapNames","useMemo","uniq","Object","e","hooks","dataSource","total","tapName","hook","hookData","WebpackPluginsDataTable","Table","v","_v","r","Tooltip","a","b","formatCosts","sumBy"],"mappings":";;;;;AAgBO,SAASA,4BACdC,MAAsB,EACtBC,gBAA0B,EAC1BC,aAAuB;IAEvB,MAAMC,WAAWC,QACf,IACEC,KACEC,OAAO,MAAM,CAACN,QACX,IAAI,GACJ,GAAG,CAAC,CAACO,IAAMA,EAAE,OAAO,IAE3B;QAACP;KAAO;IAGV,MAAMQ,QAAQJ,QAAQ,IAAME,OAAO,IAAI,CAACN,SAAS;QAACA;KAAO;IAEzD,MAAMS,aAAaL,QAAQ;QACzB,IAAI,CAACD,SAAS,MAAM,EAAE,OAAO,EAAE;QAE/B,OAAOA,SAAS,MAAM,CAAC,CAACO,OAAOC;YAC7B,IAAIV,iBAAiB,MAAM,IAAI,CAACA,iBAAiB,QAAQ,CAACU,UACxD,OAAOD;YAGTF,MAAM,OAAO,CAAC,CAACI;gBACb,IAAIV,cAAc,MAAM,IAAI,CAACA,cAAc,QAAQ,CAACU,OAClD;gBAGF,MAAMC,WAAWb,MAAM,CAACY,KAAK,CAAC,MAAM,CAAC,CAACL,IAAMA,EAAE,OAAO,KAAKI;gBAC1D,IAAIE,AAAoB,MAApBA,SAAS,MAAM,EAAQ;gBAC3BH,MAAM,IAAI,CAAC;oBACTC;oBACAC;oBACA,KAAK,GAAGD,UAAUC,MAAM;oBACxBC;gBACF;YACF;YAEA,OAAOH;QACT,GAAG,EAAE;IACP,GAAG;QAACV;QAAQC;QAAkBC;KAAc;IAE5C,OAAO;QACLO;QACAN;QACAK;IACF;AACF;AAEO,MAAMM,0BAET,CAAC,EAAEL,UAAU,EAAE,GACV,WAAP,GACE,IAACM,OAAKA;QACJ,YAAYN;QACZ,QAAQ,CAACO,IAAM,GAAGA,EAAE,OAAO,CAAC,CAAC,EAAEA,EAAE,IAAI,EAAE;QACvC,SAAS;YACP;gBACE,OAAO;gBACP,QAAQ,CAACC,IAAIC,IAAMA,EAAE,OAAO;YAC9B;YACA;gBACE,OAAO;gBACP,QAAQ,CAACD,IAAIC,IAAMA,EAAE,IAAI;YAC3B;YACA;gBACE,OAAO;gBACP,QAAQ,CAACD,IAAIC,IAAAA,WAAAA,GACX,IAACC,SAAOA;wBACN,OAAO,CAAC,CAAC,EAAED,EAAE,IAAI,CAAC,kBAAkB,EAAEA,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC;kCAE5EA,EAAE,IAAI,CAAC,MAAM;;gBAGlB,QAAOE,CAAC,EAAEC,CAAC;oBACT,OAAOD,EAAE,IAAI,CAAC,MAAM,GAAGC,EAAE,IAAI,CAAC,MAAM;gBACtC;YACF;YACA;gBACE,OAAO;gBACP,QAAQ,CAACJ,IAAIC,IAAMI,YAAYC,MAAML,EAAE,IAAI,EAAE,CAACX,IAAMA,EAAE,KAAK;gBAC3D,QAAOa,CAAC,EAAEC,CAAC;oBACT,OACEE,MAAMH,EAAE,IAAI,EAAE,CAACb,IAAMA,EAAE,KAAK,IAAIgB,MAAMF,EAAE,IAAI,EAAE,CAACd,IAAMA,EAAE,KAAK;gBAEhE;gBACA,kBAAkB;YACpB;SACD"}
1
+ {"version":3,"file":"components/Plugins/webpack.mjs","sources":["../../../src/components/Plugins/webpack.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { Table, Tooltip } from 'antd';\nimport { sumBy, uniq } from 'es-toolkit/compat';\nimport { SDK } from '@rsdoctor/types';\nimport { formatCosts } from '../../utils';\n\ninterface WebpackPluginsTableDataItem {\n tapName: string;\n hook: string;\n key: string;\n hookData: SDK.PluginHookData[];\n}\nexport interface WebpackPluginsDataTableProps {\n dataSource: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetPluginData>;\n}\n\nexport function useWebpackPluginsDataSource(\n plugin: SDK.PluginData,\n selectedTapNames: string[],\n selectedHooks: string[],\n) {\n const tapNames = useMemo(\n () =>\n uniq(\n Object.values(plugin)\n .flat()\n .map((e) => e.tapName),\n ),\n [plugin],\n );\n\n const hooks = useMemo(() => Object.keys(plugin), [plugin]);\n\n const dataSource = useMemo(() => {\n if (!tapNames.length) return [];\n\n return tapNames.reduce((total, tapName) => {\n if (selectedTapNames.length && !selectedTapNames.includes(tapName)) {\n return total;\n }\n\n hooks.forEach((hook) => {\n if (selectedHooks.length && !selectedHooks.includes(hook)) {\n return;\n }\n\n const hookData = plugin[hook].filter((e) => e.tapName === tapName);\n if (hookData.length === 0) return;\n total.push({\n tapName,\n hook,\n key: `${tapName}${hook}`,\n hookData,\n });\n });\n\n return total;\n }, [] as WebpackPluginsTableDataItem[]);\n }, [plugin, selectedTapNames, selectedHooks]);\n\n return {\n dataSource,\n tapNames,\n hooks,\n };\n}\n\nexport const WebpackPluginsDataTable: React.FC<\n WebpackPluginsDataTableProps\n> = ({ dataSource }) => {\n return (\n <Table\n dataSource={dataSource}\n rowKey={(v) => `${v.tapName}_${v.hook}`}\n columns={[\n {\n title: `Plugin Tap Name`,\n render: (_v, r) => r.tapName,\n },\n {\n title: `Hook`,\n render: (_v, r) => r.hook,\n },\n {\n title: 'calls',\n render: (_v, r) => (\n <Tooltip\n title={`\"${r.hook}\" has been called ${r.data.length} times by \"${r.tapName}\"`}\n >\n {r.data.length}\n </Tooltip>\n ),\n sorter(a, b) {\n return a.data.length - b.data.length;\n },\n },\n {\n title: 'duration(total)',\n render: (_v, r) => formatCosts(sumBy(r.data, (e) => e.costs)),\n sorter(a, b) {\n return (\n sumBy(a.data, (e) => e.costs) - sumBy(b.data, (e) => e.costs)\n );\n },\n defaultSortOrder: 'descend',\n },\n ]}\n />\n );\n};\n"],"names":["useWebpackPluginsDataSource","plugin","selectedTapNames","selectedHooks","tapNames","useMemo","uniq","Object","e","hooks","dataSource","total","tapName","hook","hookData","WebpackPluginsDataTable","Table","v","_v","r","Tooltip","a","b","formatCosts","sumBy"],"mappings":";;;;;AAgBO,SAASA,4BACdC,MAAsB,EACtBC,gBAA0B,EAC1BC,aAAuB;IAEvB,MAAMC,WAAWC,QACf,IACEC,KACEC,OAAO,MAAM,CAACN,QACX,IAAI,GACJ,GAAG,CAAC,CAACO,IAAMA,EAAE,OAAO,IAE3B;QAACP;KAAO;IAGV,MAAMQ,QAAQJ,QAAQ,IAAME,OAAO,IAAI,CAACN,SAAS;QAACA;KAAO;IAEzD,MAAMS,aAAaL,QAAQ;QACzB,IAAI,CAACD,SAAS,MAAM,EAAE,OAAO,EAAE;QAE/B,OAAOA,SAAS,MAAM,CAAC,CAACO,OAAOC;YAC7B,IAAIV,iBAAiB,MAAM,IAAI,CAACA,iBAAiB,QAAQ,CAACU,UACxD,OAAOD;YAGTF,MAAM,OAAO,CAAC,CAACI;gBACb,IAAIV,cAAc,MAAM,IAAI,CAACA,cAAc,QAAQ,CAACU,OAClD;gBAGF,MAAMC,WAAWb,MAAM,CAACY,KAAK,CAAC,MAAM,CAAC,CAACL,IAAMA,EAAE,OAAO,KAAKI;gBAC1D,IAAIE,AAAoB,MAApBA,SAAS,MAAM,EAAQ;gBAC3BH,MAAM,IAAI,CAAC;oBACTC;oBACAC;oBACA,KAAK,GAAGD,UAAUC,MAAM;oBACxBC;gBACF;YACF;YAEA,OAAOH;QACT,GAAG,EAAE;IACP,GAAG;QAACV;QAAQC;QAAkBC;KAAc;IAE5C,OAAO;QACLO;QACAN;QACAK;IACF;AACF;AAEO,MAAMM,0BAET,CAAC,EAAEL,UAAU,EAAE,GACV,WAAP,GACE,IAACM,OAAKA;QACJ,YAAYN;QACZ,QAAQ,CAACO,IAAM,GAAGA,EAAE,OAAO,CAAC,CAAC,EAAEA,EAAE,IAAI,EAAE;QACvC,SAAS;YACP;gBACE,OAAO;gBACP,QAAQ,CAACC,IAAIC,IAAMA,EAAE,OAAO;YAC9B;YACA;gBACE,OAAO;gBACP,QAAQ,CAACD,IAAIC,IAAMA,EAAE,IAAI;YAC3B;YACA;gBACE,OAAO;gBACP,QAAQ,CAACD,IAAIC,IAAAA,WAAAA,GACX,IAACC,SAAOA;wBACN,OAAO,CAAC,CAAC,EAAED,EAAE,IAAI,CAAC,kBAAkB,EAAEA,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC;kCAE5EA,EAAE,IAAI,CAAC,MAAM;;gBAGlB,QAAOE,CAAC,EAAEC,CAAC;oBACT,OAAOD,EAAE,IAAI,CAAC,MAAM,GAAGC,EAAE,IAAI,CAAC,MAAM;gBACtC;YACF;YACA;gBACE,OAAO;gBACP,QAAQ,CAACJ,IAAIC,IAAMI,YAAYC,MAAML,EAAE,IAAI,EAAE,CAACX,IAAMA,EAAE,KAAK;gBAC3D,QAAOa,CAAC,EAAEC,CAAC;oBACT,OACEE,MAAMH,EAAE,IAAI,EAAE,CAACb,IAAMA,EAAE,KAAK,IAAIgB,MAAMF,EAAE,IAAI,EAAE,CAACd,IAAMA,EAAE,KAAK;gBAEhE;gBACA,kBAAkB;YACpB;SACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Resolver/analysis.mjs","sources":["webpack://@rsdoctor/components/./src/components/Resolver/analysis.tsx"],"sourcesContent":["/* eslint-disable react/no-unescaped-entities */\nimport {\n CloseCircleOutlined,\n FileSearchOutlined,\n MenuFoldOutlined,\n MenuUnfoldOutlined,\n} from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { Resolver } from '@rsdoctor/utils/common';\nimport { Button, Card, Col, Row, Space, Table, Typography } from 'antd';\nimport { get } from 'es-toolkit/compat';\nimport React, { useMemo, useState } from 'react';\nimport { Size } from '../../constants';\nimport { createFileStructures, formatCosts, mapFileKey } from '../../utils';\nimport { FileTree } from '../FileTree';\nimport { KeywordInput } from '../Form/keyword';\nimport { ServerAPIProvider, withServerAPI } from '../Manifest';\nimport { DiffViewer } from '../base';\n\nconst height = 735;\n\nconst ResolverDetailsPanel: React.FC<\n SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileDetails>\n> = ({ filepath, before, after, resolvers }) => {\n const [collapsed, setCollapsed] = useState(false);\n\n return (\n <React.Fragment>\n <Col flex={1}>\n <Card\n title=\"Resolve Diff Viewer\"\n styles={{ body: { padding: 0, overflow: 'hidden' } }}\n >\n <DiffViewer\n style={{\n height: height + 50,\n }}\n isEmbed\n originalFilePath={filepath}\n modifiedFilePath={filepath}\n original={before}\n modified={after}\n />\n </Card>\n </Col>\n <Col span={collapsed ? 2 : 7}>\n <Card\n title={collapsed ? '...' : 'Resolve Details'}\n extra={\n <Button\n onClick={() => setCollapsed(!collapsed)}\n size=\"small\"\n icon={collapsed ? <MenuFoldOutlined /> : <MenuUnfoldOutlined />}\n ></Button>\n }\n style={collapsed ? { width: 80 } : undefined}\n >\n {collapsed ? null : (\n <Table\n style={{\n width: '100%',\n height,\n overflowY: 'scroll',\n wordBreak: 'break-all',\n }}\n size=\"small\"\n pagination={false}\n bordered\n rowKey={(e) => e.request}\n columns={[\n {\n title: 'Source Code',\n width: 200,\n render: (_v, r) => (\n <Typography.Text copyable>\n <Typography.Text code strong>\n {r.request}\n </Typography.Text>\n </Typography.Text>\n ),\n },\n {\n title: 'Duration',\n width: 80,\n render: (_v, r) => (\n <Typography.Text strong>\n {formatCosts(r.costs)}\n </Typography.Text>\n ),\n sorter: (a, b) => a.costs - b.costs,\n sortDirections: ['descend', 'ascend'],\n },\n {\n title: 'Resolve Result',\n render: (_v, r) => {\n if (Resolver.isResolveSuccessData(r))\n return (\n <Typography.Text copyable>{r.result}</Typography.Text>\n );\n return <CloseCircleOutlined style={{ color: '#f50' }} />;\n },\n },\n ]}\n dataSource={resolvers}\n />\n )}\n </Card>\n </Col>\n </React.Fragment>\n );\n};\n\nexport const ResolverFiles: React.FC<{\n filename: string;\n cwd: string;\n resolver: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileTree>;\n}> = (props) => {\n const { resolver, cwd } = props;\n\n const [filepath, setFilepath] = useState('');\n\n const inlinedResourcePathKey = '__RESOURCEPATH__';\n const n = '/node_modules/';\n\n const paths = useMemo(() => {\n return resolver.map((e) => e.issuerPath).filter(Boolean);\n }, [resolver]);\n\n const filterPaths = useMemo(() => {\n return paths.filter((e) =>\n props.filename ? e.indexOf(props.filename) > -1 : true,\n );\n }, [props.filename, paths]);\n\n const allNodeModules =\n filterPaths.length && filterPaths.every((e) => e.indexOf(n) > -1);\n\n const files = useMemo(() => {\n return createFileStructures({\n files: filterPaths.length ? filterPaths : paths,\n cwd,\n fileTitle(file, basename) {\n return <div onClick={() => setFilepath(file)}>{basename}</div>;\n },\n });\n }, [props.filename]);\n\n return (\n <Row justify=\"start\" align=\"top\" wrap={false} gutter={Size.BasePadding}>\n <Col span={7}>\n <Card title=\"Files\">\n <FileTree\n style={{ width: '100%', height, overflow: 'scroll' }}\n treeData={files}\n defaultExpandedKeys={mapFileKey(\n files,\n allNodeModules ? 1 : 4,\n allNodeModules\n ? undefined\n : (node) => {\n const resourcePath: string = get(\n node,\n inlinedResourcePathKey,\n )!;\n const isNodeModules = resourcePath.indexOf(n) > -1;\n\n if (\n filterPaths.length &&\n filterPaths.every((e) => e.indexOf(n) > -1)\n ) {\n return true;\n }\n\n return !isNodeModules;\n },\n )}\n key={`tree_${props.filename}`}\n />\n </Card>\n </Col>\n {filepath && (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetResolverFileDetails}\n body={{ filepath }}\n >\n {(resolvers) => <ResolverDetailsPanel {...resolvers} />}\n </ServerAPIProvider>\n )}\n </Row>\n );\n};\n\nexport const ResolverAnalysisBase: React.FC<{\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}> = ({ project }) => {\n const { root: cwd } = project;\n const [filename, setFilename] = useState('');\n\n return (\n <div style={{ width: '100%' }}>\n <Space\n style={{ marginTop: Size.BasePadding, marginBottom: Size.BasePadding }}\n >\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"Filename\"\n placeholder=\"search filename by keyword\"\n onChange={(e) => setFilename(e)}\n />\n </Space>\n <ServerAPIProvider api={SDK.ServerAPI.API.GetResolverFileTree}>\n {(resolver) => (\n <ResolverFiles filename={filename} resolver={resolver} cwd={cwd} />\n )}\n </ServerAPIProvider>\n </div>\n );\n};\n\nexport const ResolverAnalysis = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: ResolverAnalysisBase,\n});\n"],"names":["height","ResolverDetailsPanel","filepath","before","after","resolvers","collapsed","setCollapsed","useState","React","Col","Card","DiffViewer","Button","MenuFoldOutlined","MenuUnfoldOutlined","undefined","Table","e","_v","r","Typography","formatCosts","a","b","Resolver","CloseCircleOutlined","ResolverFiles","props","resolver","cwd","setFilepath","inlinedResourcePathKey","n","paths","useMemo","Boolean","filterPaths","allNodeModules","files","createFileStructures","file","basename","Row","Size","FileTree","mapFileKey","node","resourcePath","get","isNodeModules","ServerAPIProvider","SDK","ResolverAnalysisBase","project","filename","setFilename","Space","KeywordInput","FileSearchOutlined","ResolverAnalysis","withServerAPI"],"mappings":"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"}
1
+ {"version":3,"file":"components/Resolver/analysis.mjs","sources":["../../../src/components/Resolver/analysis.tsx"],"sourcesContent":["/* eslint-disable react/no-unescaped-entities */\nimport {\n CloseCircleOutlined,\n FileSearchOutlined,\n MenuFoldOutlined,\n MenuUnfoldOutlined,\n} from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { Resolver } from '@rsdoctor/utils/common';\nimport { Button, Card, Col, Row, Space, Table, Typography } from 'antd';\nimport { get } from 'es-toolkit/compat';\nimport React, { useMemo, useState } from 'react';\nimport { Size } from '../../constants';\nimport { createFileStructures, formatCosts, mapFileKey } from '../../utils';\nimport { FileTree } from '../FileTree';\nimport { KeywordInput } from '../Form/keyword';\nimport { ServerAPIProvider, withServerAPI } from '../Manifest';\nimport { DiffViewer } from '../base';\n\nconst height = 735;\n\nconst ResolverDetailsPanel: React.FC<\n SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileDetails>\n> = ({ filepath, before, after, resolvers }) => {\n const [collapsed, setCollapsed] = useState(false);\n\n return (\n <React.Fragment>\n <Col flex={1}>\n <Card\n title=\"Resolve Diff Viewer\"\n styles={{ body: { padding: 0, overflow: 'hidden' } }}\n >\n <DiffViewer\n style={{\n height: height + 50,\n }}\n isEmbed\n originalFilePath={filepath}\n modifiedFilePath={filepath}\n original={before}\n modified={after}\n />\n </Card>\n </Col>\n <Col span={collapsed ? 2 : 7}>\n <Card\n title={collapsed ? '...' : 'Resolve Details'}\n extra={\n <Button\n onClick={() => setCollapsed(!collapsed)}\n size=\"small\"\n icon={collapsed ? <MenuFoldOutlined /> : <MenuUnfoldOutlined />}\n ></Button>\n }\n style={collapsed ? { width: 80 } : undefined}\n >\n {collapsed ? null : (\n <Table\n style={{\n width: '100%',\n height,\n overflowY: 'scroll',\n wordBreak: 'break-all',\n }}\n size=\"small\"\n pagination={false}\n bordered\n rowKey={(e) => e.request}\n columns={[\n {\n title: 'Source Code',\n width: 200,\n render: (_v, r) => (\n <Typography.Text copyable>\n <Typography.Text code strong>\n {r.request}\n </Typography.Text>\n </Typography.Text>\n ),\n },\n {\n title: 'Duration',\n width: 80,\n render: (_v, r) => (\n <Typography.Text strong>\n {formatCosts(r.costs)}\n </Typography.Text>\n ),\n sorter: (a, b) => a.costs - b.costs,\n sortDirections: ['descend', 'ascend'],\n },\n {\n title: 'Resolve Result',\n render: (_v, r) => {\n if (Resolver.isResolveSuccessData(r))\n return (\n <Typography.Text copyable>{r.result}</Typography.Text>\n );\n return <CloseCircleOutlined style={{ color: '#f50' }} />;\n },\n },\n ]}\n dataSource={resolvers}\n />\n )}\n </Card>\n </Col>\n </React.Fragment>\n );\n};\n\nexport const ResolverFiles: React.FC<{\n filename: string;\n cwd: string;\n resolver: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileTree>;\n}> = (props) => {\n const { resolver, cwd } = props;\n\n const [filepath, setFilepath] = useState('');\n\n const inlinedResourcePathKey = '__RESOURCEPATH__';\n const n = '/node_modules/';\n\n const paths = useMemo(() => {\n return resolver.map((e) => e.issuerPath).filter(Boolean);\n }, [resolver]);\n\n const filterPaths = useMemo(() => {\n return paths.filter((e) =>\n props.filename ? e.indexOf(props.filename) > -1 : true,\n );\n }, [props.filename, paths]);\n\n const allNodeModules =\n filterPaths.length && filterPaths.every((e) => e.indexOf(n) > -1);\n\n const files = useMemo(() => {\n return createFileStructures({\n files: filterPaths.length ? filterPaths : paths,\n cwd,\n fileTitle(file, basename) {\n return <div onClick={() => setFilepath(file)}>{basename}</div>;\n },\n });\n }, [props.filename]);\n\n return (\n <Row justify=\"start\" align=\"top\" wrap={false} gutter={Size.BasePadding}>\n <Col span={7}>\n <Card title=\"Files\">\n <FileTree\n style={{ width: '100%', height, overflow: 'scroll' }}\n treeData={files}\n defaultExpandedKeys={mapFileKey(\n files,\n allNodeModules ? 1 : 4,\n allNodeModules\n ? undefined\n : (node) => {\n const resourcePath: string = get(\n node,\n inlinedResourcePathKey,\n )!;\n const isNodeModules = resourcePath.indexOf(n) > -1;\n\n if (\n filterPaths.length &&\n filterPaths.every((e) => e.indexOf(n) > -1)\n ) {\n return true;\n }\n\n return !isNodeModules;\n },\n )}\n key={`tree_${props.filename}`}\n />\n </Card>\n </Col>\n {filepath && (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetResolverFileDetails}\n body={{ filepath }}\n >\n {(resolvers) => <ResolverDetailsPanel {...resolvers} />}\n </ServerAPIProvider>\n )}\n </Row>\n );\n};\n\nexport const ResolverAnalysisBase: React.FC<{\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}> = ({ project }) => {\n const { root: cwd } = project;\n const [filename, setFilename] = useState('');\n\n return (\n <div style={{ width: '100%' }}>\n <Space\n style={{ marginTop: Size.BasePadding, marginBottom: Size.BasePadding }}\n >\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"Filename\"\n placeholder=\"search filename by keyword\"\n onChange={(e) => setFilename(e)}\n />\n </Space>\n <ServerAPIProvider api={SDK.ServerAPI.API.GetResolverFileTree}>\n {(resolver) => (\n <ResolverFiles filename={filename} resolver={resolver} cwd={cwd} />\n )}\n </ServerAPIProvider>\n </div>\n );\n};\n\nexport const ResolverAnalysis = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: ResolverAnalysisBase,\n});\n"],"names":["height","ResolverDetailsPanel","filepath","before","after","resolvers","collapsed","setCollapsed","useState","React","Col","Card","DiffViewer","Button","MenuFoldOutlined","MenuUnfoldOutlined","undefined","Table","e","_v","r","Typography","formatCosts","a","b","Resolver","CloseCircleOutlined","ResolverFiles","props","resolver","cwd","setFilepath","inlinedResourcePathKey","n","paths","useMemo","Boolean","filterPaths","allNodeModules","files","createFileStructures","file","basename","Row","Size","FileTree","mapFileKey","node","resourcePath","get","isNodeModules","ServerAPIProvider","SDK","ResolverAnalysisBase","project","filename","setFilename","Space","KeywordInput","FileSearchOutlined","ResolverAnalysis","withServerAPI"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Select/index.mjs","sources":["webpack://@rsdoctor/components/./src/components/Select/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Button, Col, Input, Row, Select, Typography } from 'antd';\nimport { FileSearchOutlined, SelectOutlined } from '@ant-design/icons';\nimport { KeywordInput } from '../Form/keyword';\nimport { Size } from 'src/constants';\nimport { ServerAPIProvider } from '../Manifest';\nimport { SDK } from '@rsdoctor/types';\nimport './index.scss';\n\ninterface LoaderNamesSelectProps {\n style?: React.CSSProperties;\n onChange: (loaders: string[]) => void;\n loaderNames: string[];\n}\n\nexport type ISelectLoaderProps = {\n loaders: string[];\n filename: string;\n layer?: string;\n};\n\nexport const LoaderNamesSelect: React.FC<LoaderNamesSelectProps> = ({\n style,\n onChange,\n loaderNames,\n}) => {\n const [selectLoaders, setSelectLoaders] = useState([]);\n\n const labelStyle: React.CSSProperties = { width: 120 };\n\n return (\n <Input.Group compact style={style}>\n <Button style={labelStyle}>\n <SelectOutlined />\n <Typography.Text>Loaders</Typography.Text>\n </Button>\n <Select\n mode=\"multiple\"\n allowClear\n defaultValue={selectLoaders}\n className=\"loader-select\"\n style={{ width: 300 }}\n popupMatchSelectWidth={300}\n placeholder={'select loaders'}\n onChange={(e) => {\n setSelectLoaders(e);\n onChange(e);\n }}\n >\n {loaderNames.map((e) => {\n return (\n <Select.Option key={e} label={e} value={e}>\n {e}\n </Select.Option>\n );\n })}\n </Select>\n </Input.Group>\n );\n};\n\nconst LoaderLayerSelect: React.FC<{\n onChange(value: string): void;\n layers: string[];\n}> = ({ onChange, layers }) => {\n const [layer, setLayer] = useState('');\n const labelStyle: React.CSSProperties = { width: 120 };\n\n return (\n <Input.Group compact>\n <Button style={labelStyle}>\n <SelectOutlined />\n <Typography.Text>Layers</Typography.Text>\n </Button>\n <Select\n allowClear\n className=\"layer-select\"\n style={{ width: 150 }}\n defaultValue={layer}\n placeholder={'select layer'}\n onChange={(e) => {\n setLayer(e);\n onChange(e);\n }}\n >\n {layers?.length ? (\n layers?.map((e) => {\n return (\n <Select.Option key={e} label={e} value={e}>\n {e}\n </Select.Option>\n );\n })\n ) : (\n <></>\n )}\n </Select>\n </Input.Group>\n );\n};\n\nexport const LoaderCommonSelect: React.FC<{\n onChange(value: ISelectLoaderProps): void;\n loaderNames: string[];\n}> = ({ onChange, loaderNames }) => {\n const [selectLoaders, setSelectLoaders] = useState<string[]>([]);\n const [filename, setFilename] = useState('');\n const [layer, setLayer] = useState('');\n\n useEffect(() => {\n onChange({ loaders: selectLoaders, filename, layer });\n }, [selectLoaders, filename, layer]);\n\n return (\n <Row style={{ marginBottom: Size.BasePadding, marginLeft: 10 }}>\n <Col>\n <LoaderNamesSelect\n loaderNames={loaderNames}\n style={{ marginRight: Size.BasePadding }}\n onChange={(e) => {\n setSelectLoaders(e);\n }}\n />\n </Col>\n <Col>\n <KeywordInput\n icon={<FileSearchOutlined />}\n style={{ marginRight: Size.BasePadding }}\n label=\"Filename\"\n placeholder=\"search filename by keyword\"\n onChange={(e) => {\n setFilename(e);\n }}\n />\n </Col>\n <Col>\n <ServerAPIProvider api={SDK.ServerAPI.API.GetLayers}>\n {(layers) =>\n layers.length ? (\n <LoaderLayerSelect\n layers={layers}\n onChange={(e) => {\n setLayer(e);\n }}\n />\n ) : (\n <></>\n )\n }\n </ServerAPIProvider>\n </Col>\n </Row>\n );\n};\n"],"names":["LoaderNamesSelect","style","onChange","loaderNames","selectLoaders","setSelectLoaders","useState","labelStyle","Input","Button","SelectOutlined","Typography","Select","e","LoaderLayerSelect","layers","layer","setLayer","LoaderCommonSelect","filename","setFilename","useEffect","Row","Size","Col","KeywordInput","FileSearchOutlined","ServerAPIProvider","SDK"],"mappings":";;;;;;;;;AAqBO,MAAMA,oBAAsD,CAAC,EAClEC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACZ;IACC,MAAM,CAACC,eAAeC,iBAAiB,GAAGC,SAAS,EAAE;IAErD,MAAMC,aAAkC;QAAE,OAAO;IAAI;IAErD,OAAO,WAAP,GACE,KAACC,MAAM,KAAK;QAAC,SAAO;QAAC,OAAOP;;0BAC1B,KAACQ,QAAMA;gBAAC,OAAOF;;kCACb,IAACG,gBAAcA,CAAAA;kCACf,IAACC,WAAW,IAAI;kCAAC;;;;0BAEnB,IAACC,QAAMA;gBACL,MAAK;gBACL,YAAU;gBACV,cAAcR;gBACd,WAAU;gBACV,OAAO;oBAAE,OAAO;gBAAI;gBACpB,uBAAuB;gBACvB,aAAa;gBACb,UAAU,CAACS;oBACTR,iBAAiBQ;oBACjBX,SAASW;gBACX;0BAECV,YAAY,GAAG,CAAC,CAACU,IACT,WAAP,GACE,IAACD,OAAO,MAAM;wBAAS,OAAOC;wBAAG,OAAOA;kCACrCA;uBADiBA;;;;AAQhC;AAEA,MAAMC,oBAGD,CAAC,EAAEZ,QAAQ,EAAEa,MAAM,EAAE;IACxB,MAAM,CAACC,OAAOC,SAAS,GAAGX,SAAS;IACnC,MAAMC,aAAkC;QAAE,OAAO;IAAI;IAErD,OAAO,WAAP,GACE,KAACC,MAAM,KAAK;QAAC,SAAO;;0BAClB,KAACC,QAAMA;gBAAC,OAAOF;;kCACb,IAACG,gBAAcA,CAAAA;kCACf,IAACC,WAAW,IAAI;kCAAC;;;;0BAEnB,IAACC,QAAMA;gBACL,YAAU;gBACV,WAAU;gBACV,OAAO;oBAAE,OAAO;gBAAI;gBACpB,cAAcI;gBACd,aAAa;gBACb,UAAU,CAACH;oBACTI,SAASJ;oBACTX,SAASW;gBACX;0BAECE,QAAQ,SACPA,QAAQ,IAAI,CAACF,IACJ,WAAP,GACE,IAACD,OAAO,MAAM;wBAAS,OAAOC;wBAAG,OAAOA;kCACrCA;uBADiBA,MAIxB,cAEA;;;;AAKV;AAEO,MAAMK,qBAGR,CAAC,EAAEhB,QAAQ,EAAEC,WAAW,EAAE;IAC7B,MAAM,CAACC,eAAeC,iBAAiB,GAAGC,SAAmB,EAAE;IAC/D,MAAM,CAACa,UAAUC,YAAY,GAAGd,SAAS;IACzC,MAAM,CAACU,OAAOC,SAAS,GAAGX,SAAS;IAEnCe,UAAU;QACRnB,SAAS;YAAE,SAASE;YAAee;YAAUH;QAAM;IACrD,GAAG;QAACZ;QAAee;QAAUH;KAAM;IAEnC,OAAO,WAAP,GACE,KAACM,KAAGA;QAAC,OAAO;YAAE,cAAcC,KAAK,WAAW;YAAE,YAAY;QAAG;;0BAC3D,IAACC,KAAGA;0BACF,kBAACxB,mBAAAA;oBACC,aAAaG;oBACb,OAAO;wBAAE,aAAaoB,KAAK,WAAW;oBAAC;oBACvC,UAAU,CAACV;wBACTR,iBAAiBQ;oBACnB;;;0BAGJ,IAACW,KAAGA;0BACF,kBAACC,cAAYA;oBACX,oBAAM,IAACC,oBAAkBA,CAAAA;oBACzB,OAAO;wBAAE,aAAaH,KAAK,WAAW;oBAAC;oBACvC,OAAM;oBACN,aAAY;oBACZ,UAAU,CAACV;wBACTO,YAAYP;oBACd;;;0BAGJ,IAACW,KAAGA;0BACF,kBAACG,mBAAiBA;oBAAC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS;8BAChD,CAACb,SACAA,OAAO,MAAM,GAAG,WAAH,GACX,IAACD,mBAAAA;4BACC,QAAQC;4BACR,UAAU,CAACF;gCACTI,SAASJ;4BACX;2CAGF;;;;;AAOd"}
1
+ {"version":3,"file":"components/Select/index.mjs","sources":["../../../src/components/Select/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Button, Col, Input, Row, Select, Typography } from 'antd';\nimport { FileSearchOutlined, SelectOutlined } from '@ant-design/icons';\nimport { KeywordInput } from '../Form/keyword';\nimport { Size } from 'src/constants';\nimport { ServerAPIProvider } from '../Manifest';\nimport { SDK } from '@rsdoctor/types';\nimport './index.scss';\n\ninterface LoaderNamesSelectProps {\n style?: React.CSSProperties;\n onChange: (loaders: string[]) => void;\n loaderNames: string[];\n}\n\nexport type ISelectLoaderProps = {\n loaders: string[];\n filename: string;\n layer?: string;\n};\n\nexport const LoaderNamesSelect: React.FC<LoaderNamesSelectProps> = ({\n style,\n onChange,\n loaderNames,\n}) => {\n const [selectLoaders, setSelectLoaders] = useState([]);\n\n const labelStyle: React.CSSProperties = { width: 120 };\n\n return (\n <Input.Group compact style={style}>\n <Button style={labelStyle}>\n <SelectOutlined />\n <Typography.Text>Loaders</Typography.Text>\n </Button>\n <Select\n mode=\"multiple\"\n allowClear\n defaultValue={selectLoaders}\n className=\"loader-select\"\n style={{ width: 300 }}\n popupMatchSelectWidth={300}\n placeholder={'select loaders'}\n onChange={(e) => {\n setSelectLoaders(e);\n onChange(e);\n }}\n >\n {loaderNames.map((e) => {\n return (\n <Select.Option key={e} label={e} value={e}>\n {e}\n </Select.Option>\n );\n })}\n </Select>\n </Input.Group>\n );\n};\n\nconst LoaderLayerSelect: React.FC<{\n onChange(value: string): void;\n layers: string[];\n}> = ({ onChange, layers }) => {\n const [layer, setLayer] = useState('');\n const labelStyle: React.CSSProperties = { width: 120 };\n\n return (\n <Input.Group compact>\n <Button style={labelStyle}>\n <SelectOutlined />\n <Typography.Text>Layers</Typography.Text>\n </Button>\n <Select\n allowClear\n className=\"layer-select\"\n style={{ width: 150 }}\n defaultValue={layer}\n placeholder={'select layer'}\n onChange={(e) => {\n setLayer(e);\n onChange(e);\n }}\n >\n {layers?.length ? (\n layers?.map((e) => {\n return (\n <Select.Option key={e} label={e} value={e}>\n {e}\n </Select.Option>\n );\n })\n ) : (\n <></>\n )}\n </Select>\n </Input.Group>\n );\n};\n\nexport const LoaderCommonSelect: React.FC<{\n onChange(value: ISelectLoaderProps): void;\n loaderNames: string[];\n}> = ({ onChange, loaderNames }) => {\n const [selectLoaders, setSelectLoaders] = useState<string[]>([]);\n const [filename, setFilename] = useState('');\n const [layer, setLayer] = useState('');\n\n useEffect(() => {\n onChange({ loaders: selectLoaders, filename, layer });\n }, [selectLoaders, filename, layer]);\n\n return (\n <Row style={{ marginBottom: Size.BasePadding, marginLeft: 10 }}>\n <Col>\n <LoaderNamesSelect\n loaderNames={loaderNames}\n style={{ marginRight: Size.BasePadding }}\n onChange={(e) => {\n setSelectLoaders(e);\n }}\n />\n </Col>\n <Col>\n <KeywordInput\n icon={<FileSearchOutlined />}\n style={{ marginRight: Size.BasePadding }}\n label=\"Filename\"\n placeholder=\"search filename by keyword\"\n onChange={(e) => {\n setFilename(e);\n }}\n />\n </Col>\n <Col>\n <ServerAPIProvider api={SDK.ServerAPI.API.GetLayers}>\n {(layers) =>\n layers.length ? (\n <LoaderLayerSelect\n layers={layers}\n onChange={(e) => {\n setLayer(e);\n }}\n />\n ) : (\n <></>\n )\n }\n </ServerAPIProvider>\n </Col>\n </Row>\n );\n};\n"],"names":["LoaderNamesSelect","style","onChange","loaderNames","selectLoaders","setSelectLoaders","useState","labelStyle","Input","Button","SelectOutlined","Typography","Select","e","LoaderLayerSelect","layers","layer","setLayer","LoaderCommonSelect","filename","setFilename","useEffect","Row","Size","Col","KeywordInput","FileSearchOutlined","ServerAPIProvider","SDK"],"mappings":";;;;;;;;;AAqBO,MAAMA,oBAAsD,CAAC,EAClEC,KAAK,EACLC,QAAQ,EACRC,WAAW,EACZ;IACC,MAAM,CAACC,eAAeC,iBAAiB,GAAGC,SAAS,EAAE;IAErD,MAAMC,aAAkC;QAAE,OAAO;IAAI;IAErD,OAAO,WAAP,GACE,KAACC,MAAM,KAAK;QAAC,SAAO;QAAC,OAAOP;;0BAC1B,KAACQ,QAAMA;gBAAC,OAAOF;;kCACb,IAACG,gBAAcA,CAAAA;kCACf,IAACC,WAAW,IAAI;kCAAC;;;;0BAEnB,IAACC,QAAMA;gBACL,MAAK;gBACL,YAAU;gBACV,cAAcR;gBACd,WAAU;gBACV,OAAO;oBAAE,OAAO;gBAAI;gBACpB,uBAAuB;gBACvB,aAAa;gBACb,UAAU,CAACS;oBACTR,iBAAiBQ;oBACjBX,SAASW;gBACX;0BAECV,YAAY,GAAG,CAAC,CAACU,IACT,WAAP,GACE,IAACD,OAAO,MAAM;wBAAS,OAAOC;wBAAG,OAAOA;kCACrCA;uBADiBA;;;;AAQhC;AAEA,MAAMC,oBAGD,CAAC,EAAEZ,QAAQ,EAAEa,MAAM,EAAE;IACxB,MAAM,CAACC,OAAOC,SAAS,GAAGX,SAAS;IACnC,MAAMC,aAAkC;QAAE,OAAO;IAAI;IAErD,OAAO,WAAP,GACE,KAACC,MAAM,KAAK;QAAC,SAAO;;0BAClB,KAACC,QAAMA;gBAAC,OAAOF;;kCACb,IAACG,gBAAcA,CAAAA;kCACf,IAACC,WAAW,IAAI;kCAAC;;;;0BAEnB,IAACC,QAAMA;gBACL,YAAU;gBACV,WAAU;gBACV,OAAO;oBAAE,OAAO;gBAAI;gBACpB,cAAcI;gBACd,aAAa;gBACb,UAAU,CAACH;oBACTI,SAASJ;oBACTX,SAASW;gBACX;0BAECE,QAAQ,SACPA,QAAQ,IAAI,CAACF,IACJ,WAAP,GACE,IAACD,OAAO,MAAM;wBAAS,OAAOC;wBAAG,OAAOA;kCACrCA;uBADiBA,MAIxB,cAEA;;;;AAKV;AAEO,MAAMK,qBAGR,CAAC,EAAEhB,QAAQ,EAAEC,WAAW,EAAE;IAC7B,MAAM,CAACC,eAAeC,iBAAiB,GAAGC,SAAmB,EAAE;IAC/D,MAAM,CAACa,UAAUC,YAAY,GAAGd,SAAS;IACzC,MAAM,CAACU,OAAOC,SAAS,GAAGX,SAAS;IAEnCe,UAAU;QACRnB,SAAS;YAAE,SAASE;YAAee;YAAUH;QAAM;IACrD,GAAG;QAACZ;QAAee;QAAUH;KAAM;IAEnC,OAAO,WAAP,GACE,KAACM,KAAGA;QAAC,OAAO;YAAE,cAAcC,KAAK,WAAW;YAAE,YAAY;QAAG;;0BAC3D,IAACC,KAAGA;0BACF,kBAACxB,mBAAAA;oBACC,aAAaG;oBACb,OAAO;wBAAE,aAAaoB,KAAK,WAAW;oBAAC;oBACvC,UAAU,CAACV;wBACTR,iBAAiBQ;oBACnB;;;0BAGJ,IAACW,KAAGA;0BACF,kBAACC,cAAYA;oBACX,oBAAM,IAACC,oBAAkBA,CAAAA;oBACzB,OAAO;wBAAE,aAAaH,KAAK,WAAW;oBAAC;oBACvC,OAAM;oBACN,aAAY;oBACZ,UAAU,CAACV;wBACTO,YAAYP;oBACd;;;0BAGJ,IAACW,KAAGA;0BACF,kBAACG,mBAAiBA;oBAAC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS;8BAChD,CAACb,SACAA,OAAO,MAAM,GAAG,WAAH,GACX,IAACD,mBAAAA;4BACC,QAAQC;4BACR,UAAU,CAACF;gCACTI,SAASJ;4BACX;2CAGF;;;;;AAOd"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Status/failed.mjs","sources":["webpack://@rsdoctor/components/./src/components/Status/failed.tsx"],"sourcesContent":["import { Common } from '@rsdoctor/types';\nimport { Button, Empty, Space, Typography } from 'antd';\nimport React from 'react';\n\ninterface FailedStatusProps {\n title?: string;\n buttonText?: string;\n retry: Common.Function;\n}\n\nconst defaultTitle = 'Load data failed, please try again';\nconst defaultButtonText = 'retry';\n\nconst FailedStatusComponent: React.FC<FailedStatusProps> = ({\n title = defaultTitle,\n buttonText = defaultButtonText,\n retry,\n}) => {\n return (\n <Empty\n description={\n <Space direction=\"vertical\">\n <Typography.Text>{title}</Typography.Text>\n <Button\n type=\"primary\"\n onClick={() => {\n retry();\n }}\n >\n {buttonText}\n </Button>\n </Space>\n }\n />\n );\n};\n\nexport const FailedStatus = React.memo(FailedStatusComponent);\n"],"names":["defaultTitle","defaultButtonText","FailedStatusComponent","title","buttonText","retry","Empty","Space","Typography","Button","FailedStatus","React"],"mappings":";;;AAUA,MAAMA,eAAe;AACrB,MAAMC,oBAAoB;AAE1B,MAAMC,wBAAqD,CAAC,EAC1DC,QAAQH,YAAY,EACpBI,aAAaH,iBAAiB,EAC9BI,KAAK,EACN,GACQ,WAAP,GACE,IAACC,OAAKA;QACJ,2BACE,KAACC,OAAKA;YAAC,WAAU;;8BACf,IAACC,WAAW,IAAI;8BAAEL;;8BAClB,IAACM,QAAMA;oBACL,MAAK;oBACL,SAAS;wBACPJ;oBACF;8BAECD;;;;;AAQN,MAAMM,eAAe,WAAfA,GAAeC,MAAAA,IAAU,CAACT"}
1
+ {"version":3,"file":"components/Status/failed.mjs","sources":["../../../src/components/Status/failed.tsx"],"sourcesContent":["import { Common } from '@rsdoctor/types';\nimport { Button, Empty, Space, Typography } from 'antd';\nimport React from 'react';\n\ninterface FailedStatusProps {\n title?: string;\n buttonText?: string;\n retry: Common.Function;\n}\n\nconst defaultTitle = 'Load data failed, please try again';\nconst defaultButtonText = 'retry';\n\nconst FailedStatusComponent: React.FC<FailedStatusProps> = ({\n title = defaultTitle,\n buttonText = defaultButtonText,\n retry,\n}) => {\n return (\n <Empty\n description={\n <Space direction=\"vertical\">\n <Typography.Text>{title}</Typography.Text>\n <Button\n type=\"primary\"\n onClick={() => {\n retry();\n }}\n >\n {buttonText}\n </Button>\n </Space>\n }\n />\n );\n};\n\nexport const FailedStatus = React.memo(FailedStatusComponent);\n"],"names":["defaultTitle","defaultButtonText","FailedStatusComponent","title","buttonText","retry","Empty","Space","Typography","Button","FailedStatus","React"],"mappings":";;;AAUA,MAAMA,eAAe;AACrB,MAAMC,oBAAoB;AAE1B,MAAMC,wBAAqD,CAAC,EAC1DC,QAAQH,YAAY,EACpBI,aAAaH,iBAAiB,EAC9BI,KAAK,EACN,GACQ,WAAP,GACE,IAACC,OAAKA;QACJ,2BACE,KAACC,OAAKA;YAAC,WAAU;;8BACf,IAACC,WAAW,IAAI;8BAAEL;;8BAClB,IAACM,QAAMA;oBACL,MAAK;oBACL,SAAS;wBACPJ;oBACF;8BAECD;;;;;AAQN,MAAMM,eAAe,WAAfA,GAAeC,MAAAA,IAAU,CAACT"}
@@ -1 +1 @@
1
- export * from './failed';
1
+ export * from './failed.js';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Rule, SDK } from '@rsdoctor/types';
3
- import { TextDrawerProps } from './index';
4
- import { PackageRelationAlertProps } from '../Alert/types';
3
+ import { TextDrawerProps } from './index.js';
4
+ import { PackageRelationAlertProps } from '../Alert/types.js';
5
5
  interface DuplicatePackageDrawerContentProps extends Omit<TextDrawerProps, 'text'> {
6
6
  duplicatePackages: Rule.PackageRelationDiffRuleStoreData[];
7
7
  cwd: string;
@@ -1 +1 @@
1
- {"version":3,"file":"components/TextDrawer/duplicate.mjs","sources":["webpack://@rsdoctor/components/./src/components/TextDrawer/duplicate.tsx"],"sourcesContent":["import { Col, Row, Space, Tooltip, Typography } from 'antd';\nimport React from 'react';\nimport { Rule, SDK } from '@rsdoctor/types';\nimport { ExceptionOutlined } from '@ant-design/icons';\nimport { Alerts } from '@rsdoctor/utils/common';\nimport { Size } from '../../constants';\nimport { TextDrawer, TextDrawerProps } from './index';\nimport {\n PackageRelationAlert,\n PackageRelationReasons,\n PackageRelationReasonsWithServer,\n} from '../Alert/package-relation';\nimport { PackageRelationAlertProps } from '../Alert/types';\nimport { ServerAPIProvider } from '../Manifest';\n\ninterface DuplicatePackageDrawerContentProps extends Omit<TextDrawerProps, 'text'> {\n duplicatePackages: Rule.PackageRelationDiffRuleStoreData[];\n cwd: string;\n textStyle?: React.CSSProperties;\n children: PackageRelationAlertProps['getPackageRelationContentComponent'];\n}\n\ninterface DuplicatePackageDrawerProps extends Omit<DuplicatePackageDrawerContentProps, 'children'> {\n moduleGraph: Pick<SDK.ModuleGraphData, 'dependencies' | 'modules'>;\n moduleCodeMap: SDK.ModuleCodeData;\n}\n\nconst DuplicatePackageDrawerContent: React.FC<DuplicatePackageDrawerContentProps> = ({\n duplicatePackages = [],\n cwd,\n children,\n ...props\n}) => {\n return (\n <TextDrawer\n {...props}\n buttonStyle={{ fontSize: 'inherit', ...props.buttonStyle }}\n buttonProps={{ type: 'text', ...props.buttonProps }}\n text={\n <Tooltip title=\"Click to show the details of duplicate packages\">\n <Space style={{ fontSize: 'inherit' }}>\n <Typography.Text strong style={{ fontSize: 'inherit', color: 'inherit', ...props.textStyle }}>\n {duplicatePackages.length}\n </Typography.Text>\n <ExceptionOutlined />\n </Space>\n </Tooltip>\n }\n drawerProps={{ title: 'Duplicate Packages Viewer', ...props.drawerProps }}\n >\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n {duplicatePackages.map((err, i) => {\n return (\n <Col span={24} key={i}>\n <PackageRelationAlert data={err} cwd={cwd} getPackageRelationContentComponent={children} />\n </Col>\n );\n })}\n </Row>\n </TextDrawer>\n );\n};\n\nexport const DuplicatePackageDrawer: React.FC<DuplicatePackageDrawerProps> = ({ moduleGraph, ...props }) => {\n return (\n <DuplicatePackageDrawerContent {...props}>\n {(res) => {\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetModuleCodeByModuleIds}\n body={{ moduleIds: moduleGraph.modules.map((mod) => mod.id) }}\n >\n {(moduleCodes) => (\n <PackageRelationReasons\n data={Alerts.getPackageRelationAlertDetails(\n moduleGraph.modules,\n moduleGraph.dependencies,\n props.cwd,\n res.package.dependencies,\n moduleCodes,\n )}\n cwd={props.cwd}\n />\n )}\n </ServerAPIProvider>\n );\n }}\n </DuplicatePackageDrawerContent>\n );\n};\n\nexport const DuplicatePackageDrawerWithServer: React.FC<Omit<DuplicatePackageDrawerContentProps, 'children'>> = (\n props,\n) => {\n return (\n <DuplicatePackageDrawerContent {...props}>\n {(res) => {\n return (\n <PackageRelationReasonsWithServer body={{ id: res.data.id, target: res.package.target }} cwd={props.cwd} />\n );\n }}\n </DuplicatePackageDrawerContent>\n );\n};\n"],"names":["DuplicatePackageDrawerContent","duplicatePackages","cwd","children","props","TextDrawer","Tooltip","Space","Typography","ExceptionOutlined","Row","Size","err","i","Col","PackageRelationAlert","DuplicatePackageDrawer","moduleGraph","res","ServerAPIProvider","SDK","mod","moduleCodes","PackageRelationReasons","Alerts","DuplicatePackageDrawerWithServer","PackageRelationReasonsWithServer"],"mappings":";;;;;;;;;;AA2BA,MAAMA,gCAA8E,CAAC,EACnFC,oBAAoB,EAAE,EACtBC,GAAG,EACHC,QAAQ,EACR,GAAGC,OACJ,GACQ,WAAP,GACE,IAACC,YAAUA;QACR,GAAGD,KAAK;QACT,aAAa;YAAE,UAAU;YAAW,GAAGA,MAAM,WAAW;QAAC;QACzD,aAAa;YAAE,MAAM;YAAQ,GAAGA,MAAM,WAAW;QAAC;QAClD,oBACE,IAACE,SAAOA;YAAC,OAAM;sBACb,mBAACC,OAAKA;gBAAC,OAAO;oBAAE,UAAU;gBAAU;;kCAClC,IAACC,WAAW,IAAI;wBAAC,QAAM;wBAAC,OAAO;4BAAE,UAAU;4BAAW,OAAO;4BAAW,GAAGJ,MAAM,SAAS;wBAAC;kCACxFH,kBAAkB,MAAM;;kCAE3B,IAACQ,mBAAiBA,CAAAA;;;;QAIxB,aAAa;YAAE,OAAO;YAA6B,GAAGL,MAAM,WAAW;QAAC;kBAExE,kBAACM,KAAGA;YAAC,QAAQ;gBAACC,KAAK,WAAW;gBAAEA,KAAK,WAAW;aAAC;sBAC9CV,kBAAkB,GAAG,CAAC,CAACW,KAAKC,IACpB,WAAP,GACE,IAACC,KAAGA;oBAAC,MAAM;8BACT,kBAACC,sBAAoBA;wBAAC,MAAMH;wBAAK,KAAKV;wBAAK,oCAAoCC;;mBAD7DU;;;AAUzB,MAAMG,yBAAgE,CAAC,EAAEC,WAAW,EAAE,GAAGb,OAAO,GAC9F,WAAP,GACE,IAACJ,+BAAAA;QAA+B,GAAGI,KAAK;kBACrC,CAACc,MACO,WAAP,GACE,IAACC,mBAAiBA;gBAChB,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,wBAAwB;gBAC/C,MAAM;oBAAE,WAAWH,YAAY,OAAO,CAAC,GAAG,CAAC,CAACI,MAAQA,IAAI,EAAE;gBAAE;0BAE3D,CAACC,cAAAA,WAAAA,GACA,IAACC,wBAAsBA;wBACrB,MAAMC,OAAO,8BAA8B,CACzCP,YAAY,OAAO,EACnBA,YAAY,YAAY,EACxBb,MAAM,GAAG,EACTc,IAAI,OAAO,CAAC,YAAY,EACxBI;wBAEF,KAAKlB,MAAM,GAAG;;;;AAUvB,MAAMqB,mCAAmG,CAC9GrB,QAEO,WAAP,GACE,IAACJ,+BAAAA;QAA+B,GAAGI,KAAK;kBACrC,CAACc,MACO,WAAP,GACE,IAACQ,kCAAgCA;gBAAC,MAAM;oBAAE,IAAIR,IAAI,IAAI,CAAC,EAAE;oBAAE,QAAQA,IAAI,OAAO,CAAC,MAAM;gBAAC;gBAAG,KAAKd,MAAM,GAAG"}
1
+ {"version":3,"file":"components/TextDrawer/duplicate.mjs","sources":["../../../src/components/TextDrawer/duplicate.tsx"],"sourcesContent":["import { Col, Row, Space, Tooltip, Typography } from 'antd';\nimport React from 'react';\nimport { Rule, SDK } from '@rsdoctor/types';\nimport { ExceptionOutlined } from '@ant-design/icons';\nimport { Alerts } from '@rsdoctor/utils/common';\nimport { Size } from '../../constants';\nimport { TextDrawer, TextDrawerProps } from './index';\nimport {\n PackageRelationAlert,\n PackageRelationReasons,\n PackageRelationReasonsWithServer,\n} from '../Alert/package-relation';\nimport { PackageRelationAlertProps } from '../Alert/types';\nimport { ServerAPIProvider } from '../Manifest';\n\ninterface DuplicatePackageDrawerContentProps extends Omit<TextDrawerProps, 'text'> {\n duplicatePackages: Rule.PackageRelationDiffRuleStoreData[];\n cwd: string;\n textStyle?: React.CSSProperties;\n children: PackageRelationAlertProps['getPackageRelationContentComponent'];\n}\n\ninterface DuplicatePackageDrawerProps extends Omit<DuplicatePackageDrawerContentProps, 'children'> {\n moduleGraph: Pick<SDK.ModuleGraphData, 'dependencies' | 'modules'>;\n moduleCodeMap: SDK.ModuleCodeData;\n}\n\nconst DuplicatePackageDrawerContent: React.FC<DuplicatePackageDrawerContentProps> = ({\n duplicatePackages = [],\n cwd,\n children,\n ...props\n}) => {\n return (\n <TextDrawer\n {...props}\n buttonStyle={{ fontSize: 'inherit', ...props.buttonStyle }}\n buttonProps={{ type: 'text', ...props.buttonProps }}\n text={\n <Tooltip title=\"Click to show the details of duplicate packages\">\n <Space style={{ fontSize: 'inherit' }}>\n <Typography.Text strong style={{ fontSize: 'inherit', color: 'inherit', ...props.textStyle }}>\n {duplicatePackages.length}\n </Typography.Text>\n <ExceptionOutlined />\n </Space>\n </Tooltip>\n }\n drawerProps={{ title: 'Duplicate Packages Viewer', ...props.drawerProps }}\n >\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n {duplicatePackages.map((err, i) => {\n return (\n <Col span={24} key={i}>\n <PackageRelationAlert data={err} cwd={cwd} getPackageRelationContentComponent={children} />\n </Col>\n );\n })}\n </Row>\n </TextDrawer>\n );\n};\n\nexport const DuplicatePackageDrawer: React.FC<DuplicatePackageDrawerProps> = ({ moduleGraph, ...props }) => {\n return (\n <DuplicatePackageDrawerContent {...props}>\n {(res) => {\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetModuleCodeByModuleIds}\n body={{ moduleIds: moduleGraph.modules.map((mod) => mod.id) }}\n >\n {(moduleCodes) => (\n <PackageRelationReasons\n data={Alerts.getPackageRelationAlertDetails(\n moduleGraph.modules,\n moduleGraph.dependencies,\n props.cwd,\n res.package.dependencies,\n moduleCodes,\n )}\n cwd={props.cwd}\n />\n )}\n </ServerAPIProvider>\n );\n }}\n </DuplicatePackageDrawerContent>\n );\n};\n\nexport const DuplicatePackageDrawerWithServer: React.FC<Omit<DuplicatePackageDrawerContentProps, 'children'>> = (\n props,\n) => {\n return (\n <DuplicatePackageDrawerContent {...props}>\n {(res) => {\n return (\n <PackageRelationReasonsWithServer body={{ id: res.data.id, target: res.package.target }} cwd={props.cwd} />\n );\n }}\n </DuplicatePackageDrawerContent>\n );\n};\n"],"names":["DuplicatePackageDrawerContent","duplicatePackages","cwd","children","props","TextDrawer","Tooltip","Space","Typography","ExceptionOutlined","Row","Size","err","i","Col","PackageRelationAlert","DuplicatePackageDrawer","moduleGraph","res","ServerAPIProvider","SDK","mod","moduleCodes","PackageRelationReasons","Alerts","DuplicatePackageDrawerWithServer","PackageRelationReasonsWithServer"],"mappings":";;;;;;;;;;AA2BA,MAAMA,gCAA8E,CAAC,EACnFC,oBAAoB,EAAE,EACtBC,GAAG,EACHC,QAAQ,EACR,GAAGC,OACJ,GACQ,WAAP,GACE,IAACC,YAAUA;QACR,GAAGD,KAAK;QACT,aAAa;YAAE,UAAU;YAAW,GAAGA,MAAM,WAAW;QAAC;QACzD,aAAa;YAAE,MAAM;YAAQ,GAAGA,MAAM,WAAW;QAAC;QAClD,oBACE,IAACE,SAAOA;YAAC,OAAM;sBACb,mBAACC,OAAKA;gBAAC,OAAO;oBAAE,UAAU;gBAAU;;kCAClC,IAACC,WAAW,IAAI;wBAAC,QAAM;wBAAC,OAAO;4BAAE,UAAU;4BAAW,OAAO;4BAAW,GAAGJ,MAAM,SAAS;wBAAC;kCACxFH,kBAAkB,MAAM;;kCAE3B,IAACQ,mBAAiBA,CAAAA;;;;QAIxB,aAAa;YAAE,OAAO;YAA6B,GAAGL,MAAM,WAAW;QAAC;kBAExE,kBAACM,KAAGA;YAAC,QAAQ;gBAACC,KAAK,WAAW;gBAAEA,KAAK,WAAW;aAAC;sBAC9CV,kBAAkB,GAAG,CAAC,CAACW,KAAKC,IACpB,WAAP,GACE,IAACC,KAAGA;oBAAC,MAAM;8BACT,kBAACC,sBAAoBA;wBAAC,MAAMH;wBAAK,KAAKV;wBAAK,oCAAoCC;;mBAD7DU;;;AAUzB,MAAMG,yBAAgE,CAAC,EAAEC,WAAW,EAAE,GAAGb,OAAO,GAC9F,WAAP,GACE,IAACJ,+BAAAA;QAA+B,GAAGI,KAAK;kBACrC,CAACc,MACO,WAAP,GACE,IAACC,mBAAiBA;gBAChB,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,wBAAwB;gBAC/C,MAAM;oBAAE,WAAWH,YAAY,OAAO,CAAC,GAAG,CAAC,CAACI,MAAQA,IAAI,EAAE;gBAAE;0BAE3D,CAACC,cAAAA,WAAAA,GACA,IAACC,wBAAsBA;wBACrB,MAAMC,OAAO,8BAA8B,CACzCP,YAAY,OAAO,EACnBA,YAAY,YAAY,EACxBb,MAAM,GAAG,EACTc,IAAI,OAAO,CAAC,YAAY,EACxBI;wBAEF,KAAKlB,MAAM,GAAG;;;;AAUvB,MAAMqB,mCAAmG,CAC9GrB,QAEO,WAAP,GACE,IAACJ,+BAAAA;QAA+B,GAAGI,KAAK;kBACrC,CAACc,MACO,WAAP,GACE,IAACQ,kCAAgCA;gBAAC,MAAM;oBAAE,IAAIR,IAAI,IAAI,CAAC,EAAE;oBAAE,QAAQA,IAAI,OAAO,CAAC,MAAM;gBAAC;gBAAG,KAAKd,MAAM,GAAG"}
@@ -9,4 +9,4 @@ export interface TextDrawerProps {
9
9
  containerProps?: HTMLAttributes<HTMLDivElement>;
10
10
  }
11
11
  export declare const TextDrawer: (props: PropsWithChildren<TextDrawerProps>) => JSX.Element;
12
- export * from './duplicate';
12
+ export * from './duplicate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"components/TextDrawer/index.mjs","sources":["webpack://@rsdoctor/components/./src/components/TextDrawer/index.tsx"],"sourcesContent":["import { CodeOutlined } from '@ant-design/icons';\nimport { Button, Drawer, ButtonProps, DrawerProps } from 'antd';\nimport React, {\n CSSProperties,\n HTMLAttributes,\n PropsWithChildren,\n useState,\n} from 'react';\n\nexport interface TextDrawerProps {\n text?: string | React.ReactNode;\n button?: React.ReactNode;\n buttonProps?: ButtonProps;\n buttonStyle?: CSSProperties;\n drawerProps?: DrawerProps;\n containerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nexport const TextDrawer = (\n props: PropsWithChildren<TextDrawerProps>,\n): JSX.Element => {\n const [visible, setVisible] = useState(false);\n\n return (\n // avoid propagation event affect collapse component\n <div onClick={(e) => e.stopPropagation()} {...props.containerProps}>\n {props.button ? (\n <div onClick={() => setVisible(!visible)}>{props.button}</div>\n ) : props.text ? (\n <Button\n type={'link'}\n {...props.buttonProps}\n onClick={() => setVisible(!visible)}\n style={{ padding: 0, ...props.buttonStyle }}\n >\n {props.text}\n </Button>\n ) : (\n <CodeOutlined\n style={{ fontSize: 14, padding: 0 }}\n onClick={() => setVisible(!visible)}\n />\n )}\n <Drawer\n maskClosable\n zIndex={999}\n width={'60%'}\n {...props.drawerProps}\n open={visible}\n onClose={() => setVisible(false)}\n destroyOnClose\n >\n {props.children}\n </Drawer>\n </div>\n );\n};\n\nexport * from './duplicate';\n"],"names":["TextDrawer","props","visible","setVisible","useState","e","Button","CodeOutlined","Drawer"],"mappings":";;;;;AAkBO,MAAMA,aAAa,CACxBC;IAEA,MAAM,CAACC,SAASC,WAAW,GAAGC,SAAS;IAEvC,O,cAEE,KAAC;QAAI,SAAS,CAACC,IAAMA,EAAE,eAAe;QAAK,GAAGJ,MAAM,cAAc;;YAC/DA,MAAM,MAAM,GAAG,WAAH,GACX,IAAC;gBAAI,SAAS,IAAME,WAAW,CAACD;0BAAWD,MAAM,MAAM;iBACrDA,MAAM,IAAI,GAAG,WAAH,GACZ,IAACK,QAAMA;gBACL,MAAM;gBACL,GAAGL,MAAM,WAAW;gBACrB,SAAS,IAAME,WAAW,CAACD;gBAC3B,OAAO;oBAAE,SAAS;oBAAG,GAAGD,MAAM,WAAW;gBAAC;0BAEzCA,MAAM,IAAI;+BAGb,IAACM,cAAYA;gBACX,OAAO;oBAAE,UAAU;oBAAI,SAAS;gBAAE;gBAClC,SAAS,IAAMJ,WAAW,CAACD;;0BAG/B,IAACM,QAAMA;gBACL,cAAY;gBACZ,QAAQ;gBACR,OAAO;gBACN,GAAGP,MAAM,WAAW;gBACrB,MAAMC;gBACN,SAAS,IAAMC,WAAW;gBAC1B,gBAAc;0BAEbF,MAAM,QAAQ;;;;AAIvB"}
1
+ {"version":3,"file":"components/TextDrawer/index.mjs","sources":["../../../src/components/TextDrawer/index.tsx"],"sourcesContent":["import { CodeOutlined } from '@ant-design/icons';\nimport { Button, Drawer, ButtonProps, DrawerProps } from 'antd';\nimport React, {\n CSSProperties,\n HTMLAttributes,\n PropsWithChildren,\n useState,\n} from 'react';\n\nexport interface TextDrawerProps {\n text?: string | React.ReactNode;\n button?: React.ReactNode;\n buttonProps?: ButtonProps;\n buttonStyle?: CSSProperties;\n drawerProps?: DrawerProps;\n containerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nexport const TextDrawer = (\n props: PropsWithChildren<TextDrawerProps>,\n): JSX.Element => {\n const [visible, setVisible] = useState(false);\n\n return (\n // avoid propagation event affect collapse component\n <div onClick={(e) => e.stopPropagation()} {...props.containerProps}>\n {props.button ? (\n <div onClick={() => setVisible(!visible)}>{props.button}</div>\n ) : props.text ? (\n <Button\n type={'link'}\n {...props.buttonProps}\n onClick={() => setVisible(!visible)}\n style={{ padding: 0, ...props.buttonStyle }}\n >\n {props.text}\n </Button>\n ) : (\n <CodeOutlined\n style={{ fontSize: 14, padding: 0 }}\n onClick={() => setVisible(!visible)}\n />\n )}\n <Drawer\n maskClosable\n zIndex={999}\n width={'60%'}\n {...props.drawerProps}\n open={visible}\n onClose={() => setVisible(false)}\n destroyOnClose\n >\n {props.children}\n </Drawer>\n </div>\n );\n};\n\nexport * from './duplicate';\n"],"names":["TextDrawer","props","visible","setVisible","useState","e","Button","CodeOutlined","Drawer"],"mappings":";;;;;AAkBO,MAAMA,aAAa,CACxBC;IAEA,MAAM,CAACC,SAASC,WAAW,GAAGC,SAAS;IAEvC,O,cAEE,KAAC;QAAI,SAAS,CAACC,IAAMA,EAAE,eAAe;QAAK,GAAGJ,MAAM,cAAc;;YAC/DA,MAAM,MAAM,GAAG,WAAH,GACX,IAAC;gBAAI,SAAS,IAAME,WAAW,CAACD;0BAAWD,MAAM,MAAM;iBACrDA,MAAM,IAAI,GAAG,WAAH,GACZ,IAACK,QAAMA;gBACL,MAAM;gBACL,GAAGL,MAAM,WAAW;gBACrB,SAAS,IAAME,WAAW,CAACD;gBAC3B,OAAO;oBAAE,SAAS;oBAAG,GAAGD,MAAM,WAAW;gBAAC;0BAEzCA,MAAM,IAAI;+BAGb,IAACM,cAAYA;gBACX,OAAO;oBAAE,UAAU;oBAAI,SAAS;gBAAE;gBAClC,SAAS,IAAMJ,WAAW,CAACD;;0BAG/B,IAACM,QAAMA;gBACL,cAAY;gBACZ,QAAQ;gBACR,OAAO;gBACN,GAAGP,MAAM,WAAW;gBACrB,MAAMC;gBACN,SAAS,IAAMC,WAAW;gBAC1B,gBAAc;0BAEbF,MAAM,QAAQ;;;;AAIvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/Title/index.mjs","sources":["webpack://@rsdoctor/components/./src/components/Title/index.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { Typography } from 'antd';\nimport { upperFirst as upf } from 'es-toolkit/compat';\n\ninterface TitleProps {\n /**\n * @default true\n */\n upperFirst?: boolean;\n /**\n * @default 16\n */\n fontSize?: number;\n text: string | React.ReactNode;\n hash?: string;\n}\n\nexport const Title: React.FC<PropsWithChildren<TitleProps>> = ({\n upperFirst = true,\n fontSize = 16,\n text,\n hash,\n}) => {\n const t = typeof text === 'string' ? (upperFirst ? upf(text) : text) : text;\n return (\n <Typography.Text style={{ fontSize }} strong>\n {hash ? (\n <a href={hash} id={hash.replace(/^#/, '')} style={{ color: 'inherit' }}>\n {t}\n </a>\n ) : (\n t\n )}\n </Typography.Text>\n );\n};\n"],"names":["Title","upperFirst","fontSize","text","hash","t","upf","Typography"],"mappings":";;;;AAiBO,MAAMA,QAAiD,CAAC,EAC7DC,aAAa,IAAI,EACjBC,WAAW,EAAE,EACbC,IAAI,EACJC,IAAI,EACL;IACC,MAAMC,IAAI,AAAgB,YAAhB,OAAOF,OAAqBF,aAAaK,kBAAIH,QAAQA,OAAQA;IACvE,OAAO,WAAP,GACE,IAACI,WAAW,IAAI;QAAC,OAAO;YAAEL;QAAS;QAAG,QAAM;kBACzCE,OAAO,WAAPA,GACC,IAAC;YAAE,MAAMA;YAAM,IAAIA,KAAK,OAAO,CAAC,MAAM;YAAK,OAAO;gBAAE,OAAO;YAAU;sBAClEC;aAGHA;;AAIR"}
1
+ {"version":3,"file":"components/Title/index.mjs","sources":["../../../src/components/Title/index.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { Typography } from 'antd';\nimport { upperFirst as upf } from 'es-toolkit/compat';\n\ninterface TitleProps {\n /**\n * @default true\n */\n upperFirst?: boolean;\n /**\n * @default 16\n */\n fontSize?: number;\n text: string | React.ReactNode;\n hash?: string;\n}\n\nexport const Title: React.FC<PropsWithChildren<TitleProps>> = ({\n upperFirst = true,\n fontSize = 16,\n text,\n hash,\n}) => {\n const t = typeof text === 'string' ? (upperFirst ? upf(text) : text) : text;\n return (\n <Typography.Text style={{ fontSize }} strong>\n {hash ? (\n <a href={hash} id={hash.replace(/^#/, '')} style={{ color: 'inherit' }}>\n {t}\n </a>\n ) : (\n t\n )}\n </Typography.Text>\n );\n};\n"],"names":["Title","upperFirst","fontSize","text","hash","t","upf","Typography"],"mappings":";;;;AAiBO,MAAMA,QAAiD,CAAC,EAC7DC,aAAa,IAAI,EACjBC,WAAW,EAAE,EACbC,IAAI,EACJC,IAAI,EACL;IACC,MAAMC,IAAI,AAAgB,YAAhB,OAAOF,OAAqBF,aAAaK,kBAAIH,QAAQA,OAAQA;IACvE,OAAO,WAAP,GACE,IAACI,WAAW,IAAI;QAAC,OAAO;YAAEL;QAAS;QAAG,QAAM;kBACzCE,OAAO,WAAPA,GACC,IAAC;YAAE,MAAMA;YAAM,IAAIA,KAAK,OAAO,CAAC,MAAM;YAAK,OAAO;gBAAE,OAAO;YAAU;sBAClEC;aAGHA;;AAIR"}
@@ -1,5 +1,5 @@
1
- import { CodeViewerProps } from './interface';
1
+ import { CodeViewerProps } from './interface.js';
2
2
  export declare function CodeViewer({ className, style, code, lang, filePath, defaultLine, ranges, isEmbed, headerVisible, isLightTheme, }: CodeViewerProps): import("react/jsx-runtime").JSX.Element;
3
- export type { CodeViewerProps } from './interface';
4
- export { useCodeDrawer } from './useCodeDrawer';
5
- export { defineMonacoOptions } from './utils';
3
+ export type { CodeViewerProps } from './interface.js';
4
+ export { useCodeDrawer } from './useCodeDrawer.js';
5
+ export { defineMonacoOptions } from './utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"components/base/CodeViewer/index.mjs","sources":["webpack://@rsdoctor/components/./src/components/base/CodeViewer/index.tsx"],"sourcesContent":["import { Editor, Monaco, OnMount } from '@monaco-editor/react';\nimport clsx from 'clsx';\nimport { editor } from 'monaco-editor';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CodeViewerProps } from './interface';\nimport {\n defineMonacoOptions,\n editorShowRange,\n getFileName,\n getFilePathFormat,\n} from './utils';\n\nimport { Checkbox } from 'antd';\nimport styles from './index.module.scss';\nimport { Lodash } from '@rsdoctor/utils/common';\n\nexport function CodeViewer({\n className,\n style,\n code = '',\n lang,\n filePath = '',\n defaultLine,\n ranges,\n isEmbed = false,\n headerVisible = true,\n isLightTheme = true,\n}: CodeViewerProps) {\n const editor = useRef<editor.IStandaloneCodeEditor>();\n const monaco = useRef<Monaco>();\n const language = useMemo(\n () => lang || getFilePathFormat(filePath) || 'plaintext',\n [lang, filePath],\n );\n const [isWordWrap, setIsWordWrap] = useState(true);\n const options = useMemo(\n () => defineMonacoOptions({ wordWrap: isWordWrap ? 'on' : 'off' }),\n [isWordWrap],\n );\n const onEditorMount = useCallback<OnMount>((editorInstance, monacoVal) => {\n editor.current = editorInstance;\n monaco.current = monacoVal;\n\n editorShowRange(editorInstance, monacoVal, ranges);\n if (Lodash.isNumber(defaultLine)) {\n setTimeout(() => {\n editorInstance.revealLine(defaultLine);\n });\n }\n }, []);\n\n const theme = isLightTheme ? 'vs-light' : 'vs-dark';\n\n useEffect(\n () => () => {\n editor.current?.setModel(null);\n },\n [],\n );\n\n return (\n <div\n className={clsx(\n 'monaco-component',\n 'code-viewer',\n styles['code-viewer'],\n isEmbed && styles['embed'],\n className,\n )}\n style={style}\n >\n {headerVisible && Boolean(filePath) && (\n <div className={styles['header']}>\n <div>{getFileName(filePath)}</div>\n <div style={{ flex: 1 }} />\n <div>\n <Checkbox\n className={styles['text']}\n title=\"side-by-side\"\n checked={isWordWrap}\n onChange={(evt) => {\n setIsWordWrap(evt.target.checked);\n }}\n >\n word-wrap\n </Checkbox>\n </div>\n </div>\n )}\n <div className={clsx(styles['content'], 'editor-wrap')}>\n <Editor\n theme={theme}\n language={language}\n value={code}\n options={options}\n onMount={onEditorMount}\n />\n </div>\n </div>\n );\n}\n\nexport type { CodeViewerProps } from './interface';\nexport { useCodeDrawer } from './useCodeDrawer';\nexport { defineMonacoOptions } from './utils';\n"],"names":["CodeViewer","className","style","code","lang","filePath","defaultLine","ranges","isEmbed","headerVisible","isLightTheme","editor","useRef","monaco","language","useMemo","getFilePathFormat","isWordWrap","setIsWordWrap","useState","options","defineMonacoOptions","onEditorMount","useCallback","editorInstance","monacoVal","editorShowRange","Lodash","setTimeout","theme","useEffect","clsx","styles","Boolean","getFileName","Checkbox","evt","Editor"],"mappings":";;;;;;;;;AAgBO,SAASA,WAAW,EACzBC,SAAS,EACTC,KAAK,EACLC,OAAO,EAAE,EACTC,IAAI,EACJC,WAAW,EAAE,EACbC,WAAW,EACXC,MAAM,EACNC,UAAU,KAAK,EACfC,gBAAgB,IAAI,EACpBC,eAAe,IAAI,EACH;IAChB,MAAMC,SAASC;IACf,MAAMC,SAASD;IACf,MAAME,WAAWC,QACf,IAAMX,QAAQY,kBAAkBX,aAAa,aAC7C;QAACD;QAAMC;KAAS;IAElB,MAAM,CAACY,YAAYC,cAAc,GAAGC,SAAS;IAC7C,MAAMC,UAAUL,QACd,IAAMM,oBAAoB;YAAE,UAAUJ,aAAa,OAAO;QAAM,IAChE;QAACA;KAAW;IAEd,MAAMK,gBAAgBC,YAAqB,CAACC,gBAAgBC;QAC1Dd,OAAO,OAAO,GAAGa;QACjBX,OAAO,OAAO,GAAGY;QAEjBC,gBAAgBF,gBAAgBC,WAAWlB;QAC3C,IAAIoB,OAAO,QAAQ,CAACrB,cAClBsB,WAAW;YACTJ,eAAe,UAAU,CAAClB;QAC5B;IAEJ,GAAG,EAAE;IAEL,MAAMuB,QAAQnB,eAAe,aAAa;IAE1CoB,UACE,IAAM;YACJnB,OAAO,OAAO,EAAE,SAAS;QAC3B,GACA,EAAE;IAGJ,OAAO,WAAP,GACE,KAAC;QACC,WAAWoB,KACT,oBACA,eACAC,YAAAA,CAAAA,cAAqB,EACrBxB,WAAWwB,aAAAA,KAAe,EAC1B/B;QAEF,OAAOC;;YAENO,iBAAiBwB,QAAQ5B,aAAa,WAAbA,GACxB,KAAC;gBAAI,WAAW2B,aAAAA,MAAgB;;kCAC9B,IAAC;kCAAKE,YAAY7B;;kCAClB,IAAC;wBAAI,OAAO;4BAAE,MAAM;wBAAE;;kCACtB,IAAC;kCACC,kBAAC8B,UAAQA;4BACP,WAAWH,aAAAA,IAAc;4BACzB,OAAM;4BACN,SAASf;4BACT,UAAU,CAACmB;gCACTlB,cAAckB,IAAI,MAAM,CAAC,OAAO;4BAClC;sCACD;;;;;0BAMP,IAAC;gBAAI,WAAWL,KAAKC,aAAAA,OAAiB,EAAE;0BACtC,kBAACK,QAAMA;oBACL,OAAOR;oBACP,UAAUf;oBACV,OAAOX;oBACP,SAASiB;oBACT,SAASE;;;;;AAKnB"}
1
+ {"version":3,"file":"components/base/CodeViewer/index.mjs","sources":["../../../../src/components/base/CodeViewer/index.tsx"],"sourcesContent":["import { Editor, Monaco, OnMount } from '@monaco-editor/react';\nimport clsx from 'clsx';\nimport { editor } from 'monaco-editor';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CodeViewerProps } from './interface';\nimport {\n defineMonacoOptions,\n editorShowRange,\n getFileName,\n getFilePathFormat,\n} from './utils';\n\nimport { Checkbox } from 'antd';\nimport styles from './index.module.scss';\nimport { Lodash } from '@rsdoctor/utils/common';\n\nexport function CodeViewer({\n className,\n style,\n code = '',\n lang,\n filePath = '',\n defaultLine,\n ranges,\n isEmbed = false,\n headerVisible = true,\n isLightTheme = true,\n}: CodeViewerProps) {\n const editor = useRef<editor.IStandaloneCodeEditor>();\n const monaco = useRef<Monaco>();\n const language = useMemo(\n () => lang || getFilePathFormat(filePath) || 'plaintext',\n [lang, filePath],\n );\n const [isWordWrap, setIsWordWrap] = useState(true);\n const options = useMemo(\n () => defineMonacoOptions({ wordWrap: isWordWrap ? 'on' : 'off' }),\n [isWordWrap],\n );\n const onEditorMount = useCallback<OnMount>((editorInstance, monacoVal) => {\n editor.current = editorInstance;\n monaco.current = monacoVal;\n\n editorShowRange(editorInstance, monacoVal, ranges);\n if (Lodash.isNumber(defaultLine)) {\n setTimeout(() => {\n editorInstance.revealLine(defaultLine);\n });\n }\n }, []);\n\n const theme = isLightTheme ? 'vs-light' : 'vs-dark';\n\n useEffect(\n () => () => {\n editor.current?.setModel(null);\n },\n [],\n );\n\n return (\n <div\n className={clsx(\n 'monaco-component',\n 'code-viewer',\n styles['code-viewer'],\n isEmbed && styles['embed'],\n className,\n )}\n style={style}\n >\n {headerVisible && Boolean(filePath) && (\n <div className={styles['header']}>\n <div>{getFileName(filePath)}</div>\n <div style={{ flex: 1 }} />\n <div>\n <Checkbox\n className={styles['text']}\n title=\"side-by-side\"\n checked={isWordWrap}\n onChange={(evt) => {\n setIsWordWrap(evt.target.checked);\n }}\n >\n word-wrap\n </Checkbox>\n </div>\n </div>\n )}\n <div className={clsx(styles['content'], 'editor-wrap')}>\n <Editor\n theme={theme}\n language={language}\n value={code}\n options={options}\n onMount={onEditorMount}\n />\n </div>\n </div>\n );\n}\n\nexport type { CodeViewerProps } from './interface';\nexport { useCodeDrawer } from './useCodeDrawer';\nexport { defineMonacoOptions } from './utils';\n"],"names":["CodeViewer","className","style","code","lang","filePath","defaultLine","ranges","isEmbed","headerVisible","isLightTheme","editor","useRef","monaco","language","useMemo","getFilePathFormat","isWordWrap","setIsWordWrap","useState","options","defineMonacoOptions","onEditorMount","useCallback","editorInstance","monacoVal","editorShowRange","Lodash","setTimeout","theme","useEffect","clsx","styles","Boolean","getFileName","Checkbox","evt","Editor"],"mappings":";;;;;;;;;AAgBO,SAASA,WAAW,EACzBC,SAAS,EACTC,KAAK,EACLC,OAAO,EAAE,EACTC,IAAI,EACJC,WAAW,EAAE,EACbC,WAAW,EACXC,MAAM,EACNC,UAAU,KAAK,EACfC,gBAAgB,IAAI,EACpBC,eAAe,IAAI,EACH;IAChB,MAAMC,SAASC;IACf,MAAMC,SAASD;IACf,MAAME,WAAWC,QACf,IAAMX,QAAQY,kBAAkBX,aAAa,aAC7C;QAACD;QAAMC;KAAS;IAElB,MAAM,CAACY,YAAYC,cAAc,GAAGC,SAAS;IAC7C,MAAMC,UAAUL,QACd,IAAMM,oBAAoB;YAAE,UAAUJ,aAAa,OAAO;QAAM,IAChE;QAACA;KAAW;IAEd,MAAMK,gBAAgBC,YAAqB,CAACC,gBAAgBC;QAC1Dd,OAAO,OAAO,GAAGa;QACjBX,OAAO,OAAO,GAAGY;QAEjBC,gBAAgBF,gBAAgBC,WAAWlB;QAC3C,IAAIoB,OAAO,QAAQ,CAACrB,cAClBsB,WAAW;YACTJ,eAAe,UAAU,CAAClB;QAC5B;IAEJ,GAAG,EAAE;IAEL,MAAMuB,QAAQnB,eAAe,aAAa;IAE1CoB,UACE,IAAM;YACJnB,OAAO,OAAO,EAAE,SAAS;QAC3B,GACA,EAAE;IAGJ,OAAO,WAAP,GACE,KAAC;QACC,WAAWoB,KACT,oBACA,eACAC,YAAAA,CAAAA,cAAqB,EACrBxB,WAAWwB,aAAAA,KAAe,EAC1B/B;QAEF,OAAOC;;YAENO,iBAAiBwB,QAAQ5B,aAAa,WAAbA,GACxB,KAAC;gBAAI,WAAW2B,aAAAA,MAAgB;;kCAC9B,IAAC;kCAAKE,YAAY7B;;kCAClB,IAAC;wBAAI,OAAO;4BAAE,MAAM;wBAAE;;kCACtB,IAAC;kCACC,kBAAC8B,UAAQA;4BACP,WAAWH,aAAAA,IAAc;4BACzB,OAAM;4BACN,SAASf;4BACT,UAAU,CAACmB;gCACTlB,cAAckB,IAAI,MAAM,CAAC,OAAO;4BAClC;sCACD;;;;;0BAMP,IAAC;gBAAI,WAAWL,KAAKC,aAAAA,OAAiB,EAAE;0BACtC,kBAACK,QAAMA;oBACL,OAAOR;oBACP,UAAUf;oBACV,OAAOX;oBACP,SAASiB;oBACT,SAASE;;;;;AAKnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"components/base/CodeViewer/index.module.mjs","sources":["webpack://@rsdoctor/components/./src/components/base/CodeViewer/index.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./index_module.css\"\nexport default {\"code-viewer\":\"code-viewer-H7hGrZ\",\"codeViewer\":\"code-viewer-H7hGrZ\",\"embed\":\"embed-tjljOS\",\"header\":\"header-qejtwX\",\"text\":\"text-T29bd1\",\"content\":\"content-EVSW1C\"};"],"names":[],"mappings":";AAEA,qBAAe;IAAC,eAAc;IAAqB,YAAa;IAAqB,OAAQ;IAAe,QAAS;IAAgB,MAAO;IAAc,SAAU;AAAgB"}
1
+ {"version":3,"file":"components/base/CodeViewer/index.module.mjs","sources":["../../../../src/components/base/CodeViewer/index.module.scss"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./index_module.css\"\nexport default {\"code-viewer\":\"code-viewer-H7hGrZ\",\"codeViewer\":\"code-viewer-H7hGrZ\",\"embed\":\"embed-tjljOS\",\"header\":\"header-qejtwX\",\"text\":\"text-T29bd1\",\"content\":\"content-EVSW1C\"};"],"names":[],"mappings":";AAEA,qBAAe;IAAC,eAAc;IAAqB,YAAa;IAAqB,OAAQ;IAAe,QAAS;IAAgB,MAAO;IAAc,SAAU;AAAgB"}
@@ -1,4 +1,4 @@
1
- import { CodeViewerProps } from './interface';
1
+ import { CodeViewerProps } from './interface.js';
2
2
  /**
3
3
  * Use drawer to display code content
4
4
  * @param emptyReason Text to display when there is no code content