@rsdoctor/components 1.5.3 → 1.5.5
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 +50 -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-esm-cjs.d.ts +6 -0
- package/dist/components/Alerts/collapse-esm-cjs.mjs +231 -0
- package/dist/components/Alerts/collapse-esm-cjs.mjs.map +1 -0
- 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/string.d.ts +1 -0
- package/dist/utils/string.mjs +6 -1
- package/dist/utils/string.mjs.map +1 -1
- package/dist/utils/time.mjs +1 -1
- package/dist/utils/time.mjs.map +1 -1
- package/package.json +9 -9
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import rsdoctor_navbar_namespaceObject from "../../static/image/rsdoctor-navbar.png";
|
|
2
|
-
export
|
|
2
|
+
export default rsdoctor_navbar_namespaceObject;
|
package/dist/common/svg/file.mjs
CHANGED
|
@@ -24,6 +24,6 @@ const SvgBundleSizeActive = (props)=>/*#__PURE__*/ jsxs("svg", {
|
|
|
24
24
|
]
|
|
25
25
|
});
|
|
26
26
|
const bundle_size_active = SvgBundleSizeActive;
|
|
27
|
-
export
|
|
27
|
+
export default bundle_size_active;
|
|
28
28
|
|
|
29
29
|
//# sourceMappingURL=bundle-size-active.mjs.map
|
|
@@ -24,6 +24,6 @@ const SvgBundleSizeInactive = (props)=>/*#__PURE__*/ jsxs("svg", {
|
|
|
24
24
|
]
|
|
25
25
|
});
|
|
26
26
|
const bundle_size_inactive = SvgBundleSizeInactive;
|
|
27
|
-
export
|
|
27
|
+
export default bundle_size_inactive;
|
|
28
28
|
|
|
29
29
|
//# sourceMappingURL=bundle-size-inactive.mjs.map
|
|
@@ -34,6 +34,6 @@ const SvgCompileAnalysisActive = (props)=>/*#__PURE__*/ jsxs("svg", {
|
|
|
34
34
|
]
|
|
35
35
|
});
|
|
36
36
|
const compile_analysis_active = SvgCompileAnalysisActive;
|
|
37
|
-
export
|
|
37
|
+
export default compile_analysis_active;
|
|
38
38
|
|
|
39
39
|
//# sourceMappingURL=compile-analysis-active.mjs.map
|
|
@@ -34,6 +34,6 @@ const SvgCompileAnalysisInactive = (props)=>/*#__PURE__*/ jsxs("svg", {
|
|
|
34
34
|
]
|
|
35
35
|
});
|
|
36
36
|
const compile_analysis_inactive = SvgCompileAnalysisInactive;
|
|
37
|
-
export
|
|
37
|
+
export default compile_analysis_inactive;
|
|
38
38
|
|
|
39
39
|
//# sourceMappingURL=compile-analysis-inactive.mjs.map
|
package/dist/common/svg/trae.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Alert/change.mjs","sources":["../../../src/components/Alert/change.tsx"],"sourcesContent":["import { CheckOutlined, InfoCircleOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Alert,\n Button,\n Col,\n Divider,\n Popconfirm,\n Row,\n Space,\n Typography,\n} from 'antd';\nimport axios from 'axios';\nimport React, { useState } from 'react';\nimport { useRuleIndexNavigate } from '../../utils';\nimport { DiffViewer } from '../base';\nimport { CodeOpener } from '../Opener';\nimport { TextDrawer } from '../TextDrawer';\nimport { Title } from '../Title';\nimport { CodeChangeAlertProps } from './types';\n\ninterface FixedProps {\n setIsFixed(val: boolean): void;\n}\n\nconst CodeChangeDrawerContent: React.FC<CodeChangeAlertProps & FixedProps> = ({\n data,\n setIsFixed,\n cwd,\n}) => {\n const { file, id } = data;\n const { path, line, isFixed, actual, expected } = file;\n // const [isFixed, setIsFixed] = useState(file.isFixed ?? false);\n const applyFix = () => {\n axios.post(SDK.ServerAPI.API.ApplyErrorFix, { id }).then(() => {\n setIsFixed(true);\n });\n };\n\n const FixButton = () => {\n return (\n <Popconfirm\n title={`Did you confirm to apply the change i the area below ?`}\n onConfirm={applyFix}\n okText=\"Yes\"\n cancelText=\"Cancel\"\n zIndex={99999}\n disabled={isFixed}\n placement=\"bottom\"\n >\n <Button\n type=\"primary\"\n size=\"small\"\n icon={isFixed ? <CheckOutlined /> : undefined}\n disabled={isFixed}\n >\n {isFixed ? 'Fix Applied' : 'Apply Fix'}\n </Button>\n </Popconfirm>\n );\n };\n\n return (\n <Space direction=\"vertical\" className=\"alert-space\">\n <div>\n <Title text={isFixed ? 'Fix History' : 'Suggest Fix'} />\n <span className=\"code-change-tag-list\">\n <FixButton />\n </span>\n </div>\n <CodeOpener cwd={cwd} url={path} loc={String(line)} code disabled />\n <Row>\n <Col span={12}>\n <Typography.Text strong>Before</Typography.Text>\n </Col>\n <Col span={12}>\n <Typography.Text strong>After</Typography.Text>\n </Col>\n </Row>\n <DiffViewer\n className=\"full-space\"\n originalFilePath={path}\n modifiedFilePath={path}\n original={actual}\n modified={expected}\n />\n </Space>\n );\n};\n\n///REVIEW - It's still useful? can't find usage\nexport const CodeChangeAlert: React.FC<CodeChangeAlertProps> = ({\n data,\n cwd,\n}) => {\n const { title, description = '', level, code, file } = data;\n const [isFixed, setIsFixed] = useState(file.isFixed ?? false);\n const navigate = useRuleIndexNavigate(code, data.link);\n const fixFile = (val: boolean) => {\n setIsFixed(val);\n file.isFixed = val;\n };\n const Description = (\n <Space direction=\"vertical\">\n <Typography.Text>{description}</Typography.Text>\n <Space>\n <Typography.Text>File:</Typography.Text>\n <Typography.Text strong code>\n {file.path}\n </Typography.Text>\n <Typography.Text>in line</Typography.Text>\n <Typography.Text strong code>\n {file.line}\n </Typography.Text>\n </Space>\n </Space>\n );\n\n return (\n <Alert\n showIcon\n message={\n <Space>\n <Typography.Text\n code\n strong\n onClick={navigate}\n style={{ cursor: 'pointer' }}\n >\n <a>{code}</a>\n </Typography.Text>\n <Typography.Text strong>{title}</Typography.Text>\n </Space>\n }\n description={Description}\n type={isFixed ? 'success' : level === 'warn' ? 'info' : level}\n action={\n <Space>\n <TextDrawer\n text={isFixed ? 'Fixed | Show Fix History' : 'Show Fix Suggestion'}\n buttonProps={{ size: 'small' }}\n >\n <CodeChangeDrawerContent\n data={data}\n setIsFixed={fixFile}\n cwd={cwd}\n />\n </TextDrawer>\n <Divider type=\"vertical\" />\n <Button type=\"link\" onClick={navigate} size=\"small\">\n <InfoCircleOutlined />\n </Button>\n </Space>\n }\n />\n );\n};\n"],"names":["CodeChangeDrawerContent","data","setIsFixed","cwd","file","id","path","line","isFixed","actual","expected","applyFix","axios","SDK","FixButton","Popconfirm","Button","CheckOutlined","undefined","Space","Title","CodeOpener","String","Row","Col","Typography","DiffViewer","CodeChangeAlert","title","description","level","code","useState","navigate","useRuleIndexNavigate","fixFile","val","Description","Alert","TextDrawer","Divider","InfoCircleOutlined"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"components/Alert/change.mjs","sources":["../../../src/components/Alert/change.tsx"],"sourcesContent":["import { CheckOutlined, InfoCircleOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Alert,\n Button,\n Col,\n Divider,\n Popconfirm,\n Row,\n Space,\n Typography,\n} from 'antd';\nimport axios from 'axios';\nimport React, { useState } from 'react';\nimport { useRuleIndexNavigate } from '../../utils';\nimport { DiffViewer } from '../base';\nimport { CodeOpener } from '../Opener';\nimport { TextDrawer } from '../TextDrawer';\nimport { Title } from '../Title';\nimport { CodeChangeAlertProps } from './types';\n\ninterface FixedProps {\n setIsFixed(val: boolean): void;\n}\n\nconst CodeChangeDrawerContent: React.FC<CodeChangeAlertProps & FixedProps> = ({\n data,\n setIsFixed,\n cwd,\n}) => {\n const { file, id } = data;\n const { path, line, isFixed, actual, expected } = file;\n // const [isFixed, setIsFixed] = useState(file.isFixed ?? false);\n const applyFix = () => {\n axios.post(SDK.ServerAPI.API.ApplyErrorFix, { id }).then(() => {\n setIsFixed(true);\n });\n };\n\n const FixButton = () => {\n return (\n <Popconfirm\n title={`Did you confirm to apply the change i the area below ?`}\n onConfirm={applyFix}\n okText=\"Yes\"\n cancelText=\"Cancel\"\n zIndex={99999}\n disabled={isFixed}\n placement=\"bottom\"\n >\n <Button\n type=\"primary\"\n size=\"small\"\n icon={isFixed ? <CheckOutlined /> : undefined}\n disabled={isFixed}\n >\n {isFixed ? 'Fix Applied' : 'Apply Fix'}\n </Button>\n </Popconfirm>\n );\n };\n\n return (\n <Space direction=\"vertical\" className=\"alert-space\">\n <div>\n <Title text={isFixed ? 'Fix History' : 'Suggest Fix'} />\n <span className=\"code-change-tag-list\">\n <FixButton />\n </span>\n </div>\n <CodeOpener cwd={cwd} url={path} loc={String(line)} code disabled />\n <Row>\n <Col span={12}>\n <Typography.Text strong>Before</Typography.Text>\n </Col>\n <Col span={12}>\n <Typography.Text strong>After</Typography.Text>\n </Col>\n </Row>\n <DiffViewer\n className=\"full-space\"\n originalFilePath={path}\n modifiedFilePath={path}\n original={actual}\n modified={expected}\n />\n </Space>\n );\n};\n\n///REVIEW - It's still useful? can't find usage\nexport const CodeChangeAlert: React.FC<CodeChangeAlertProps> = ({\n data,\n cwd,\n}) => {\n const { title, description = '', level, code, file } = data;\n const [isFixed, setIsFixed] = useState(file.isFixed ?? false);\n const navigate = useRuleIndexNavigate(code, data.link);\n const fixFile = (val: boolean) => {\n setIsFixed(val);\n file.isFixed = val;\n };\n const Description = (\n <Space direction=\"vertical\">\n <Typography.Text>{description}</Typography.Text>\n <Space>\n <Typography.Text>File:</Typography.Text>\n <Typography.Text strong code>\n {file.path}\n </Typography.Text>\n <Typography.Text>in line</Typography.Text>\n <Typography.Text strong code>\n {file.line}\n </Typography.Text>\n </Space>\n </Space>\n );\n\n return (\n <Alert\n showIcon\n message={\n <Space>\n <Typography.Text\n code\n strong\n onClick={navigate}\n style={{ cursor: 'pointer' }}\n >\n <a>{code}</a>\n </Typography.Text>\n <Typography.Text strong>{title}</Typography.Text>\n </Space>\n }\n description={Description}\n type={isFixed ? 'success' : level === 'warn' ? 'info' : level}\n action={\n <Space>\n <TextDrawer\n text={isFixed ? 'Fixed | Show Fix History' : 'Show Fix Suggestion'}\n buttonProps={{ size: 'small' }}\n >\n <CodeChangeDrawerContent\n data={data}\n setIsFixed={fixFile}\n cwd={cwd}\n />\n </TextDrawer>\n <Divider type=\"vertical\" />\n <Button type=\"link\" onClick={navigate} size=\"small\">\n <InfoCircleOutlined />\n </Button>\n </Space>\n }\n />\n );\n};\n"],"names":["CodeChangeDrawerContent","data","setIsFixed","cwd","file","id","path","line","isFixed","actual","expected","applyFix","axios","SDK","FixButton","Popconfirm","Button","CheckOutlined","undefined","Space","Title","CodeOpener","String","Row","Col","Typography","DiffViewer","CodeChangeAlert","title","description","level","code","useState","navigate","useRuleIndexNavigate","fixFile","val","Description","Alert","TextDrawer","Divider","InfoCircleOutlined"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import svg_output from "../../common/svg/output.mjs";
|
|
|
6
6
|
import svg_error from "../../common/svg/error.mjs";
|
|
7
7
|
import { useRuleIndexNavigate } from "../../utils/index.mjs";
|
|
8
8
|
import ecma_version_check_module from "./ecma-version-check.module.mjs";
|
|
9
|
-
const { Text } = Typography;
|
|
9
|
+
const { Text: Text } = Typography;
|
|
10
10
|
const ECMAVersionCheck = ({ data })=>data.map((d)=>{
|
|
11
11
|
const { code, link, error } = d;
|
|
12
12
|
const { source, output } = error || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Alert/ecma-version-check.mjs","sources":["../../../src/components/Alert/ecma-version-check.tsx"],"sourcesContent":["import { Button, Typography } from 'antd';\nimport Icon from '@ant-design/icons';\n\nimport SourceSvg from '../../common/svg/source.svg';\nimport OutputSvg from '../../common/svg/output.svg';\nimport ErrorSvg from '../../common/svg/error.svg';\nimport { useRuleIndexNavigate } from '../../utils';\n\nimport { LinkAlertProps } from './types';\n\nimport styles from './ecma-version-check.module.scss';\n\nconst { Text } = Typography;\n\nexport const ECMAVersionCheck: React.FC<LinkAlertProps> = ({ data }) => {\n return data.map((d) => {\n const { code, link, error } = d;\n const { source, output } = error || {};\n const sourceMessage = source?.path\n ? `${source?.path}:${source?.line}:${source?.column}`\n : null;\n const outputMessage = output?.path\n ? `${output?.path}:${output?.line}:${output?.column}`\n : `There's no source map for this error. Possible reasons are as follows:\n 1. It might come from a third-party library without source map.\n 2. If this is your business source code, source map should be enabled in your build config.\n `;\n\n const navigate = useRuleIndexNavigate(code, link);\n return (\n <div className={styles.container}>\n <div>\n <div className={styles.title}>Source</div>\n <div className={styles.box}>\n <Icon component={SourceSvg} />\n <Text\n ellipsis={{ tooltip: sourceMessage }}\n className={`${styles.content} e2e-ecma-source`}\n >\n {sourceMessage}\n </Text>\n </div>\n </div>\n <div>\n <div className={styles.title}>Output</div>\n <div className={styles.box}>\n <Icon component={OutputSvg} />\n <Text\n ellipsis={{ tooltip: outputMessage }}\n className={`${styles.content} e2e-ecma-output`}\n >\n {outputMessage}\n </Text>\n </div>\n </div>\n <div>\n <div className={styles.title}>Error</div>\n <div className={styles.box}>\n <Icon component={ErrorSvg} />\n <Text\n ellipsis={{ tooltip: d.description }}\n className={`${styles.content} e2e-ecma-error`}\n >\n {d.description}\n </Text>\n </div>\n </div>\n <Button onClick={navigate} type=\"link\">\n more\n </Button>\n </div>\n );\n });\n};\n"],"names":["Text","Typography","ECMAVersionCheck","data","d","code","link","error","source","output","sourceMessage","outputMessage","navigate","useRuleIndexNavigate","styles","Icon","SourceSvg","OutputSvg","ErrorSvg","Button"],"mappings":";;;;;;;;AAYA,MAAM,EAAEA,IAAI,EAAE,GAAGC;AAEV,MAAMC,mBAA6C,CAAC,EAAEC,IAAI,EAAE,GAC1DA,KAAK,GAAG,CAAC,CAACC;QACf,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGH;QAC9B,MAAM,EAAEI,MAAM,EAAEC,MAAM,EAAE,GAAGF,SAAS,CAAC;QACrC,MAAMG,gBAAgBF,QAAQ,OAC1B,GAAGA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,QAAQ,GACnD;QACJ,MAAMG,gBAAgBF,QAAQ,OAC1B,GAAGA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,QAAQ,GACnD,CAAC;;;MAGH,CAAC;QAEH,MAAMG,WAAWC,qBAAqBR,MAAMC;QAC5C,OAAO,WAAP,GACE,KAAC;YAAI,WAAWQ,0BAAAA,SAAgB;;8BAC9B,KAAC;;sCACC,IAAC;4BAAI,WAAWA,0BAAAA,KAAY;sCAAE;;sCAC9B,KAAC;4BAAI,WAAWA,0BAAAA,GAAU;;8CACxB,IAACC,OAAIA;oCAAC,WAAWC;;8CACjB,IAAChB,
|
|
1
|
+
{"version":3,"file":"components/Alert/ecma-version-check.mjs","sources":["../../../src/components/Alert/ecma-version-check.tsx"],"sourcesContent":["import { Button, Typography } from 'antd';\nimport Icon from '@ant-design/icons';\n\nimport SourceSvg from '../../common/svg/source.svg';\nimport OutputSvg from '../../common/svg/output.svg';\nimport ErrorSvg from '../../common/svg/error.svg';\nimport { useRuleIndexNavigate } from '../../utils';\n\nimport { LinkAlertProps } from './types';\n\nimport styles from './ecma-version-check.module.scss';\n\nconst { Text } = Typography;\n\nexport const ECMAVersionCheck: React.FC<LinkAlertProps> = ({ data }) => {\n return data.map((d) => {\n const { code, link, error } = d;\n const { source, output } = error || {};\n const sourceMessage = source?.path\n ? `${source?.path}:${source?.line}:${source?.column}`\n : null;\n const outputMessage = output?.path\n ? `${output?.path}:${output?.line}:${output?.column}`\n : `There's no source map for this error. Possible reasons are as follows:\n 1. It might come from a third-party library without source map.\n 2. If this is your business source code, source map should be enabled in your build config.\n `;\n\n const navigate = useRuleIndexNavigate(code, link);\n return (\n <div className={styles.container}>\n <div>\n <div className={styles.title}>Source</div>\n <div className={styles.box}>\n <Icon component={SourceSvg} />\n <Text\n ellipsis={{ tooltip: sourceMessage }}\n className={`${styles.content} e2e-ecma-source`}\n >\n {sourceMessage}\n </Text>\n </div>\n </div>\n <div>\n <div className={styles.title}>Output</div>\n <div className={styles.box}>\n <Icon component={OutputSvg} />\n <Text\n ellipsis={{ tooltip: outputMessage }}\n className={`${styles.content} e2e-ecma-output`}\n >\n {outputMessage}\n </Text>\n </div>\n </div>\n <div>\n <div className={styles.title}>Error</div>\n <div className={styles.box}>\n <Icon component={ErrorSvg} />\n <Text\n ellipsis={{ tooltip: d.description }}\n className={`${styles.content} e2e-ecma-error`}\n >\n {d.description}\n </Text>\n </div>\n </div>\n <Button onClick={navigate} type=\"link\">\n more\n </Button>\n </div>\n );\n });\n};\n"],"names":["Text","Typography","ECMAVersionCheck","data","d","code","link","error","source","output","sourceMessage","outputMessage","navigate","useRuleIndexNavigate","styles","Icon","SourceSvg","OutputSvg","ErrorSvg","Button"],"mappings":";;;;;;;;AAYA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AAEV,MAAMC,mBAA6C,CAAC,EAAEC,IAAI,EAAE,GAC1DA,KAAK,GAAG,CAAC,CAACC;QACf,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGH;QAC9B,MAAM,EAAEI,MAAM,EAAEC,MAAM,EAAE,GAAGF,SAAS,CAAC;QACrC,MAAMG,gBAAgBF,QAAQ,OAC1B,GAAGA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,QAAQ,GACnD;QACJ,MAAMG,gBAAgBF,QAAQ,OAC1B,GAAGA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,KAAK,CAAC,EAAEA,QAAQ,QAAQ,GACnD,CAAC;;;MAGH,CAAC;QAEH,MAAMG,WAAWC,qBAAqBR,MAAMC;QAC5C,OAAO,WAAP,GACE,KAAC;YAAI,WAAWQ,0BAAAA,SAAgB;;8BAC9B,KAAC;;sCACC,IAAC;4BAAI,WAAWA,0BAAAA,KAAY;sCAAE;;sCAC9B,KAAC;4BAAI,WAAWA,0BAAAA,GAAU;;8CACxB,IAACC,OAAIA;oCAAC,WAAWC;;8CACjB,IAAChB,MAAIA;oCACH,UAAU;wCAAE,SAASU;oCAAc;oCACnC,WAAW,GAAGI,0BAAAA,OAAc,CAAC,gBAAgB,CAAC;8CAE7CJ;;;;;;8BAIP,KAAC;;sCACC,IAAC;4BAAI,WAAWI,0BAAAA,KAAY;sCAAE;;sCAC9B,KAAC;4BAAI,WAAWA,0BAAAA,GAAU;;8CACxB,IAACC,OAAIA;oCAAC,WAAWE;;8CACjB,IAACjB,MAAIA;oCACH,UAAU;wCAAE,SAASW;oCAAc;oCACnC,WAAW,GAAGG,0BAAAA,OAAc,CAAC,gBAAgB,CAAC;8CAE7CH;;;;;;8BAIP,KAAC;;sCACC,IAAC;4BAAI,WAAWG,0BAAAA,KAAY;sCAAE;;sCAC9B,KAAC;4BAAI,WAAWA,0BAAAA,GAAU;;8CACxB,IAACC,OAAIA;oCAAC,WAAWG;;8CACjB,IAAClB,MAAIA;oCACH,UAAU;wCAAE,SAASI,EAAE,WAAW;oCAAC;oCACnC,WAAW,GAAGU,0BAAAA,OAAc,CAAC,eAAe,CAAC;8CAE5CV,EAAE,WAAW;;;;;;8BAIpB,IAACe,QAAMA;oBAAC,SAASP;oBAAU,MAAK;8BAAO;;;;IAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Alert/view.mjs","sources":["../../../src/components/Alert/view.tsx"],"sourcesContent":["import { InfoCircleOutlined } from '@ant-design/icons';\nimport { Alert, Button, Divider, Space, Typography } from 'antd';\nimport React from 'react';\nimport { Lodash } from '@rsdoctor/utils/common';\nimport { useRuleIndexNavigate } from '../../utils';\nimport { CodeViewer } from '../base';\nimport { CodeOpener } from '../Opener';\nimport { TextDrawer } from '../TextDrawer';\nimport { Title } from '../Title';\nimport { CodeViewAlertProps } from './types';\n\nexport const CodeViewDrawerContent: React.FC<CodeViewAlertProps> = ({\n data,\n cwd,\n}) => {\n const { file } = data;\n const { path, ranges } = file;\n const line = ranges?.[0].start.line;\n\n return (\n <Space direction=\"vertical\" className=\"alert-space\">\n <Title text=\"Code Viewer\" />\n <CodeOpener\n cwd={cwd}\n url={path}\n loc={Lodash.isNumber(line) ? String(line) : undefined}\n code\n disabled\n />\n <CodeViewer\n filePath={file.path}\n code={file.content}\n ranges={ranges}\n defaultLine={line}\n />\n </Space>\n );\n};\n\n///REVIEW - It's still useful? can't find usage\nexport const CodeViewAlert: React.FC<CodeViewAlertProps> = ({ data, cwd }) => {\n const { title, description = '', level, code, file } = data;\n const navigate = useRuleIndexNavigate(code, data.link);\n const startLine = file.ranges?.[0].start.line;\n\n const Description = (\n <Space direction=\"vertical\">\n <Typography.Text>{description}</Typography.Text>\n <Space>\n <Typography.Text>File:</Typography.Text>\n <Typography.Text strong code>\n {file.path}\n </Typography.Text>\n {Lodash.isNumber(startLine) ? (\n <>\n <Typography.Text>in line</Typography.Text>\n <Typography.Text strong code>\n {startLine}\n </Typography.Text>\n </>\n ) : (\n ''\n )}\n </Space>\n </Space>\n );\n\n return (\n <Alert\n showIcon\n message={\n <Space>\n <Typography.Text\n code\n strong\n onClick={navigate}\n style={{ cursor: 'pointer' }}\n >\n <a>{code}</a>\n </Typography.Text>\n <Typography.Text strong>{title}</Typography.Text>\n </Space>\n }\n description={Description}\n type={level === 'warn' ? 'info' : level}\n action={\n <Space>\n <TextDrawer text={'Show Source Code'} buttonProps={{ size: 'small' }}>\n <CodeViewDrawerContent data={data} cwd={cwd} />\n </TextDrawer>\n <>\n <Divider type=\"vertical\" />\n <Button\n type=\"link\"\n onClick={navigate}\n size=\"small\"\n icon={<InfoCircleOutlined />}\n />\n </>\n </Space>\n }\n />\n );\n};\n"],"names":["CodeViewDrawerContent","data","cwd","file","path","ranges","line","Space","Title","CodeOpener","Lodash","String","undefined","CodeViewer","CodeViewAlert","title","description","level","code","navigate","useRuleIndexNavigate","startLine","Description","Typography","Alert","TextDrawer","Divider","Button","InfoCircleOutlined"],"mappings":";;;;;;;;;;AAWO,MAAMA,wBAAsD,CAAC,EAClEC,IAAI,EACJC,GAAG,EACJ;IACC,MAAM,EAAEC,IAAI,EAAE,GAAGF;IACjB,MAAM,EAAEG,IAAI,EAAEC,MAAM,EAAE,GAAGF;IACzB,MAAMG,OAAOD,QAAQ,CAAC,EAAE,CAAC,MAAM;IAE/B,OAAO,WAAP,GACE,KAACE,OAAKA;QAAC,WAAU;QAAW,WAAU;;0BACpC,IAACC,OAAKA;gBAAC,MAAK;;0BACZ,IAACC,YAAUA;gBACT,KAAKP;gBACL,KAAKE;gBACL,KAAKM,OAAO,QAAQ,CAACJ,QAAQK,OAAOL,QAAQM;gBAC5C,MAAI;gBACJ,UAAQ;;0BAEV,IAACC,YAAUA;gBACT,UAAUV,KAAK,IAAI;gBACnB,MAAMA,KAAK,OAAO;gBAClB,QAAQE;gBACR,aAAaC;;;;AAIrB;AAGO,MAAMQ,gBAA8C,CAAC,EAAEb,IAAI,EAAEC,GAAG,EAAE;IACvE,MAAM,EAAEa,KAAK,EAAEC,cAAc,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAEf,IAAI,EAAE,GAAGF;IACvD,MAAMkB,WAAWC,qBAAqBF,MAAMjB,KAAK,IAAI;IACrD,MAAMoB,YAAYlB,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM;IAEzC,MAAMmB,cAAc,WAAdA,GACJ,KAACf,OAAKA;QAAC,WAAU;;0BACf,IAACgB,WAAW,IAAI;0BAAEP;;0BAClB,KAACT,OAAKA;;kCACJ,IAACgB,WAAW,IAAI;kCAAC;;kCACjB,IAACA,WAAW,IAAI;wBAAC,QAAM;wBAAC,MAAI;kCACzBpB,KAAK,IAAI;;oBAEXO,OAAO,QAAQ,CAACW,aAAa,WAAbA,GACf;;0CACE,IAACE,WAAW,IAAI;0CAAC;;0CACjB,IAACA,WAAW,IAAI;gCAAC,QAAM;gCAAC,MAAI;0CACzBF;;;yBAIL;;;;;IAMR,OAAO,WAAP,GACE,IAACG,OAAKA;QACJ,UAAQ;QACR,uBACE,KAACjB,OAAKA;;8BACJ,IAACgB,WAAW,IAAI;oBACd,MAAI;oBACJ,QAAM;oBACN,SAASJ;oBACT,OAAO;wBAAE,QAAQ;oBAAU;8BAE3B,kBAAC;kCAAGD;;;8BAEN,IAACK,WAAW,IAAI;oBAAC,QAAM;8BAAER;;;;QAG7B,aAAaO;QACb,MAAML,AAAU,WAAVA,QAAmB,SAASA;QAClC,sBACE,KAACV,OAAKA;;8BACJ,IAACkB,YAAUA;oBAAC,MAAM;oBAAoB,aAAa;wBAAE,MAAM;oBAAQ;8BACjE,kBAACzB,
|
|
1
|
+
{"version":3,"file":"components/Alert/view.mjs","sources":["../../../src/components/Alert/view.tsx"],"sourcesContent":["import { InfoCircleOutlined } from '@ant-design/icons';\nimport { Alert, Button, Divider, Space, Typography } from 'antd';\nimport React from 'react';\nimport { Lodash } from '@rsdoctor/utils/common';\nimport { useRuleIndexNavigate } from '../../utils';\nimport { CodeViewer } from '../base';\nimport { CodeOpener } from '../Opener';\nimport { TextDrawer } from '../TextDrawer';\nimport { Title } from '../Title';\nimport { CodeViewAlertProps } from './types';\n\nexport const CodeViewDrawerContent: React.FC<CodeViewAlertProps> = ({\n data,\n cwd,\n}) => {\n const { file } = data;\n const { path, ranges } = file;\n const line = ranges?.[0].start.line;\n\n return (\n <Space direction=\"vertical\" className=\"alert-space\">\n <Title text=\"Code Viewer\" />\n <CodeOpener\n cwd={cwd}\n url={path}\n loc={Lodash.isNumber(line) ? String(line) : undefined}\n code\n disabled\n />\n <CodeViewer\n filePath={file.path}\n code={file.content}\n ranges={ranges}\n defaultLine={line}\n />\n </Space>\n );\n};\n\n///REVIEW - It's still useful? can't find usage\nexport const CodeViewAlert: React.FC<CodeViewAlertProps> = ({ data, cwd }) => {\n const { title, description = '', level, code, file } = data;\n const navigate = useRuleIndexNavigate(code, data.link);\n const startLine = file.ranges?.[0].start.line;\n\n const Description = (\n <Space direction=\"vertical\">\n <Typography.Text>{description}</Typography.Text>\n <Space>\n <Typography.Text>File:</Typography.Text>\n <Typography.Text strong code>\n {file.path}\n </Typography.Text>\n {Lodash.isNumber(startLine) ? (\n <>\n <Typography.Text>in line</Typography.Text>\n <Typography.Text strong code>\n {startLine}\n </Typography.Text>\n </>\n ) : (\n ''\n )}\n </Space>\n </Space>\n );\n\n return (\n <Alert\n showIcon\n message={\n <Space>\n <Typography.Text\n code\n strong\n onClick={navigate}\n style={{ cursor: 'pointer' }}\n >\n <a>{code}</a>\n </Typography.Text>\n <Typography.Text strong>{title}</Typography.Text>\n </Space>\n }\n description={Description}\n type={level === 'warn' ? 'info' : level}\n action={\n <Space>\n <TextDrawer text={'Show Source Code'} buttonProps={{ size: 'small' }}>\n <CodeViewDrawerContent data={data} cwd={cwd} />\n </TextDrawer>\n <>\n <Divider type=\"vertical\" />\n <Button\n type=\"link\"\n onClick={navigate}\n size=\"small\"\n icon={<InfoCircleOutlined />}\n />\n </>\n </Space>\n }\n />\n );\n};\n"],"names":["CodeViewDrawerContent","data","cwd","file","path","ranges","line","Space","Title","CodeOpener","Lodash","String","undefined","CodeViewer","CodeViewAlert","title","description","level","code","navigate","useRuleIndexNavigate","startLine","Description","Typography","Alert","TextDrawer","Divider","Button","InfoCircleOutlined"],"mappings":";;;;;;;;;;AAWO,MAAMA,wBAAsD,CAAC,EAClEC,IAAI,EACJC,GAAG,EACJ;IACC,MAAM,EAAEC,IAAI,EAAE,GAAGF;IACjB,MAAM,EAAEG,IAAI,EAAEC,MAAM,EAAE,GAAGF;IACzB,MAAMG,OAAOD,QAAQ,CAAC,EAAE,CAAC,MAAM;IAE/B,OAAO,WAAP,GACE,KAACE,OAAKA;QAAC,WAAU;QAAW,WAAU;;0BACpC,IAACC,OAAKA;gBAAC,MAAK;;0BACZ,IAACC,YAAUA;gBACT,KAAKP;gBACL,KAAKE;gBACL,KAAKM,OAAO,QAAQ,CAACJ,QAAQK,OAAOL,QAAQM;gBAC5C,MAAI;gBACJ,UAAQ;;0BAEV,IAACC,YAAUA;gBACT,UAAUV,KAAK,IAAI;gBACnB,MAAMA,KAAK,OAAO;gBAClB,QAAQE;gBACR,aAAaC;;;;AAIrB;AAGO,MAAMQ,gBAA8C,CAAC,EAAEb,IAAI,EAAEC,GAAG,EAAE;IACvE,MAAM,EAAEa,KAAK,EAAEC,cAAc,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAEf,IAAI,EAAE,GAAGF;IACvD,MAAMkB,WAAWC,qBAAqBF,MAAMjB,KAAK,IAAI;IACrD,MAAMoB,YAAYlB,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM;IAEzC,MAAMmB,cAAc,WAAdA,GACJ,KAACf,OAAKA;QAAC,WAAU;;0BACf,IAACgB,WAAW,IAAI;0BAAEP;;0BAClB,KAACT,OAAKA;;kCACJ,IAACgB,WAAW,IAAI;kCAAC;;kCACjB,IAACA,WAAW,IAAI;wBAAC,QAAM;wBAAC,MAAI;kCACzBpB,KAAK,IAAI;;oBAEXO,OAAO,QAAQ,CAACW,aAAa,WAAbA,GACf;;0CACE,IAACE,WAAW,IAAI;0CAAC;;0CACjB,IAACA,WAAW,IAAI;gCAAC,QAAM;gCAAC,MAAI;0CACzBF;;;yBAIL;;;;;IAMR,OAAO,WAAP,GACE,IAACG,OAAKA;QACJ,UAAQ;QACR,uBACE,KAACjB,OAAKA;;8BACJ,IAACgB,WAAW,IAAI;oBACd,MAAI;oBACJ,QAAM;oBACN,SAASJ;oBACT,OAAO;wBAAE,QAAQ;oBAAU;8BAE3B,kBAAC;kCAAGD;;;8BAEN,IAACK,WAAW,IAAI;oBAAC,QAAM;8BAAER;;;;QAG7B,aAAaO;QACb,MAAML,AAAU,WAAVA,QAAmB,SAASA;QAClC,sBACE,KAACV,OAAKA;;8BACJ,IAACkB,YAAUA;oBAAC,MAAM;oBAAoB,aAAa;wBAAE,MAAM;oBAAQ;8BACjE,kBAACzB,uBAAqBA;wBAAC,MAAMC;wBAAM,KAAKC;;;8BAE1C;;sCACE,IAACwB,SAAOA;4BAAC,MAAK;;sCACd,IAACC,QAAMA;4BACL,MAAK;4BACL,SAASR;4BACT,MAAK;4BACL,oBAAM,IAACS,oBAAkBA,CAAAA;;;;;;;AAOvC"}
|
|
@@ -9,8 +9,22 @@ import bundle_alert_module from "./bundle-alert.module.mjs";
|
|
|
9
9
|
import { useState } from "react";
|
|
10
10
|
import { CrossChunksAlertCollapse } from "./collapse-cross-chunks.mjs";
|
|
11
11
|
import { ModuleMixedChunksAlertCollapse } from "./collapse-module-mixed-chunks.mjs";
|
|
12
|
+
import { SideEffectsOnlyImportsAlertCollapse } from "./collapse-side-effects-only-imports.mjs";
|
|
13
|
+
import { CjsRequireAlertCollapse } from "./collapse-cjs-require.mjs";
|
|
14
|
+
import { EsmResolvedToCjsAlertCollapse } from "./collapse-esm-cjs.mjs";
|
|
12
15
|
const BundleAlert = ({ title, dataSource, extraData })=>{
|
|
13
|
-
const
|
|
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);
|
|
14
28
|
const tabData = [
|
|
15
29
|
{
|
|
16
30
|
key: 'E1001',
|
|
@@ -41,12 +55,28 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
|
|
|
41
55
|
key: 'E1006',
|
|
42
56
|
label: 'Module Mixed Chunks',
|
|
43
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: []
|
|
44
73
|
}
|
|
45
74
|
];
|
|
46
75
|
dataSource.forEach((data)=>{
|
|
47
76
|
const target = tabData.find((td)=>td.key === data.code)?.data;
|
|
48
77
|
target?.push(data);
|
|
49
78
|
});
|
|
79
|
+
tabData.sort((a, b)=>(b.data.length > 0 ? 1 : 0) - (a.data.length > 0 ? 1 : 0));
|
|
50
80
|
const tabItems = tabData.map((td)=>{
|
|
51
81
|
const tagStyle = activeKey === td.key ? {
|
|
52
82
|
border: '1px solid #91D5FF',
|
|
@@ -126,6 +156,24 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
|
|
|
126
156
|
extraData: extraData
|
|
127
157
|
});
|
|
128
158
|
break;
|
|
159
|
+
case 'E1007':
|
|
160
|
+
children = /*#__PURE__*/ jsx(SideEffectsOnlyImportsAlertCollapse, {
|
|
161
|
+
data: td.data,
|
|
162
|
+
extraData: extraData
|
|
163
|
+
});
|
|
164
|
+
break;
|
|
165
|
+
case 'E1008':
|
|
166
|
+
children = /*#__PURE__*/ jsx(CjsRequireAlertCollapse, {
|
|
167
|
+
data: td.data,
|
|
168
|
+
extraData: extraData
|
|
169
|
+
});
|
|
170
|
+
break;
|
|
171
|
+
case 'E1009':
|
|
172
|
+
children = /*#__PURE__*/ jsx(EsmResolvedToCjsAlertCollapse, {
|
|
173
|
+
data: td.data,
|
|
174
|
+
extraData: extraData
|
|
175
|
+
});
|
|
176
|
+
break;
|
|
129
177
|
default:
|
|
130
178
|
children = null;
|
|
131
179
|
break;
|
|
@@ -177,7 +225,7 @@ const BundleAlert = ({ title, dataSource, extraData })=>{
|
|
|
177
225
|
onChange: setActiveKey,
|
|
178
226
|
tabBarGutter: 10,
|
|
179
227
|
type: "card",
|
|
180
|
-
defaultActiveKey:
|
|
228
|
+
defaultActiveKey: tabData[0]?.key ?? 'E1001',
|
|
181
229
|
items: tabItems
|
|
182
230
|
}) : /*#__PURE__*/ jsx("div", {
|
|
183
231
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Alerts/bundle-alert.mjs","sources":["../../../src/components/Alerts/bundle-alert.tsx"],"sourcesContent":["import { Tabs, Empty, Tag } from 'antd';\n\nimport { Card } from '../Card';\nimport { ECMAVersionCheck } from '../Alert/ecma-version-check';\nimport { Overview } from '../Overall/overview';\nimport { AlertCollapse } from './collapse';\nimport { CommonList } from './list';\nimport { ViewMode } from '../../constants';\n\nimport { AlertProps } from '../Alert/types';\n\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module.scss';\nimport { CSSProperties, useState } from 'react';\nimport { CrossChunksAlertCollapse } from './collapse-cross-chunks';\nimport { ModuleMixedChunksAlertCollapse } from './collapse-module-mixed-chunks';\n\ninterface BundleAlertProps {\n title: string;\n cwd: string;\n dataSource: Rule.RuleStoreDataItem[];\n extraData: Omit<AlertProps, 'data'>;\n viewMode: ViewMode;\n setViewMode(mode: ViewMode): void;\n extraCom?: JSX.Element | undefined;\n}\n\nexport const BundleAlert: React.FC<BundleAlertProps> = ({\n title,\n dataSource,\n extraData,\n}) => {\n const [activeKey, setActiveKey] = useState('E1001');\n const tabData: Array<{\n key: string;\n label: string;\n data: Array<Rule.RuleStoreDataItem>;\n }> = [\n {\n key: 'E1001',\n label: 'Duplicate Packages',\n data: [],\n },\n {\n key: 'E1002',\n label: 'Cross Chunks Package',\n data: [],\n },\n {\n key: 'E1003',\n label: 'Loader Performance Optimization',\n data: [],\n },\n {\n key: 'E1004',\n label: 'ECMA Version Check',\n data: [],\n },\n {\n key: 'E1005',\n label: 'Default Import Check',\n data: [],\n },\n {\n key: 'E1006',\n label: 'Module Mixed Chunks',\n data: [],\n },\n ];\n\n dataSource.forEach((data) => {\n const target = tabData.find((td) => td.key === data.code)?.data;\n target?.push(data);\n });\n\n const tabItems = tabData.map((td) => {\n const tagStyle =\n activeKey === td.key\n ? ({\n border: '1px solid #91D5FF',\n backgroundColor: '#E6F7FF',\n } as CSSProperties)\n : {};\n\n const tagTextStyle =\n activeKey === td.key\n ? {\n color: '#1890FF',\n }\n : {};\n\n const LabelComponent = () => (\n <Overview\n style={{\n backgroundColor: 'transparent',\n paddingLeft: 0,\n paddingRight: 0,\n width: '100%',\n }}\n title={<span className={styles.labelTitle}>{td.label}</span>}\n description={\n <div className={styles.labelDescription}>\n <span>{td.data.length}</span>\n <Tag\n style={{ fontFamily: 'Menlo', borderRadius: '2px', ...tagStyle }}\n >\n <span style={{ ...tagTextStyle }}>{td.key}</span>\n </Tag>\n </div>\n }\n />\n );\n\n let children, description;\n switch (td.key) {\n case 'E1001':\n children = <AlertCollapse data={td.data} extraData={extraData} />;\n break;\n case 'E1002':\n children = (\n <CrossChunksAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n case 'E1003':\n children = <CommonList data={td.data} />;\n break;\n case 'E1004':\n description = (\n <span>\n No ECMA Version Check Rules were found. Please refer to\n 「https://rsdoctor.rs/guide/usage/rule-config」.\n </span>\n );\n children = <ECMAVersionCheck data={td.data} />;\n break;\n case 'E1005':\n children = <CommonList data={td.data} />;\n break;\n case 'E1006':\n children = (\n <ModuleMixedChunksAlertCollapse\n data={td.data}\n extraData={extraData}\n />\n );\n break;\n default:\n children = null;\n break;\n }\n\n if (!td.data.length) {\n children = (\n <Empty description={description} image={Empty.PRESENTED_IMAGE_SIMPLE} />\n );\n }\n\n return {\n key: td.key,\n label: <LabelComponent />,\n children: (\n <Card\n className={styles.card}\n type=\"inner\"\n title={\n <>\n <Tag\n style={{\n fontFamily: 'Menlo',\n fontWeight: '700',\n fontSize: '13px',\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n }}\n >\n {td.key}\n </Tag>\n <span>{td.label}</span>\n </>\n }\n >\n {children}\n </Card>\n ),\n };\n });\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div className={styles.container}>\n <div className={styles.title}>{title}</div>\n {!dataSource.length ? (\n <div\n style={{\n minHeight: '480px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Empty\n description={'No Bundle Alerts Data'}\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n />\n </div>\n ) : (\n <Tabs\n onChange={setActiveKey}\n tabBarGutter={10}\n type=\"card\"\n defaultActiveKey=\"E1001\"\n items={tabItems}\n />\n )}\n </div>\n </Card>\n );\n};\n"],"names":["BundleAlert","title","dataSource","extraData","activeKey","setActiveKey","useState","tabData","data","target","td","tabItems","tagStyle","tagTextStyle","LabelComponent","Overview","styles","Tag","children","description","AlertCollapse","CrossChunksAlertCollapse","CommonList","ECMAVersionCheck","ModuleMixedChunksAlertCollapse","Empty","Card","Tabs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/Alerts/bundle-alert.mjs","sources":["../../../src/components/Alerts/bundle-alert.tsx"],"sourcesContent":["import { Tabs, Empty, Tag } from 'antd';\n\nimport { Card } from '../Card';\nimport { ECMAVersionCheck } from '../Alert/ecma-version-check';\nimport { Overview } from '../Overall/overview';\nimport { AlertCollapse } from './collapse';\nimport { CommonList } from './list';\nimport { ViewMode } from '../../constants';\n\nimport { AlertProps } from '../Alert/types';\n\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module.scss';\nimport { CSSProperties, useState } from 'react';\nimport { CrossChunksAlertCollapse } from './collapse-cross-chunks';\nimport { ModuleMixedChunksAlertCollapse } from './collapse-module-mixed-chunks';\nimport { SideEffectsOnlyImportsAlertCollapse } from './collapse-side-effects-only-imports';\nimport { CjsRequireAlertCollapse } from './collapse-cjs-require';\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?: 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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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Rule } from '@rsdoctor/types';
|
|
2
|
+
import type { AlertProps } from '../Alert/types.js';
|
|
3
|
+
export declare const CjsRequireAlertCollapse: (props: {
|
|
4
|
+
data: Array<Rule.RuleStoreDataItem>;
|
|
5
|
+
extraData: Omit<AlertProps, "data">;
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|