@rsdoctor/components 1.5.3 → 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.
- package/dist/common/imgs/connection-point.mjs +1 -1
- package/dist/common/imgs/rsdoctor-navbar.mjs +1 -1
- package/dist/common/imgs/webpack.mjs +1 -1
- package/dist/common/svg/bundle-size.mjs +1 -1
- package/dist/common/svg/cursor.mjs +1 -1
- package/dist/common/svg/error.mjs +1 -1
- package/dist/common/svg/file-css.mjs +1 -1
- package/dist/common/svg/file-html.mjs +1 -1
- package/dist/common/svg/file-image.mjs +1 -1
- package/dist/common/svg/file-js.mjs +1 -1
- package/dist/common/svg/file-unknown.mjs +1 -1
- package/dist/common/svg/file.mjs +1 -1
- package/dist/common/svg/files/css.mjs +1 -1
- package/dist/common/svg/files/html.mjs +1 -1
- package/dist/common/svg/files/image.mjs +1 -1
- package/dist/common/svg/files/js.mjs +1 -1
- package/dist/common/svg/files/unkown-file.mjs +1 -1
- package/dist/common/svg/loader/input.mjs +1 -1
- package/dist/common/svg/loader/output.mjs +1 -1
- package/dist/common/svg/loader/step.mjs +1 -1
- package/dist/common/svg/navbar/bundle-size-active.mjs +1 -1
- package/dist/common/svg/navbar/bundle-size-inactive.mjs +1 -1
- package/dist/common/svg/navbar/compile-analysis-active.mjs +1 -1
- package/dist/common/svg/navbar/compile-analysis-inactive.mjs +1 -1
- package/dist/common/svg/navbar/overall-active.mjs +1 -1
- package/dist/common/svg/navbar/overall-inactive.mjs +1 -1
- package/dist/common/svg/output.mjs +1 -1
- package/dist/common/svg/source-size.mjs +1 -1
- package/dist/common/svg/source.mjs +1 -1
- package/dist/common/svg/total-size.mjs +1 -1
- package/dist/common/svg/trae.mjs +1 -1
- package/dist/common/svg/version.mjs +1 -1
- package/dist/common/svg/vscode.mjs +1 -1
- package/dist/components/Alert/change.mjs.map +1 -1
- package/dist/components/Alert/ecma-version-check.mjs +1 -1
- package/dist/components/Alert/ecma-version-check.mjs.map +1 -1
- package/dist/components/Alert/ecma-version-check.module.mjs +1 -1
- package/dist/components/Alert/package-relation.module.mjs +1 -1
- package/dist/components/Alert/view.mjs.map +1 -1
- package/dist/components/Alerts/bundle-alert.mjs +37 -2
- package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
- package/dist/components/Alerts/bundle-alert.module.mjs +1 -1
- package/dist/components/Alerts/collapse-cjs-require.d.ts +6 -0
- package/dist/components/Alerts/collapse-cjs-require.mjs +142 -0
- package/dist/components/Alerts/collapse-cjs-require.mjs.map +1 -0
- package/dist/components/Alerts/collapse-cross-chunks.mjs +2 -23
- package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
- package/dist/components/Alerts/collapse-module-mixed-chunks.mjs +2 -23
- package/dist/components/Alerts/collapse-module-mixed-chunks.mjs.map +1 -1
- package/dist/components/Alerts/collapse-shared.d.ts +9 -0
- package/dist/components/Alerts/collapse-shared.mjs +90 -0
- package/dist/components/Alerts/collapse-shared.mjs.map +1 -0
- package/dist/components/Alerts/collapse-side-effects-only-imports.d.ts +6 -0
- package/dist/components/Alerts/collapse-side-effects-only-imports.mjs +131 -0
- package/dist/components/Alerts/collapse-side-effects-only-imports.mjs.map +1 -0
- package/dist/components/Alerts/collapse.mjs +2 -23
- package/dist/components/Alerts/collapse.mjs.map +1 -1
- package/dist/components/Alerts/collapse.module.mjs +1 -1
- package/dist/components/Alerts/list.module.mjs +1 -1
- package/dist/components/Alerts/overlay.mjs.map +1 -1
- package/dist/components/Alerts/overlay.module.mjs +1 -1
- package/dist/components/Card/diff.mjs.map +1 -1
- package/dist/components/Card/index.mjs +1 -1
- package/dist/components/Card/size.mjs +2 -2
- package/dist/components/Card/size.mjs.map +1 -1
- package/dist/components/Card/size.module.mjs +1 -1
- package/dist/components/Charts/TimelineCharts/index.mjs +1 -1
- package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
- package/dist/components/Charts/TreeMap.mjs +1 -1
- package/dist/components/Charts/TreeMap.mjs.map +1 -1
- package/dist/components/Charts/constants.mjs +1 -1
- package/dist/components/Charts/loader.mjs +2 -2
- package/dist/components/Charts/loader.mjs.map +1 -1
- package/dist/components/Charts/treemap.module.mjs +1 -1
- package/dist/components/Configuration/builder.module.mjs +1 -1
- package/dist/components/FileTree/css.mjs +1 -1
- package/dist/components/FileTree/html.mjs +1 -1
- package/dist/components/FileTree/image.mjs +1 -1
- package/dist/components/FileTree/index.mjs +1 -1
- package/dist/components/FileTree/index.mjs.map +1 -1
- package/dist/components/FileTree/js.mjs +1 -1
- package/dist/components/FileTree/unkown-file.mjs +1 -1
- package/dist/components/Keyword/style.module.mjs +1 -1
- package/dist/components/Layout/bundle-size-icon.mjs +1 -1
- package/dist/components/Layout/compile-icon.mjs +1 -1
- package/dist/components/Layout/index.mjs.map +1 -1
- package/dist/components/Layout/overall-icon.mjs +1 -1
- package/dist/components/Layout/project-info-context.mjs.map +1 -1
- package/dist/components/Loader/Analysis/input.mjs +1 -1
- package/dist/components/Loader/Analysis/output.mjs +1 -1
- package/dist/components/Loader/Analysis/style.module.mjs +1 -1
- package/dist/components/Loader/executions.mjs.map +1 -1
- package/dist/components/Loader/step.mjs +1 -1
- package/dist/components/Manifest/api.mjs.map +1 -1
- package/dist/components/Overall/DataSummary.module.mjs +1 -1
- package/dist/components/Overall/bundle.mjs +1 -1
- package/dist/components/Overall/bundle.mjs.map +1 -1
- package/dist/components/Overall/bundle.module.mjs +1 -1
- package/dist/components/Overall/card.module.mjs +1 -1
- package/dist/components/Overall/compile.mjs.map +1 -1
- package/dist/components/Overall/compile.module.mjs +1 -1
- package/dist/components/Overall/help-center.module.mjs +1 -1
- package/dist/components/Overall/list.module.mjs +1 -1
- package/dist/components/Overall/overview.mjs +2 -1
- package/dist/components/Overall/overview.module.mjs +1 -1
- package/dist/components/Overall/project.module.mjs +1 -1
- package/dist/components/Resolver/analysis.mjs +2 -2
- package/dist/components/Resolver/analysis.mjs.map +1 -1
- package/dist/components/Select/index.mjs.map +1 -1
- package/dist/components/Status/failed.mjs.map +1 -1
- package/dist/components/TextDrawer/duplicate.mjs.map +1 -1
- package/dist/components/TextDrawer/index.mjs +1 -1
- package/dist/components/base/CodeViewer/index.mjs +2 -2
- package/dist/components/base/CodeViewer/index.mjs.map +1 -1
- package/dist/components/base/CodeViewer/index.module.mjs +1 -1
- package/dist/components/base/DiffViewer/index.mjs +2 -2
- package/dist/components/base/DiffViewer/index.mjs.map +1 -1
- package/dist/components/base/DiffViewer/index.module.mjs +1 -1
- package/dist/components/index.mjs +1 -2
- package/dist/config.mjs.map +1 -1
- package/dist/constants.mjs +1 -1
- package/dist/pages/BundleSize/components/asset.mjs +2 -2
- package/dist/pages/BundleSize/components/asset.mjs.map +1 -1
- package/dist/pages/BundleSize/components/card.module.mjs +1 -1
- package/dist/pages/BundleSize/components/cards.mjs +2 -2
- package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.mjs +1 -1
- package/dist/pages/BundleSize/components/index.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.module.mjs +1 -1
- package/dist/pages/BundleSize/components/search-modal.mjs +1 -1
- package/dist/pages/BundleSize/components/search-modal.mjs.map +1 -1
- package/dist/pages/BundleSize/config.mjs.map +1 -1
- package/dist/pages/BundleSize/constants.mjs +1 -1
- package/dist/pages/BundleSize/index.mjs +1 -1
- package/dist/pages/ModuleAnalyze/constants.mjs +1 -1
- package/dist/pages/ModuleAnalyze/dependency.mjs +1 -1
- package/dist/pages/ModuleResolve/index.mjs +1 -1
- package/dist/pages/Overall/index.mjs +1 -1
- package/dist/pages/Overall/index.module.mjs +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/assets.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/changes.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/modules.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/packages.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/constants.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/index.mjs +2 -2
- package/dist/pages/Resources/RuleIndex/index.mjs +1 -1
- package/dist/pages/TreeShaking/index.mjs +1 -1
- package/dist/pages/TreeShaking/open-tag.mjs +1 -1
- package/dist/pages/TreeShaking/table.mjs.map +1 -1
- package/dist/pages/Uploader/index.mjs +1 -1
- package/dist/pages/WebpackLoaders/Analysis/index.mjs +2 -2
- package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Overall/index.mjs +1 -1
- package/dist/pages/WebpackPlugins/index.mjs +1 -1
- package/dist/pages/index.mjs +1 -1
- package/dist/utils/i18n/cn.mjs +1 -1
- package/dist/utils/i18n/en.mjs +1 -1
- package/dist/utils/i18n/index.mjs +1 -1
- package/dist/utils/loader.mjs +1 -1
- package/dist/utils/loader.mjs.map +1 -1
- package/dist/utils/time.mjs +1 -1
- package/dist/utils/time.mjs.map +1 -1
- package/package.json +8 -8
|
@@ -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
|
-
|
|
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';\
|
|
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
|
-
|
|
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';\
|
|
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;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import icons from "@ant-design/icons";
|
|
3
|
+
import { Collapse, Space, Tag, Typography } from "antd";
|
|
4
|
+
import overview from "../Overall/overview.mjs";
|
|
5
|
+
import collapse_module from "./collapse.module.mjs";
|
|
6
|
+
import total_size from "../../common/svg/total-size.mjs";
|
|
7
|
+
import { beautifyPath } from "../../utils/file.mjs";
|
|
8
|
+
import { IdeIcons, LabelComponent } from "./collapse-shared.mjs";
|
|
9
|
+
const { Text: Text } = Typography;
|
|
10
|
+
const { innerWidth: collapse_side_effects_only_imports_innerWidth } = window;
|
|
11
|
+
const SideEffectsOnlyImportsAlertCollapse = (props)=>{
|
|
12
|
+
const { data, extraData } = props;
|
|
13
|
+
const { cwd } = extraData;
|
|
14
|
+
const items = data.map((d)=>{
|
|
15
|
+
const { module, connections } = d;
|
|
16
|
+
const modulePath = beautifyPath(module.path, cwd);
|
|
17
|
+
const ChildComponent = ()=>/*#__PURE__*/ jsx("div", {
|
|
18
|
+
className: collapse_module.collapseContainer,
|
|
19
|
+
children: /*#__PURE__*/ jsx(overview, {
|
|
20
|
+
style: {
|
|
21
|
+
backgroundColor: '#fff'
|
|
22
|
+
},
|
|
23
|
+
title: /*#__PURE__*/ jsxs(Space, {
|
|
24
|
+
align: "center",
|
|
25
|
+
children: [
|
|
26
|
+
/*#__PURE__*/ jsx(icons, {
|
|
27
|
+
style: {
|
|
28
|
+
fontSize: '18px'
|
|
29
|
+
},
|
|
30
|
+
component: total_size
|
|
31
|
+
}),
|
|
32
|
+
/*#__PURE__*/ jsxs(Text, {
|
|
33
|
+
style: {
|
|
34
|
+
width: collapse_side_effects_only_imports_innerWidth > 1500 ? 900 : 700
|
|
35
|
+
},
|
|
36
|
+
children: [
|
|
37
|
+
"Module:",
|
|
38
|
+
' ',
|
|
39
|
+
/*#__PURE__*/ jsx(Text, {
|
|
40
|
+
style: {
|
|
41
|
+
fontSize: 12,
|
|
42
|
+
color: 'rgba(28, 31, 35, 0.6)',
|
|
43
|
+
fontWeight: 300
|
|
44
|
+
},
|
|
45
|
+
children: modulePath
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
}),
|
|
49
|
+
/*#__PURE__*/ jsx(IdeIcons, {
|
|
50
|
+
file: module.path
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
}),
|
|
54
|
+
description: /*#__PURE__*/ jsxs("div", {
|
|
55
|
+
className: collapse_module.collapseChild,
|
|
56
|
+
children: [
|
|
57
|
+
/*#__PURE__*/ jsx("div", {
|
|
58
|
+
style: {
|
|
59
|
+
marginBottom: 8,
|
|
60
|
+
fontWeight: 500,
|
|
61
|
+
color: 'rgba(28, 31, 35, 0.85)'
|
|
62
|
+
},
|
|
63
|
+
children: "Side-Effects-Only Importers:"
|
|
64
|
+
}),
|
|
65
|
+
connections.map((conn, idx)=>/*#__PURE__*/ jsxs("div", {
|
|
66
|
+
style: {
|
|
67
|
+
display: 'flex',
|
|
68
|
+
marginBottom: 4
|
|
69
|
+
},
|
|
70
|
+
children: [
|
|
71
|
+
/*#__PURE__*/ jsx("div", {
|
|
72
|
+
className: collapse_module.attribute,
|
|
73
|
+
children: "Import"
|
|
74
|
+
}),
|
|
75
|
+
/*#__PURE__*/ jsxs("div", {
|
|
76
|
+
className: collapse_module.iconContainer,
|
|
77
|
+
children: [
|
|
78
|
+
/*#__PURE__*/ jsx("span", {
|
|
79
|
+
className: collapse_module.data,
|
|
80
|
+
children: conn.userRequest
|
|
81
|
+
}),
|
|
82
|
+
/*#__PURE__*/ jsx(Tag, {
|
|
83
|
+
style: {
|
|
84
|
+
marginLeft: 8,
|
|
85
|
+
backgroundColor: '#EAEDF1',
|
|
86
|
+
borderRadius: '2px',
|
|
87
|
+
fontSize: 11
|
|
88
|
+
},
|
|
89
|
+
children: conn.dependencyType
|
|
90
|
+
})
|
|
91
|
+
]
|
|
92
|
+
})
|
|
93
|
+
]
|
|
94
|
+
}, idx))
|
|
95
|
+
]
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
return {
|
|
100
|
+
key: modulePath,
|
|
101
|
+
label: /*#__PURE__*/ jsx(LabelComponent, {
|
|
102
|
+
title: /*#__PURE__*/ jsx(Space, {
|
|
103
|
+
size: 4,
|
|
104
|
+
align: "center",
|
|
105
|
+
children: /*#__PURE__*/ jsx(Tag, {
|
|
106
|
+
style: {
|
|
107
|
+
backgroundColor: '#EAEDF1',
|
|
108
|
+
borderRadius: '2px'
|
|
109
|
+
},
|
|
110
|
+
children: /*#__PURE__*/ jsx("span", {
|
|
111
|
+
className: collapse_module.pkgName,
|
|
112
|
+
children: modulePath
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
}),
|
|
116
|
+
description: `is only imported for its side effects by ${new Set(connections.map((c)=>c.originModule)).size} importer(s).`
|
|
117
|
+
}),
|
|
118
|
+
children: /*#__PURE__*/ jsx(ChildComponent, {})
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
return /*#__PURE__*/ jsx(Collapse, {
|
|
122
|
+
style: {
|
|
123
|
+
width: '100%'
|
|
124
|
+
},
|
|
125
|
+
defaultActiveKey: items.map((item)=>item.key),
|
|
126
|
+
items: items
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
export { SideEffectsOnlyImportsAlertCollapse };
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=collapse-side-effects-only-imports.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Alerts/collapse-side-effects-only-imports.mjs","sources":["../../../src/components/Alerts/collapse-side-effects-only-imports.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, IdeIcons } 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 SideEffectsOnlyImportsAlertCollapse = (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, connections } =\n d as Rule.ConnectionsOnlyImportsRuleStoreData;\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 align=\"center\">\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 <IdeIcons file={module.path} />\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 Side-Effects-Only Importers:\n </div>\n {connections.map((conn, idx) => (\n <div key={idx} style={{ display: 'flex', marginBottom: 4 }}>\n <div className={styles.attribute}>Import</div>\n <div className={styles.iconContainer}>\n <span className={styles.data}>{conn.userRequest}</span>\n <Tag\n style={{\n marginLeft: 8,\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n fontSize: 11,\n }}\n >\n {conn.dependencyType}\n </Tag>\n </div>\n </div>\n ))}\n </div>\n }\n />\n </div>\n );\n };\n\n return {\n key: modulePath,\n label: (\n <LabelComponent\n title={\n <Space size={4} align=\"center\">\n <Tag style={{ backgroundColor: '#EAEDF1', borderRadius: '2px' }}>\n <span className={styles.pkgName}>{modulePath}</span>\n </Tag>\n </Space>\n }\n description={`is only imported for its side effects by ${new Set(connections.map((c) => c.originModule)).size} 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","innerWidth","window","SideEffectsOnlyImportsAlertCollapse","props","data","extraData","cwd","items","d","module","connections","modulePath","beautifyPath","ChildComponent","styles","Overview","Space","Icon","TotalSizeSvg","IdeIcons","conn","idx","Tag","LabelComponent","Set","c","Collapse","item"],"mappings":";;;;;;;;AAYA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AACjB,MAAM,EAAEC,YAAAA,6CAAU,EAAE,GAAGC;AAEhB,MAAMC,sCAAsC,CAACC;IAIlD,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,WAAW,EAAE,GAC3BF;QAEF,MAAMG,aAAaC,aAAaH,OAAO,IAAI,EAAEH;QAE7C,MAAMO,iBAAiB,IACd,WAAP,GACE,IAAC;gBAAI,WAAWC,gBAAAA,iBAAwB;0BACtC,kBAACC,UAAQA;oBACP,OAAO;wBAAE,iBAAiB;oBAAO;oBACjC,qBACE,KAACC,OAAKA;wBAAC,OAAM;;0CACX,IAACC,OAAIA;gCAAC,OAAO;oCAAE,UAAU;gCAAO;gCAAG,WAAWC;;0CAC9C,KAACpB,MAAIA;gCAAC,OAAO;oCAAE,OAAOE,gDAAa,OAAO,MAAM;gCAAI;;oCAAG;oCAC7C;kDACR,IAACF,MAAIA;wCACH,OAAO;4CACL,UAAU;4CACV,OAAO;4CACP,YAAY;wCACd;kDAECa;;;;0CAGL,IAACQ,UAAQA;gCAAC,MAAMV,OAAO,IAAI;;;;oBAG/B,2BACE,KAAC;wBAAI,WAAWK,gBAAAA,aAAoB;;0CAClC,IAAC;gCACC,OAAO;oCACL,cAAc;oCACd,YAAY;oCACZ,OAAO;gCACT;0CACD;;4BAGAJ,YAAY,GAAG,CAAC,CAACU,MAAMC,MAAAA,WAAAA,GACtB,KAAC;oCAAc,OAAO;wCAAE,SAAS;wCAAQ,cAAc;oCAAE;;sDACvD,IAAC;4CAAI,WAAWP,gBAAAA,SAAgB;sDAAE;;sDAClC,KAAC;4CAAI,WAAWA,gBAAAA,aAAoB;;8DAClC,IAAC;oDAAK,WAAWA,gBAAAA,IAAW;8DAAGM,KAAK,WAAW;;8DAC/C,IAACE,KAAGA;oDACF,OAAO;wDACL,YAAY;wDACZ,iBAAiB;wDACjB,cAAc;wDACd,UAAU;oDACZ;8DAECF,KAAK,cAAc;;;;;mCAZhBC;;;;;QAwBxB,OAAO;YACL,KAAKV;YACL,OAAO,WAAP,GACE,IAACY,gBAAcA;gBACb,qBACE,IAACP,OAAKA;oBAAC,MAAM;oBAAG,OAAM;8BACpB,kBAACM,KAAGA;wBAAC,OAAO;4BAAE,iBAAiB;4BAAW,cAAc;wBAAM;kCAC5D,kBAAC;4BAAK,WAAWR,gBAAAA,OAAc;sCAAGH;;;;gBAIxC,aAAa,CAAC,yCAAyC,EAAE,IAAIa,IAAId,YAAY,GAAG,CAAC,CAACe,IAAMA,EAAE,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;;YAGhI,UAAU,WAAV,GAAU,IAACZ,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACa,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkBnB,MAAM,GAAG,CAAC,CAACoB,OAASA,KAAK,GAAG;QAC9C,OAAOpB;;AAGb"}
|
|
@@ -12,30 +12,9 @@ import source_size from "../../common/svg/source-size.mjs";
|
|
|
12
12
|
import total_size from "../../common/svg/total-size.mjs";
|
|
13
13
|
import svg_version from "../../common/svg/version.mjs";
|
|
14
14
|
import collapse_module from "./collapse.module.mjs";
|
|
15
|
-
|
|
15
|
+
import { LabelComponent } from "./collapse-shared.mjs";
|
|
16
|
+
const { Paragraph: Paragraph, Text: Text } = Typography;
|
|
16
17
|
const { innerWidth: collapse_innerWidth } = window;
|
|
17
|
-
const LabelComponent = (props)=>{
|
|
18
|
-
const { title, description, extra } = props;
|
|
19
|
-
return /*#__PURE__*/ jsxs("div", {
|
|
20
|
-
className: collapse_module.label,
|
|
21
|
-
children: [
|
|
22
|
-
/*#__PURE__*/ jsxs("div", {
|
|
23
|
-
className: collapse_module.labelContent,
|
|
24
|
-
children: [
|
|
25
|
-
/*#__PURE__*/ jsx("div", {
|
|
26
|
-
children: title
|
|
27
|
-
}),
|
|
28
|
-
/*#__PURE__*/ jsx("div", {
|
|
29
|
-
children: description
|
|
30
|
-
})
|
|
31
|
-
]
|
|
32
|
-
}),
|
|
33
|
-
/*#__PURE__*/ jsx("div", {
|
|
34
|
-
children: extra
|
|
35
|
-
})
|
|
36
|
-
]
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
18
|
const AlertCollapse = (props)=>{
|
|
40
19
|
const { data, extraData } = props;
|
|
41
20
|
const items = data.map((d)=>{
|