@rsdoctor/components 1.5.17 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/components/Alert/ecma-version-check_module.css +1 -1
  2. package/dist/components/Alert/ecma-version-check_module.css.map +1 -1
  3. package/dist/components/Alerts/bundle-alert.d.ts +1 -1
  4. package/dist/components/Alerts/bundle-alert.mjs +82 -73
  5. package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
  6. package/dist/components/Alerts/bundle.mjs +1 -2
  7. package/dist/components/Alerts/bundle.mjs.map +1 -1
  8. package/dist/components/Alerts/collapse-cjs-require.mjs +6 -14
  9. package/dist/components/Alerts/collapse-cjs-require.mjs.map +1 -1
  10. package/dist/components/Alerts/collapse-cross-chunks.mjs +3 -8
  11. package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
  12. package/dist/components/Alerts/collapse-esm-cjs.mjs +6 -10
  13. package/dist/components/Alerts/collapse-esm-cjs.mjs.map +1 -1
  14. package/dist/components/Alerts/collapse-module-mixed-chunks.mjs +5 -12
  15. package/dist/components/Alerts/collapse-module-mixed-chunks.mjs.map +1 -1
  16. package/dist/components/Alerts/collapse-side-effects-only-imports.mjs +5 -12
  17. package/dist/components/Alerts/collapse-side-effects-only-imports.mjs.map +1 -1
  18. package/dist/components/Alerts/collapse.mjs +3 -10
  19. package/dist/components/Alerts/collapse.mjs.map +1 -1
  20. package/dist/components/Alerts/collapse_module.css +1 -1
  21. package/dist/components/Alerts/collapse_module.css.map +1 -1
  22. package/dist/components/Alerts/index.module.mjs +7 -0
  23. package/dist/components/Alerts/index.module.mjs.map +1 -0
  24. package/dist/components/Alerts/index_module.css +9 -0
  25. package/dist/components/Alerts/index_module.css.map +1 -0
  26. package/dist/components/Alerts/list.d.ts +1 -0
  27. package/dist/components/Alerts/list.mjs +13 -8
  28. package/dist/components/Alerts/list.mjs.map +1 -1
  29. package/dist/components/Alerts/list.module.mjs +2 -1
  30. package/dist/components/Alerts/list.module.mjs.map +1 -1
  31. package/dist/components/Alerts/list_module.css +8 -0
  32. package/dist/components/Alerts/list_module.css.map +1 -1
  33. package/dist/components/Card/size_module.css +0 -2
  34. package/dist/components/Card/size_module.css.map +1 -1
  35. package/dist/components/Charts/TimelineCharts/index.mjs +63 -39
  36. package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
  37. package/dist/components/Charts/TreeMap.mjs +124 -107
  38. package/dist/components/Charts/TreeMap.mjs.map +1 -1
  39. package/dist/components/Charts/index.mjs +3 -1
  40. package/dist/components/Charts/index.mjs.map +1 -1
  41. package/dist/components/Charts/treemap_module.css +6 -5
  42. package/dist/components/Charts/treemap_module.css.map +1 -1
  43. package/dist/components/FileTree/index.css +0 -1
  44. package/dist/components/FileTree/index.css.map +1 -1
  45. package/dist/components/FileTree/index.mjs +3 -4
  46. package/dist/components/FileTree/index.mjs.map +1 -1
  47. package/dist/components/Keyword/style_module.css +0 -1
  48. package/dist/components/Keyword/style_module.css.map +1 -1
  49. package/dist/components/Layout/header.mjs +22 -6
  50. package/dist/components/Layout/header.mjs.map +1 -1
  51. package/dist/components/Layout/header.module.mjs +0 -1
  52. package/dist/components/Layout/header.module.mjs.map +1 -1
  53. package/dist/components/Layout/header_module.css +0 -6
  54. package/dist/components/Layout/header_module.css.map +1 -1
  55. package/dist/components/Layout/index.mjs +27 -8
  56. package/dist/components/Layout/index.mjs.map +1 -1
  57. package/dist/components/Layout/menus.mjs +3 -1
  58. package/dist/components/Layout/menus.mjs.map +1 -1
  59. package/dist/components/Layout/rsdoctor-title-logo-dark.mjs +2 -0
  60. package/dist/components/Loader/Analysis/files.mjs +16 -17
  61. package/dist/components/Loader/Analysis/files.mjs.map +1 -1
  62. package/dist/components/Loader/Analysis/style_module.css +13 -14
  63. package/dist/components/Loader/Analysis/style_module.css.map +1 -1
  64. package/dist/components/Loader/executions.mjs +5 -13
  65. package/dist/components/Loader/executions.mjs.map +1 -1
  66. package/dist/components/Opener/ide.mjs +36 -2
  67. package/dist/components/Opener/ide.mjs.map +1 -1
  68. package/dist/components/Overall/DataSummary.mjs +21 -20
  69. package/dist/components/Overall/DataSummary.mjs.map +1 -1
  70. package/dist/components/Overall/DataSummary.module.mjs +1 -12
  71. package/dist/components/Overall/DataSummary.module.mjs.map +1 -1
  72. package/dist/components/Overall/DataSummary_module.css +7 -72
  73. package/dist/components/Overall/DataSummary_module.css.map +1 -1
  74. package/dist/components/Overall/bundle_module.css +1 -4
  75. package/dist/components/Overall/bundle_module.css.map +1 -1
  76. package/dist/components/Overall/list_module.css +0 -2
  77. package/dist/components/Overall/list_module.css.map +1 -1
  78. package/dist/components/Overall/overview_module.css +1 -2
  79. package/dist/components/Overall/overview_module.css.map +1 -1
  80. package/dist/components/base/CodeViewer/index.d.ts +1 -1
  81. package/dist/components/base/CodeViewer/index.mjs +5 -3
  82. package/dist/components/base/CodeViewer/index.mjs.map +1 -1
  83. package/dist/components/base/CodeViewer/interface.d.ts +1 -2
  84. package/dist/components/base/DiffViewer/index.d.ts +1 -1
  85. package/dist/components/base/DiffViewer/index.mjs +4 -1
  86. package/dist/components/base/DiffViewer/index.mjs.map +1 -1
  87. package/dist/components/base/DiffViewer/interface.d.ts +1 -2
  88. package/dist/pages/BundleSize/components/asset-path.d.ts +7 -0
  89. package/dist/pages/BundleSize/components/asset-path.mjs +9 -0
  90. package/dist/pages/BundleSize/components/asset-path.mjs.map +1 -0
  91. package/dist/pages/BundleSize/components/asset-path.test.d.ts +1 -0
  92. package/dist/pages/BundleSize/components/asset-path.test.mjs +27 -0
  93. package/dist/pages/BundleSize/components/asset-path.test.mjs.map +1 -0
  94. package/dist/pages/BundleSize/components/asset_module.css +7 -5
  95. package/dist/pages/BundleSize/components/asset_module.css.map +1 -1
  96. package/dist/pages/BundleSize/components/card_module.css +2 -2
  97. package/dist/pages/BundleSize/components/card_module.css.map +1 -1
  98. package/dist/pages/BundleSize/components/cards.mjs +5 -6
  99. package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
  100. package/dist/pages/BundleSize/components/index.mjs +15 -11
  101. package/dist/pages/BundleSize/components/index.mjs.map +1 -1
  102. package/dist/pages/BundleSize/components/index.module.mjs +1 -6
  103. package/dist/pages/BundleSize/components/index.module.mjs.map +1 -1
  104. package/dist/pages/BundleSize/components/index_module.css +0 -37
  105. package/dist/pages/BundleSize/components/index_module.css.map +1 -1
  106. package/dist/pages/BundleSize/components/search-modal.mjs +5 -5
  107. package/dist/pages/BundleSize/components/search-modal.mjs.map +1 -1
  108. package/dist/pages/BundleSize/components/search-modal.module.mjs +10 -0
  109. package/dist/pages/BundleSize/components/search-modal.module.mjs.map +1 -0
  110. package/dist/pages/BundleSize/components/search-modal_module.css +39 -0
  111. package/dist/pages/BundleSize/components/search-modal_module.css.map +1 -0
  112. package/dist/pages/BundleSize/components/tree-graph.mjs +32 -15
  113. package/dist/pages/BundleSize/components/tree-graph.mjs.map +1 -1
  114. package/dist/pages/ModuleAnalyze/components/fileTreeCom.css +6 -2
  115. package/dist/pages/ModuleAnalyze/components/fileTreeCom.css.map +1 -1
  116. package/dist/pages/ModuleAnalyze/index.css +4 -6
  117. package/dist/pages/ModuleAnalyze/index.css.map +1 -1
  118. package/dist/pages/ModuleAnalyze/index.mjs +3 -4
  119. package/dist/pages/ModuleAnalyze/index.mjs.map +1 -1
  120. package/dist/pages/WebpackLoaders/Analysis/index.mjs +3 -3
  121. package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
  122. package/dist/pages/WebpackLoaders/Overall/index.mjs +1 -1
  123. package/dist/pages/WebpackLoaders/Overall/index.mjs.map +1 -1
  124. package/dist/static/image/rsdoctor-title-logo-dark.png +0 -0
  125. package/dist/utils/assets.d.ts +1 -0
  126. package/dist/utils/assets.mjs +17 -0
  127. package/dist/utils/assets.mjs.map +1 -0
  128. package/dist/utils/assets.test.d.ts +1 -0
  129. package/dist/utils/assets.test.mjs +22 -0
  130. package/dist/utils/assets.test.mjs.map +1 -0
  131. package/dist/utils/hooks.d.ts +1 -0
  132. package/dist/utils/hooks.mjs +6 -1
  133. package/dist/utils/hooks.mjs.map +1 -1
  134. package/package.json +8 -8
