@rsdoctor/components 1.5.3-alpha.0 → 1.5.4

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 (184) hide show
  1. package/dist/common/imgs/connection-point.mjs +1 -1
  2. package/dist/common/imgs/rsdoctor-navbar.mjs +1 -1
  3. package/dist/common/imgs/webpack.mjs +1 -1
  4. package/dist/common/svg/bundle-size.mjs +1 -1
  5. package/dist/common/svg/cursor.mjs +22 -0
  6. package/dist/common/svg/cursor.mjs.map +1 -0
  7. package/dist/common/svg/error.mjs +1 -1
  8. package/dist/common/svg/file-css.mjs +1 -1
  9. package/dist/common/svg/file-html.mjs +1 -1
  10. package/dist/common/svg/file-image.mjs +1 -1
  11. package/dist/common/svg/file-js.mjs +1 -1
  12. package/dist/common/svg/file-unknown.mjs +1 -1
  13. package/dist/common/svg/file.mjs +1 -1
  14. package/dist/common/svg/files/css.mjs +1 -1
  15. package/dist/common/svg/files/html.mjs +1 -1
  16. package/dist/common/svg/files/image.mjs +1 -1
  17. package/dist/common/svg/files/js.mjs +1 -1
  18. package/dist/common/svg/files/unkown-file.mjs +1 -1
  19. package/dist/common/svg/loader/input.mjs +1 -1
  20. package/dist/common/svg/loader/output.mjs +1 -1
  21. package/dist/common/svg/loader/step.mjs +1 -1
  22. package/dist/common/svg/navbar/bundle-size-active.mjs +1 -1
  23. package/dist/common/svg/navbar/bundle-size-inactive.mjs +1 -1
  24. package/dist/common/svg/navbar/compile-analysis-active.mjs +1 -1
  25. package/dist/common/svg/navbar/compile-analysis-inactive.mjs +1 -1
  26. package/dist/common/svg/navbar/overall-active.mjs +1 -1
  27. package/dist/common/svg/navbar/overall-inactive.mjs +1 -1
  28. package/dist/common/svg/output.mjs +1 -1
  29. package/dist/common/svg/source-size.mjs +1 -1
  30. package/dist/common/svg/source.mjs +1 -1
  31. package/dist/common/svg/total-size.mjs +1 -1
  32. package/dist/common/svg/trae.mjs +21 -0
  33. package/dist/common/svg/trae.mjs.map +1 -0
  34. package/dist/common/svg/version.mjs +1 -1
  35. package/dist/common/svg/vscode.mjs +158 -0
  36. package/dist/common/svg/vscode.mjs.map +1 -0
  37. package/dist/components/Alert/change.mjs.map +1 -1
  38. package/dist/components/Alert/ecma-version-check.mjs +1 -1
  39. package/dist/components/Alert/ecma-version-check.mjs.map +1 -1
  40. package/dist/components/Alert/ecma-version-check.module.mjs +1 -1
  41. package/dist/components/Alert/package-relation.module.mjs +1 -1
  42. package/dist/components/Alert/view.mjs.map +1 -1
  43. package/dist/components/Alerts/bundle-alert.mjs +37 -2
  44. package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
  45. package/dist/components/Alerts/bundle-alert.module.mjs +1 -1
  46. package/dist/components/Alerts/collapse-cjs-require.d.ts +6 -0
  47. package/dist/components/Alerts/collapse-cjs-require.mjs +142 -0
  48. package/dist/components/Alerts/collapse-cjs-require.mjs.map +1 -0
  49. package/dist/components/Alerts/collapse-cross-chunks.mjs +2 -23
  50. package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
  51. package/dist/components/Alerts/collapse-module-mixed-chunks.mjs +2 -23
  52. package/dist/components/Alerts/collapse-module-mixed-chunks.mjs.map +1 -1
  53. package/dist/components/Alerts/collapse-shared.d.ts +9 -0
  54. package/dist/components/Alerts/collapse-shared.mjs +90 -0
  55. package/dist/components/Alerts/collapse-shared.mjs.map +1 -0
  56. package/dist/components/Alerts/collapse-side-effects-only-imports.d.ts +6 -0
  57. package/dist/components/Alerts/collapse-side-effects-only-imports.mjs +131 -0
  58. package/dist/components/Alerts/collapse-side-effects-only-imports.mjs.map +1 -0
  59. package/dist/components/Alerts/collapse.mjs +2 -23
  60. package/dist/components/Alerts/collapse.mjs.map +1 -1
  61. package/dist/components/Alerts/collapse.module.mjs +1 -1
  62. package/dist/components/Alerts/list.module.mjs +1 -1
  63. package/dist/components/Alerts/overlay.mjs.map +1 -1
  64. package/dist/components/Alerts/overlay.module.mjs +1 -1
  65. package/dist/components/Card/diff.mjs.map +1 -1
  66. package/dist/components/Card/index.mjs +1 -1
  67. package/dist/components/Card/size.mjs +2 -2
  68. package/dist/components/Card/size.mjs.map +1 -1
  69. package/dist/components/Card/size.module.mjs +1 -1
  70. package/dist/components/Charts/TimelineCharts/index.mjs +1 -1
  71. package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
  72. package/dist/components/Charts/TreeMap.mjs +1 -1
  73. package/dist/components/Charts/TreeMap.mjs.map +1 -1
  74. package/dist/components/Charts/constants.mjs +1 -1
  75. package/dist/components/Charts/loader.mjs +2 -2
  76. package/dist/components/Charts/loader.mjs.map +1 -1
  77. package/dist/components/Charts/treemap.module.mjs +1 -1
  78. package/dist/components/Configuration/builder.d.ts +1 -1
  79. package/dist/components/Configuration/builder.module.mjs +1 -1
  80. package/dist/components/FileTree/css.mjs +1 -1
  81. package/dist/components/FileTree/html.mjs +1 -1
  82. package/dist/components/FileTree/image.mjs +1 -1
  83. package/dist/components/FileTree/index.mjs +1 -1
  84. package/dist/components/FileTree/index.mjs.map +1 -1
  85. package/dist/components/FileTree/js.mjs +1 -1
  86. package/dist/components/FileTree/unkown-file.mjs +1 -1
  87. package/dist/components/Keyword/style.module.mjs +1 -1
  88. package/dist/components/Layout/bundle-size-icon.mjs +1 -1
  89. package/dist/components/Layout/compile-icon.mjs +1 -1
  90. package/dist/components/Layout/index.mjs.map +1 -1
  91. package/dist/components/Layout/overall-icon.mjs +1 -1
  92. package/dist/components/Layout/project-info-context.mjs.map +1 -1
  93. package/dist/components/Loader/Analysis/index.d.ts +1 -1
  94. package/dist/components/Loader/Analysis/input.mjs +1 -1
  95. package/dist/components/Loader/Analysis/output.mjs +1 -1
  96. package/dist/components/Loader/Analysis/style.module.mjs +1 -1
  97. package/dist/components/Loader/executions.mjs.map +1 -1
  98. package/dist/components/Loader/step.mjs +1 -1
  99. package/dist/components/Manifest/api.mjs.map +1 -1
  100. package/dist/components/Opener/code.mjs +1 -1
  101. package/dist/components/Opener/code.mjs.map +1 -1
  102. package/dist/components/Opener/{vscode.d.ts → ide.d.ts} +2 -0
  103. package/dist/components/Opener/ide.mjs +62 -0
  104. package/dist/components/Opener/ide.mjs.map +1 -0
  105. package/dist/components/Opener/index.d.ts +1 -1
  106. package/dist/components/Opener/index.mjs +1 -1
  107. package/dist/components/Overall/DataSummary.module.mjs +1 -1
  108. package/dist/components/Overall/bundle.mjs +1 -1
  109. package/dist/components/Overall/bundle.mjs.map +1 -1
  110. package/dist/components/Overall/bundle.module.mjs +1 -1
  111. package/dist/components/Overall/card.module.mjs +1 -1
  112. package/dist/components/Overall/compile.mjs.map +1 -1
  113. package/dist/components/Overall/compile.module.mjs +1 -1
  114. package/dist/components/Overall/help-center.module.mjs +1 -1
  115. package/dist/components/Overall/list.module.mjs +1 -1
  116. package/dist/components/Overall/overview.mjs +2 -1
  117. package/dist/components/Overall/overview.module.mjs +1 -1
  118. package/dist/components/Overall/project.module.mjs +1 -1
  119. package/dist/components/Resolver/analysis.mjs +2 -2
  120. package/dist/components/Resolver/analysis.mjs.map +1 -1
  121. package/dist/components/Select/index.mjs.map +1 -1
  122. package/dist/components/Status/failed.mjs.map +1 -1
  123. package/dist/components/TextDrawer/duplicate.mjs.map +1 -1
  124. package/dist/components/TextDrawer/index.mjs +1 -1
  125. package/dist/components/base/CodeViewer/index.d.ts +1 -1
  126. package/dist/components/base/CodeViewer/index.mjs +11 -4
  127. package/dist/components/base/CodeViewer/index.mjs.map +1 -1
  128. package/dist/components/base/CodeViewer/index.module.mjs +1 -1
  129. package/dist/components/base/CodeViewer/interface.d.ts +5 -0
  130. package/dist/components/base/DiffViewer/index.mjs +2 -2
  131. package/dist/components/base/DiffViewer/index.mjs.map +1 -1
  132. package/dist/components/base/DiffViewer/index.module.mjs +1 -1
  133. package/dist/components/index.mjs +1 -2
  134. package/dist/config.mjs.map +1 -1
  135. package/dist/constants.mjs +1 -1
  136. package/dist/pages/BundleSize/components/asset.mjs +2 -2
  137. package/dist/pages/BundleSize/components/asset.mjs.map +1 -1
  138. package/dist/pages/BundleSize/components/card.module.mjs +1 -1
  139. package/dist/pages/BundleSize/components/cards.mjs +2 -2
  140. package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
  141. package/dist/pages/BundleSize/components/index.mjs +1 -1
  142. package/dist/pages/BundleSize/components/index.mjs.map +1 -1
  143. package/dist/pages/BundleSize/components/index.module.mjs +1 -1
  144. package/dist/pages/BundleSize/components/search-modal.mjs +1 -1
  145. package/dist/pages/BundleSize/components/search-modal.mjs.map +1 -1
  146. package/dist/pages/BundleSize/config.mjs.map +1 -1
  147. package/dist/pages/BundleSize/constants.mjs +1 -1
  148. package/dist/pages/BundleSize/index.mjs +1 -1
  149. package/dist/pages/ModuleAnalyze/constants.mjs +1 -1
  150. package/dist/pages/ModuleAnalyze/dependency.mjs +1 -1
  151. package/dist/pages/ModuleAnalyze/fileTree.d.ts +2 -0
  152. package/dist/pages/ModuleAnalyze/fileTree.mjs +168 -33
  153. package/dist/pages/ModuleAnalyze/fileTree.mjs.map +1 -1
  154. package/dist/pages/ModuleAnalyze/index.mjs +87 -76
  155. package/dist/pages/ModuleAnalyze/index.mjs.map +1 -1
  156. package/dist/pages/ModuleResolve/index.mjs +1 -1
  157. package/dist/pages/Overall/index.mjs +1 -1
  158. package/dist/pages/Overall/index.module.mjs +1 -1
  159. package/dist/pages/Resources/BundleDiff/DiffContainer/assets.mjs.map +1 -1
  160. package/dist/pages/Resources/BundleDiff/DiffContainer/changes.mjs.map +1 -1
  161. package/dist/pages/Resources/BundleDiff/DiffContainer/modules.mjs.map +1 -1
  162. package/dist/pages/Resources/BundleDiff/DiffContainer/packages.mjs.map +1 -1
  163. package/dist/pages/Resources/BundleDiff/constants.mjs.map +1 -1
  164. package/dist/pages/Resources/BundleDiff/index.mjs +2 -2
  165. package/dist/pages/Resources/RuleIndex/index.mjs +1 -1
  166. package/dist/pages/TreeShaking/index.mjs +1 -1
  167. package/dist/pages/TreeShaking/open-tag.mjs +1 -1
  168. package/dist/pages/TreeShaking/table.mjs.map +1 -1
  169. package/dist/pages/Uploader/index.mjs +1 -1
  170. package/dist/pages/WebpackLoaders/Analysis/index.mjs +2 -2
  171. package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
  172. package/dist/pages/WebpackLoaders/Overall/index.mjs +1 -1
  173. package/dist/pages/WebpackPlugins/index.mjs +1 -1
  174. package/dist/pages/index.mjs +1 -1
  175. package/dist/utils/i18n/cn.mjs +1 -1
  176. package/dist/utils/i18n/en.mjs +1 -1
  177. package/dist/utils/i18n/index.mjs +1 -1
  178. package/dist/utils/loader.mjs +1 -1
  179. package/dist/utils/loader.mjs.map +1 -1
  180. package/dist/utils/time.mjs +1 -1
  181. package/dist/utils/time.mjs.map +1 -1
  182. package/package.json +10 -10
  183. package/dist/components/Opener/vscode.mjs +0 -33
  184. package/dist/components/Opener/vscode.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"components/Alert/view.mjs","sources":["../../../src/components/Alert/view.tsx"],"sourcesContent":["import { InfoCircleOutlined } from '@ant-design/icons';\nimport { Alert, Button, Divider, Space, Typography } from 'antd';\nimport React from 'react';\nimport { Lodash } from '@rsdoctor/utils/common';\nimport { useRuleIndexNavigate } from '../../utils';\nimport { CodeViewer } from '../base';\nimport { CodeOpener } from '../Opener';\nimport { TextDrawer } from '../TextDrawer';\nimport { Title } from '../Title';\nimport { CodeViewAlertProps } from './types';\n\nexport const CodeViewDrawerContent: React.FC<CodeViewAlertProps> = ({\n data,\n cwd,\n}) => {\n const { file } = data;\n const { path, ranges } = file;\n const line = ranges?.[0].start.line;\n\n return (\n <Space direction=\"vertical\" className=\"alert-space\">\n <Title text=\"Code Viewer\" />\n <CodeOpener\n cwd={cwd}\n url={path}\n loc={Lodash.isNumber(line) ? String(line) : undefined}\n code\n disabled\n />\n <CodeViewer\n filePath={file.path}\n code={file.content}\n ranges={ranges}\n defaultLine={line}\n />\n </Space>\n );\n};\n\n///REVIEW - It's still useful? can't find usage\nexport const CodeViewAlert: React.FC<CodeViewAlertProps> = ({ data, cwd }) => {\n const { title, description = '', level, code, file } = data;\n const navigate = useRuleIndexNavigate(code, data.link);\n const startLine = file.ranges?.[0].start.line;\n\n const Description = (\n <Space direction=\"vertical\">\n <Typography.Text>{description}</Typography.Text>\n <Space>\n <Typography.Text>File:</Typography.Text>\n <Typography.Text strong code>\n {file.path}\n </Typography.Text>\n {Lodash.isNumber(startLine) ? (\n <>\n <Typography.Text>in line</Typography.Text>\n <Typography.Text strong code>\n {startLine}\n </Typography.Text>\n </>\n ) : (\n ''\n )}\n </Space>\n </Space>\n );\n\n return (\n <Alert\n showIcon\n message={\n <Space>\n <Typography.Text\n code\n strong\n onClick={navigate}\n style={{ cursor: 'pointer' }}\n >\n <a>{code}</a>\n </Typography.Text>\n <Typography.Text strong>{title}</Typography.Text>\n </Space>\n }\n description={Description}\n type={level === 'warn' ? 'info' : level}\n action={\n <Space>\n <TextDrawer text={'Show Source Code'} buttonProps={{ size: 'small' }}>\n <CodeViewDrawerContent data={data} cwd={cwd} />\n </TextDrawer>\n <>\n <Divider type=\"vertical\" />\n <Button\n type=\"link\"\n onClick={navigate}\n size=\"small\"\n icon={<InfoCircleOutlined />}\n />\n </>\n </Space>\n }\n />\n );\n};\n"],"names":["CodeViewDrawerContent","data","cwd","file","path","ranges","line","Space","Title","CodeOpener","Lodash","String","undefined","CodeViewer","CodeViewAlert","title","description","level","code","navigate","useRuleIndexNavigate","startLine","Description","Typography","Alert","TextDrawer","Divider","Button","InfoCircleOutlined"],"mappings":";;;;;;;;;;AAWO,MAAMA,wBAAsD,CAAC,EAClEC,IAAI,EACJC,GAAG,EACJ;IACC,MAAM,EAAEC,IAAI,EAAE,GAAGF;IACjB,MAAM,EAAEG,IAAI,EAAEC,MAAM,EAAE,GAAGF;IACzB,MAAMG,OAAOD,QAAQ,CAAC,EAAE,CAAC,MAAM;IAE/B,OAAO,WAAP,GACE,KAACE,OAAKA;QAAC,WAAU;QAAW,WAAU;;0BACpC,IAACC,OAAKA;gBAAC,MAAK;;0BACZ,IAACC,YAAUA;gBACT,KAAKP;gBACL,KAAKE;gBACL,KAAKM,OAAO,QAAQ,CAACJ,QAAQK,OAAOL,QAAQM;gBAC5C,MAAI;gBACJ,UAAQ;;0BAEV,IAACC,YAAUA;gBACT,UAAUV,KAAK,IAAI;gBACnB,MAAMA,KAAK,OAAO;gBAClB,QAAQE;gBACR,aAAaC;;;;AAIrB;AAGO,MAAMQ,gBAA8C,CAAC,EAAEb,IAAI,EAAEC,GAAG,EAAE;IACvE,MAAM,EAAEa,KAAK,EAAEC,cAAc,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAEf,IAAI,EAAE,GAAGF;IACvD,MAAMkB,WAAWC,qBAAqBF,MAAMjB,KAAK,IAAI;IACrD,MAAMoB,YAAYlB,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM;IAEzC,MAAMmB,cAAc,WAAdA,GACJ,KAACf,OAAKA;QAAC,WAAU;;0BACf,IAACgB,WAAW,IAAI;0BAAEP;;0BAClB,KAACT,OAAKA;;kCACJ,IAACgB,WAAW,IAAI;kCAAC;;kCACjB,IAACA,WAAW,IAAI;wBAAC,QAAM;wBAAC,MAAI;kCACzBpB,KAAK,IAAI;;oBAEXO,OAAO,QAAQ,CAACW,aAAa,WAAbA,GACf;;0CACE,IAACE,WAAW,IAAI;0CAAC;;0CACjB,IAACA,WAAW,IAAI;gCAAC,QAAM;gCAAC,MAAI;0CACzBF;;;yBAIL;;;;;IAMR,OAAO,WAAP,GACE,IAACG,OAAKA;QACJ,UAAQ;QACR,uBACE,KAACjB,OAAKA;;8BACJ,IAACgB,WAAW,IAAI;oBACd,MAAI;oBACJ,QAAM;oBACN,SAASJ;oBACT,OAAO;wBAAE,QAAQ;oBAAU;8BAE3B,kBAAC;kCAAGD;;;8BAEN,IAACK,WAAW,IAAI;oBAAC,QAAM;8BAAER;;;;QAG7B,aAAaO;QACb,MAAML,AAAU,WAAVA,QAAmB,SAASA;QAClC,sBACE,KAACV,OAAKA;;8BACJ,IAACkB,YAAUA;oBAAC,MAAM;oBAAoB,aAAa;wBAAE,MAAM;oBAAQ;8BACjE,kBAACzB,uBAAAA;wBAAsB,MAAMC;wBAAM,KAAKC;;;8BAE1C;;sCACE,IAACwB,SAAOA;4BAAC,MAAK;;sCACd,IAACC,QAAMA;4BACL,MAAK;4BACL,SAASR;4BACT,MAAK;4BACL,oBAAM,IAACS,oBAAkBA,CAAAA;;;;;;;AAOvC"}