@@ -11,7 +11,7 @@
11
11
  }
12
12
 
13
13
  .container-iQTvf7 .title-OR484p {
14
- color: #00000073;
14
+ color: var(--text-color-secondary);
15
15
  margin-bottom: 5px;
16
16
  font-size: 12px;
17
17
  font-weight: 400;
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://./src/components/Alert/ecma-version-check.module.scss"],"names":[],"mappings":"AAAA;EACE,8BAA8B;EAC9B,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;AACf;;AAL2F;EAQzF,YAAY;EACZ,aAAa;AACf;;AAVoI;EAalI,gBAAgB;EAChB,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAlBsP;EAqBpP,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".container{display:flex;justify-content:space-between;align-items:center;padding:10px 20px}.container .box{width:290px;display:flex}.container .title{font-size:12px;font-weight:400;line-height:16px;margin-bottom:5px;color:rgba(0,0,0,.4509803922)}.container .content{font-size:14px;font-weight:400;line-height:16px;margin-left:5px}"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://./src/components/Alert/ecma-version-check.module.scss"],"names":[],"mappings":"AAAA;EACE,8BAA8B;EAC9B,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;AACf;;AAL2F;EAQzF,YAAY;EACZ,aAAa;AACf;;AAVoI;EAalI,kCAAkC;EAClC,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AAlB0P;EAqBxP,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".container{display:flex;justify-content:space-between;align-items:center;padding:10px 20px}.container .box{width:290px;display:flex}.container .title{font-size:12px;font-weight:400;line-height:16px;margin-bottom:5px;color:var(--text-color-secondary)}.container .content{font-size:14px;font-weight:400;line-height:16px;margin-left:5px}"],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  import { ViewMode } from '../../constants.js';
2
- import { AlertProps } from '../Alert/types.js';
2
+ import type { AlertProps } from '../Alert/types.js';
3
3
  import type { Rule } from '@rsdoctor/types';
4
4
  interface BundleAlertProps {
5
5
  title: string;
@@ -1,89 +1,93 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Empty, Tabs, Tag } from "antd";
3
+ import { useEffect, useState } from "react";
3
4
  import { Card } from "../Card/index.mjs";
4
5
  import { ECMAVersionCheck } from "../Alert/ecma-version-check.mjs";
5
6
  import { Overview } from "../Overall/overview.mjs";
6
7
  import { AlertCollapse } from "./collapse.mjs";
7
8
  import { CommonList } from "./list.mjs";
9
+ import { useThemeToken } from "../../utils/index.mjs";
8
10
  import bundle_alert_module from "./bundle-alert.module.mjs";
9
- import { useState } from "react";
11
+ import index_module from "./index.module.mjs";
10
12
  import { CrossChunksAlertCollapse } from "./collapse-cross-chunks.mjs";
11
13
  import { ModuleMixedChunksAlertCollapse } from "./collapse-module-mixed-chunks.mjs";
12
14
  import { SideEffectsOnlyImportsAlertCollapse } from "./collapse-side-effects-only-imports.mjs";
13
15
  import { CjsRequireAlertCollapse } from "./collapse-cjs-require.mjs";
14
16
  import { EsmResolvedToCjsAlertCollapse } from "./collapse-esm-cjs.mjs";
17
+ const BUILTIN_RULE_TABS = [
18
+ {
19
+ key: 'E1001',
20
+ label: 'Duplicate Packages'
21
+ },
22
+ {
23
+ key: 'E1002',
24
+ label: 'Cross Chunks Package'
25
+ },
26
+ {
27
+ key: 'E1003',
28
+ label: 'Loader Performance Optimization'
29
+ },
30
+ {
31
+ key: 'E1004',
32
+ label: 'ECMA Version Check'
33
+ },
34
+ {
35
+ key: 'E1005',
36
+ label: 'Default Import Check'
37
+ },
38
+ {
39
+ key: 'E1006',
40
+ label: 'Module Mixed Chunks'
41
+ },
42
+ {
43
+ key: 'E1007',
44
+ label: 'Tree Shaking Side Effects Only'
45
+ },
46
+ {
47
+ key: 'E1008',
48
+ label: 'CJS Require Cannot Tree-Shake'
49
+ },
50
+ {
51
+ key: 'E1009',
52
+ label: 'ESM Import Resolved to CJS'
53
+ }
54
+ ];
15
55
  const BundleAlert = ({ title, dataSource, extraData })=>{
16
- const firstKeyWithData = [
17
- 'E1001',
18
- 'E1002',
19
- 'E1003',
20
- 'E1004',
21
- 'E1005',
22
- 'E1006',
23
- 'E1007',
24
- 'E1008',
25
- 'E1009'
26
- ].find((code)=>dataSource.some((d)=>d.code === code)) ?? 'E1001';
27
- const [activeKey, setActiveKey] = useState(firstKeyWithData);
28
- const tabData = [
29
- {
30
- key: 'E1001',
31
- label: 'Duplicate Packages',
32
- data: []
33
- },
34
- {
35
- key: 'E1002',
36
- label: 'Cross Chunks Package',
37
- data: []
38
- },
39
- {
40
- key: 'E1003',
41
- label: 'Loader Performance Optimization',
42
- data: []
43
- },
44
- {
45
- key: 'E1004',
46
- label: 'ECMA Version Check',
47
- data: []
48
- },
49
- {
50
- key: 'E1005',
51
- label: 'Default Import Check',
52
- data: []
53
- },
54
- {
55
- key: 'E1006',
56
- label: 'Module Mixed Chunks',
57
- data: []
58
- },
59
- {
60
- key: 'E1007',
61
- label: 'Tree Shaking Side Effects Only',
62
- data: []
63
- },
64
- {
65
- key: 'E1008',
66
- label: 'CJS Require Cannot Tree-Shake',
67
- data: []
68
- },
69
- {
70
- key: 'E1009',
71
- label: 'ESM Import Resolved to CJS',
72
- data: []
73
- }
74
- ];
56
+ const themeToken = useThemeToken();
57
+ const tabData = BUILTIN_RULE_TABS.map((tab)=>({
58
+ ...tab,
59
+ data: [],
60
+ tag: tab.key
61
+ }));
62
+ const customRulesData = [];
75
63
  dataSource.forEach((data)=>{
76
- const target = tabData.find((td)=>td.key === data.code)?.data;
77
- target?.push(data);
64
+ const target = tabData.find((td)=>td.key === data.code);
65
+ if (target) target.data.push(data);
66
+ else customRulesData.push(data);
67
+ });
68
+ if (customRulesData.length) tabData.push({
69
+ key: 'CUSTOM_RULES',
70
+ label: 'Custom Rules',
71
+ data: customRulesData,
72
+ tag: 'Custom'
78
73
  });
79
74
  tabData.sort((a, b)=>(b.data.length > 0 ? 1 : 0) - (a.data.length > 0 ? 1 : 0));
75
+ const defaultActiveKey = tabData[0]?.key ?? 'E1001';
76
+ const [activeKey, setActiveKey] = useState(defaultActiveKey);
77
+ const activeTab = tabData.find((tab)=>tab.key === activeKey);
78
+ const resolvedActiveKey = activeTab && (activeTab.data.length > 0 || 0 === dataSource.length) ? activeKey : defaultActiveKey;
79
+ useEffect(()=>{
80
+ setActiveKey(defaultActiveKey);
81
+ }, [
82
+ defaultActiveKey
83
+ ]);
80
84
  const tabItems = tabData.map((td)=>{
81
- const tagStyle = activeKey === td.key ? {
82
- border: '1px solid #91D5FF',
83
- backgroundColor: '#E6F7FF'
85
+ const tagStyle = resolvedActiveKey === td.key ? {
86
+ border: `1px solid ${themeToken.colorPrimaryBorder}`,
87
+ backgroundColor: themeToken.colorPrimaryBg
84
88
  } : {};
85
- const tagTextStyle = activeKey === td.key ? {
86
- color: '#1890FF'
89
+ const tagTextStyle = resolvedActiveKey === td.key ? {
90
+ color: themeToken.colorPrimary
87
91
  } : {};
88
92
  const LabelComponent = ()=>/*#__PURE__*/ jsx(Overview, {
89
93
  style: {
@@ -112,7 +116,7 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
112
116
  style: {
113
117
  ...tagTextStyle
114
118
  },
115
- children: td.key
119
+ children: td.tag
116
120
  })
117
121
  })
118
122
  ]
@@ -174,6 +178,12 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
174
178
  extraData: extraData
175
179
  });
176
180
  break;
181
+ case 'CUSTOM_RULES':
182
+ children = /*#__PURE__*/ jsx(CommonList, {
183
+ data: td.data,
184
+ showCode: true
185
+ });
186
+ break;
177
187
  default:
178
188
  children = null;
179
189
  break;
@@ -191,14 +201,13 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
191
201
  title: /*#__PURE__*/ jsxs(Fragment, {
192
202
  children: [
193
203
  /*#__PURE__*/ jsx(Tag, {
204
+ className: index_module.tag,
194
205
  style: {
195
206
  fontFamily: 'Menlo',
196
207
  fontWeight: '700',
197
- fontSize: '13px',
198
- backgroundColor: '#EAEDF1',
199
- borderRadius: '2px'
208
+ fontSize: '13px'
200
209
  },
201
- children: td.key
210
+ children: td.tag
202
211
  }),
203
212
  /*#__PURE__*/ jsx("span", {
204
213
  children: td.label
@@ -225,7 +234,7 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
225
234
  onChange: setActiveKey,
226
235
  tabBarGutter: 10,
227
236
  type: "card",
228
- defaultActiveKey: tabData[0]?.key ?? 'E1001',
237
+ activeKey: resolvedActiveKey,
229
238
  items: tabItems
230
239
  }) : /*#__PURE__*/ jsx("div", {
231
240
  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';\nimport { SideEffectsOnlyImportsAlertCollapse } from './collapse-side-effects-only-imports';\nimport { CjsRequireAlertCollapse } from './collapse-cjs-require';\nimport { EsmResolvedToCjsAlertCollapse } from './collapse-esm-cjs';\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?: React.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 'E1009',\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 key: 'E1009',\n label: 'ESM Import Resolved to CJS',\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 case 'E1009':\n children = (\n <EsmResolvedToCjsAlertCollapse 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","EsmResolvedToCjsAlertCollapse","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';\nimport { useEffect, useState } from 'react';\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';\nimport { useThemeToken } from '../../utils';\n\nimport type { AlertProps } from '../Alert/types';\nimport type { CSSProperties } from 'react';\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module.scss';\nimport utilStyles from './index.module.scss';\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';\nimport { EsmResolvedToCjsAlertCollapse } from './collapse-esm-cjs';\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?: React.JSX.Element | undefined;\n}\n\nconst BUILTIN_RULE_TABS = [\n {\n key: 'E1001',\n label: 'Duplicate Packages',\n },\n {\n key: 'E1002',\n label: 'Cross Chunks Package',\n },\n {\n key: 'E1003',\n label: 'Loader Performance Optimization',\n },\n {\n key: 'E1004',\n label: 'ECMA Version Check',\n },\n {\n key: 'E1005',\n label: 'Default Import Check',\n },\n {\n key: 'E1006',\n label: 'Module Mixed Chunks',\n },\n {\n key: 'E1007',\n label: 'Tree Shaking Side Effects Only',\n },\n {\n key: 'E1008',\n label: 'CJS Require Cannot Tree-Shake',\n },\n {\n key: 'E1009',\n label: 'ESM Import Resolved to CJS',\n },\n];\n\nexport const BundleAlert: React.FC<BundleAlertProps> = ({\n title,\n dataSource,\n extraData,\n}) => {\n const themeToken = useThemeToken();\n const tabData: Array<{\n key: string;\n label: string;\n data: Array<Rule.RuleStoreDataItem>;\n tag: string;\n }> = BUILTIN_RULE_TABS.map((tab) => ({ ...tab, data: [], tag: tab.key }));\n const customRulesData: Array<Rule.RuleStoreDataItem> = [];\n\n dataSource.forEach((data) => {\n const target = tabData.find((td) => td.key === data.code);\n if (target) {\n target.data.push(data);\n } else {\n customRulesData.push(data);\n }\n });\n\n if (customRulesData.length) {\n tabData.push({\n key: 'CUSTOM_RULES',\n label: 'Custom Rules',\n data: customRulesData,\n tag: 'Custom',\n });\n }\n\n tabData.sort(\n (a, b) => (b.data.length > 0 ? 1 : 0) - (a.data.length > 0 ? 1 : 0),\n );\n\n const defaultActiveKey = tabData[0]?.key ?? 'E1001';\n const [activeKey, setActiveKey] = useState(defaultActiveKey);\n const activeTab = tabData.find((tab) => tab.key === activeKey);\n const resolvedActiveKey =\n activeTab && (activeTab.data.length > 0 || dataSource.length === 0)\n ? activeKey\n : defaultActiveKey;\n\n useEffect(() => {\n setActiveKey(defaultActiveKey);\n }, [defaultActiveKey]);\n\n const tabItems = tabData.map((td) => {\n const tagStyle =\n resolvedActiveKey === td.key\n ? ({\n border: `1px solid ${themeToken.colorPrimaryBorder}`,\n backgroundColor: themeToken.colorPrimaryBg,\n } as CSSProperties)\n : {};\n\n const tagTextStyle =\n resolvedActiveKey === td.key\n ? {\n color: themeToken.colorPrimary,\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.tag}</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 case 'E1009':\n children = (\n <EsmResolvedToCjsAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n case 'CUSTOM_RULES':\n children = <CommonList data={td.data} showCode />;\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 className={utilStyles.tag}\n style={{\n fontFamily: 'Menlo',\n fontWeight: '700',\n fontSize: '13px',\n }}\n >\n {td.tag}\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 activeKey={resolvedActiveKey}\n items={tabItems}\n />\n )}\n </div>\n </Card>\n );\n};\n"],"names":["BUILTIN_RULE_TABS","BundleAlert","title","dataSource","extraData","themeToken","useThemeToken","tabData","tab","customRulesData","data","target","td","a","b","defaultActiveKey","activeKey","setActiveKey","useState","activeTab","resolvedActiveKey","useEffect","tabItems","tagStyle","tagTextStyle","LabelComponent","Overview","styles","Tag","children","description","AlertCollapse","CrossChunksAlertCollapse","CommonList","ECMAVersionCheck","ModuleMixedChunksAlertCollapse","SideEffectsOnlyImportsAlertCollapse","CjsRequireAlertCollapse","EsmResolvedToCjsAlertCollapse","Empty","Card","utilStyles","Tabs"],"mappings":"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"}
@@ -27,8 +27,7 @@ const BundleAlertsBase = ({ filter, project })=>{
27
27
  }
28
28
  },
29
29
  token: {
30
- padding: 16,
31
- colorText: 'rgba(0, 0, 0, 0.85)'
30
+ padding: 16
32
31
  }
33
32
  },
34
33
  children: /*#__PURE__*/ jsx(BundleAlert, {
@@ -1 +1 @@
1
- {"version":3,"file":"components/Alerts/bundle.mjs","sources":["../../../src/components/Alerts/bundle.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Rule, SDK } from '@rsdoctor/types';\nimport { hasViewModeFromStorage, useViewMode, useI18n } from '../../utils';\nimport { BundleAlert } from './bundle-alert';\nimport { withServerAPI } from '../Manifest';\nimport { ViewMode } from '../../constants';\nimport { PackageRelationReasonsWithServer } from '../Alert/package-relation';\nimport { ConfigProvider } from 'antd';\n\ninterface BundleAlertsProps {\n filter?(alert: Rule.RuleStoreDataItem): boolean;\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}\n\nexport const BundleAlertsBase: React.FC<BundleAlertsProps> = ({\n filter,\n project,\n}) => {\n const { errors, root: cwd } = project;\n const bundleAlerts = errors;\n const { setBundleAlertsViewMode, viewMode, setViewMode } = useViewMode();\n const { t } = useI18n();\n\n const dataSource = filter ? bundleAlerts.filter(filter) : bundleAlerts;\n\n useEffect(() => {\n if (!hasViewModeFromStorage()) {\n setViewMode(\n {\n bundleAlerts:\n bundleAlerts.length >= 5 ? ViewMode.Group : ViewMode.List,\n },\n false,\n );\n }\n }, []);\n\n return (\n <ConfigProvider\n theme={{\n components: {\n Alert: {\n colorInfoBg: '#e6f4ff57',\n colorInfoBorder: 'none',\n },\n },\n token: {\n padding: 16,\n colorText: 'rgba(0, 0, 0, 0.85)',\n },\n }}\n >\n <BundleAlert\n title={t('Bundle Alerts')}\n dataSource={dataSource}\n extraData={{\n cwd,\n getPackageRelationContentComponent: (res) => (\n <PackageRelationReasonsWithServer\n body={{ id: res.data.id, target: res.package.target }}\n cwd={cwd}\n />\n ),\n }}\n viewMode={viewMode.bundleAlerts}\n setViewMode={setBundleAlertsViewMode}\n cwd={cwd}\n />\n </ConfigProvider>\n );\n};\n\nexport const BundleAlerts = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: BundleAlertsBase,\n});\n"],"names":["BundleAlertsBase","filter","project","errors","cwd","bundleAlerts","setBundleAlertsViewMode","viewMode","setViewMode","useViewMode","t","useI18n","dataSource","useEffect","hasViewModeFromStorage","ViewMode","ConfigProvider","BundleAlert","res","PackageRelationReasonsWithServer","BundleAlerts","withServerAPI","SDK"],"mappings":";;;;;;;;;AAcO,MAAMA,mBAAgD,CAAC,EAC5DC,MAAM,EACNC,OAAO,EACR;IACC,MAAM,EAAEC,MAAM,EAAE,MAAMC,GAAG,EAAE,GAAGF;IAC9B,MAAMG,eAAeF;IACrB,MAAM,EAAEG,uBAAuB,EAAEC,QAAQ,EAAEC,WAAW,EAAE,GAAGC;IAC3D,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,MAAMC,aAAaX,SAASI,aAAa,MAAM,CAACJ,UAAUI;IAE1DQ,UAAU;QACR,IAAI,CAACC,0BACHN,YACE;YACE,cACEH,aAAa,MAAM,IAAI,IAAIU,SAAS,KAAK,GAAGA,SAAS,IAAI;QAC7D,GACA;IAGN,GAAG,EAAE;IAEL,OAAO,WAAP,GACE,IAACC,gBAAcA;QACb,OAAO;YACL,YAAY;gBACV,OAAO;oBACL,aAAa;oBACb,iBAAiB;gBACnB;YACF;YACA,OAAO;gBACL,SAAS;gBACT,WAAW;YACb;QACF;kBAEA,kBAACC,aAAWA;YACV,OAAOP,EAAE;YACT,YAAYE;YACZ,WAAW;gBACTR;gBACA,oCAAoC,CAACc,MAAAA,WAAAA,GACnC,IAACC,kCAAgCA;wBAC/B,MAAM;4BAAE,IAAID,IAAI,IAAI,CAAC,EAAE;4BAAE,QAAQA,IAAI,OAAO,CAAC,MAAM;wBAAC;wBACpD,KAAKd;;YAGX;YACA,UAAUG,SAAS,YAAY;YAC/B,aAAaD;YACb,KAAKF;;;AAIb;AAEO,MAAMgB,eAAeC,cAAc;IACxC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,cAAc;IACrC,kBAAkB;IAClB,WAAWtB;AACb"}
1
+ {"version":3,"file":"components/Alerts/bundle.mjs","sources":["../../../src/components/Alerts/bundle.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Rule, SDK } from '@rsdoctor/types';\nimport { hasViewModeFromStorage, useViewMode, useI18n } from '../../utils';\nimport { BundleAlert } from './bundle-alert';\nimport { withServerAPI } from '../Manifest';\nimport { ViewMode } from '../../constants';\nimport { PackageRelationReasonsWithServer } from '../Alert/package-relation';\nimport { ConfigProvider } from 'antd';\n\ninterface BundleAlertsProps {\n filter?(alert: Rule.RuleStoreDataItem): boolean;\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}\n\nexport const BundleAlertsBase: React.FC<BundleAlertsProps> = ({\n filter,\n project,\n}) => {\n const { errors, root: cwd } = project;\n const bundleAlerts = errors;\n const { setBundleAlertsViewMode, viewMode, setViewMode } = useViewMode();\n const { t } = useI18n();\n\n const dataSource = filter ? bundleAlerts.filter(filter) : bundleAlerts;\n\n useEffect(() => {\n if (!hasViewModeFromStorage()) {\n setViewMode(\n {\n bundleAlerts:\n bundleAlerts.length >= 5 ? ViewMode.Group : ViewMode.List,\n },\n false,\n );\n }\n }, []);\n\n return (\n <ConfigProvider\n theme={{\n components: {\n Alert: {\n colorInfoBg: '#e6f4ff57',\n colorInfoBorder: 'none',\n },\n },\n token: {\n padding: 16,\n },\n }}\n >\n <BundleAlert\n title={t('Bundle Alerts')}\n dataSource={dataSource}\n extraData={{\n cwd,\n getPackageRelationContentComponent: (res) => (\n <PackageRelationReasonsWithServer\n body={{ id: res.data.id, target: res.package.target }}\n cwd={cwd}\n />\n ),\n }}\n viewMode={viewMode.bundleAlerts}\n setViewMode={setBundleAlertsViewMode}\n cwd={cwd}\n />\n </ConfigProvider>\n );\n};\n\nexport const BundleAlerts = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: BundleAlertsBase,\n});\n"],"names":["BundleAlertsBase","filter","project","errors","cwd","bundleAlerts","setBundleAlertsViewMode","viewMode","setViewMode","useViewMode","t","useI18n","dataSource","useEffect","hasViewModeFromStorage","ViewMode","ConfigProvider","BundleAlert","res","PackageRelationReasonsWithServer","BundleAlerts","withServerAPI","SDK"],"mappings":";;;;;;;;;AAcO,MAAMA,mBAAgD,CAAC,EAC5DC,MAAM,EACNC,OAAO,EACR;IACC,MAAM,EAAEC,MAAM,EAAE,MAAMC,GAAG,EAAE,GAAGF;IAC9B,MAAMG,eAAeF;IACrB,MAAM,EAAEG,uBAAuB,EAAEC,QAAQ,EAAEC,WAAW,EAAE,GAAGC;IAC3D,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,MAAMC,aAAaX,SAASI,aAAa,MAAM,CAACJ,UAAUI;IAE1DQ,UAAU;QACR,IAAI,CAACC,0BACHN,YACE;YACE,cACEH,aAAa,MAAM,IAAI,IAAIU,SAAS,KAAK,GAAGA,SAAS,IAAI;QAC7D,GACA;IAGN,GAAG,EAAE;IAEL,OAAO,WAAP,GACE,IAACC,gBAAcA;QACb,OAAO;YACL,YAAY;gBACV,OAAO;oBACL,aAAa;oBACb,iBAAiB;gBACnB;YACF;YACA,OAAO;gBACL,SAAS;YACX;QACF;kBAEA,kBAACC,aAAWA;YACV,OAAOP,EAAE;YACT,YAAYE;YACZ,WAAW;gBACTR;gBACA,oCAAoC,CAACc,MAAAA,WAAAA,GACnC,IAACC,kCAAgCA;wBAC/B,MAAM;4BAAE,IAAID,IAAI,IAAI,CAAC,EAAE;4BAAE,QAAQA,IAAI,OAAO,CAAC,MAAM;wBAAC;wBACpD,KAAKd;;YAGX;YACA,UAAUG,SAAS,YAAY;YAC/B,aAAaD;YACb,KAAKF;;;AAIb;AAEO,MAAMgB,eAAeC,cAAc;IACxC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,cAAc;IACrC,kBAAkB;IAClB,WAAWtB;AACb"}
@@ -2,6 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Collapse, Space, Tag } from "antd";
3
3
  import overview from "../Overall/overview.mjs";
4
4
  import collapse_module from "./collapse.module.mjs";
5
+ import index_module from "./index.module.mjs";
5
6
  import { beautifyPath } from "../../utils/file.mjs";
6
7
  import { IdeIcons, LabelComponent } from "./collapse-shared.mjs";
7
8
  const { innerWidth: collapse_cjs_require_innerWidth } = window;
@@ -28,24 +29,20 @@ const CjsRequireAlertCollapse = (props)=>{
28
29
  const ChildComponent = ()=>/*#__PURE__*/ jsx("div", {
29
30
  className: collapse_module.collapseContainer,
30
31
  children: /*#__PURE__*/ jsx(overview, {
31
- style: {
32
- backgroundColor: '#fff'
33
- },
34
32
  title: /*#__PURE__*/ jsxs(Space, {
35
33
  align: "center",
36
34
  children: [
37
35
  /*#__PURE__*/ jsx("span", {
38
36
  style: {
39
37
  fontSize: 13,
40
- fontWeight: 500,
41
- color: 'rgba(28, 31, 35, 0.85)'
38
+ fontWeight: 500
42
39
  },
43
40
  children: "Required Module:"
44
41
  }),
45
42
  /*#__PURE__*/ jsx("span", {
46
43
  style: {
47
44
  fontSize: 12,
48
- color: 'rgba(28, 31, 35, 0.6)',
45
+ color: 'var(--text-color-secondary)',
49
46
  fontWeight: 300,
50
47
  maxWidth: collapse_cjs_require_innerWidth > 1500 ? 900 : 700,
51
48
  overflow: 'hidden',
@@ -63,8 +60,7 @@ const CjsRequireAlertCollapse = (props)=>{
63
60
  /*#__PURE__*/ jsx("div", {
64
61
  style: {
65
62
  marginBottom: 8,
66
- fontWeight: 500,
67
- color: 'rgba(28, 31, 35, 0.85)'
63
+ fontWeight: 500
68
64
  },
69
65
  children: "CJS Require Callers:"
70
66
  }),
@@ -87,10 +83,9 @@ const CjsRequireAlertCollapse = (props)=>{
87
83
  children: beautifyPath(issuer.issuerPath, cwd)
88
84
  }),
89
85
  /*#__PURE__*/ jsx(Tag, {
86
+ className: index_module.tag,
90
87
  style: {
91
88
  marginLeft: 8,
92
- backgroundColor: '#EAEDF1',
93
- borderRadius: '2px',
94
89
  fontSize: 11,
95
90
  fontFamily: 'Menlo'
96
91
  },
@@ -114,10 +109,7 @@ const CjsRequireAlertCollapse = (props)=>{
114
109
  size: 4,
115
110
  align: "center",
116
111
  children: /*#__PURE__*/ jsx(Tag, {
117
- style: {
118
- backgroundColor: '#EAEDF1',
119
- borderRadius: '2px'
120
- },
112
+ className: index_module.tag,
121
113
  children: /*#__PURE__*/ jsx("span", {
122
114
  className: collapse_module.pkgName,
123
115
  children: requiredDisplayPath
@@ -1 +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"}
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 utilStyles from './index.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 title={\n <Space align=\"center\">\n <span\n style={{\n fontSize: 13,\n fontWeight: 500,\n }}\n >\n Required Module:\n </span>\n <span\n style={{\n fontSize: 12,\n color: 'var(--text-color-secondary)',\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 }}\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 className={utilStyles.tag}\n style={{\n marginLeft: 8,\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 className={utilStyles.tag}>\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","utilStyles","IdeIcons","LabelComponent","Collapse"],"mappings":";;;;;;;AAWA,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,qBACE,KAACC,OAAKA;wBAAC,OAAM;;0CACX,IAAC;gCACC,OAAO;oCACL,UAAU;oCACV,YAAY;gCACd;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;gCACd;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,WAAWC,aAAAA,GAAc;oDACzB,OAAO;wDACL,YAAY;wDACZ,UAAU;wDACV,YAAY;oDACd;8DAEC,CAAC,SAAS,EAAEH,OAAO,OAAO,CAAC,EAAE,CAAC;;8DAEjC,IAACI,UAAQA;oDAAC,MAAMJ,OAAO,UAAU;;;;;mCAtB9BC;;;;;QAgCnB,OAAO;YACL,KAAKR;YACL,OAAO,WAAP,GACE,IAACY,gBAAcA;gBACb,qBACE,IAACN,OAAKA;oBAAC,MAAM;oBAAG,OAAM;8BACpB,kBAACG,KAAGA;wBAAC,WAAWC,aAAAA,GAAc;kCAC5B,kBAAC;4BAAK,WAAWN,gBAAAA,OAAc;sCAAGJ;;;;gBAIxC,aAAa,CAAC,0DAA0D,EAAEE,YAAY,WAAW,CAAC;;YAGtG,UAAU,WAAV,GAAU,IAACC,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACU,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkBf,MAAM,GAAG,CAAC,CAACJ,OAASA,KAAK,GAAG;QAC9C,OAAOI;;AAGb"}
@@ -3,6 +3,7 @@ import icons from "@ant-design/icons";
3
3
  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
+ import index_module from "./index.module.mjs";
6
7
  import total_size from "../../common/svg/total-size.mjs";
7
8
  import { LabelComponent } from "./collapse-shared.mjs";
8
9
  const { Text: Text } = Typography;
@@ -14,9 +15,6 @@ const CrossChunksAlertCollapse = (props)=>{
14
15
  const ChildComponent = ()=>chunks.map(({ chunks, module })=>/*#__PURE__*/ jsx("div", {
15
16
  className: collapse_module.collapseContainer,
16
17
  children: /*#__PURE__*/ jsx(overview, {
17
- style: {
18
- backgroundColor: '#fff'
19
- },
20
18
  title: /*#__PURE__*/ jsxs(Space, {
21
19
  children: [
22
20
  /*#__PURE__*/ jsx(icons, {
@@ -33,9 +31,9 @@ const CrossChunksAlertCollapse = (props)=>{
33
31
  "Module:",
34
32
  ' ',
35
33
  /*#__PURE__*/ jsx(Text, {
34
+ type: "secondary",
36
35
  style: {
37
36
  fontSize: 12,
38
- color: 'rgba(28, 31, 35, 0.6)',
39
37
  fontWeight: 300
40
38
  },
41
39
  children: module.path
@@ -71,10 +69,7 @@ const CrossChunksAlertCollapse = (props)=>{
71
69
  key: `${dupPackage.name}@${dupPackage.version}`,
72
70
  label: /*#__PURE__*/ jsx(LabelComponent, {
73
71
  title: /*#__PURE__*/ jsx(Tag, {
74
- style: {
75
- backgroundColor: '#EAEDF1',
76
- borderRadius: '2px'
77
- },
72
+ className: index_module.tag,
78
73
  children: /*#__PURE__*/ jsx("span", {
79
74
  className: collapse_module.pkgName,
80
75
  children: `${dupPackage.name}@${dupPackage.version}`
@@ -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';\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"}
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 utilStyles from './index.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 title={\n <Space>\n <Icon style={{ fontSize: '18px' }} component={TotalSizeSvg} />\n <Text style={{ width: innerWidth > 1500 ? 900 : 700 }}>\n Module:{' '}\n <Text\n type=\"secondary\"\n style={{\n fontSize: 12,\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 className={utilStyles.tag}>\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","utilStyles","Collapse"],"mappings":";;;;;;;;AAYA,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,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,MAAK;4CACL,OAAO;gDACL,UAAU;gDACV,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,WAAWC,aAAAA,GAAc;8BAC5B,kBAAC;wBACC,WAAWR,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,IAACW,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkB;YAAC;SAAQ;QAC3B,OAAOf;;AAGb"}
@@ -2,6 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Collapse, Space, Tag, Tooltip, Typography } from "antd";
3
3
  import overview from "../Overall/overview.mjs";
4
4
  import collapse_module from "./collapse.module.mjs";
5
+ import index_module from "./index.module.mjs";
5
6
  import { beautifyPath } from "../../utils/file.mjs";
6
7
  import { truncateMiddle } from "../../utils/string.mjs";
7
8
  import { LabelComponent } from "./collapse-shared.mjs";
@@ -17,9 +18,6 @@ const EsmResolvedToCjsAlertCollapse = (props)=>{
17
18
  const ChildComponent = ()=>/*#__PURE__*/ jsx("div", {
18
19
  className: collapse_module.collapseContainer,
19
20
  children: /*#__PURE__*/ jsx(overview, {
20
- style: {
21
- backgroundColor: '#fff'
22
- },
23
21
  title: /*#__PURE__*/ jsxs(Space, {
24
22
  align: "center",
25
23
  wrap: true,
@@ -32,10 +30,9 @@ const EsmResolvedToCjsAlertCollapse = (props)=>{
32
30
  children: "Package:"
33
31
  }),
34
32
  /*#__PURE__*/ jsx(Tag, {
33
+ className: index_module.tag,
35
34
  style: {
36
- fontFamily: 'Menlo',
37
- backgroundColor: '#EAEDF1',
38
- borderRadius: '2px'
35
+ fontFamily: 'Menlo'
39
36
  },
40
37
  children: `${packageName}@${packageVersion}`
41
38
  })
@@ -152,8 +149,7 @@ const EsmResolvedToCjsAlertCollapse = (props)=>{
152
149
  key: 'issuers',
153
150
  label: /*#__PURE__*/ jsx("span", {
154
151
  style: {
155
- fontWeight: 500,
156
- color: 'rgba(28, 31, 35, 0.85)'
152
+ fontWeight: 500
157
153
  },
158
154
  children: `ESM Importers (${issuers.length})`
159
155
  }),
@@ -176,10 +172,9 @@ const EsmResolvedToCjsAlertCollapse = (props)=>{
176
172
  children: beautifyPath(issuer.path, cwd)
177
173
  }),
178
174
  /*#__PURE__*/ jsx(Tag, {
175
+ className: index_module.tag,
179
176
  style: {
180
177
  marginLeft: 8,
181
- backgroundColor: '#EAEDF1',
182
- borderRadius: '2px',
183
178
  fontSize: 11,
184
179
  fontFamily: 'Menlo'
185
180
  },
@@ -203,6 +198,7 @@ const EsmResolvedToCjsAlertCollapse = (props)=>{
203
198
  size: 4,
204
199
  align: "center",
205
200
  children: /*#__PURE__*/ jsx(Tag, {
201
+ className: index_module.tag,
206
202
  style: {
207
203
  backgroundColor: '#EAEDF1',
208
204
  borderRadius: '2px'
@@ -1 +1 @@
1
- {"version":3,"file":"components/Alerts/collapse-esm-cjs.mjs","sources":["../../../src/components/Alerts/collapse-esm-cjs.tsx"],"sourcesContent":["import { Collapse, Space, Tag, Tooltip, Typography } from 'antd';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport { beautifyPath } from '../../utils/file';\nimport { truncateMiddle } from '../../utils/string';\nimport { LabelComponent } from './collapse-shared';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\n\nexport const EsmResolvedToCjsAlertCollapse = (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 item = d as Rule.EsmResolvedToCjsRuleStoreData;\n const { packageName, packageVersion, esmEntry, resolvedModule, issuers } =\n item;\n\n const resolvedDisplayPath = beautifyPath(resolvedModule.path, cwd);\n const esmDisplayPath = beautifyPath(esmEntry, cwd);\n\n const ChildComponent = () => (\n <div className={styles.collapseContainer}>\n <Overview\n style={{ backgroundColor: '#fff' }}\n title={\n <Space align=\"center\" wrap>\n <Text strong style={{ fontSize: 13 }}>\n Package:\n </Text>\n <Tag\n style={{\n fontFamily: 'Menlo',\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n }}\n >\n {`${packageName}@${packageVersion}`}\n </Tag>\n </Space>\n }\n description={\n <div\n className={styles.collapseChild}\n style={{ flexDirection: 'column', paddingTop: 16 }}\n >\n {/* ESM entry that should have been used */}\n <div\n style={{\n display: 'flex',\n marginBottom: 8,\n alignItems: 'center',\n }}\n >\n <div\n className={styles.attribute}\n style={{ color: '#52c41a', minWidth: 100 }}\n >\n <Tag\n style={{\n backgroundColor: '#f6ffed',\n borderColor: '#b7eb8f',\n color: '#389e0d',\n borderRadius: '2px',\n }}\n >\n ESM Entry\n </Tag>\n </div>\n <div className={styles.iconContainer}>\n <Tooltip title={esmDisplayPath}>\n <span className={styles.data}>\n {truncateMiddle(esmDisplayPath)}\n </span>\n </Tooltip>\n <Tag\n style={{\n marginLeft: 8,\n backgroundColor: '#f6ffed',\n borderColor: '#b7eb8f',\n color: '#389e0d',\n borderRadius: '2px',\n fontSize: 11,\n }}\n >\n declared in package.json\n </Tag>\n </div>\n </div>\n\n {/* CJS file that was actually resolved */}\n <div\n style={{\n display: 'flex',\n marginBottom: 16,\n alignItems: 'center',\n }}\n >\n <div\n className={styles.attribute}\n style={{ color: '#ff4d4f', minWidth: 100 }}\n >\n <Tag\n style={{\n backgroundColor: '#fff7e6',\n borderColor: '#ffd591',\n color: '#d46b08',\n borderRadius: '2px',\n }}\n >\n CJS Resolved\n </Tag>\n </div>\n <div className={styles.iconContainer}>\n <Tooltip title={resolvedDisplayPath}>\n <span className={styles.data}>\n {truncateMiddle(resolvedDisplayPath)}\n </span>\n </Tooltip>\n <Tag\n style={{\n marginLeft: 8,\n backgroundColor: '#fff1f0',\n borderColor: '#ffa39e',\n color: '#cf1322',\n borderRadius: '2px',\n fontSize: 11,\n }}\n >\n actually bundled\n </Tag>\n </div>\n </div>\n\n {/* Issuers */}\n <Collapse\n size=\"small\"\n ghost\n items={[\n {\n key: 'issuers',\n label: (\n <span\n style={{\n fontWeight: 500,\n color: 'rgba(28, 31, 35, 0.85)',\n }}\n >\n {`ESM Importers (${issuers.length})`}\n </span>\n ),\n children: 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}>import</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {beautifyPath(issuer.path, 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 {`'${issuer.request}'`}\n </Tag>\n </div>\n </div>\n )),\n },\n ]}\n />\n </div>\n }\n />\n </div>\n );\n\n return {\n key: `${packageName}::${resolvedModule.path}`,\n label: (\n <LabelComponent\n title={\n <Space size={4} align=\"center\">\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span\n className={styles.pkgName}\n >{`${packageName}@${packageVersion}`}</span>\n </Tag>\n </Space>\n }\n description={`has an ESM entry but was resolved to CJS by ${issuers.length} importer(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":["Text","Typography","EsmResolvedToCjsAlertCollapse","props","data","extraData","cwd","items","d","item","packageName","packageVersion","esmEntry","resolvedModule","issuers","resolvedDisplayPath","beautifyPath","esmDisplayPath","ChildComponent","styles","Overview","Space","Tag","Tooltip","truncateMiddle","Collapse","issuer","idx","LabelComponent"],"mappings":"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"}
1
+ {"version":3,"file":"components/Alerts/collapse-esm-cjs.mjs","sources":["../../../src/components/Alerts/collapse-esm-cjs.tsx"],"sourcesContent":["import { Collapse, Space, Tag, Tooltip, Typography } from 'antd';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport utilStyles from './index.module.scss';\nimport { beautifyPath } from '../../utils/file';\nimport { truncateMiddle } from '../../utils/string';\nimport { LabelComponent } from './collapse-shared';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\n\nexport const EsmResolvedToCjsAlertCollapse = (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 item = d as Rule.EsmResolvedToCjsRuleStoreData;\n const { packageName, packageVersion, esmEntry, resolvedModule, issuers } =\n item;\n\n const resolvedDisplayPath = beautifyPath(resolvedModule.path, cwd);\n const esmDisplayPath = beautifyPath(esmEntry, cwd);\n\n const ChildComponent = () => (\n <div className={styles.collapseContainer}>\n <Overview\n title={\n <Space align=\"center\" wrap>\n <Text strong style={{ fontSize: 13 }}>\n Package:\n </Text>\n <Tag\n className={utilStyles.tag}\n style={{\n fontFamily: 'Menlo',\n }}\n >\n {`${packageName}@${packageVersion}`}\n </Tag>\n </Space>\n }\n description={\n <div\n className={styles.collapseChild}\n style={{ flexDirection: 'column', paddingTop: 16 }}\n >\n {/* ESM entry that should have been used */}\n <div\n style={{\n display: 'flex',\n marginBottom: 8,\n alignItems: 'center',\n }}\n >\n <div\n className={styles.attribute}\n style={{ color: '#52c41a', minWidth: 100 }}\n >\n <Tag\n style={{\n backgroundColor: '#f6ffed',\n borderColor: '#b7eb8f',\n color: '#389e0d',\n borderRadius: '2px',\n }}\n >\n ESM Entry\n </Tag>\n </div>\n <div className={styles.iconContainer}>\n <Tooltip title={esmDisplayPath}>\n <span className={styles.data}>\n {truncateMiddle(esmDisplayPath)}\n </span>\n </Tooltip>\n <Tag\n style={{\n marginLeft: 8,\n backgroundColor: '#f6ffed',\n borderColor: '#b7eb8f',\n color: '#389e0d',\n borderRadius: '2px',\n fontSize: 11,\n }}\n >\n declared in package.json\n </Tag>\n </div>\n </div>\n\n {/* CJS file that was actually resolved */}\n <div\n style={{\n display: 'flex',\n marginBottom: 16,\n alignItems: 'center',\n }}\n >\n <div\n className={styles.attribute}\n style={{ color: '#ff4d4f', minWidth: 100 }}\n >\n <Tag\n style={{\n backgroundColor: '#fff7e6',\n borderColor: '#ffd591',\n color: '#d46b08',\n borderRadius: '2px',\n }}\n >\n CJS Resolved\n </Tag>\n </div>\n <div className={styles.iconContainer}>\n <Tooltip title={resolvedDisplayPath}>\n <span className={styles.data}>\n {truncateMiddle(resolvedDisplayPath)}\n </span>\n </Tooltip>\n <Tag\n style={{\n marginLeft: 8,\n backgroundColor: '#fff1f0',\n borderColor: '#ffa39e',\n color: '#cf1322',\n borderRadius: '2px',\n fontSize: 11,\n }}\n >\n actually bundled\n </Tag>\n </div>\n </div>\n\n {/* Issuers */}\n <Collapse\n size=\"small\"\n ghost\n items={[\n {\n key: 'issuers',\n label: (\n <span style={{ fontWeight: 500 }}>\n {`ESM Importers (${issuers.length})`}\n </span>\n ),\n children: 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}>import</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>\n {beautifyPath(issuer.path, cwd)}\n </span>\n <Tag\n className={utilStyles.tag}\n style={{\n marginLeft: 8,\n fontSize: 11,\n fontFamily: 'Menlo',\n }}\n >\n {`'${issuer.request}'`}\n </Tag>\n </div>\n </div>\n )),\n },\n ]}\n />\n </div>\n }\n />\n </div>\n );\n\n return {\n key: `${packageName}::${resolvedModule.path}`,\n label: (\n <LabelComponent\n title={\n <Space size={4} align=\"center\">\n <Tag\n className={utilStyles.tag}\n style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}\n >\n <span\n className={styles.pkgName}\n >{`${packageName}@${packageVersion}`}</span>\n </Tag>\n </Space>\n }\n description={`has an ESM entry but was resolved to CJS by ${issuers.length} importer(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":["Text","Typography","EsmResolvedToCjsAlertCollapse","props","data","extraData","cwd","items","d","item","packageName","packageVersion","esmEntry","resolvedModule","issuers","resolvedDisplayPath","beautifyPath","esmDisplayPath","ChildComponent","styles","Overview","Space","Tag","utilStyles","Tooltip","truncateMiddle","Collapse","issuer","idx","LabelComponent"],"mappings":"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"}