1
+ {"version":3,"file":"components/Alert/view.mjs","sources":["../../../src/components/Alert/view.tsx"],"sourcesContent":["import { InfoCircleOutlined } from '@ant-design/icons';\nimport { Alert, Button, Divider, Space, Typography } from 'antd';\nimport React from 'react';\nimport { Lodash } from '@rsdoctor/utils/common';\nimport { useRuleIndexNavigate } from '../../utils';\nimport { CodeViewer } from '../base';\nimport { CodeOpener } from '../Opener';\nimport { TextDrawer } from '../TextDrawer';\nimport { Title } from '../Title';\nimport { CodeViewAlertProps } from './types';\n\nexport const CodeViewDrawerContent: React.FC<CodeViewAlertProps> = ({\n data,\n cwd,\n}) => {\n const { file } = data;\n const { path, ranges } = file;\n const line = ranges?.[0].start.line;\n\n return (\n <Space direction=\"vertical\" className=\"alert-space\">\n <Title text=\"Code Viewer\" />\n <CodeOpener\n cwd={cwd}\n url={path}\n loc={Lodash.isNumber(line) ? String(line) : undefined}\n code\n disabled\n />\n <CodeViewer\n filePath={file.path}\n code={file.content}\n ranges={ranges}\n defaultLine={line}\n />\n </Space>\n );\n};\n\n///REVIEW - It's still useful? can't find usage\nexport const CodeViewAlert: React.FC<CodeViewAlertProps> = ({ data, cwd }) => {\n const { title, description = '', level, code, file } = data;\n const navigate = useRuleIndexNavigate(code, data.link);\n const startLine = file.ranges?.[0].start.line;\n\n const Description = (\n <Space direction=\"vertical\">\n <Typography.Text>{description}</Typography.Text>\n <Space>\n <Typography.Text>File:</Typography.Text>\n <Typography.Text strong code>\n {file.path}\n </Typography.Text>\n {Lodash.isNumber(startLine) ? (\n <>\n <Typography.Text>in line</Typography.Text>\n <Typography.Text strong code>\n {startLine}\n </Typography.Text>\n </>\n ) : (\n ''\n )}\n </Space>\n </Space>\n );\n\n return (\n <Alert\n showIcon\n message={\n <Space>\n <Typography.Text\n code\n strong\n onClick={navigate}\n style={{ cursor: 'pointer' }}\n >\n <a>{code}</a>\n </Typography.Text>\n <Typography.Text strong>{title}</Typography.Text>\n </Space>\n }\n description={Description}\n type={level === 'warn' ? 'info' : level}\n action={\n <Space>\n <TextDrawer text={'Show Source Code'} buttonProps={{ size: 'small' }}>\n <CodeViewDrawerContent data={data} cwd={cwd} />\n </TextDrawer>\n <>\n <Divider type=\"vertical\" />\n <Button\n type=\"link\"\n onClick={navigate}\n size=\"small\"\n icon={<InfoCircleOutlined />}\n />\n </>\n </Space>\n }\n />\n );\n};\n"],"names":["CodeViewDrawerContent","data","cwd","file","path","ranges","line","Space","Title","CodeOpener","Lodash","String","undefined","CodeViewer","CodeViewAlert","title","description","level","code","navigate","useRuleIndexNavigate","startLine","Description","Typography","Alert","TextDrawer","Divider","Button","InfoCircleOutlined"],"mappings":";;;;;;;;;;AAWO,MAAMA,wBAAsD,CAAC,EAClEC,IAAI,EACJC,GAAG,EACJ;IACC,MAAM,EAAEC,IAAI,EAAE,GAAGF;IACjB,MAAM,EAAEG,IAAI,EAAEC,MAAM,EAAE,GAAGF;IACzB,MAAMG,OAAOD,QAAQ,CAAC,EAAE,CAAC,MAAM;IAE/B,OAAO,WAAP,GACE,KAACE,OAAKA;QAAC,WAAU;QAAW,WAAU;;0BACpC,IAACC,OAAKA;gBAAC,MAAK;;0BACZ,IAACC,YAAUA;gBACT,KAAKP;gBACL,KAAKE;gBACL,KAAKM,OAAO,QAAQ,CAACJ,QAAQK,OAAOL,QAAQM;gBAC5C,MAAI;gBACJ,UAAQ;;0BAEV,IAACC,YAAUA;gBACT,UAAUV,KAAK,IAAI;gBACnB,MAAMA,KAAK,OAAO;gBAClB,QAAQE;gBACR,aAAaC;;;;AAIrB;AAGO,MAAMQ,gBAA8C,CAAC,EAAEb,IAAI,EAAEC,GAAG,EAAE;IACvE,MAAM,EAAEa,KAAK,EAAEC,cAAc,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAEf,IAAI,EAAE,GAAGF;IACvD,MAAMkB,WAAWC,qBAAqBF,MAAMjB,KAAK,IAAI;IACrD,MAAMoB,YAAYlB,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM;IAEzC,MAAMmB,cAAc,WAAdA,GACJ,KAACf,OAAKA;QAAC,WAAU;;0BACf,IAACgB,WAAW,IAAI;0BAAEP;;0BAClB,KAACT,OAAKA;;kCACJ,IAACgB,WAAW,IAAI;kCAAC;;kCACjB,IAACA,WAAW,IAAI;wBAAC,QAAM;wBAAC,MAAI;kCACzBpB,KAAK,IAAI;;oBAEXO,OAAO,QAAQ,CAACW,aAAa,WAAbA,GACf;;0CACE,IAACE,WAAW,IAAI;0CAAC;;0CACjB,IAACA,WAAW,IAAI;gCAAC,QAAM;gCAAC,MAAI;0CACzBF;;;yBAIL;;;;;IAMR,OAAO,WAAP,GACE,IAACG,OAAKA;QACJ,UAAQ;QACR,uBACE,KAACjB,OAAKA;;8BACJ,IAACgB,WAAW,IAAI;oBACd,MAAI;oBACJ,QAAM;oBACN,SAASJ;oBACT,OAAO;wBAAE,QAAQ;oBAAU;8BAE3B,kBAAC;kCAAGD;;;8BAEN,IAACK,WAAW,IAAI;oBAAC,QAAM;8BAAER;;;;QAG7B,aAAaO;QACb,MAAML,AAAU,WAAVA,QAAmB,SAASA;QAClC,sBACE,KAACV,OAAKA;;8BACJ,IAACkB,YAAUA;oBAAC,MAAM;oBAAoB,aAAa;wBAAE,MAAM;oBAAQ;8BACjE,kBAACzB,uBAAqBA;wBAAC,MAAMC;wBAAM,KAAKC;;;8BAE1C;;sCACE,IAACwB,SAAOA;4BAAC,MAAK;;sCACd,IAACC,QAAMA;4BACL,MAAK;4BACL,SAASR;4BACT,MAAK;4BACL,oBAAM,IAACS,oBAAkBA,CAAAA;;;;;;;AAOvC"}
@@ -9,8 +9,20 @@ import bundle_alert_module from "./bundle-alert.module.mjs";
9
9
  import { useState } from "react";
10
10
  import { CrossChunksAlertCollapse } from "./collapse-cross-chunks.mjs";
11
11
  import { ModuleMixedChunksAlertCollapse } from "./collapse-module-mixed-chunks.mjs";
12
+ import { SideEffectsOnlyImportsAlertCollapse } from "./collapse-side-effects-only-imports.mjs";
13
+ import { CjsRequireAlertCollapse } from "./collapse-cjs-require.mjs";
12
14
  const BundleAlert = ({ title, dataSource, extraData })=>{
13
- const [activeKey, setActiveKey] = useState('E1001');
15
+ const firstKeyWithData = [
16
+ 'E1001',
17
+ 'E1002',
18
+ 'E1003',
19
+ 'E1004',
20
+ 'E1005',
21
+ 'E1006',
22
+ 'E1007',
23
+ 'E1008'
24
+ ].find((code)=>dataSource.some((d)=>d.code === code)) ?? 'E1001';
25
+ const [activeKey, setActiveKey] = useState(firstKeyWithData);
14
26
  const tabData = [
15
27
  {
16
28
  key: 'E1001',
@@ -41,12 +53,23 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
41
53
  key: 'E1006',
42
54
  label: 'Module Mixed Chunks',
43
55
  data: []
56
+ },
57
+ {
58
+ key: 'E1007',
59
+ label: 'Tree Shaking Side Effects Only',
60
+ data: []
61
+ },
62
+ {
63
+ key: 'E1008',
64
+ label: 'CJS Require Cannot Tree-Shake',
65
+ data: []
44
66
  }
45
67
  ];
46
68
  dataSource.forEach((data)=>{
47
69
  const target = tabData.find((td)=>td.key === data.code)?.data;
48
70
  target?.push(data);
49
71
  });
72
+ tabData.sort((a, b)=>(b.data.length > 0 ? 1 : 0) - (a.data.length > 0 ? 1 : 0));
50
73
  const tabItems = tabData.map((td)=>{
51
74
  const tagStyle = activeKey === td.key ? {
52
75
  border: '1px solid #91D5FF',
@@ -126,6 +149,18 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
126
149
  extraData: extraData
127
150
  });
128
151
  break;
152
+ case 'E1007':
153
+ children = /*#__PURE__*/ jsx(SideEffectsOnlyImportsAlertCollapse, {
154
+ data: td.data,
155
+ extraData: extraData
156
+ });
157
+ break;
158
+ case 'E1008':
159
+ children = /*#__PURE__*/ jsx(CjsRequireAlertCollapse, {
160
+ data: td.data,
161
+ extraData: extraData
162
+ });
163
+ break;
129
164
  default:
130
165
  children = null;
131
166
  break;
@@ -177,7 +212,7 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
177
212
  onChange: setActiveKey,
178
213
  tabBarGutter: 10,
179
214
  type: "card",
180
- defaultActiveKey: "E1001",
215
+ defaultActiveKey: tabData[0]?.key ?? 'E1001',
181
216
  items: tabItems
182
217
  }) : /*#__PURE__*/ jsx("div", {
183
218
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"components/Alerts/bundle-alert.mjs","sources":["../../../src/components/Alerts/bundle-alert.tsx"],"sourcesContent":["import { Tabs, Empty, Tag } from 'antd';\n\nimport { Card } from '../Card';\nimport { ECMAVersionCheck } from '../Alert/ecma-version-check';\nimport { Overview } from '../Overall/overview';\nimport { AlertCollapse } from './collapse';\nimport { CommonList } from './list';\nimport { ViewMode } from '../../constants';\n\nimport { AlertProps } from '../Alert/types';\n\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module.scss';\nimport { CSSProperties, useState } from 'react';\nimport { CrossChunksAlertCollapse } from './collapse-cross-chunks';\nimport { ModuleMixedChunksAlertCollapse } from './collapse-module-mixed-chunks';\n\ninterface BundleAlertProps {\n title: string;\n cwd: string;\n dataSource: Rule.RuleStoreDataItem[];\n extraData: Omit<AlertProps, 'data'>;\n viewMode: ViewMode;\n setViewMode(mode: ViewMode): void;\n extraCom?: JSX.Element | undefined;\n}\n\nexport const BundleAlert: React.FC<BundleAlertProps> = ({\n title,\n dataSource,\n extraData,\n}) => {\n const [activeKey, setActiveKey] = useState('E1001');\n const tabData: Array<{\n key: string;\n label: string;\n data: Array<Rule.RuleStoreDataItem>;\n }> = [\n {\n key: 'E1001',\n label: 'Duplicate Packages',\n data: [],\n },\n {\n key: 'E1002',\n label: 'Cross Chunks Package',\n data: [],\n },\n {\n key: 'E1003',\n label: 'Loader Performance Optimization',\n data: [],\n },\n {\n key: 'E1004',\n label: 'ECMA Version Check',\n data: [],\n },\n {\n key: 'E1005',\n label: 'Default Import Check',\n data: [],\n },\n {\n key: 'E1006',\n label: 'Module Mixed Chunks',\n data: [],\n },\n ];\n\n dataSource.forEach((data) => {\n const target = tabData.find((td) => td.key === data.code)?.data;\n target?.push(data);\n });\n\n const tabItems = tabData.map((td) => {\n const tagStyle =\n activeKey === td.key\n ? ({\n border: '1px solid #91D5FF',\n backgroundColor: '#E6F7FF',\n } as CSSProperties)\n : {};\n\n const tagTextStyle =\n activeKey === td.key\n ? {\n color: '#1890FF',\n }\n : {};\n\n const LabelComponent = () => (\n <Overview\n style={{\n backgroundColor: 'transparent',\n paddingLeft: 0,\n paddingRight: 0,\n width: '100%',\n }}\n title={<span className={styles.labelTitle}>{td.label}</span>}\n description={\n <div className={styles.labelDescription}>\n <span>{td.data.length}</span>\n <Tag\n style={{ fontFamily: 'Menlo', borderRadius: '2px', ...tagStyle }}\n >\n <span style={{ ...tagTextStyle }}>{td.key}</span>\n </Tag>\n </div>\n }\n />\n );\n\n let children, description;\n switch (td.key) {\n case 'E1001':\n children = <AlertCollapse data={td.data} extraData={extraData} />;\n break;\n case 'E1002':\n children = (\n <CrossChunksAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n case 'E1003':\n children = <CommonList data={td.data} />;\n break;\n case 'E1004':\n description = (\n <span>\n No ECMA Version Check Rules were found. Please refer to\n 「https://rsdoctor.rs/guide/usage/rule-config」.\n </span>\n );\n children = <ECMAVersionCheck data={td.data} />;\n break;\n case 'E1005':\n children = <CommonList data={td.data} />;\n break;\n case 'E1006':\n children = (\n <ModuleMixedChunksAlertCollapse\n data={td.data}\n extraData={extraData}\n />\n );\n break;\n default:\n children = null;\n break;\n }\n\n if (!td.data.length) {\n children = (\n <Empty description={description} image={Empty.PRESENTED_IMAGE_SIMPLE} />\n );\n }\n\n return {\n key: td.key,\n label: <LabelComponent />,\n children: (\n <Card\n className={styles.card}\n type=\"inner\"\n title={\n <>\n <Tag\n style={{\n fontFamily: 'Menlo',\n fontWeight: '700',\n fontSize: '13px',\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n }}\n >\n {td.key}\n </Tag>\n <span>{td.label}</span>\n </>\n }\n >\n {children}\n </Card>\n ),\n };\n });\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div className={styles.container}>\n <div className={styles.title}>{title}</div>\n {!dataSource.length ? (\n <div\n style={{\n minHeight: '480px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Empty\n description={'No Bundle Alerts Data'}\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n />\n </div>\n ) : (\n <Tabs\n onChange={setActiveKey}\n tabBarGutter={10}\n type=\"card\"\n defaultActiveKey=\"E1001\"\n items={tabItems}\n />\n )}\n </div>\n </Card>\n );\n};\n"],"names":["BundleAlert","title","dataSource","extraData","activeKey","setActiveKey","useState","tabData","data","target","td","tabItems","tagStyle","tagTextStyle","LabelComponent","Overview","styles","Tag","children","description","AlertCollapse","CrossChunksAlertCollapse","CommonList","ECMAVersionCheck","ModuleMixedChunksAlertCollapse","Empty","Card","Tabs"],"mappings":"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"}
1
+ {"version":3,"file":"components/Alerts/bundle-alert.mjs","sources":["../../../src/components/Alerts/bundle-alert.tsx"],"sourcesContent":["import { Tabs, Empty, Tag } from 'antd';\n\nimport { Card } from '../Card';\nimport { ECMAVersionCheck } from '../Alert/ecma-version-check';\nimport { Overview } from '../Overall/overview';\nimport { AlertCollapse } from './collapse';\nimport { CommonList } from './list';\nimport { ViewMode } from '../../constants';\n\nimport { AlertProps } from '../Alert/types';\n\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module.scss';\nimport { CSSProperties, useState } from 'react';\nimport { CrossChunksAlertCollapse } from './collapse-cross-chunks';\nimport { ModuleMixedChunksAlertCollapse } from './collapse-module-mixed-chunks';\nimport { SideEffectsOnlyImportsAlertCollapse } from './collapse-side-effects-only-imports';\nimport { CjsRequireAlertCollapse } from './collapse-cjs-require';\n\ninterface BundleAlertProps {\n title: string;\n cwd: string;\n dataSource: Rule.RuleStoreDataItem[];\n extraData: Omit<AlertProps, 'data'>;\n viewMode: ViewMode;\n setViewMode(mode: ViewMode): void;\n extraCom?: JSX.Element | undefined;\n}\n\nexport const BundleAlert: React.FC<BundleAlertProps> = ({\n title,\n dataSource,\n extraData,\n}) => {\n const firstKeyWithData =\n [\n 'E1001',\n 'E1002',\n 'E1003',\n 'E1004',\n 'E1005',\n 'E1006',\n 'E1007',\n 'E1008',\n ].find((code) => dataSource.some((d) => d.code === code)) ?? 'E1001';\n const [activeKey, setActiveKey] = useState(firstKeyWithData);\n const tabData: Array<{\n key: string;\n label: string;\n data: Array<Rule.RuleStoreDataItem>;\n }> = [\n {\n key: 'E1001',\n label: 'Duplicate Packages',\n data: [],\n },\n {\n key: 'E1002',\n label: 'Cross Chunks Package',\n data: [],\n },\n {\n key: 'E1003',\n label: 'Loader Performance Optimization',\n data: [],\n },\n {\n key: 'E1004',\n label: 'ECMA Version Check',\n data: [],\n },\n {\n key: 'E1005',\n label: 'Default Import Check',\n data: [],\n },\n {\n key: 'E1006',\n label: 'Module Mixed Chunks',\n data: [],\n },\n {\n key: 'E1007',\n label: 'Tree Shaking Side Effects Only',\n data: [],\n },\n {\n key: 'E1008',\n label: 'CJS Require Cannot Tree-Shake',\n data: [],\n },\n ];\n\n dataSource.forEach((data) => {\n const target = tabData.find((td) => td.key === data.code)?.data;\n target?.push(data);\n });\n\n tabData.sort(\n (a, b) => (b.data.length > 0 ? 1 : 0) - (a.data.length > 0 ? 1 : 0),\n );\n\n const tabItems = tabData.map((td) => {\n const tagStyle =\n activeKey === td.key\n ? ({\n border: '1px solid #91D5FF',\n backgroundColor: '#E6F7FF',\n } as CSSProperties)\n : {};\n\n const tagTextStyle =\n activeKey === td.key\n ? {\n color: '#1890FF',\n }\n : {};\n\n const LabelComponent = () => (\n <Overview\n style={{\n backgroundColor: 'transparent',\n paddingLeft: 0,\n paddingRight: 0,\n width: '100%',\n }}\n title={<span className={styles.labelTitle}>{td.label}</span>}\n description={\n <div className={styles.labelDescription}>\n <span>{td.data.length}</span>\n <Tag\n style={{ fontFamily: 'Menlo', borderRadius: '2px', ...tagStyle }}\n >\n <span style={{ ...tagTextStyle }}>{td.key}</span>\n </Tag>\n </div>\n }\n />\n );\n\n let children, description;\n switch (td.key) {\n case 'E1001':\n children = <AlertCollapse data={td.data} extraData={extraData} />;\n break;\n case 'E1002':\n children = (\n <CrossChunksAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n case 'E1003':\n children = <CommonList data={td.data} />;\n break;\n case 'E1004':\n description = (\n <span>\n No ECMA Version Check Rules were found. Please refer to\n 「https://rsdoctor.rs/guide/usage/rule-config」.\n </span>\n );\n children = <ECMAVersionCheck data={td.data} />;\n break;\n case 'E1005':\n children = <CommonList data={td.data} />;\n break;\n case 'E1006':\n children = (\n <ModuleMixedChunksAlertCollapse\n data={td.data}\n extraData={extraData}\n />\n );\n break;\n case 'E1007':\n children = (\n <SideEffectsOnlyImportsAlertCollapse\n data={td.data}\n extraData={extraData}\n />\n );\n break;\n case 'E1008':\n children = (\n <CjsRequireAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n default:\n children = null;\n break;\n }\n\n if (!td.data.length) {\n children = (\n <Empty description={description} image={Empty.PRESENTED_IMAGE_SIMPLE} />\n );\n }\n\n return {\n key: td.key,\n label: <LabelComponent />,\n children: (\n <Card\n className={styles.card}\n type=\"inner\"\n title={\n <>\n <Tag\n style={{\n fontFamily: 'Menlo',\n fontWeight: '700',\n fontSize: '13px',\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n }}\n >\n {td.key}\n </Tag>\n <span>{td.label}</span>\n </>\n }\n >\n {children}\n </Card>\n ),\n };\n });\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div className={styles.container}>\n <div className={styles.title}>{title}</div>\n {!dataSource.length ? (\n <div\n style={{\n minHeight: '480px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Empty\n description={'No Bundle Alerts Data'}\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n />\n </div>\n ) : (\n <Tabs\n onChange={setActiveKey}\n tabBarGutter={10}\n type=\"card\"\n defaultActiveKey={tabData[0]?.key ?? 'E1001'}\n items={tabItems}\n />\n )}\n </div>\n </Card>\n );\n};\n"],"names":["BundleAlert","title","dataSource","extraData","firstKeyWithData","code","d","activeKey","setActiveKey","useState","tabData","data","target","td","a","b","tabItems","tagStyle","tagTextStyle","LabelComponent","Overview","styles","Tag","children","description","AlertCollapse","CrossChunksAlertCollapse","CommonList","ECMAVersionCheck","ModuleMixedChunksAlertCollapse","SideEffectsOnlyImportsAlertCollapse","CjsRequireAlertCollapse","Empty","Card","Tabs"],"mappings":"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"}
@@ -6,6 +6,6 @@ const bundle_alert_module = {
6
6
  labelTitle: "labelTitle-tjSCQ_",
7
7
  labelDescription: "labelDescription-kB74lb"
8
8
  };
9
- export { bundle_alert_module as default };
9
+ export default bundle_alert_module;
10
10
 
11
11
  //# sourceMappingURL=bundle-alert.module.mjs.map
@@ -0,0 +1,6 @@
1
+ import type { Rule } from '@rsdoctor/types';
2
+ import type { AlertProps } from '../Alert/types.js';
3
+ export declare const CjsRequireAlertCollapse: (props: {
4
+ data: Array<Rule.RuleStoreDataItem>;
5
+ extraData: Omit<AlertProps, "data">;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,142 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Collapse, Space, Tag } from "antd";
3
+ import overview from "../Overall/overview.mjs";
4
+ import collapse_module from "./collapse.module.mjs";
5
+ import { beautifyPath } from "../../utils/file.mjs";
6
+ import { IdeIcons, LabelComponent } from "./collapse-shared.mjs";
7
+ const { innerWidth: collapse_cjs_require_innerWidth } = window;
8
+ const CjsRequireAlertCollapse = (props)=>{
9
+ const { data, extraData } = props;
10
+ const { cwd } = extraData;
11
+ const groupMap = new Map();
12
+ for (const d of data){
13
+ const item = d;
14
+ const key = item.requiredModule.path;
15
+ if (!groupMap.has(key)) groupMap.set(key, {
16
+ requiredPath: key,
17
+ issuers: []
18
+ });
19
+ groupMap.get(key).issuers.push({
20
+ issuerPath: item.issuerModule.path,
21
+ request: item.request
22
+ });
23
+ }
24
+ const groups = Array.from(groupMap.values());
25
+ const items = groups.map((group)=>{
26
+ const requiredDisplayPath = beautifyPath(group.requiredPath, cwd);
27
+ const issuerCount = group.issuers.length;
28
+ const ChildComponent = ()=>/*#__PURE__*/ jsx("div", {
29
+ className: collapse_module.collapseContainer,
30
+ children: /*#__PURE__*/ jsx(overview, {
31
+ style: {
32
+ backgroundColor: '#fff'
33
+ },
34
+ title: /*#__PURE__*/ jsxs(Space, {
35
+ align: "center",
36
+ children: [
37
+ /*#__PURE__*/ jsx("span", {
38
+ style: {
39
+ fontSize: 13,
40
+ fontWeight: 500,
41
+ color: 'rgba(28, 31, 35, 0.85)'
42
+ },
43
+ children: "Required Module:"
44
+ }),
45
+ /*#__PURE__*/ jsx("span", {
46
+ style: {
47
+ fontSize: 12,
48
+ color: 'rgba(28, 31, 35, 0.6)',
49
+ fontWeight: 300,
50
+ maxWidth: collapse_cjs_require_innerWidth > 1500 ? 900 : 700,
51
+ overflow: 'hidden',
52
+ textOverflow: 'ellipsis',
53
+ whiteSpace: 'nowrap',
54
+ display: 'inline-block'
55
+ },
56
+ children: requiredDisplayPath
57
+ })
58
+ ]
59
+ }),
60
+ description: /*#__PURE__*/ jsxs("div", {
61
+ className: collapse_module.collapseChild,
62
+ children: [
63
+ /*#__PURE__*/ jsx("div", {
64
+ style: {
65
+ marginBottom: 8,
66
+ fontWeight: 500,
67
+ color: 'rgba(28, 31, 35, 0.85)'
68
+ },
69
+ children: "CJS Require Callers:"
70
+ }),
71
+ group.issuers.map((issuer, idx)=>/*#__PURE__*/ jsxs("div", {
72
+ style: {
73
+ display: 'flex',
74
+ marginBottom: 4,
75
+ alignItems: 'center'
76
+ },
77
+ children: [
78
+ /*#__PURE__*/ jsx("div", {
79
+ className: collapse_module.attribute,
80
+ children: "require"
81
+ }),
82
+ /*#__PURE__*/ jsxs("div", {
83
+ className: collapse_module.iconContainer,
84
+ children: [
85
+ /*#__PURE__*/ jsx("span", {
86
+ className: collapse_module.data,
87
+ children: beautifyPath(issuer.issuerPath, cwd)
88
+ }),
89
+ /*#__PURE__*/ jsx(Tag, {
90
+ style: {
91
+ marginLeft: 8,
92
+ backgroundColor: '#EAEDF1',
93
+ borderRadius: '2px',
94
+ fontSize: 11,
95
+ fontFamily: 'Menlo'
96
+ },
97
+ children: `require('${issuer.request}')`
98
+ }),
99
+ /*#__PURE__*/ jsx(IdeIcons, {
100
+ file: issuer.issuerPath
101
+ })
102
+ ]
103
+ })
104
+ ]
105
+ }, idx))
106
+ ]
107
+ })
108
+ })
109
+ });
110
+ return {
111
+ key: requiredDisplayPath,
112
+ label: /*#__PURE__*/ jsx(LabelComponent, {
113
+ title: /*#__PURE__*/ jsx(Space, {
114
+ size: 4,
115
+ align: "center",
116
+ children: /*#__PURE__*/ jsx(Tag, {
117
+ style: {
118
+ backgroundColor: '#EAEDF1',
119
+ borderRadius: '2px'
120
+ },
121
+ children: /*#__PURE__*/ jsx("span", {
122
+ className: collapse_module.pkgName,
123
+ children: requiredDisplayPath
124
+ })
125
+ })
126
+ }),
127
+ description: `cannot be tree-shaken — required via CJS \`require()\` by ${issuerCount} caller(s).`
128
+ }),
129
+ children: /*#__PURE__*/ jsx(ChildComponent, {})
130
+ };
131
+ });
132
+ return /*#__PURE__*/ jsx(Collapse, {
133
+ style: {
134
+ width: '100%'
135
+ },
136
+ defaultActiveKey: items.map((item)=>item.key),
137
+ items: items
138
+ });
139
+ };
140
+ export { CjsRequireAlertCollapse };
141
+
142
+ //# sourceMappingURL=collapse-cjs-require.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/Alerts/collapse-cjs-require.mjs","sources":["../../../src/components/Alerts/collapse-cjs-require.tsx"],"sourcesContent":["import { Collapse, Space, Tag } from 'antd';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport { beautifyPath } from '../../utils/file';\nimport { LabelComponent, IdeIcons } from './collapse-shared';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { innerWidth } = window;\n\nexport const CjsRequireAlertCollapse = (props: {\n data: Array<Rule.RuleStoreDataItem>;\n extraData: Omit<AlertProps, 'data'>;\n}) => {\n const { data, extraData } = props;\n const { cwd } = extraData;\n\n // Group by required module path\n const groupMap = new Map<\n string,\n {\n requiredPath: string;\n issuers: Array<{ issuerPath: string; request: string }>;\n }\n >();\n\n for (const d of data) {\n const item = d as Rule.CjsRequireRuleStoreData;\n const key = item.requiredModule.path;\n if (!groupMap.has(key)) {\n groupMap.set(key, { requiredPath: key, issuers: [] });\n }\n groupMap.get(key)!.issuers.push({\n issuerPath: item.issuerModule.path,\n request: item.request,\n });\n }\n\n const groups = Array.from(groupMap.values());\n\n const items = groups.map((group) => {\n const requiredDisplayPath = beautifyPath(group.requiredPath, cwd);\n const issuerCount = group.issuers.length;\n\n const ChildComponent = () => (\n <div className={styles.collapseContainer}>\n <Overview\n style={{ backgroundColor: '#fff' }}\n title={\n <Space align=\"center\">\n <span\n style={{\n fontSize: 13,\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n Required Module:\n </span>\n <span\n style={{\n fontSize: 12,\n color: 'rgba(28, 31, 35, 0.6)',\n fontWeight: 300,\n maxWidth: innerWidth > 1500 ? 900 : 700,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n }}\n >\n {requiredDisplayPath}\n </span>\n </Space>\n }\n description={\n <div className={styles.collapseChild}>\n <div\n style={{\n marginBottom: 8,\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n CJS Require Callers:\n </div>\n {group.issuers.map((issuer, idx) => (\n <div\n key={idx}\n style={{\n display: 'flex',\n marginBottom: 4,\n alignItems: 'center',\n }}\n >\n <div className={styles.attribute}>require</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {beautifyPath(issuer.issuerPath, cwd)}\n </span>\n <Tag\n style={{\n marginLeft: 8,\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n fontSize: 11,\n fontFamily: 'Menlo',\n }}\n >\n {`require('${issuer.request}')`}\n </Tag>\n <IdeIcons file={issuer.issuerPath} />\n </div>\n </div>\n ))}\n </div>\n }\n />\n </div>\n );\n\n return {\n key: requiredDisplayPath,\n label: (\n <LabelComponent\n title={\n <Space size={4} align=\"center\">\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span className={styles.pkgName}>{requiredDisplayPath}</span>\n </Tag>\n </Space>\n }\n description={`cannot be tree-shaken — required via CJS \\`require()\\` by ${issuerCount} caller(s).`}\n />\n ),\n children: <ChildComponent />,\n };\n });\n\n return (\n <Collapse\n style={{ width: '100%' }}\n defaultActiveKey={items.map((item) => item.key)}\n items={items}\n />\n );\n};\n"],"names":["innerWidth","window","CjsRequireAlertCollapse","props","data","extraData","cwd","groupMap","Map","d","item","key","groups","Array","items","group","requiredDisplayPath","beautifyPath","issuerCount","ChildComponent","styles","Overview","Space","issuer","idx","Tag","IdeIcons","LabelComponent","Collapse"],"mappings":";;;;;;AAUA,MAAM,EAAEA,YAAAA,+BAAU,EAAE,GAAGC;AAEhB,MAAMC,0BAA0B,CAACC;IAItC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGF;IAC5B,MAAM,EAAEG,GAAG,EAAE,GAAGD;IAGhB,MAAME,WAAW,IAAIC;IAQrB,KAAK,MAAMC,KAAKL,KAAM;QACpB,MAAMM,OAAOD;QACb,MAAME,MAAMD,KAAK,cAAc,CAAC,IAAI;QACpC,IAAI,CAACH,SAAS,GAAG,CAACI,MAChBJ,SAAS,GAAG,CAACI,KAAK;YAAE,cAAcA;YAAK,SAAS,EAAE;QAAC;QAErDJ,SAAS,GAAG,CAACI,KAAM,OAAO,CAAC,IAAI,CAAC;YAC9B,YAAYD,KAAK,YAAY,CAAC,IAAI;YAClC,SAASA,KAAK,OAAO;QACvB;IACF;IAEA,MAAME,SAASC,MAAM,IAAI,CAACN,SAAS,MAAM;IAEzC,MAAMO,QAAQF,OAAO,GAAG,CAAC,CAACG;QACxB,MAAMC,sBAAsBC,aAAaF,MAAM,YAAY,EAAET;QAC7D,MAAMY,cAAcH,MAAM,OAAO,CAAC,MAAM;QAExC,MAAMI,iBAAiB,kBACrB,IAAC;gBAAI,WAAWC,gBAAAA,iBAAwB;0BACtC,kBAACC,UAAQA;oBACP,OAAO;wBAAE,iBAAiB;oBAAO;oBACjC,qBACE,KAACC,OAAKA;wBAAC,OAAM;;0CACX,IAAC;gCACC,OAAO;oCACL,UAAU;oCACV,YAAY;oCACZ,OAAO;gCACT;0CACD;;0CAGD,IAAC;gCACC,OAAO;oCACL,UAAU;oCACV,OAAO;oCACP,YAAY;oCACZ,UAAUtB,kCAAa,OAAO,MAAM;oCACpC,UAAU;oCACV,cAAc;oCACd,YAAY;oCACZ,SAAS;gCACX;0CAECgB;;;;oBAIP,2BACE,KAAC;wBAAI,WAAWI,gBAAAA,aAAoB;;0CAClC,IAAC;gCACC,OAAO;oCACL,cAAc;oCACd,YAAY;oCACZ,OAAO;gCACT;0CACD;;4BAGAL,MAAM,OAAO,CAAC,GAAG,CAAC,CAACQ,QAAQC,MAAAA,WAAAA,GAC1B,KAAC;oCAEC,OAAO;wCACL,SAAS;wCACT,cAAc;wCACd,YAAY;oCACd;;sDAEA,IAAC;4CAAI,WAAWJ,gBAAAA,SAAgB;sDAAE;;sDAClC,KAAC;4CAAI,WAAWA,gBAAAA,aAAoB;;8DAClC,IAAC;oDAAK,WAAWA,gBAAAA,IAAW;8DACzBH,aAAaM,OAAO,UAAU,EAAEjB;;8DAEnC,IAACmB,KAAGA;oDACF,OAAO;wDACL,YAAY;wDACZ,iBAAiB;wDACjB,cAAc;wDACd,UAAU;wDACV,YAAY;oDACd;8DAEC,CAAC,SAAS,EAAEF,OAAO,OAAO,CAAC,EAAE,CAAC;;8DAEjC,IAACG,UAAQA;oDAAC,MAAMH,OAAO,UAAU;;;;;mCAvB9BC;;;;;QAiCnB,OAAO;YACL,KAAKR;YACL,OAAO,WAAP,GACE,IAACW,gBAAcA;gBACb,qBACE,IAACL,OAAKA;oBAAC,MAAM;oBAAG,OAAM;8BACpB,kBAACG,KAAGA;wBAAC,OAAO;4BAAE,iBAAiB;4BAAW,cAAc;wBAAM;kCAC5D,kBAAC;4BAAK,WAAWL,gBAAAA,OAAc;sCAAGJ;;;;gBAIxC,aAAa,CAAC,0DAA0D,EAAEE,YAAY,WAAW,CAAC;;YAGtG,UAAU,WAAV,GAAU,IAACC,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACS,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkBd,MAAM,GAAG,CAAC,CAACJ,OAASA,KAAK,GAAG;QAC9C,OAAOI;;AAGb"}
@@ -4,30 +4,9 @@ import { Collapse, Space, Tag, Typography } from "antd";
4
4
  import overview from "../Overall/overview.mjs";
5
5
  import collapse_module from "./collapse.module.mjs";
6
6
  import total_size from "../../common/svg/total-size.mjs";
7
- const { Text } = Typography;
7
+ import { LabelComponent } from "./collapse-shared.mjs";
8
+ const { Text: Text } = Typography;
8
9
  const { innerWidth: collapse_cross_chunks_innerWidth } = window;
9
- const LabelComponent = (props)=>{
10
- const { title, description, extra } = props;
11
- return /*#__PURE__*/ jsxs("div", {
12
- className: collapse_module.label,
13
- children: [
14
- /*#__PURE__*/ jsxs("div", {
15
- className: collapse_module.labelContent,
16
- children: [
17
- /*#__PURE__*/ jsx("div", {
18
- children: title
19
- }),
20
- /*#__PURE__*/ jsx("div", {
21
- children: description
22
- })
23
- ]
24
- }),
25
- /*#__PURE__*/ jsx("div", {
26
- children: extra
27
- })
28
- ]
29
- });
30
- };
31
10
  const CrossChunksAlertCollapse = (props)=>{
32
11
  const { data } = props;
33
12
  const items = data.map((d)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"components/Alerts/collapse-cross-chunks.mjs","sources":["../../../src/components/Alerts/collapse-cross-chunks.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\nimport { Collapse, Space, Tag, Typography } from 'antd';\nimport { ReactNode } from 'react';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\nconst { innerWidth } = window;\n\nconst LabelComponent = (props: {\n title: string | ReactNode;\n description: string;\n extra?: ReactNode;\n}) => {\n const { title, description, extra } = props;\n return (\n <div className={styles.label}>\n <div className={styles.labelContent}>\n <div>{title}</div>\n <div>{description}</div>\n </div>\n <div>{extra}</div>\n </div>\n );\n};\n\nexport const CrossChunksAlertCollapse = (props: {\n data: Array<Rule.RuleStoreDataItem>;\n extraData: Omit<AlertProps, 'data'>;\n}) => {\n const { data } = props;\n\n const items = data.map((d) => {\n const { package: dupPackage, chunks } =\n d as Rule.CrossChunksPackageRuleStoreData;\n\n const ChildComponent = () => {\n return chunks.map(({ chunks, module }) => {\n return (\n <div className={styles.collapseContainer}>\n <Overview\n style={{ backgroundColor: '#fff' }}\n title={\n <Space>\n <Icon style={{ fontSize: '18px' }} component={TotalSizeSvg} />\n <Text style={{ width: innerWidth > 1500 ? 900 : 700 }}>\n Module:{' '}\n <Text\n style={{\n fontSize: 12,\n color: 'rgba(28, 31, 35, 0.6)',\n fontWeight: 300,\n }}\n >\n {module.path}\n </Text>\n </Text>\n </Space>\n }\n description={\n <div className={styles.collapseChild}>\n {chunks.map((chunk) => (\n <div style={{ display: 'flex' }}>\n <div className={styles.attribute}>Chunk</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>{chunk.name}</span>\n </div>\n </div>\n ))}\n </div>\n }\n />\n </div>\n );\n });\n };\n\n return {\n key: `${dupPackage.name}@${dupPackage.version}`,\n label: (\n <LabelComponent\n title={\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span\n className={styles.pkgName}\n >{`${dupPackage.name}@${dupPackage.version}`}</span>\n </Tag>\n }\n description={`has duplicates bundled into multiple chunks.`}\n />\n ),\n children: <ChildComponent />,\n };\n });\n\n return (\n <Collapse\n style={{ width: '100%' }}\n defaultActiveKey={['E1005']}\n items={items}\n />\n );\n};\n"],"names":["Text","Typography","innerWidth","window","LabelComponent","props","title","description","extra","styles","CrossChunksAlertCollapse","data","items","d","dupPackage","chunks","ChildComponent","module","Overview","Space","Icon","TotalSizeSvg","chunk","Tag","Collapse"],"mappings":";;;;;;AAWA,MAAM,EAAEA,IAAI,EAAE,GAAGC;AACjB,MAAM,EAAEC,YAAU,kCAAE,GAAGC;AAEvB,MAAMC,iBAAiB,CAACC;IAKtB,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAGH;IACtC,OAAO,WAAP,GACE,KAAC;QAAI,WAAWI,gBAAAA,KAAY;;0BAC1B,KAAC;gBAAI,WAAWA,gBAAAA,YAAmB;;kCACjC,IAAC;kCAAKH;;kCACN,IAAC;kCAAKC;;;;0BAER,IAAC;0BAAKC;;;;AAGZ;AAEO,MAAME,2BAA2B,CAACL;IAIvC,MAAM,EAAEM,IAAI,EAAE,GAAGN;IAEjB,MAAMO,QAAQD,KAAK,GAAG,CAAC,CAACE;QACtB,MAAM,EAAE,SAASC,UAAU,EAAEC,MAAM,EAAE,GACnCF;QAEF,MAAMG,iBAAiB,IACdD,OAAO,GAAG,CAAC,CAAC,EAAEA,MAAM,EAAEE,MAAM,EAAE,GAC5B,WAAP,GACE,IAAC;oBAAI,WAAWR,gBAAAA,iBAAwB;8BACtC,kBAACS,UAAQA;wBACP,OAAO;4BAAE,iBAAiB;wBAAO;wBACjC,qBACE,KAACC,OAAKA;;8CACJ,IAACC,OAAIA;oCAAC,OAAO;wCAAE,UAAU;oCAAO;oCAAG,WAAWC;;8CAC9C,KAACrB,MAAAA;oCAAK,OAAO;wCAAE,OAAOE,mCAAa,OAAO,MAAM;oCAAI;;wCAAG;wCAC7C;sDACR,IAACF,MAAAA;4CACC,OAAO;gDACL,UAAU;gDACV,OAAO;gDACP,YAAY;4CACd;sDAECiB,OAAO,IAAI;;;;;;wBAKpB,2BACE,IAAC;4BAAI,WAAWR,gBAAAA,aAAoB;sCACjCM,OAAO,GAAG,CAAC,CAACO,QAAAA,WAAAA,GACX,KAAC;oCAAI,OAAO;wCAAE,SAAS;oCAAO;;sDAC5B,IAAC;4CAAI,WAAWb,gBAAAA,SAAgB;sDAAE;;sDAClC,IAAC;4CAAI,WAAWA,gBAAAA,aAAoB;sDAClC,kBAAC;gDAAK,WAAWA,gBAAAA,IAAW;0DAAGa,MAAM,IAAI;;;;;;;;QAY7D,OAAO;YACL,KAAK,GAAGR,WAAW,IAAI,CAAC,CAAC,EAAEA,WAAW,OAAO,EAAE;YAC/C,OAAO,WAAP,GACE,IAACV,gBAAAA;gBACC,qBACE,IAACmB,KAAGA;oBAAC,OAAO;wBAAE,iBAAiB;wBAAW,cAAc;oBAAM;8BAC5D,kBAAC;wBACC,WAAWd,gBAAAA,OAAc;kCACzB,GAAGK,WAAW,IAAI,CAAC,CAAC,EAAEA,WAAW,OAAO,EAAE;;;gBAGhD,aAAa;;YAGjB,UAAU,WAAV,GAAU,IAACE,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACQ,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkB;YAAC;SAAQ;QAC3B,OAAOZ;;AAGb"}
1
+ {"version":3,"file":"components/Alerts/collapse-cross-chunks.mjs","sources":["../../../src/components/Alerts/collapse-cross-chunks.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\nimport { Collapse, Space, Tag, Typography } from 'antd';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport { LabelComponent } from './collapse-shared';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\nconst { innerWidth } = window;\n\nexport const CrossChunksAlertCollapse = (props: {\n data: Array<Rule.RuleStoreDataItem>;\n extraData: Omit<AlertProps, 'data'>;\n}) => {\n const { data } = props;\n\n const items = data.map((d) => {\n const { package: dupPackage, chunks } =\n d as Rule.CrossChunksPackageRuleStoreData;\n\n const ChildComponent = () => {\n return chunks.map(({ chunks, module }) => {\n return (\n <div className={styles.collapseContainer}>\n <Overview\n style={{ backgroundColor: '#fff' }}\n title={\n <Space>\n <Icon style={{ fontSize: '18px' }} component={TotalSizeSvg} />\n <Text style={{ width: innerWidth > 1500 ? 900 : 700 }}>\n Module:{' '}\n <Text\n style={{\n fontSize: 12,\n color: 'rgba(28, 31, 35, 0.6)',\n fontWeight: 300,\n }}\n >\n {module.path}\n </Text>\n </Text>\n </Space>\n }\n description={\n <div className={styles.collapseChild}>\n {chunks.map((chunk) => (\n <div style={{ display: 'flex' }}>\n <div className={styles.attribute}>Chunk</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>{chunk.name}</span>\n </div>\n </div>\n ))}\n </div>\n }\n />\n </div>\n );\n });\n };\n\n return {\n key: `${dupPackage.name}@${dupPackage.version}`,\n label: (\n <LabelComponent\n title={\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span\n className={styles.pkgName}\n >{`${dupPackage.name}@${dupPackage.version}`}</span>\n </Tag>\n }\n description={`has duplicates bundled into multiple chunks.`}\n />\n ),\n children: <ChildComponent />,\n };\n });\n\n return (\n <Collapse\n style={{ width: '100%' }}\n defaultActiveKey={['E1005']}\n items={items}\n />\n );\n};\n"],"names":["Text","Typography","innerWidth","window","CrossChunksAlertCollapse","props","data","items","d","dupPackage","chunks","ChildComponent","module","styles","Overview","Space","Icon","TotalSizeSvg","chunk","LabelComponent","Tag","Collapse"],"mappings":";;;;;;;AAWA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AACjB,MAAM,EAAEC,YAAAA,gCAAU,EAAE,GAAGC;AAEhB,MAAMC,2BAA2B,CAACC;IAIvC,MAAM,EAAEC,IAAI,EAAE,GAAGD;IAEjB,MAAME,QAAQD,KAAK,GAAG,CAAC,CAACE;QACtB,MAAM,EAAE,SAASC,UAAU,EAAEC,MAAM,EAAE,GACnCF;QAEF,MAAMG,iBAAiB,IACdD,OAAO,GAAG,CAAC,CAAC,EAAEA,MAAM,EAAEE,MAAM,EAAE,GAC5B,WAAP,GACE,IAAC;oBAAI,WAAWC,gBAAAA,iBAAwB;8BACtC,kBAACC,UAAQA;wBACP,OAAO;4BAAE,iBAAiB;wBAAO;wBACjC,qBACE,KAACC,OAAKA;;8CACJ,IAACC,OAAIA;oCAAC,OAAO;wCAAE,UAAU;oCAAO;oCAAG,WAAWC;;8CAC9C,KAACjB,MAAIA;oCAAC,OAAO;wCAAE,OAAOE,mCAAa,OAAO,MAAM;oCAAI;;wCAAG;wCAC7C;sDACR,IAACF,MAAIA;4CACH,OAAO;gDACL,UAAU;gDACV,OAAO;gDACP,YAAY;4CACd;sDAECY,OAAO,IAAI;;;;;;wBAKpB,2BACE,IAAC;4BAAI,WAAWC,gBAAAA,aAAoB;sCACjCH,OAAO,GAAG,CAAC,CAACQ,QAAAA,WAAAA,GACX,KAAC;oCAAI,OAAO;wCAAE,SAAS;oCAAO;;sDAC5B,IAAC;4CAAI,WAAWL,gBAAAA,SAAgB;sDAAE;;sDAClC,IAAC;4CAAI,WAAWA,gBAAAA,aAAoB;sDAClC,kBAAC;gDAAK,WAAWA,gBAAAA,IAAW;0DAAGK,MAAM,IAAI;;;;;;;;QAY7D,OAAO;YACL,KAAK,GAAGT,WAAW,IAAI,CAAC,CAAC,EAAEA,WAAW,OAAO,EAAE;YAC/C,OAAO,WAAP,GACE,IAACU,gBAAcA;gBACb,qBACE,IAACC,KAAGA;oBAAC,OAAO;wBAAE,iBAAiB;wBAAW,cAAc;oBAAM;8BAC5D,kBAAC;wBACC,WAAWP,gBAAAA,OAAc;kCACzB,GAAGJ,WAAW,IAAI,CAAC,CAAC,EAAEA,WAAW,OAAO,EAAE;;;gBAGhD,aAAa;;YAGjB,UAAU,WAAV,GAAU,IAACE,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACU,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkB;YAAC;SAAQ;QAC3B,OAAOd;;AAGb"}
@@ -5,30 +5,9 @@ import overview from "../Overall/overview.mjs";
5
5
  import collapse_module from "./collapse.module.mjs";
6
6
  import total_size from "../../common/svg/total-size.mjs";
7
7
  import { beautifyPath } from "../../utils/file.mjs";
8
- const { Text } = Typography;
8
+ import { LabelComponent } from "./collapse-shared.mjs";
9
+ const { Text: Text } = Typography;
9
10
  const { innerWidth: collapse_module_mixed_chunks_innerWidth } = window;
10
- const LabelComponent = (props)=>{
11
- const { title, description, extra } = props;
12
- return /*#__PURE__*/ jsxs("div", {
13
- className: collapse_module.label,
14
- children: [
15
- /*#__PURE__*/ jsxs("div", {
16
- className: collapse_module.labelContent,
17
- children: [
18
- /*#__PURE__*/ jsx("div", {
19
- children: title
20
- }),
21
- /*#__PURE__*/ jsx("div", {
22
- children: description
23
- })
24
- ]
25
- }),
26
- /*#__PURE__*/ jsx("div", {
27
- children: extra
28
- })
29
- ]
30
- });
31
- };
32
11
  const ModuleMixedChunksAlertCollapse = (props)=>{
33
12
  const { data, extraData } = props;
34
13
  const { cwd } = extraData;
@@ -1 +1 @@
1
- {"version":3,"file":"components/Alerts/collapse-module-mixed-chunks.mjs","sources":["../../../src/components/Alerts/collapse-module-mixed-chunks.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\nimport { Collapse, Space, Tag, Typography } from 'antd';\nimport { ReactNode } from 'react';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport { beautifyPath } from '../../utils/file';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\nconst { innerWidth } = window;\n\nconst LabelComponent = (props: {\n title: string | ReactNode;\n description: string;\n extra?: ReactNode;\n}) => {\n const { title, description, extra } = props;\n return (\n <div className={styles.label}>\n <div className={styles.labelContent}>\n <div>{title}</div>\n <div>{description}</div>\n </div>\n <div>{extra}</div>\n </div>\n );\n};\n\nexport const ModuleMixedChunksAlertCollapse = (props: {\n data: Array<Rule.RuleStoreDataItem>;\n extraData: Omit<AlertProps, 'data'>;\n}) => {\n const { data, extraData } = props;\n const { cwd } = extraData;\n\n const items = data.map((d) => {\n const { module, initialChunks, asyncChunks } =\n d as Rule.ModuleMixedChunksRuleStoreData;\n\n const modulePath = beautifyPath(module.path, cwd);\n\n const ChildComponent = () => {\n return (\n <div className={styles.collapseContainer}>\n <Overview\n style={{ backgroundColor: '#fff' }}\n title={\n <Space>\n <Icon style={{ fontSize: '18px' }} component={TotalSizeSvg} />\n <Text style={{ width: innerWidth > 1500 ? 900 : 700 }}>\n Module:{' '}\n <Text\n style={{\n fontSize: 12,\n color: 'rgba(28, 31, 35, 0.6)',\n fontWeight: 300,\n }}\n >\n {modulePath}\n </Text>\n </Text>\n </Space>\n }\n description={\n <div className={styles.collapseChild}>\n {initialChunks.length > 0 && (\n <div style={{ marginBottom: 16 }}>\n <div\n style={{\n marginBottom: 8,\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n Initial Chunks:\n </div>\n {initialChunks.map((chunk) => (\n <div\n key={chunk.id}\n style={{ display: 'flex', marginBottom: 4 }}\n >\n <div className={styles.attribute}>Chunk</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {chunk.name || `chunk-${chunk.id}`}\n </span>\n </div>\n </div>\n ))}\n </div>\n )}\n {asyncChunks.length > 0 && (\n <div>\n <div\n style={{\n marginBottom: 8,\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n Async Chunks:\n </div>\n {asyncChunks.map((chunk) => (\n <div\n key={chunk.id}\n style={{ display: 'flex', marginBottom: 4 }}\n >\n <div className={styles.attribute}>Chunk</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {chunk.name ||\n `(no chunk name, ChunkId: ${chunk.id})`}\n </span>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n }\n />\n </div>\n );\n };\n\n return {\n key: modulePath,\n label: (\n <LabelComponent\n title={\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span className={styles.pkgName}>{modulePath}</span>\n </Tag>\n }\n description={`is included in both initial and async chunks.`}\n />\n ),\n children: <ChildComponent />,\n };\n });\n\n return (\n <Collapse\n style={{ width: '100%' }}\n defaultActiveKey={items.map((item) => item.key)}\n items={items}\n />\n );\n};\n"],"names":["Text","Typography","innerWidth","window","LabelComponent","props","title","description","extra","styles","ModuleMixedChunksAlertCollapse","data","extraData","cwd","items","d","module","initialChunks","asyncChunks","modulePath","beautifyPath","ChildComponent","Overview","Space","Icon","TotalSizeSvg","chunk","Tag","Collapse","item"],"mappings":"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"}
1
+ {"version":3,"file":"components/Alerts/collapse-module-mixed-chunks.mjs","sources":["../../../src/components/Alerts/collapse-module-mixed-chunks.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\nimport { Collapse, Space, Tag, Typography } from 'antd';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport { beautifyPath } from '../../utils/file';\nimport { LabelComponent } from './collapse-shared';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\nconst { innerWidth } = window;\n\nexport const ModuleMixedChunksAlertCollapse = (props: {\n data: Array<Rule.RuleStoreDataItem>;\n extraData: Omit<AlertProps, 'data'>;\n}) => {\n const { data, extraData } = props;\n const { cwd } = extraData;\n\n const items = data.map((d) => {\n const { module, initialChunks, asyncChunks } =\n d as Rule.ModuleMixedChunksRuleStoreData;\n\n const modulePath = beautifyPath(module.path, cwd);\n\n const ChildComponent = () => {\n return (\n <div className={styles.collapseContainer}>\n <Overview\n style={{ backgroundColor: '#fff' }}\n title={\n <Space>\n <Icon style={{ fontSize: '18px' }} component={TotalSizeSvg} />\n <Text style={{ width: innerWidth > 1500 ? 900 : 700 }}>\n Module:{' '}\n <Text\n style={{\n fontSize: 12,\n color: 'rgba(28, 31, 35, 0.6)',\n fontWeight: 300,\n }}\n >\n {modulePath}\n </Text>\n </Text>\n </Space>\n }\n description={\n <div className={styles.collapseChild}>\n {initialChunks.length > 0 && (\n <div style={{ marginBottom: 16 }}>\n <div\n style={{\n marginBottom: 8,\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n Initial Chunks:\n </div>\n {initialChunks.map((chunk) => (\n <div\n key={chunk.id}\n style={{ display: 'flex', marginBottom: 4 }}\n >\n <div className={styles.attribute}>Chunk</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {chunk.name || `chunk-${chunk.id}`}\n </span>\n </div>\n </div>\n ))}\n </div>\n )}\n {asyncChunks.length > 0 && (\n <div>\n <div\n style={{\n marginBottom: 8,\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n Async Chunks:\n </div>\n {asyncChunks.map((chunk) => (\n <div\n key={chunk.id}\n style={{ display: 'flex', marginBottom: 4 }}\n >\n <div className={styles.attribute}>Chunk</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {chunk.name ||\n `(no chunk name, ChunkId: ${chunk.id})`}\n </span>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n }\n />\n </div>\n );\n };\n\n return {\n key: modulePath,\n label: (\n <LabelComponent\n title={\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span className={styles.pkgName}>{modulePath}</span>\n </Tag>\n }\n description={`is included in both initial and async chunks.`}\n />\n ),\n children: <ChildComponent />,\n };\n });\n\n return (\n <Collapse\n style={{ width: '100%' }}\n defaultActiveKey={items.map((item) => item.key)}\n items={items}\n />\n );\n};\n"],"names":["Text","Typography","innerWidth","window","ModuleMixedChunksAlertCollapse","props","data","extraData","cwd","items","d","module","initialChunks","asyncChunks","modulePath","beautifyPath","ChildComponent","styles","Overview","Space","Icon","TotalSizeSvg","chunk","LabelComponent","Tag","Collapse","item"],"mappings":";;;;;;;;AAYA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AACjB,MAAM,EAAEC,YAAAA,uCAAU,EAAE,GAAGC;AAEhB,MAAMC,iCAAiC,CAACC;IAI7C,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGF;IAC5B,MAAM,EAAEG,GAAG,EAAE,GAAGD;IAEhB,MAAME,QAAQH,KAAK,GAAG,CAAC,CAACI;QACtB,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAC1CH;QAEF,MAAMI,aAAaC,aAAaJ,OAAO,IAAI,EAAEH;QAE7C,MAAMQ,iBAAiB,IACd,WAAP,GACE,IAAC;gBAAI,WAAWC,gBAAAA,iBAAwB;0BACtC,kBAACC,UAAQA;oBACP,OAAO;wBAAE,iBAAiB;oBAAO;oBACjC,qBACE,KAACC,OAAKA;;0CACJ,IAACC,OAAIA;gCAAC,OAAO;oCAAE,UAAU;gCAAO;gCAAG,WAAWC;;0CAC9C,KAACrB,MAAIA;gCAAC,OAAO;oCAAE,OAAOE,0CAAa,OAAO,MAAM;gCAAI;;oCAAG;oCAC7C;kDACR,IAACF,MAAIA;wCACH,OAAO;4CACL,UAAU;4CACV,OAAO;4CACP,YAAY;wCACd;kDAECc;;;;;;oBAKT,2BACE,KAAC;wBAAI,WAAWG,gBAAAA,aAAoB;;4BACjCL,cAAc,MAAM,GAAG,KAAK,WAAL,GACtB,KAAC;gCAAI,OAAO;oCAAE,cAAc;gCAAG;;kDAC7B,IAAC;wCACC,OAAO;4CACL,cAAc;4CACd,YAAY;4CACZ,OAAO;wCACT;kDACD;;oCAGAA,cAAc,GAAG,CAAC,CAACU,QAAAA,WAAAA,GAClB,KAAC;4CAEC,OAAO;gDAAE,SAAS;gDAAQ,cAAc;4CAAE;;8DAE1C,IAAC;oDAAI,WAAWL,gBAAAA,SAAgB;8DAAE;;8DAClC,IAAC;oDAAI,WAAWA,gBAAAA,aAAoB;8DAClC,kBAAC;wDAAK,WAAWA,gBAAAA,IAAW;kEACzBK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAEA,MAAM,EAAE,EAAE;;;;2CANjCA,MAAM,EAAE;;;4BAapBT,YAAY,MAAM,GAAG,KAAK,WAAL,GACpB,KAAC;;kDACC,IAAC;wCACC,OAAO;4CACL,cAAc;4CACd,YAAY;4CACZ,OAAO;wCACT;kDACD;;oCAGAA,YAAY,GAAG,CAAC,CAACS,QAAAA,WAAAA,GAChB,KAAC;4CAEC,OAAO;gDAAE,SAAS;gDAAQ,cAAc;4CAAE;;8DAE1C,IAAC;oDAAI,WAAWL,gBAAAA,SAAgB;8DAAE;;8DAClC,IAAC;oDAAI,WAAWA,gBAAAA,aAAoB;8DAClC,kBAAC;wDAAK,WAAWA,gBAAAA,IAAW;kEACzBK,MAAM,IAAI,IACT,CAAC,yBAAyB,EAAEA,MAAM,EAAE,CAAC,CAAC,CAAC;;;;2CAPxCA,MAAM,EAAE;;;;;;;QAqBjC,OAAO;YACL,KAAKR;YACL,OAAO,WAAP,GACE,IAACS,gBAAcA;gBACb,qBACE,IAACC,KAAGA;oBAAC,OAAO;wBAAE,iBAAiB;wBAAW,cAAc;oBAAM;8BAC5D,kBAAC;wBAAK,WAAWP,gBAAAA,OAAc;kCAAGH;;;gBAGtC,aAAa;;YAGjB,UAAU,WAAV,GAAU,IAACE,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACS,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkBhB,MAAM,GAAG,CAAC,CAACiB,OAASA,KAAK,GAAG;QAC9C,OAAOjB;;AAGb"}
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const LabelComponent: (props: {
3
+ title: string | ReactNode;
4
+ description: string;
5
+ extra?: ReactNode;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const IdeIcons: ({ file }: {
8
+ file: string;
9
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,90 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Space, Tooltip } from "antd";
3
+ import vscode from "../../common/svg/vscode.mjs";
4
+ import cursor from "../../common/svg/cursor.mjs";
5
+ import trae from "../../common/svg/trae.mjs";
6
+ import { openCursor, openTrae, openVSCode } from "../Opener/index.mjs";
7
+ import collapse_module from "./collapse.module.mjs";
8
+ const LabelComponent = (props)=>{
9
+ const { title, description, extra } = props;
10
+ return /*#__PURE__*/ jsxs("div", {
11
+ className: collapse_module.label,
12
+ children: [
13
+ /*#__PURE__*/ jsxs("div", {
14
+ className: collapse_module.labelContent,
15
+ children: [
16
+ /*#__PURE__*/ jsx("div", {
17
+ children: title
18
+ }),
19
+ /*#__PURE__*/ jsx("div", {
20
+ children: description
21
+ })
22
+ ]
23
+ }),
24
+ /*#__PURE__*/ jsx("div", {
25
+ children: extra
26
+ })
27
+ ]
28
+ });
29
+ };
30
+ const IdeIcons = ({ file })=>/*#__PURE__*/ jsxs(Space, {
31
+ size: 4,
32
+ style: {
33
+ marginLeft: 8,
34
+ flexShrink: 0,
35
+ marginTop: 5
36
+ },
37
+ children: [
38
+ /*#__PURE__*/ jsx(Tooltip, {
39
+ title: "Open in VSCode",
40
+ children: /*#__PURE__*/ jsx(vscode, {
41
+ style: {
42
+ width: 16,
43
+ height: 16,
44
+ cursor: 'pointer'
45
+ },
46
+ onClick: (e)=>{
47
+ e.stopPropagation();
48
+ openVSCode({
49
+ file
50
+ });
51
+ }
52
+ })
53
+ }),
54
+ /*#__PURE__*/ jsx(Tooltip, {
55
+ title: "Open in Cursor",
56
+ children: /*#__PURE__*/ jsx(cursor, {
57
+ style: {
58
+ width: 16,
59
+ height: 16,
60
+ cursor: 'pointer'
61
+ },
62
+ onClick: (e)=>{
63
+ e.stopPropagation();
64
+ openCursor({
65
+ file
66
+ });
67
+ }
68
+ })
69
+ }),
70
+ /*#__PURE__*/ jsx(Tooltip, {
71
+ title: "Open in Trae",
72
+ children: /*#__PURE__*/ jsx(trae, {
73
+ style: {
74
+ width: 16,
75
+ height: 16,
76
+ cursor: 'pointer'
77
+ },
78
+ onClick: (e)=>{
79
+ e.stopPropagation();
80
+ openTrae({
81
+ file
82
+ });
83
+ }
84
+ })
85
+ })
86
+ ]
87
+ });
88
+ export { IdeIcons, LabelComponent };
89
+
90
+ //# sourceMappingURL=collapse-shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components/Alerts/collapse-shared.mjs","sources":["../../../src/components/Alerts/collapse-shared.tsx"],"sourcesContent":["import { Space, Tooltip } from 'antd';\nimport { ReactNode } from 'react';\n\nimport VSCodeIcon from '../../common/svg/vscode.svg';\nimport CursorIcon from '../../common/svg/cursor.svg';\nimport TraeIcon from '../../common/svg/trae.svg';\nimport { openVSCode, openCursor, openTrae } from '../Opener';\n\nimport styles from './collapse.module.scss';\n\nexport const LabelComponent = (props: {\n title: string | ReactNode;\n description: string;\n extra?: ReactNode;\n}) => {\n const { title, description, extra } = props;\n return (\n <div className={styles.label}>\n <div className={styles.labelContent}>\n <div>{title}</div>\n <div>{description}</div>\n </div>\n <div>{extra}</div>\n </div>\n );\n};\n\nexport const IdeIcons = ({ file }: { file: string }) => (\n <Space size={4} style={{ marginLeft: 8, flexShrink: 0, marginTop: 5 }}>\n <Tooltip title=\"Open in VSCode\">\n <VSCodeIcon\n style={{ width: 16, height: 16, cursor: 'pointer' }}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n openVSCode({ file });\n }}\n />\n </Tooltip>\n <Tooltip title=\"Open in Cursor\">\n <CursorIcon\n style={{ width: 16, height: 16, cursor: 'pointer' }}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n openCursor({ file });\n }}\n />\n </Tooltip>\n <Tooltip title=\"Open in Trae\">\n <TraeIcon\n style={{ width: 16, height: 16, cursor: 'pointer' }}\n onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n openTrae({ file });\n }}\n />\n </Tooltip>\n </Space>\n);\n"],"names":["LabelComponent","props","title","description","extra","styles","IdeIcons","file","Space","Tooltip","VSCodeIcon","e","openVSCode","CursorIcon","openCursor","TraeIcon","openTrae"],"mappings":";;;;;;;AAUO,MAAMA,iBAAiB,CAACC;IAK7B,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAGH;IACtC,OAAO,WAAP,GACE,KAAC;QAAI,WAAWI,gBAAAA,KAAY;;0BAC1B,KAAC;gBAAI,WAAWA,gBAAAA,YAAmB;;kCACjC,IAAC;kCAAKH;;kCACN,IAAC;kCAAKC;;;;0BAER,IAAC;0BAAKC;;;;AAGZ;AAEO,MAAME,WAAW,CAAC,EAAEC,IAAI,EAAoB,iBACjD,KAACC,OAAKA;QAAC,MAAM;QAAG,OAAO;YAAE,YAAY;YAAG,YAAY;YAAG,WAAW;QAAE;;0BAClE,IAACC,SAAOA;gBAAC,OAAM;0BACb,kBAACC,QAAUA;oBACT,OAAO;wBAAE,OAAO;wBAAI,QAAQ;wBAAI,QAAQ;oBAAU;oBAClD,SAAS,CAACC;wBACRA,EAAE,eAAe;wBACjBC,WAAW;4BAAEL;wBAAK;oBACpB;;;0BAGJ,IAACE,SAAOA;gBAAC,OAAM;0BACb,kBAACI,QAAUA;oBACT,OAAO;wBAAE,OAAO;wBAAI,QAAQ;wBAAI,QAAQ;oBAAU;oBAClD,SAAS,CAACF;wBACRA,EAAE,eAAe;wBACjBG,WAAW;4BAAEP;wBAAK;oBACpB;;;0BAGJ,IAACE,SAAOA;gBAAC,OAAM;0BACb,kBAACM,MAAQA;oBACP,OAAO;wBAAE,OAAO;wBAAI,QAAQ;wBAAI,QAAQ;oBAAU;oBAClD,SAAS,CAACJ;wBACRA,EAAE,eAAe;wBACjBK,SAAS;4BAAET;wBAAK;oBAClB"}
@@ -0,0 +1,6 @@
1
+ import type { Rule } from '@rsdoctor/types';
2
+ import type { AlertProps } from '../Alert/types.js';
3
+ export declare const SideEffectsOnlyImportsAlertCollapse: (props: {
4
+ data: Array<Rule.RuleStoreDataItem>;
5
+ extraData: Omit<AlertProps, "data">;
6
+ }) => import("react/jsx-runtime").JSX.Element;