@rsdoctor/components 1.3.7 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/imgs/connection-point.mjs.map +1 -1
- package/dist/common/imgs/webpack.mjs.map +1 -1
- package/dist/common/svg/bundle-size.mjs.map +1 -1
- package/dist/common/svg/error.mjs.map +1 -1
- package/dist/common/svg/file-css.mjs.map +1 -1
- package/dist/common/svg/file-html.mjs.map +1 -1
- package/dist/common/svg/file-image.mjs.map +1 -1
- package/dist/common/svg/file-js.mjs.map +1 -1
- package/dist/common/svg/file-unknown.mjs.map +1 -1
- package/dist/common/svg/file.mjs.map +1 -1
- package/dist/common/svg/files/css.mjs.map +1 -1
- package/dist/common/svg/files/html.mjs.map +1 -1
- package/dist/common/svg/files/image.mjs.map +1 -1
- package/dist/common/svg/files/js.mjs.map +1 -1
- package/dist/common/svg/files/unkown-file.mjs.map +1 -1
- package/dist/common/svg/loader/input.mjs.map +1 -1
- package/dist/common/svg/loader/output.mjs.map +1 -1
- package/dist/common/svg/loader/step.mjs.map +1 -1
- package/dist/common/svg/navbar/bundle-size-active.mjs.map +1 -1
- package/dist/common/svg/navbar/bundle-size-inactive.mjs.map +1 -1
- package/dist/common/svg/navbar/compile-analysis-active.mjs.map +1 -1
- package/dist/common/svg/navbar/compile-analysis-inactive.mjs.map +1 -1
- package/dist/common/svg/navbar/overall-active.mjs.map +1 -1
- package/dist/common/svg/navbar/overall-inactive.mjs.map +1 -1
- package/dist/common/svg/output.mjs.map +1 -1
- package/dist/common/svg/source-size.mjs.map +1 -1
- package/dist/common/svg/source.mjs.map +1 -1
- package/dist/common/svg/total-size.mjs.map +1 -1
- package/dist/common/svg/version.mjs.map +1 -1
- package/dist/components/Alert/change.d.ts +1 -1
- package/dist/components/Alert/change.mjs.map +1 -1
- package/dist/components/Alert/ecma-version-check.d.ts +1 -1
- package/dist/components/Alert/ecma-version-check.mjs.map +1 -1
- package/dist/components/Alert/ecma-version-check.module.mjs.map +1 -1
- package/dist/components/Alert/file-relation.d.ts +1 -1
- package/dist/components/Alert/file-relation.mjs.map +1 -1
- package/dist/components/Alert/package-relation.d.ts +1 -1
- package/dist/components/Alert/package-relation.mjs.map +1 -1
- package/dist/components/Alert/package-relation.module.mjs.map +1 -1
- package/dist/components/Alert/view.d.ts +1 -1
- package/dist/components/Alert/view.mjs.map +1 -1
- package/dist/components/Alerts/bundle-alert.d.ts +2 -2
- package/dist/components/Alerts/bundle-alert.mjs.map +1 -1
- package/dist/components/Alerts/bundle-alert.module.mjs.map +1 -1
- package/dist/components/Alerts/bundle.mjs.map +1 -1
- package/dist/components/Alerts/collapse-cross-chunks.d.ts +1 -1
- package/dist/components/Alerts/collapse-cross-chunks.mjs.map +1 -1
- package/dist/components/Alerts/collapse.d.ts +1 -1
- package/dist/components/Alerts/collapse.mjs.map +1 -1
- package/dist/components/Alerts/collapse.module.mjs.map +1 -1
- package/dist/components/Alerts/compile.mjs.map +1 -1
- package/dist/components/Alerts/index.d.ts +3 -3
- package/dist/components/Alerts/list.mjs.map +1 -1
- package/dist/components/Alerts/list.module.mjs.map +1 -1
- package/dist/components/Alerts/overlay.mjs.map +1 -1
- package/dist/components/Alerts/overlay.module.mjs.map +1 -1
- package/dist/components/Badge/index.mjs.map +1 -1
- package/dist/components/Card/diff.d.ts +1 -1
- package/dist/components/Card/diff.mjs.map +1 -1
- package/dist/components/Card/index.d.ts +1 -1
- package/dist/components/Card/index.mjs.map +1 -1
- package/dist/components/Card/size.mjs.map +1 -1
- package/dist/components/Card/size.module.mjs.map +1 -1
- package/dist/components/Card/statistic.mjs.map +1 -1
- package/dist/components/Charts/TimelineCharts/index.d.ts +2 -2
- package/dist/components/Charts/TimelineCharts/index.mjs.map +1 -1
- package/dist/components/Charts/TreeMap.mjs.map +1 -1
- package/dist/components/Charts/bootstrap.d.ts +1 -1
- package/dist/components/Charts/bootstrap.mjs.map +1 -1
- package/dist/components/Charts/common.d.ts +2 -2
- package/dist/components/Charts/common.mjs.map +1 -1
- package/dist/components/Charts/constants.mjs.map +1 -1
- package/dist/components/Charts/done.d.ts +1 -1
- package/dist/components/Charts/done.mjs.map +1 -1
- package/dist/components/Charts/index.mjs.map +1 -1
- package/dist/components/Charts/loader.d.ts +1 -1
- package/dist/components/Charts/loader.mjs.map +1 -1
- package/dist/components/Charts/minify.d.ts +1 -1
- package/dist/components/Charts/minify.mjs.map +1 -1
- package/dist/components/Charts/treemap.module.mjs.map +1 -1
- package/dist/components/Charts/types.mjs.map +1 -1
- package/dist/components/Charts/utils.d.ts +1 -1
- package/dist/components/Charts/utils.mjs.map +1 -1
- package/dist/components/Configuration/builder.mjs.map +1 -1
- package/dist/components/Configuration/builder.module.mjs.map +1 -1
- package/dist/components/Configuration/index.d.ts +1 -1
- package/dist/components/FileTree/css.mjs.map +1 -1
- package/dist/components/FileTree/html.mjs.map +1 -1
- package/dist/components/FileTree/image.mjs.map +1 -1
- package/dist/components/FileTree/index.mjs.map +1 -1
- package/dist/components/FileTree/js.mjs.map +1 -1
- package/dist/components/FileTree/unkown-file.mjs.map +1 -1
- package/dist/components/Form/keyword.mjs.map +1 -1
- package/dist/components/Keyword/index.mjs.map +1 -1
- package/dist/components/Keyword/style.module.mjs.map +1 -1
- package/dist/components/Layout/builder-select.mjs.map +1 -1
- package/dist/components/Layout/bundle-size-icon.mjs.map +1 -1
- package/dist/components/Layout/compile-icon.mjs.map +1 -1
- package/dist/components/Layout/constants.mjs.map +1 -1
- package/dist/components/Layout/header.mjs.map +1 -1
- package/dist/components/Layout/index.mjs.map +1 -1
- package/dist/components/Layout/menus.mjs.map +1 -1
- package/dist/components/Layout/overall-icon.mjs.map +1 -1
- package/dist/components/Layout/progress.mjs.map +1 -1
- package/dist/components/Loader/Analysis/files.mjs.map +1 -1
- package/dist/components/Loader/Analysis/index.mjs.map +1 -1
- package/dist/components/Loader/Analysis/input.mjs.map +1 -1
- package/dist/components/Loader/Analysis/output.mjs.map +1 -1
- package/dist/components/Loader/Analysis/style.module.mjs.map +1 -1
- package/dist/components/Loader/executions.mjs.map +1 -1
- package/dist/components/Loader/step.mjs.map +1 -1
- package/dist/components/Manifest/api.mjs.map +1 -1
- package/dist/components/Manifest/data.mjs.map +1 -1
- package/dist/components/Manifest/index.d.ts +2 -2
- package/dist/components/Opener/code.mjs.map +1 -1
- package/dist/components/Opener/index.d.ts +2 -2
- package/dist/components/Opener/vscode.mjs.map +1 -1
- package/dist/components/Overall/DataSummary.mjs.map +1 -1
- package/dist/components/Overall/DataSummary.module.mjs.map +1 -1
- package/dist/components/Overall/bundle.mjs.map +1 -1
- package/dist/components/Overall/bundle.module.mjs.map +1 -1
- package/dist/components/Overall/card.module.mjs.map +1 -1
- package/dist/components/Overall/compile.mjs.map +1 -1
- package/dist/components/Overall/compile.module.mjs.map +1 -1
- package/dist/components/Overall/help-center.mjs.map +1 -1
- package/dist/components/Overall/help-center.module.mjs.map +1 -1
- package/dist/components/Overall/index.d.ts +3 -3
- package/dist/components/Overall/list.module.mjs.map +1 -1
- package/dist/components/Overall/overview.mjs.map +1 -1
- package/dist/components/Overall/overview.module.mjs.map +1 -1
- package/dist/components/Overall/project.mjs.map +1 -1
- package/dist/components/Overall/project.module.mjs.map +1 -1
- package/dist/components/Plugins/webpack.mjs.map +1 -1
- 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/Status/index.d.ts +1 -1
- package/dist/components/TextDrawer/duplicate.d.ts +2 -2
- package/dist/components/TextDrawer/duplicate.mjs.map +1 -1
- package/dist/components/TextDrawer/index.d.ts +1 -1
- package/dist/components/TextDrawer/index.mjs.map +1 -1
- package/dist/components/Title/index.mjs.map +1 -1
- package/dist/components/base/CodeViewer/index.d.ts +4 -4
- package/dist/components/base/CodeViewer/index.mjs.map +1 -1
- package/dist/components/base/CodeViewer/index.module.mjs.map +1 -1
- package/dist/components/base/CodeViewer/useCodeDrawer.d.ts +1 -1
- package/dist/components/base/CodeViewer/useCodeDrawer.mjs.map +1 -1
- package/dist/components/base/CodeViewer/utils.mjs.map +1 -1
- package/dist/components/base/DiffViewer/index.d.ts +4 -4
- package/dist/components/base/DiffViewer/index.mjs.map +1 -1
- package/dist/components/base/DiffViewer/index.module.mjs.map +1 -1
- package/dist/components/base/DiffViewer/useDiffDrawer.d.ts +1 -1
- package/dist/components/base/DiffViewer/useDiffDrawer.mjs.map +1 -1
- package/dist/components/base/DiffViewer/utils.mjs.map +1 -1
- package/dist/components/base/index.d.ts +2 -2
- package/dist/components/index.d.ts +10 -10
- package/dist/config.d.ts +1 -1
- package/dist/config.mjs.map +1 -1
- package/dist/constants.mjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/pages/BundleSize/components/asset.d.ts +1 -1
- package/dist/pages/BundleSize/components/asset.mjs.map +1 -1
- package/dist/pages/BundleSize/components/card.module.mjs.map +1 -1
- package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.module.mjs.map +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.map +1 -1
- package/dist/pages/BundleSize/index.d.ts +1 -1
- package/dist/pages/BundleSize/index.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/chunks.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/components/fileTreeCom.d.ts +1 -1
- package/dist/pages/ModuleAnalyze/components/fileTreeCom.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/constants.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/dependency.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/fileTree.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/index.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/utils/hooks.mjs.map +1 -1
- package/dist/pages/ModuleAnalyze/utils/index.mjs.map +1 -1
- package/dist/pages/ModuleResolve/constants.mjs.map +1 -1
- package/dist/pages/ModuleResolve/index.d.ts +1 -1
- package/dist/pages/ModuleResolve/index.mjs.map +1 -1
- package/dist/pages/Overall/constants.mjs.map +1 -1
- package/dist/pages/Overall/index.d.ts +1 -1
- package/dist/pages/Overall/index.mjs.map +1 -1
- package/dist/pages/Overall/index.module.mjs.map +1 -1
- package/dist/pages/Overall/responsiveLayout.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/assets.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/cards.d.ts +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/cards.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/changes.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/constants.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/index.d.ts +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/index.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/modules.d.ts +2 -2
- package/dist/pages/Resources/BundleDiff/DiffContainer/modules.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/overview.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/packages.d.ts +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/packages.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/row.d.ts +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/row.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/types.d.ts +2 -2
- package/dist/pages/Resources/BundleDiff/DiffContainer/utils.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffServerAPIProvider/index.d.ts +1 -1
- package/dist/pages/Resources/BundleDiff/DiffServerAPIProvider/index.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/constants.mjs.map +1 -1
- package/dist/pages/Resources/BundleDiff/index.d.ts +2 -2
- package/dist/pages/Resources/BundleDiff/index.mjs.map +1 -1
- package/dist/pages/Resources/RuleIndex/constants.mjs.map +1 -1
- package/dist/pages/Resources/RuleIndex/index.d.ts +1 -1
- package/dist/pages/Resources/RuleIndex/index.mjs.map +1 -1
- package/dist/pages/TreeShaking/constants.mjs.map +1 -1
- package/dist/pages/TreeShaking/editor.d.ts +1 -1
- package/dist/pages/TreeShaking/editor.mjs.map +1 -1
- package/dist/pages/TreeShaking/index.d.ts +1 -1
- package/dist/pages/TreeShaking/index.mjs.map +1 -1
- package/dist/pages/TreeShaking/open-tag.mjs.map +1 -1
- package/dist/pages/TreeShaking/range.mjs.map +1 -1
- package/dist/pages/TreeShaking/space.mjs.map +1 -1
- package/dist/pages/TreeShaking/table.d.ts +1 -1
- package/dist/pages/TreeShaking/table.mjs.map +1 -1
- package/dist/pages/TreeShaking/utils.d.ts +1 -1
- package/dist/pages/TreeShaking/utils.mjs.map +1 -1
- package/dist/pages/Uploader/constants.mjs.map +1 -1
- package/dist/pages/Uploader/index.d.ts +1 -1
- package/dist/pages/Uploader/index.mjs.map +1 -1
- package/dist/pages/Uploader/utils.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Analysis/constants.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Analysis/index.d.ts +1 -1
- package/dist/pages/WebpackLoaders/Analysis/index.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Overall/constants.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/Overall/index.d.ts +1 -1
- package/dist/pages/WebpackLoaders/Overall/index.mjs.map +1 -1
- package/dist/pages/WebpackLoaders/constants.mjs.map +1 -1
- package/dist/pages/WebpackPlugins/constants.mjs.map +1 -1
- package/dist/pages/WebpackPlugins/index.d.ts +1 -1
- package/dist/pages/WebpackPlugins/index.mjs.map +1 -1
- package/dist/pages/index.d.ts +11 -11
- package/dist/utils/data/base.mjs.map +1 -1
- package/dist/utils/data/brief.d.ts +1 -1
- package/dist/utils/data/brief.mjs.map +1 -1
- package/dist/utils/data/index.d.ts +1 -1
- package/dist/utils/data/index.mjs.map +1 -1
- package/dist/utils/data/local.d.ts +1 -1
- package/dist/utils/data/local.mjs.map +1 -1
- package/dist/utils/data/remote.d.ts +1 -1
- package/dist/utils/data/remote.mjs.map +1 -1
- package/dist/utils/file.mjs.map +1 -1
- package/dist/utils/hooks.d.ts +1 -1
- package/dist/utils/hooks.mjs +4 -3
- package/dist/utils/hooks.mjs.map +1 -1
- package/dist/utils/i18n/cn.d.ts +1 -1
- package/dist/utils/i18n/cn.mjs.map +1 -1
- package/dist/utils/i18n/en.mjs +3 -3
- package/dist/utils/i18n/en.mjs.map +1 -1
- package/dist/utils/i18n/index.mjs.map +1 -1
- package/dist/utils/index.d.ts +16 -16
- package/dist/utils/loader.mjs.map +1 -1
- package/dist/utils/locale.d.ts +1 -1
- package/dist/utils/locale.mjs.map +1 -1
- package/dist/utils/manifest.d.ts +4 -4
- package/dist/utils/manifest.mjs.map +1 -1
- package/dist/utils/request.mjs.map +1 -1
- package/dist/utils/routes.mjs.map +1 -1
- package/dist/utils/size.mjs.map +1 -1
- package/dist/utils/socket.mjs.map +1 -1
- package/dist/utils/stats.mjs.map +1 -1
- package/dist/utils/storage.d.ts +2 -2
- package/dist/utils/storage.mjs.map +1 -1
- package/dist/utils/string.mjs.map +1 -1
- package/dist/utils/time.mjs.map +1 -1
- package/dist/utils/url.mjs.map +1 -1
- package/dist/utils/worker/index.d.ts +4 -4
- package/dist/utils/worker/master.d.ts +2 -2
- package/dist/utils/worker/master.mjs.map +1 -1
- package/dist/utils/worker/utils.d.ts +1 -1
- package/dist/utils/worker/utils.mjs.map +1 -1
- package/dist/utils/worker/worker.d.ts +1 -1
- package/dist/utils/worker/worker.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/assets.mjs","sources":["webpack://@rsdoctor/components/./src/pages/Resources/BundleDiff/DiffContainer/assets.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Button,\n Col,\n Divider,\n Row,\n Select,\n Space,\n Table,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { sumBy } from 'es-toolkit/compat';\nimport {\n CheckSquareOutlined,\n InfoCircleOutlined,\n MinusSquareOutlined,\n PlusSquareOutlined,\n SortAscendingOutlined,\n FileSearchOutlined,\n AppstoreAddOutlined,\n} from '@ant-design/icons';\nimport { Constants, SDK, Client } from '@rsdoctor/types';\nimport { BundleDiffTableAssetsData } from './types';\nimport { formatPercent, formatSize } from '../../../../utils';\nimport { Color, Size } from '../../../../constants';\nimport { Percent, SizePercent } from '../../../../components/Card/diff';\nimport { KeywordInput } from '../../../../components/Form/keyword';\nimport { ModuleRowForAsset } from './row';\nimport { ViewChanges } from './changes';\nimport { UpdateType, SortType } from './constants';\nimport { formatDiffSize } from './utils';\nimport { Graph } from '@rsdoctor/utils/common';\n\nconst fileTypes = {\n JS: [Constants.JSExtension],\n CSS: [Constants.CSSExtension],\n HTML: [Constants.HtmlExtension],\n Imgs: Constants.ImgExtensions,\n Fonts: Constants.FontExtensions,\n Media: Constants.MediaExtensions,\n Others: [],\n};\n\nconst definedExtensions = Object.values(fileTypes).flat();\n\nconst Name: React.FC<{ data: BundleDiffTableAssetsData }> = ({ data: r }) => {\n const name = (\n <Space>\n <Typography.Text strong>{r.alias}</Typography.Text>\n <Tooltip\n title={\n <Space style={{ color: 'inherit' }} direction=\"vertical\">\n {r.current ? (\n <Typography.Text style={{ color: 'inherit' }}>\n Current realpath: {r.current.path}\n </Typography.Text>\n ) : null}\n {r.baseline ? (\n <Typography.Text style={{ color: 'inherit' }}>\n Baseline realpath: {r.baseline.path}\n </Typography.Text>\n ) : null}\n </Space>\n }\n >\n <InfoCircleOutlined />\n </Tooltip>\n </Space>\n );\n\n if (r.baseline && !r.current) {\n // deleted\n return (\n <Space>\n <MinusSquareOutlined style={{ color: Color.Red }} />\n {name}\n </Space>\n );\n }\n\n if (!r.baseline && r.current) {\n // new\n return (\n <Space>\n <PlusSquareOutlined style={{ color: Color.Green }} />\n {name}\n </Space>\n );\n }\n\n if (r.baseline && r.current) {\n // update\n return (\n <Space>\n <CheckSquareOutlined style={{ color: Color.Yellow }} />\n {name}\n </Space>\n );\n }\n\n return name;\n};\n\nexport const Assets: React.FC<{\n outputFilename: string;\n baseline: SDK.ServerAPI.ResponseTypes[SDK.ServerAPI.API.GetBundleDiffSummary];\n current: SDK.ServerAPI.ResponseTypes[SDK.ServerAPI.API.GetBundleDiffSummary];\n}> = ({ baseline, current, outputFilename }) => {\n const bOutPutFileName = outputFilename;\n\n const [keyword, setKeyword] = useState<string>();\n const [selectedFileTypes, setSelectedFileTypes] = useState<string[]>([]);\n const [selectedUpdateTypes, setSelectedUpdateTypes] = useState<UpdateType[]>(\n [],\n );\n const [selectedSortType, setSelectedSortType] = useState<SortType>(\n SortType.Size,\n );\n const [selectedBAsset, setSelectedBAsset] = useState(null);\n const [selectedCAsset, setSelectedCAsset] = useState(null);\n\n const { assets: bAssets } = baseline.chunkGraph;\n const { assets: cAssets } = current.chunkGraph;\n\n const dataSource = useMemo(() => {\n const res: Record<string, BundleDiffTableAssetsData> = {};\n if (selectedBAsset && selectedCAsset) {\n res.choose = {\n alias: `${selectedBAsset} \\n ${selectedCAsset}`,\n current: cAssets.find((c: SDK.AssetData) => c.path === selectedCAsset),\n baseline: bAssets.find((b: SDK.AssetData) => b.path === selectedBAsset),\n };\n return Object.values(res);\n }\n\n bAssets.forEach((asset: SDK.AssetData) => {\n const alias = Graph.formatAssetName(asset.path, bOutPutFileName);\n if (!res[alias]) {\n res[alias] = {\n alias,\n baseline: asset,\n };\n } else {\n console.warn('[Baseline Asset Exists]: ', asset, res);\n }\n });\n\n cAssets.forEach((asset: SDK.AssetData) => {\n const alias = Graph.formatAssetName(asset.path, bOutPutFileName);\n if (!res[alias]) {\n res[alias] = { alias };\n }\n res[alias].current = asset;\n });\n\n return Object.values(res);\n }, [bAssets, cAssets, selectedBAsset, selectedCAsset]);\n\n const filteredDataSource = useMemo(() => {\n let list = dataSource.slice();\n\n if (keyword) {\n list = list.filter((e) => e.alias.indexOf(keyword) > -1);\n }\n\n if (selectedFileTypes.length) {\n const exts = selectedFileTypes\n .map((e) => fileTypes[e as keyof typeof fileTypes])\n .flat();\n\n const hasOthers = selectedFileTypes.indexOf('Others') > -1;\n\n list = list.filter((e) => {\n const asset = e.baseline! || e.current!;\n if (Graph.isAssetMatchExtensions(asset, exts)) {\n return true;\n }\n\n if (hasOthers) {\n return !Graph.isAssetMatchExtensions(asset, definedExtensions);\n }\n\n return false;\n });\n }\n\n if (selectedUpdateTypes.length) {\n list = list.filter((e) => {\n if (e.baseline && !e.current) {\n // deleted\n return selectedUpdateTypes.includes(UpdateType.Deleted);\n }\n\n if (!e.baseline && e.current) {\n // new\n return selectedUpdateTypes.includes(UpdateType.New);\n }\n\n if (e.baseline && e.current) {\n if (e.baseline.size === e.current.size) {\n // not changed\n return selectedUpdateTypes.includes(UpdateType.NotChanged);\n }\n // changed\n return selectedUpdateTypes.includes(UpdateType.Changed);\n }\n\n return false;\n });\n }\n\n if (selectedSortType) {\n if (selectedSortType === SortType.Name) {\n list.sort((a, b) => {\n return a.alias.localeCompare(b.alias);\n });\n } else {\n const { prev, others } = list.reduce(\n (t, c) => {\n if (c.current) {\n if (c.baseline) {\n t.prev.unshift(c);\n } else {\n t.prev.push(c);\n }\n } else {\n t.others.push(c);\n }\n return t;\n },\n {\n prev: [] as BundleDiffTableAssetsData[],\n others: [] as BundleDiffTableAssetsData[],\n },\n );\n\n list = [\n ...prev.sort((a, b) => {\n if (b.current && a.current) {\n if (selectedSortType === SortType.Delta) {\n const { percent: percentA } = Graph.diffAssetsByExtensions(\n baseline.chunkGraph,\n current.chunkGraph,\n (asset) =>\n Graph.formatAssetName(asset.path, bOutPutFileName) ===\n a.alias,\n );\n const { percent: percentB } = Graph.diffAssetsByExtensions(\n baseline.chunkGraph,\n current.chunkGraph,\n (asset) =>\n Graph.formatAssetName(asset.path, bOutPutFileName) ===\n b.alias,\n );\n return percentB - percentA;\n }\n return b.current!.size - a.current!.size;\n }\n return -1;\n }),\n ...others,\n ];\n }\n }\n\n return list;\n }, [\n dataSource,\n keyword,\n selectedFileTypes,\n selectedUpdateTypes,\n selectedSortType,\n ]);\n\n const cSize = useMemo(\n () =>\n sumBy(filteredDataSource, (e) => (e.current ? e.current.size : 0)) || 0,\n [filteredDataSource],\n );\n const bSize = useMemo(\n () =>\n sumBy(filteredDataSource, (e) => (e.baseline ? e.baseline.size : 0)) || 0,\n [filteredDataSource],\n );\n\n return (\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24}>\n <Space wrap>\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"\"\n labelStyle={{ width: 45 }}\n placeholder=\"Search by file name\"\n onChange={(e) => {\n setKeyword(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by file type\"\n style={{ width: 250 }}\n options={Object.keys(fileTypes).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedFileTypes(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by file changed type\"\n style={{ width: 200 }}\n options={Object.values(UpdateType).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedUpdateTypes(e);\n }}\n />\n <Select\n suffixIcon={<SortAscendingOutlined />}\n // style={{ width: 150 }}\n options={Object.values(SortType).map((e) => ({\n label: e,\n value: e,\n }))}\n value={selectedSortType}\n onChange={(e) => {\n setSelectedSortType(e);\n }}\n />\n </Space>\n <Row style={{ marginTop: 10 }} gutter={[6, 6]}>\n <Col>\n <Button>Select Baseline Asset and Current Asset to Diff </Button>\n </Col>\n <Col>\n <Select\n allowClear\n placeholder=\"select baseline assets\"\n showSearch\n style={{ width: 300 }}\n options={Object.values(baseline.chunkGraph.assets).map((e) => ({\n label: e.path,\n value: e.path,\n }))}\n onChange={(e) => setSelectedBAsset(e)}\n />\n </Col>\n <Col>\n <Select\n allowClear\n placeholder=\"select current assets\"\n showSearch\n style={{ width: 300 }}\n options={Object.values(current.chunkGraph.assets).map((e) => ({\n label: e.path,\n value: e.path,\n }))}\n onChange={(e) => setSelectedCAsset(e)}\n />\n </Col>\n </Row>\n </Col>\n <Col span={24}>\n <Table\n bordered\n sticky={{ offsetHeader: 54 }}\n pagination={{\n pageSize: 20,\n size: 'small',\n }}\n dataSource={filteredDataSource}\n rowKey={(e) => e.alias}\n expandable={{\n expandedRowRender: (r) => {\n return (\n <div style={{ margin: Size.BasePadding / 3 }}>\n <ModuleRowForAsset\n data={r}\n baseline={baseline}\n current={current}\n />\n </div>\n );\n },\n columnTitle: (\n <Tooltip\n title=\"Click to expand row to see the modules which the chunk contains\"\n placement=\"left\"\n >\n <AppstoreAddOutlined style={{ cursor: 'pointer' }} />\n </Tooltip>\n ),\n }}\n columns={[\n {\n title: (\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n filtered assets is {filteredDataSource.length}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n total assets is {dataSource.length}\n </Typography.Text>\n </Space>\n }\n >\n <Typography.Text strong>Assets</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n {filteredDataSource.length}/{dataSource.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n ),\n render: (_v, r) => <Name data={r} />,\n },\n {\n title: () => {\n const cs = formatSize(cSize);\n const diff = Graph.diffSize(bSize, cSize);\n return (\n <Tooltip\n title={`Current size is ${cs}, Delta is ${formatPercent(diff.percent)}`}\n >\n <Typography.Text strong>Current</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n <Typography.Text\n style={{ fontSize: 'inherit', marginRight: 8 }}\n >\n {cs}\n </Typography.Text>\n <SizePercent\n fontSize={'inherit'}\n baseline={bSize}\n current={cSize}\n />\n {formatDiffSize(\n bSize,\n cSize,\n bSize > cSize\n ? Client.RsdoctorClientDiffState.Down\n : Client.RsdoctorClientDiffState.Up,\n { fontSize: 10, fontWeight: 400, marginLeft: 4 },\n )}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n );\n },\n render: (_v, r) => {\n if (r.current) {\n const { percent, state } = Graph.diffAssetsByExtensions(\n baseline.chunkGraph,\n current.chunkGraph,\n (asset) =>\n Graph.formatAssetName(asset.path, bOutPutFileName) ===\n r.alias,\n );\n const isInitial = Graph.isInitialAsset(\n r.current,\n current.chunkGraph.chunks,\n );\n return (\n <Space>\n <Typography.Text>\n {formatSize(r.current.size)}\n </Typography.Text>\n <Percent percent={percent} state={state} />\n {isInitial ? <Tag color={Color.Blue}>initial</Tag> : null}\n </Space>\n );\n }\n return '-';\n },\n },\n {\n title: () => {\n const bs = formatSize(bSize);\n return (\n <Tooltip title={`Baseline size is ${bs}`}>\n <Typography.Text strong>Baseline</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n {bs}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n );\n },\n render: (_v, r) => {\n if (r.baseline) {\n const isInitial = Graph.isInitialAsset(\n r.baseline,\n baseline.chunkGraph.chunks,\n );\n return (\n <Space>\n <Typography.Text>\n {formatSize(r.baseline.size)}\n </Typography.Text>\n {isInitial ? <Tag color={Color.Blue}>initial</Tag> : null}\n </Space>\n );\n }\n return '-';\n },\n },\n {\n title: 'Actions',\n key: 'actions',\n render: (_v, r) => {\n return (\n <ViewChanges\n file={r.alias}\n data={[\n {\n baseline: r.baseline?.content,\n current: r.current?.content,\n group: 'assets',\n },\n ]}\n />\n );\n },\n },\n ]}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["fileTypes","Constants","definedExtensions","Object","Name","r","name","Space","Typography","Tooltip","InfoCircleOutlined","MinusSquareOutlined","Color","PlusSquareOutlined","CheckSquareOutlined","Assets","baseline","current","outputFilename","bOutPutFileName","keyword","setKeyword","useState","selectedFileTypes","setSelectedFileTypes","selectedUpdateTypes","setSelectedUpdateTypes","selectedSortType","setSelectedSortType","SortType","selectedBAsset","setSelectedBAsset","selectedCAsset","setSelectedCAsset","bAssets","cAssets","dataSource","useMemo","res","c","b","asset","alias","Graph","console","filteredDataSource","list","e","exts","hasOthers","UpdateType","a","prev","others","t","percentA","percentB","cSize","sumBy","bSize","Row","Size","Col","KeywordInput","FileSearchOutlined","Select","SortAscendingOutlined","Button","Table","ModuleRowForAsset","AppstoreAddOutlined","Divider","_v","cs","formatSize","diff","formatPercent","SizePercent","formatDiffSize","Client","percent","state","isInitial","Percent","Tag","bs","ViewChanges"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/assets.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/assets.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Button,\n Col,\n Divider,\n Row,\n Select,\n Space,\n Table,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { sumBy } from 'es-toolkit/compat';\nimport {\n CheckSquareOutlined,\n InfoCircleOutlined,\n MinusSquareOutlined,\n PlusSquareOutlined,\n SortAscendingOutlined,\n FileSearchOutlined,\n AppstoreAddOutlined,\n} from '@ant-design/icons';\nimport { Constants, SDK, Client } from '@rsdoctor/types';\nimport { BundleDiffTableAssetsData } from './types';\nimport { formatPercent, formatSize } from '../../../../utils';\nimport { Color, Size } from '../../../../constants';\nimport { Percent, SizePercent } from '../../../../components/Card/diff';\nimport { KeywordInput } from '../../../../components/Form/keyword';\nimport { ModuleRowForAsset } from './row';\nimport { ViewChanges } from './changes';\nimport { UpdateType, SortType } from './constants';\nimport { formatDiffSize } from './utils';\nimport { Graph } from '@rsdoctor/utils/common';\n\nconst fileTypes = {\n JS: [Constants.JSExtension],\n CSS: [Constants.CSSExtension],\n HTML: [Constants.HtmlExtension],\n Imgs: Constants.ImgExtensions,\n Fonts: Constants.FontExtensions,\n Media: Constants.MediaExtensions,\n Others: [],\n};\n\nconst definedExtensions = Object.values(fileTypes).flat();\n\nconst Name: React.FC<{ data: BundleDiffTableAssetsData }> = ({ data: r }) => {\n const name = (\n <Space>\n <Typography.Text strong>{r.alias}</Typography.Text>\n <Tooltip\n title={\n <Space style={{ color: 'inherit' }} direction=\"vertical\">\n {r.current ? (\n <Typography.Text style={{ color: 'inherit' }}>\n Current realpath: {r.current.path}\n </Typography.Text>\n ) : null}\n {r.baseline ? (\n <Typography.Text style={{ color: 'inherit' }}>\n Baseline realpath: {r.baseline.path}\n </Typography.Text>\n ) : null}\n </Space>\n }\n >\n <InfoCircleOutlined />\n </Tooltip>\n </Space>\n );\n\n if (r.baseline && !r.current) {\n // deleted\n return (\n <Space>\n <MinusSquareOutlined style={{ color: Color.Red }} />\n {name}\n </Space>\n );\n }\n\n if (!r.baseline && r.current) {\n // new\n return (\n <Space>\n <PlusSquareOutlined style={{ color: Color.Green }} />\n {name}\n </Space>\n );\n }\n\n if (r.baseline && r.current) {\n // update\n return (\n <Space>\n <CheckSquareOutlined style={{ color: Color.Yellow }} />\n {name}\n </Space>\n );\n }\n\n return name;\n};\n\nexport const Assets: React.FC<{\n outputFilename: string;\n baseline: SDK.ServerAPI.ResponseTypes[SDK.ServerAPI.API.GetBundleDiffSummary];\n current: SDK.ServerAPI.ResponseTypes[SDK.ServerAPI.API.GetBundleDiffSummary];\n}> = ({ baseline, current, outputFilename }) => {\n const bOutPutFileName = outputFilename;\n\n const [keyword, setKeyword] = useState<string>();\n const [selectedFileTypes, setSelectedFileTypes] = useState<string[]>([]);\n const [selectedUpdateTypes, setSelectedUpdateTypes] = useState<UpdateType[]>(\n [],\n );\n const [selectedSortType, setSelectedSortType] = useState<SortType>(\n SortType.Size,\n );\n const [selectedBAsset, setSelectedBAsset] = useState(null);\n const [selectedCAsset, setSelectedCAsset] = useState(null);\n\n const { assets: bAssets } = baseline.chunkGraph;\n const { assets: cAssets } = current.chunkGraph;\n\n const dataSource = useMemo(() => {\n const res: Record<string, BundleDiffTableAssetsData> = {};\n if (selectedBAsset && selectedCAsset) {\n res.choose = {\n alias: `${selectedBAsset} \\n ${selectedCAsset}`,\n current: cAssets.find((c: SDK.AssetData) => c.path === selectedCAsset),\n baseline: bAssets.find((b: SDK.AssetData) => b.path === selectedBAsset),\n };\n return Object.values(res);\n }\n\n bAssets.forEach((asset: SDK.AssetData) => {\n const alias = Graph.formatAssetName(asset.path, bOutPutFileName);\n if (!res[alias]) {\n res[alias] = {\n alias,\n baseline: asset,\n };\n } else {\n console.warn('[Baseline Asset Exists]: ', asset, res);\n }\n });\n\n cAssets.forEach((asset: SDK.AssetData) => {\n const alias = Graph.formatAssetName(asset.path, bOutPutFileName);\n if (!res[alias]) {\n res[alias] = { alias };\n }\n res[alias].current = asset;\n });\n\n return Object.values(res);\n }, [bAssets, cAssets, selectedBAsset, selectedCAsset]);\n\n const filteredDataSource = useMemo(() => {\n let list = dataSource.slice();\n\n if (keyword) {\n list = list.filter((e) => e.alias.indexOf(keyword) > -1);\n }\n\n if (selectedFileTypes.length) {\n const exts = selectedFileTypes\n .map((e) => fileTypes[e as keyof typeof fileTypes])\n .flat();\n\n const hasOthers = selectedFileTypes.indexOf('Others') > -1;\n\n list = list.filter((e) => {\n const asset = e.baseline! || e.current!;\n if (Graph.isAssetMatchExtensions(asset, exts)) {\n return true;\n }\n\n if (hasOthers) {\n return !Graph.isAssetMatchExtensions(asset, definedExtensions);\n }\n\n return false;\n });\n }\n\n if (selectedUpdateTypes.length) {\n list = list.filter((e) => {\n if (e.baseline && !e.current) {\n // deleted\n return selectedUpdateTypes.includes(UpdateType.Deleted);\n }\n\n if (!e.baseline && e.current) {\n // new\n return selectedUpdateTypes.includes(UpdateType.New);\n }\n\n if (e.baseline && e.current) {\n if (e.baseline.size === e.current.size) {\n // not changed\n return selectedUpdateTypes.includes(UpdateType.NotChanged);\n }\n // changed\n return selectedUpdateTypes.includes(UpdateType.Changed);\n }\n\n return false;\n });\n }\n\n if (selectedSortType) {\n if (selectedSortType === SortType.Name) {\n list.sort((a, b) => {\n return a.alias.localeCompare(b.alias);\n });\n } else {\n const { prev, others } = list.reduce(\n (t, c) => {\n if (c.current) {\n if (c.baseline) {\n t.prev.unshift(c);\n } else {\n t.prev.push(c);\n }\n } else {\n t.others.push(c);\n }\n return t;\n },\n {\n prev: [] as BundleDiffTableAssetsData[],\n others: [] as BundleDiffTableAssetsData[],\n },\n );\n\n list = [\n ...prev.sort((a, b) => {\n if (b.current && a.current) {\n if (selectedSortType === SortType.Delta) {\n const { percent: percentA } = Graph.diffAssetsByExtensions(\n baseline.chunkGraph,\n current.chunkGraph,\n (asset) =>\n Graph.formatAssetName(asset.path, bOutPutFileName) ===\n a.alias,\n );\n const { percent: percentB } = Graph.diffAssetsByExtensions(\n baseline.chunkGraph,\n current.chunkGraph,\n (asset) =>\n Graph.formatAssetName(asset.path, bOutPutFileName) ===\n b.alias,\n );\n return percentB - percentA;\n }\n return b.current!.size - a.current!.size;\n }\n return -1;\n }),\n ...others,\n ];\n }\n }\n\n return list;\n }, [\n dataSource,\n keyword,\n selectedFileTypes,\n selectedUpdateTypes,\n selectedSortType,\n ]);\n\n const cSize = useMemo(\n () =>\n sumBy(filteredDataSource, (e) => (e.current ? e.current.size : 0)) || 0,\n [filteredDataSource],\n );\n const bSize = useMemo(\n () =>\n sumBy(filteredDataSource, (e) => (e.baseline ? e.baseline.size : 0)) || 0,\n [filteredDataSource],\n );\n\n return (\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24}>\n <Space wrap>\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"\"\n labelStyle={{ width: 45 }}\n placeholder=\"Search by file name\"\n onChange={(e) => {\n setKeyword(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by file type\"\n style={{ width: 250 }}\n options={Object.keys(fileTypes).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedFileTypes(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by file changed type\"\n style={{ width: 200 }}\n options={Object.values(UpdateType).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedUpdateTypes(e);\n }}\n />\n <Select\n suffixIcon={<SortAscendingOutlined />}\n // style={{ width: 150 }}\n options={Object.values(SortType).map((e) => ({\n label: e,\n value: e,\n }))}\n value={selectedSortType}\n onChange={(e) => {\n setSelectedSortType(e);\n }}\n />\n </Space>\n <Row style={{ marginTop: 10 }} gutter={[6, 6]}>\n <Col>\n <Button>Select Baseline Asset and Current Asset to Diff </Button>\n </Col>\n <Col>\n <Select\n allowClear\n placeholder=\"select baseline assets\"\n showSearch\n style={{ width: 300 }}\n options={Object.values(baseline.chunkGraph.assets).map((e) => ({\n label: e.path,\n value: e.path,\n }))}\n onChange={(e) => setSelectedBAsset(e)}\n />\n </Col>\n <Col>\n <Select\n allowClear\n placeholder=\"select current assets\"\n showSearch\n style={{ width: 300 }}\n options={Object.values(current.chunkGraph.assets).map((e) => ({\n label: e.path,\n value: e.path,\n }))}\n onChange={(e) => setSelectedCAsset(e)}\n />\n </Col>\n </Row>\n </Col>\n <Col span={24}>\n <Table\n bordered\n sticky={{ offsetHeader: 54 }}\n pagination={{\n pageSize: 20,\n size: 'small',\n }}\n dataSource={filteredDataSource}\n rowKey={(e) => e.alias}\n expandable={{\n expandedRowRender: (r) => {\n return (\n <div style={{ margin: Size.BasePadding / 3 }}>\n <ModuleRowForAsset\n data={r}\n baseline={baseline}\n current={current}\n />\n </div>\n );\n },\n columnTitle: (\n <Tooltip\n title=\"Click to expand row to see the modules which the chunk contains\"\n placement=\"left\"\n >\n <AppstoreAddOutlined style={{ cursor: 'pointer' }} />\n </Tooltip>\n ),\n }}\n columns={[\n {\n title: (\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n filtered assets is {filteredDataSource.length}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n total assets is {dataSource.length}\n </Typography.Text>\n </Space>\n }\n >\n <Typography.Text strong>Assets</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n {filteredDataSource.length}/{dataSource.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n ),\n render: (_v, r) => <Name data={r} />,\n },\n {\n title: () => {\n const cs = formatSize(cSize);\n const diff = Graph.diffSize(bSize, cSize);\n return (\n <Tooltip\n title={`Current size is ${cs}, Delta is ${formatPercent(diff.percent)}`}\n >\n <Typography.Text strong>Current</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n <Typography.Text\n style={{ fontSize: 'inherit', marginRight: 8 }}\n >\n {cs}\n </Typography.Text>\n <SizePercent\n fontSize={'inherit'}\n baseline={bSize}\n current={cSize}\n />\n {formatDiffSize(\n bSize,\n cSize,\n bSize > cSize\n ? Client.RsdoctorClientDiffState.Down\n : Client.RsdoctorClientDiffState.Up,\n { fontSize: 10, fontWeight: 400, marginLeft: 4 },\n )}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n );\n },\n render: (_v, r) => {\n if (r.current) {\n const { percent, state } = Graph.diffAssetsByExtensions(\n baseline.chunkGraph,\n current.chunkGraph,\n (asset) =>\n Graph.formatAssetName(asset.path, bOutPutFileName) ===\n r.alias,\n );\n const isInitial = Graph.isInitialAsset(\n r.current,\n current.chunkGraph.chunks,\n );\n return (\n <Space>\n <Typography.Text>\n {formatSize(r.current.size)}\n </Typography.Text>\n <Percent percent={percent} state={state} />\n {isInitial ? <Tag color={Color.Blue}>initial</Tag> : null}\n </Space>\n );\n }\n return '-';\n },\n },\n {\n title: () => {\n const bs = formatSize(bSize);\n return (\n <Tooltip title={`Baseline size is ${bs}`}>\n <Typography.Text strong>Baseline</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n {bs}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n );\n },\n render: (_v, r) => {\n if (r.baseline) {\n const isInitial = Graph.isInitialAsset(\n r.baseline,\n baseline.chunkGraph.chunks,\n );\n return (\n <Space>\n <Typography.Text>\n {formatSize(r.baseline.size)}\n </Typography.Text>\n {isInitial ? <Tag color={Color.Blue}>initial</Tag> : null}\n </Space>\n );\n }\n return '-';\n },\n },\n {\n title: 'Actions',\n key: 'actions',\n render: (_v, r) => {\n return (\n <ViewChanges\n file={r.alias}\n data={[\n {\n baseline: r.baseline?.content,\n current: r.current?.content,\n group: 'assets',\n },\n ]}\n />\n );\n },\n },\n ]}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["fileTypes","Constants","definedExtensions","Object","Name","r","name","Space","Typography","Tooltip","InfoCircleOutlined","MinusSquareOutlined","Color","PlusSquareOutlined","CheckSquareOutlined","Assets","baseline","current","outputFilename","bOutPutFileName","keyword","setKeyword","useState","selectedFileTypes","setSelectedFileTypes","selectedUpdateTypes","setSelectedUpdateTypes","selectedSortType","setSelectedSortType","SortType","selectedBAsset","setSelectedBAsset","selectedCAsset","setSelectedCAsset","bAssets","cAssets","dataSource","useMemo","res","c","b","asset","alias","Graph","console","filteredDataSource","list","e","exts","hasOthers","UpdateType","a","prev","others","t","percentA","percentB","cSize","sumBy","bSize","Row","Size","Col","KeywordInput","FileSearchOutlined","Select","SortAscendingOutlined","Button","Table","ModuleRowForAsset","AppstoreAddOutlined","Divider","_v","cs","formatSize","diff","formatPercent","SizePercent","formatDiffSize","Client","percent","state","isInitial","Percent","Tag","bs","ViewChanges"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/cards.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/cards.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/cards.tsx"],"sourcesContent":["import { Col, Row, Space, Typography } from 'antd';\nimport React from 'react';\nimport { Client } from '@rsdoctor/types';\nimport { Size } from '../../../../constants';\nimport { DiffCard, Percent } from '../../../../components/Card/diff';\nimport {\n useDuplicatePackagesByErrors,\n useModuleGraph,\n useUniqModules,\n} from '../../../../utils';\nimport { DuplicatePackageDrawer } from '../../../../components/TextDrawer';\nimport { BundleDiffComponentCardProps } from './types';\nimport { getPackagesTableDataSource, PackagesStatistic } from './packages';\nimport { Graph } from '@rsdoctor/utils/common';\n\nexport const DiffCards: React.FC<BundleDiffComponentCardProps> = ({\n baseline,\n current,\n assetsDiffResult,\n}) => {\n // Modules\n const baselineMod = useUniqModules(baseline.moduleGraph.modules);\n const currentMod = useUniqModules(current.moduleGraph.modules);\n\n // Duplicate Packages\n const baselineDup = useDuplicatePackagesByErrors(baseline.errors);\n const currentDup = useDuplicatePackagesByErrors(current.errors);\n const baselineModuleGraph = useModuleGraph(baseline.moduleGraph);\n const currentModuleGraph = useModuleGraph(current.moduleGraph);\n const baselineCwd = baseline.root;\n const currentCwd = current.root;\n\n // Packages\n const packages = getPackagesTableDataSource({\n baseline: baseline.packageGraph,\n current: current.packageGraph,\n });\n\n const arr = [\n {\n title: ['Bundle Size'],\n value: [assetsDiffResult.all.total],\n },\n {\n title: ['Total JS', 'Initial JS'],\n value: [assetsDiffResult.js.total, assetsDiffResult.js.initial],\n },\n {\n title: ['Total CSS', 'Initial CSS'],\n value: [assetsDiffResult.css.total, assetsDiffResult.css.initial],\n },\n {\n title: ['Images', 'Fonts', 'Media'],\n value: [\n assetsDiffResult.imgs.total,\n assetsDiffResult.fonts.total,\n assetsDiffResult.media.total,\n ],\n },\n { title: ['HTML'], value: [assetsDiffResult.html.total] },\n { title: ['Others'], value: [assetsDiffResult.others.total] },\n ];\n\n return (\n <Row\n gutter={[Size.BasePadding, Size.BasePadding]}\n wrap\n style={{ marginBottom: Size.BasePadding }}\n >\n {arr.map((e) => {\n return (\n <Col key={e.title.join(',')} style={{ minWidth: 335 }}>\n <DiffCard titles={e.title} datas={e.value} showPercentInTitle />\n </Col>\n );\n })}\n <Col style={{ minWidth: 335 }}>\n <DiffCard\n titles={['Duplicate Packages']}\n datas={[\n {\n size: {\n baseline: baselineDup.length,\n current: currentDup.length,\n },\n count: {\n baseline: baselineDup.length,\n current: currentDup.length,\n },\n percent: 0,\n state: Client.RsdoctorClientDiffState.Equal,\n },\n ]}\n formatter={(_v, target) => (\n <DuplicatePackageDrawer\n duplicatePackages={\n target === 'baseline' ? baselineDup : currentDup\n }\n moduleGraph={\n target === 'baseline' ? baselineModuleGraph : currentModuleGraph\n }\n cwd={target === 'baseline' ? baselineCwd : currentCwd}\n buttonProps={{ size: 'small' }}\n moduleCodeMap={\n target === 'baseline'\n ? baseline.moduleCodeMap\n : current.moduleCodeMap\n }\n />\n )}\n />\n </Col>\n <Col style={{ minWidth: 335 }}>\n <DiffCard\n titles={['Modules']}\n datas={[\n {\n size: {\n baseline: baselineMod.length,\n current: currentMod.length,\n },\n count: {\n baseline: baselineMod.length,\n current: currentMod.length,\n },\n percent: 0,\n state: Client.RsdoctorClientDiffState.Equal,\n },\n ]}\n formatter={(v, t) => {\n if (t === 'baseline') return v;\n\n const diff = Graph.diffSize(baselineMod.length, currentMod.length);\n\n return (\n <Space style={{ fontSize: 'inherit' }}>\n <Typography.Text style={{ fontSize: 'inherit' }}>\n {v}\n </Typography.Text>\n <Percent {...diff} />\n </Space>\n );\n }}\n />\n </Col>\n <Col style={{ minWidth: 335 }}>\n <DiffCard\n titles={[\n <Space key=\"0\">\n <Typography.Text style={{ color: 'inherit' }}>\n Packages\n </Typography.Text>\n <PackagesStatistic dataSource={packages} />\n </Space>,\n ]}\n datas={[\n {\n size: {\n baseline: packages.filter((e) => e.baseline).length,\n current: packages.filter((e) => e.current).length,\n },\n count: {\n baseline: packages.filter((e) => e.baseline).length,\n current: packages.filter((e) => e.current).length,\n },\n percent: 0,\n state: Client.RsdoctorClientDiffState.Equal,\n },\n ]}\n formatter={(v, t) => (t === 'baseline' ? v : <Space>{v}</Space>)}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["DiffCards","baseline","current","assetsDiffResult","baselineMod","useUniqModules","currentMod","baselineDup","useDuplicatePackagesByErrors","currentDup","baselineModuleGraph","useModuleGraph","currentModuleGraph","baselineCwd","currentCwd","packages","getPackagesTableDataSource","arr","Row","Size","e","Col","DiffCard","Client","_v","target","DuplicatePackageDrawer","v","t","diff","Graph","Space","Typography","Percent","PackagesStatistic"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/changes.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/changes.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/changes.tsx"],"sourcesContent":["import { DiffOutlined } from '@ant-design/icons';\nimport { Col, Row, Segmented, Typography } from 'antd';\nimport React, { useState } from 'react';\nimport { DiffViewer } from 'src/components/base';\nimport { TextDrawer } from '../../../../components/TextDrawer';\nimport { Size } from '../../../../constants';\n\ninterface ViewChangesContentProps {\n file: string;\n data: {\n baseline?: string | void;\n current: string | void;\n baselineTitle?: string;\n currentTitle?: string;\n group: string;\n }[];\n}\n\nconst ViewChangesContent: React.FC<ViewChangesContentProps> = ({\n file,\n data,\n}) => {\n const [group, setGroup] = useState(data[0].group);\n\n const match = data.find((e) => e.group === group);\n\n return (\n <Row\n wrap\n gutter={[Size.BasePadding, Size.BasePadding]}\n style={{ height: '100%', alignContent: 'flex-start' }}\n >\n {data.length > 1 ? (\n <Col span={24}>\n <Segmented\n value={group}\n options={data.map((e) => e.group)}\n onChange={(e) => setGroup(e as string)}\n />\n </Col>\n ) : null}\n {match ? (\n <React.Fragment key={group}>\n <Col span={24}>\n <Typography.Text strong>\n {match.baselineTitle || 'Baseline'} ⟷{' '}\n {match.currentTitle || 'Current'}\n </Typography.Text>\n </Col>\n <Col span={24}>\n <DiffViewer\n originalFilePath={file}\n modifiedFilePath={file}\n original={match.baseline || ''}\n modified={match.current || ''}\n />\n </Col>\n </React.Fragment>\n ) : null}\n </Row>\n );\n};\n\nexport const ViewChanges: React.FC<\n ViewChangesContentProps & { text?: string }\n> = ({ text = 'View Changes', ...props }) => {\n return (\n <TextDrawer\n text={text}\n buttonProps={{\n size: 'small',\n icon: <DiffOutlined />,\n }}\n drawerProps={{\n destroyOnClose: true,\n title: `Content diff for \"${props.file}\"`,\n }}\n >\n <ViewChangesContent {...props} />\n </TextDrawer>\n );\n};\n"],"names":["ViewChangesContent","file","data","group","setGroup","useState","match","e","Row","Size","Col","Segmented","React","Typography","DiffViewer","ViewChanges","text","props","TextDrawer","DiffOutlined"],"mappings":";;;;;;;AAkBA,MAAMA,qBAAwD,CAAC,EAC7DC,IAAI,EACJC,IAAI,EACL;IACC,MAAM,CAACC,OAAOC,SAAS,GAAGC,SAASH,IAAI,CAAC,EAAE,CAAC,KAAK;IAEhD,MAAMI,QAAQJ,KAAK,IAAI,CAAC,CAACK,IAAMA,EAAE,KAAK,KAAKJ;IAE3C,OAAO,WAAP,GACE,KAACK,KAAGA;QACF,MAAI;QACJ,QAAQ;YAACC,KAAK,WAAW;YAAEA,KAAK,WAAW;SAAC;QAC5C,OAAO;YAAE,QAAQ;YAAQ,cAAc;QAAa;;YAEnDP,KAAK,MAAM,GAAG,IAAI,WAAJ,GACb,IAACQ,KAAGA;gBAAC,MAAM;0BACT,kBAACC,WAASA;oBACR,OAAOR;oBACP,SAASD,KAAK,GAAG,CAAC,CAACK,IAAMA,EAAE,KAAK;oBAChC,UAAU,CAACA,IAAMH,SAASG;;iBAG5B;YACHD,QAAQ,WAARA,GACC,KAACM,MAAAA,QAAc;;kCACb,IAACF,KAAGA;wBAAC,MAAM;kCACT,mBAACG,WAAW,IAAI;4BAAC,QAAM;;gCACpBP,MAAM,aAAa,IAAI;gCAAW;gCAAG;gCACrCA,MAAM,YAAY,IAAI;;;;kCAG3B,IAACI,KAAGA;wBAAC,MAAM;kCACT,kBAACI,YAAUA;4BACT,kBAAkBb;4BAClB,kBAAkBA;4BAClB,UAAUK,MAAM,QAAQ,IAAI;4BAC5B,UAAUA,MAAM,OAAO,IAAI;;;;eAZZH,SAgBnB;;;AAGV;AAEO,MAAMY,cAET,CAAC,EAAEC,OAAO,cAAc,EAAE,GAAGC,OAAO,GAC/B,WAAP,GACE,IAACC,YAAUA;QACT,MAAMF;QACN,aAAa;YACX,MAAM;YACN,MAAM,WAAN,GAAM,IAACG,cAAYA,CAAAA;QACrB;QACA,aAAa;YACX,gBAAgB;YAChB,OAAO,CAAC,kBAAkB,EAAEF,MAAM,IAAI,CAAC,CAAC,CAAC;QAC3C;kBAEA,kBAACjB,oBAAAA;YAAoB,GAAGiB,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/constants.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/constants.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/constants.ts"],"sourcesContent":["export enum UpdateType {\n New = 'New',\n Changed = 'Changed',\n Deleted = 'Deleted',\n NotChanged = 'Not Changed',\n}\n\nexport enum SortType {\n Name = 'Sorted by Name',\n Size = 'Sorted by Size',\n Delta = 'Sorted by Delta',\n}\n"],"names":["UpdateType","SortType"],"mappings":"AAAO,IAAKA,uBAAUA,WAAAA,GAAAA,SAAVA,UAAU;;;;;WAAVA;;AAOL,IAAKC,qBAAQA,WAAAA,GAAAA,SAARA,QAAQ;;;;WAARA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/index.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/index.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/index.tsx"],"sourcesContent":["import {\n Button,\n Card,\n Divider,\n FloatButton,\n Popconfirm,\n Space,\n Tabs,\n Tooltip,\n Typography,\n} from 'antd';\nimport React, { useEffect } from 'react';\n\nimport { InfoCircleOutlined, LogoutOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { BundleDiffContainerProps } from './types';\nimport { Size } from '../../../../constants';\nimport { DiffCards } from './cards';\nimport { Overview } from './overview';\nimport { Assets } from './assets';\nimport { Modules } from './modules';\nimport { Packages } from './packages';\nimport { DiffServerAPIProvider } from '../DiffServerAPIProvider';\nimport { Graph } from '@rsdoctor/utils/common';\n\nexport const DiffContainer: React.FC<BundleDiffContainerProps> = ({\n manifests,\n}) => {\n useEffect(() => {\n console.log('BundleDiff Manifests: ', manifests);\n }, [manifests]);\n\n return (\n <DiffServerAPIProvider\n api={SDK.ServerAPI.API.GetBundleDiffSummary}\n manifests={manifests}\n >\n {(baselineSummary, currentSummary) => {\n const onlyBaseline =\n baselineSummary.chunkGraph === currentSummary.chunkGraph;\n\n const baselineChunkGraph = baselineSummary.chunkGraph;\n const currentChunkGraph = onlyBaseline\n ? baselineChunkGraph\n : currentSummary.chunkGraph;\n\n const assetsDiffResult = Graph.getAssetsDiffResult(\n baselineChunkGraph,\n currentChunkGraph,\n );\n\n return (\n <div>\n <FloatButton.Group>\n <Tooltip\n placement=\"leftBottom\"\n title={\n <Space direction=\"vertical\">\n {[\n { title: 'Baseline', data: baselineSummary },\n { title: 'Current', data: currentSummary },\n ].map(({ title, data }) => {\n return (\n <Card size=\"small\" key={title}>\n <Space direction=\"vertical\">\n <Typography.Text strong>{title}</Typography.Text>\n <Space style={{ fontSize: 10 }}>\n <Typography.Text\n style={{\n fontSize: 'inherit',\n width: 30,\n display: 'inline-block',\n }}\n >\n Hash\n </Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 'inherit' }}\n >\n {data.hash || '-'}\n </Typography.Text>\n </Space>\n {data.cloudManifestUrl ? (\n <Button\n type=\"link\"\n size=\"small\"\n style={{ padding: 0, fontSize: 10 }}\n onClick={() =>\n window.open(data.cloudManifestUrl)\n }\n >\n Open File\n </Button>\n ) : null}\n </Space>\n </Card>\n );\n })}\n </Space>\n }\n >\n <FloatButton icon={<InfoCircleOutlined />} />\n </Tooltip>\n <Popconfirm\n title={\n <Typography.Text>\n Are you sure to\n <Typography.Text strong> re-upload </Typography.Text>\n json files for bundle diff?\n </Typography.Text>\n }\n onConfirm={() => {}}\n okText=\"Yes\"\n cancelText=\"Cancel\"\n placement=\"topLeft\"\n trigger=\"hover\"\n >\n <FloatButton icon={<LogoutOutlined />} />\n </Popconfirm>\n <FloatButton.BackTop />\n </FloatButton.Group>\n <DiffCards\n baseline={baselineSummary}\n current={currentSummary}\n onlyBaseline={onlyBaseline}\n assetsDiffResult={assetsDiffResult}\n />\n <Tabs\n defaultActiveKey=\"Overview\"\n tabBarStyle={{ marginBottom: Size.BasePadding / 3 }}\n items={[\n {\n label: 'Overview',\n key: 'Overview',\n children: <Overview assetsDiffResult={assetsDiffResult} />,\n },\n {\n label: 'Assets',\n key: 'Assets',\n children: (\n <Assets\n outputFilename={baselineSummary.outputFilename}\n baseline={baselineSummary}\n current={currentSummary}\n />\n ),\n },\n {\n label: 'Modules',\n key: 'Modules',\n children: (\n <Modules\n baseline={baselineSummary}\n current={currentSummary}\n onlyBaseline={onlyBaseline}\n assetsDiffResult={assetsDiffResult}\n />\n ),\n },\n {\n label: 'Packages',\n key: 'Packages',\n children: (\n <Packages\n baseline={baselineSummary.packageGraph}\n current={currentSummary.packageGraph}\n />\n ),\n },\n ].map((el) => ({\n ...el,\n label: <Typography.Text strong>{el.label}</Typography.Text>,\n }))}\n />\n </div>\n );\n }}\n </DiffServerAPIProvider>\n );\n};\n"],"names":["DiffContainer","manifests","useEffect","console","DiffServerAPIProvider","SDK","baselineSummary","currentSummary","onlyBaseline","baselineChunkGraph","currentChunkGraph","assetsDiffResult","Graph","FloatButton","Tooltip","Space","title","data","Card","Typography","Divider","Button","window","InfoCircleOutlined","Popconfirm","LogoutOutlined","DiffCards","Tabs","Size","Overview","Assets","Modules","Packages","el"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { BundleDiffComponentCardProps, BundleDiffTableModulesData } from './types';
|
|
3
|
-
import { UpdateType } from './constants';
|
|
2
|
+
import { BundleDiffComponentCardProps, BundleDiffTableModulesData } from './types.js';
|
|
3
|
+
import { UpdateType } from './constants.js';
|
|
4
4
|
export declare function getUpdateType(e: BundleDiffTableModulesData): UpdateType;
|
|
5
5
|
export declare const FileUpdateTypeTag: React.FC<{
|
|
6
6
|
type: UpdateType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/modules.mjs","sources":["webpack://@rsdoctor/components/./src/pages/Resources/BundleDiff/DiffContainer/modules.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Col,\n Divider,\n Row,\n Select,\n Space,\n Table,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { uniq } from 'es-toolkit/compat';\nimport { InfoCircleOutlined, FileSearchOutlined } from '@ant-design/icons';\nimport {\n BundleDiffComponentCardProps,\n BundleDiffTableModulesData,\n} from './types';\nimport { beautifyModulePath, useUniqModules } from '../../../../utils';\nimport { Size } from '../../../../constants';\nimport { KeywordInput } from '../../../../components/Form/keyword';\nimport { ViewChanges } from './changes';\nimport { UpdateType } from './constants';\nimport { Badge as Bdg } from '../../../../components/Badge';\nimport { ModuleHashPattern, getTargetColumnPropsForModuleRow } from './row';\nimport { Graph } from '@rsdoctor/utils/common';\n\nexport function getUpdateType(e: BundleDiffTableModulesData): UpdateType {\n if (e.baseline && !e.current) {\n // deleted\n return UpdateType.Deleted;\n }\n\n if (!e.baseline && e.current) {\n // new\n return UpdateType.New;\n }\n\n if (e.baseline && e.current) {\n if (\n e.baseline.size.sourceSize === e.current.size.sourceSize &&\n e.baseline.size.parsedSize === e.current.size.parsedSize\n ) {\n // not changed\n return UpdateType.NotChanged;\n }\n // update\n return UpdateType.Changed;\n }\n\n throw new Error('Update Type not match');\n}\n\nexport const FileUpdateTypeTag: React.FC<{ type: UpdateType }> = ({ type }) => {\n if (type === UpdateType.NotChanged) {\n return (\n <Tooltip title=\"It hasn't changed between Baseline and Current\">\n <Tag color=\"success\">Not Changed</Tag>\n </Tooltip>\n );\n }\n if (type === UpdateType.Changed) {\n return (\n <Tooltip title=\"It has been changed between Baseline and Current\">\n <Tag color=\"warning\">Changed</Tag>\n </Tooltip>\n );\n }\n if (type === UpdateType.New) {\n return (\n <Tooltip title=\"It is created in Current\">\n <Tag color=\"error\">New</Tag>\n </Tooltip>\n );\n }\n if (type === UpdateType.Deleted) {\n return (\n <Tooltip title=\"It has been deleted in Current\">\n <Tag color=\"error\">Deleted</Tag>\n </Tooltip>\n );\n }\n return null;\n};\n\nexport const Modules: React.FC<BundleDiffComponentCardProps> = ({\n baseline,\n current,\n}) => {\n const bModules = useMemo(\n () => useUniqModules(baseline.moduleGraph.modules),\n [baseline],\n );\n const cModules = useMemo(\n () => useUniqModules(current.moduleGraph.modules),\n [current],\n );\n\n const bChunks = baseline.chunkGraph.chunks;\n const cChunks = current.chunkGraph.chunks;\n\n const bRoot = baseline.root;\n const cRoot = current.root;\n\n const [keyword, setKeyword] = useState<string>();\n const [selectedUpdateTypes, setSelectedUpdateTypes] = useState<UpdateType[]>(\n [],\n );\n\n const dataSource = useMemo(() => {\n const res: Record<string, BundleDiffTableModulesData> = {};\n\n bModules.forEach((mod) => {\n const modPath =\n mod.webpackId?.replace(ModuleHashPattern, '') ||\n mod.path?.replace(ModuleHashPattern, '');\n\n if (!res[modPath]) {\n res[modPath] = {\n path: modPath,\n baseline: mod,\n };\n } else {\n console.warn('[Baseline Module Exists]: ', mod, res);\n }\n });\n\n cModules.forEach((mod) => {\n const modPath =\n mod.webpackId?.replace(ModuleHashPattern, '') ||\n mod.path?.replace(ModuleHashPattern, '');\n\n if (!res[modPath]) {\n res[modPath] = {\n path: modPath,\n };\n }\n res[modPath].current = mod;\n });\n\n return Object.values(res);\n }, [bModules, cModules]);\n\n const filteredDataSource = useMemo(() => {\n let list = dataSource.slice();\n\n if (keyword) {\n list = list.filter((e) => e.path.indexOf(keyword) > -1);\n }\n\n if (selectedUpdateTypes.length) {\n list = list.filter((e) => {\n return selectedUpdateTypes.includes(getUpdateType(e));\n });\n }\n\n return list;\n }, [dataSource, keyword, selectedUpdateTypes]);\n\n const { bFilteredModulesLength, cFilteredModulesLength } = useMemo(() => {\n return {\n bFilteredModulesLength: filteredDataSource.filter((e) => e.baseline)\n .length,\n cFilteredModulesLength: filteredDataSource.filter((e) => e.current)\n .length,\n };\n }, [filteredDataSource]);\n\n return (\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24}>\n <Space wrap>\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"\"\n labelStyle={{ width: 45 }}\n placeholder=\"Search by name\"\n onChange={(e) => {\n setKeyword(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by changed type\"\n style={{ width: 200 }}\n options={Object.values(UpdateType).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedUpdateTypes(e);\n }}\n />\n </Space>\n </Col>\n <Col span={24}>\n <Table\n bordered\n sticky={{ offsetHeader: 54 }}\n pagination={{\n pageSize: 20,\n size: 'small',\n }}\n scroll={{ x: 1700 }}\n dataSource={filteredDataSource}\n rowKey={(e) => e.path}\n columns={[\n {\n fixed: 'left',\n title: (\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n filtered modules is {filteredDataSource.length} (Current\n & Baseline)\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n total modules is {dataSource.length} (Current &\n Baseline)\n </Typography.Text>\n </Space>\n }\n >\n <Typography.Text strong>Modules</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n {filteredDataSource.length}/{dataSource.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n ),\n render: (_v, r) => {\n const { alias, inNodeModules } = beautifyModulePath(\n r.path,\n r.baseline ? bRoot : cRoot,\n );\n return (\n <Space>\n <Tooltip title={r.path}>\n <Typography.Text copyable={{ text: r.path }}>\n {alias}\n </Typography.Text>\n </Tooltip>\n <FileUpdateTypeTag type={getUpdateType(r)} />\n {inNodeModules ? (\n <Tag color=\"warning\">node_modules</Tag>\n ) : null}\n </Space>\n );\n },\n },\n getTargetColumnPropsForModuleRow(\n 'current',\n bFilteredModulesLength,\n cFilteredModulesLength,\n ),\n getTargetColumnPropsForModuleRow(\n 'baseline',\n bFilteredModulesLength,\n cFilteredModulesLength,\n ),\n {\n title: 'in Assets',\n render: (_v, r) => {\n const b: string[] = [];\n const c: string[] = [];\n if (r.current) {\n Graph.getChunksByModule(r.current, cChunks).forEach((e) =>\n e.assets.forEach((asset) => c.push(asset)),\n );\n }\n\n if (r.baseline) {\n Graph.getChunksByModule(r.baseline, bChunks).forEach((e) =>\n e.assets.forEach((asset) => b.push(asset)),\n );\n }\n\n if (!b.length && !c.length) return null;\n\n return (\n <Space direction=\"vertical\">\n {uniq(c)\n .filter(Boolean)\n .map((e) => (\n <Bdg label=\"Current\" value={e} key={`c_${e}`} />\n ))}\n {uniq(b)\n .filter(Boolean)\n .map((e) => (\n <Bdg label=\"Baseline\" value={e} key={`b_${e}`} />\n ))}\n </Space>\n );\n },\n },\n {\n title: 'Actions',\n width: 200,\n render: (_v, r) => {\n const isChanged = getUpdateType(r) === UpdateType.Changed;\n return (\n <Space direction=\"vertical\" style={{ maxWidth: 170 }}>\n {isChanged ? (\n <ViewChanges\n text=\"View Changes\"\n file={r.path}\n data={[\n {\n baseline:\n baseline.moduleCodeMap[r.baseline?.id as number]\n ?.source,\n current:\n current.moduleCodeMap[r.current?.id as number]\n ?.source,\n group: 'Source',\n },\n {\n baseline:\n baseline.moduleCodeMap[r.baseline?.id as number]\n ?.transformed,\n current:\n current.moduleCodeMap[r.current?.id as number]\n ?.transformed,\n group: 'Transformed Source',\n },\n {\n baseline:\n baseline.moduleCodeMap[r.baseline?.id as number]\n ?.parsedSource,\n current:\n current.moduleCodeMap[r.current?.id as number]\n ?.parsedSource,\n group: 'Parsed Source',\n },\n ]}\n />\n ) : null}\n {r?.current ? (\n <ViewChanges\n text=\"Current Result Viewer\"\n file={r.path}\n data={[\n {\n baseline:\n current.moduleCodeMap[r.current!.id]?.source,\n current:\n current.moduleCodeMap[r.current!.id]?.transformed,\n baselineTitle: 'Current Source',\n currentTitle: 'Current Transformed Source',\n group: 'Transformed Source',\n },\n {\n baseline:\n current.moduleCodeMap[r.current!.id]?.source,\n current:\n current.moduleCodeMap[r.current!.id]\n ?.parsedSource,\n baselineTitle: 'Current Source',\n currentTitle: 'Current Parsed Source',\n group: 'Parsed Source',\n },\n ]}\n />\n ) : null}\n </Space>\n );\n },\n },\n ]}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["getUpdateType","e","UpdateType","Error","FileUpdateTypeTag","type","Tooltip","Tag","Modules","baseline","current","bModules","useMemo","useUniqModules","cModules","bChunks","cChunks","bRoot","cRoot","keyword","setKeyword","useState","selectedUpdateTypes","setSelectedUpdateTypes","dataSource","res","mod","modPath","ModuleHashPattern","console","Object","filteredDataSource","list","bFilteredModulesLength","cFilteredModulesLength","Row","Size","Col","Space","KeywordInput","FileSearchOutlined","Select","Table","Typography","Divider","InfoCircleOutlined","_v","r","alias","inNodeModules","beautifyModulePath","getTargetColumnPropsForModuleRow","b","c","Graph","asset","uniq","Boolean","Bdg","isChanged","ViewChanges"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/modules.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/modules.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Col,\n Divider,\n Row,\n Select,\n Space,\n Table,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { uniq } from 'es-toolkit/compat';\nimport { InfoCircleOutlined, FileSearchOutlined } from '@ant-design/icons';\nimport {\n BundleDiffComponentCardProps,\n BundleDiffTableModulesData,\n} from './types';\nimport { beautifyModulePath, useUniqModules } from '../../../../utils';\nimport { Size } from '../../../../constants';\nimport { KeywordInput } from '../../../../components/Form/keyword';\nimport { ViewChanges } from './changes';\nimport { UpdateType } from './constants';\nimport { Badge as Bdg } from '../../../../components/Badge';\nimport { ModuleHashPattern, getTargetColumnPropsForModuleRow } from './row';\nimport { Graph } from '@rsdoctor/utils/common';\n\nexport function getUpdateType(e: BundleDiffTableModulesData): UpdateType {\n if (e.baseline && !e.current) {\n // deleted\n return UpdateType.Deleted;\n }\n\n if (!e.baseline && e.current) {\n // new\n return UpdateType.New;\n }\n\n if (e.baseline && e.current) {\n if (\n e.baseline.size.sourceSize === e.current.size.sourceSize &&\n e.baseline.size.parsedSize === e.current.size.parsedSize\n ) {\n // not changed\n return UpdateType.NotChanged;\n }\n // update\n return UpdateType.Changed;\n }\n\n throw new Error('Update Type not match');\n}\n\nexport const FileUpdateTypeTag: React.FC<{ type: UpdateType }> = ({ type }) => {\n if (type === UpdateType.NotChanged) {\n return (\n <Tooltip title=\"It hasn't changed between Baseline and Current\">\n <Tag color=\"success\">Not Changed</Tag>\n </Tooltip>\n );\n }\n if (type === UpdateType.Changed) {\n return (\n <Tooltip title=\"It has been changed between Baseline and Current\">\n <Tag color=\"warning\">Changed</Tag>\n </Tooltip>\n );\n }\n if (type === UpdateType.New) {\n return (\n <Tooltip title=\"It is created in Current\">\n <Tag color=\"error\">New</Tag>\n </Tooltip>\n );\n }\n if (type === UpdateType.Deleted) {\n return (\n <Tooltip title=\"It has been deleted in Current\">\n <Tag color=\"error\">Deleted</Tag>\n </Tooltip>\n );\n }\n return null;\n};\n\nexport const Modules: React.FC<BundleDiffComponentCardProps> = ({\n baseline,\n current,\n}) => {\n const bModules = useMemo(\n () => useUniqModules(baseline.moduleGraph.modules),\n [baseline],\n );\n const cModules = useMemo(\n () => useUniqModules(current.moduleGraph.modules),\n [current],\n );\n\n const bChunks = baseline.chunkGraph.chunks;\n const cChunks = current.chunkGraph.chunks;\n\n const bRoot = baseline.root;\n const cRoot = current.root;\n\n const [keyword, setKeyword] = useState<string>();\n const [selectedUpdateTypes, setSelectedUpdateTypes] = useState<UpdateType[]>(\n [],\n );\n\n const dataSource = useMemo(() => {\n const res: Record<string, BundleDiffTableModulesData> = {};\n\n bModules.forEach((mod) => {\n const modPath =\n mod.webpackId?.replace(ModuleHashPattern, '') ||\n mod.path?.replace(ModuleHashPattern, '');\n\n if (!res[modPath]) {\n res[modPath] = {\n path: modPath,\n baseline: mod,\n };\n } else {\n console.warn('[Baseline Module Exists]: ', mod, res);\n }\n });\n\n cModules.forEach((mod) => {\n const modPath =\n mod.webpackId?.replace(ModuleHashPattern, '') ||\n mod.path?.replace(ModuleHashPattern, '');\n\n if (!res[modPath]) {\n res[modPath] = {\n path: modPath,\n };\n }\n res[modPath].current = mod;\n });\n\n return Object.values(res);\n }, [bModules, cModules]);\n\n const filteredDataSource = useMemo(() => {\n let list = dataSource.slice();\n\n if (keyword) {\n list = list.filter((e) => e.path.indexOf(keyword) > -1);\n }\n\n if (selectedUpdateTypes.length) {\n list = list.filter((e) => {\n return selectedUpdateTypes.includes(getUpdateType(e));\n });\n }\n\n return list;\n }, [dataSource, keyword, selectedUpdateTypes]);\n\n const { bFilteredModulesLength, cFilteredModulesLength } = useMemo(() => {\n return {\n bFilteredModulesLength: filteredDataSource.filter((e) => e.baseline)\n .length,\n cFilteredModulesLength: filteredDataSource.filter((e) => e.current)\n .length,\n };\n }, [filteredDataSource]);\n\n return (\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24}>\n <Space wrap>\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"\"\n labelStyle={{ width: 45 }}\n placeholder=\"Search by name\"\n onChange={(e) => {\n setKeyword(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by changed type\"\n style={{ width: 200 }}\n options={Object.values(UpdateType).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedUpdateTypes(e);\n }}\n />\n </Space>\n </Col>\n <Col span={24}>\n <Table\n bordered\n sticky={{ offsetHeader: 54 }}\n pagination={{\n pageSize: 20,\n size: 'small',\n }}\n scroll={{ x: 1700 }}\n dataSource={filteredDataSource}\n rowKey={(e) => e.path}\n columns={[\n {\n fixed: 'left',\n title: (\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n filtered modules is {filteredDataSource.length} (Current\n & Baseline)\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n total modules is {dataSource.length} (Current &\n Baseline)\n </Typography.Text>\n </Space>\n }\n >\n <Typography.Text strong>Modules</Typography.Text>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 10, fontWeight: 400, marginRight: 4 }}\n >\n {filteredDataSource.length}/{dataSource.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Tooltip>\n ),\n render: (_v, r) => {\n const { alias, inNodeModules } = beautifyModulePath(\n r.path,\n r.baseline ? bRoot : cRoot,\n );\n return (\n <Space>\n <Tooltip title={r.path}>\n <Typography.Text copyable={{ text: r.path }}>\n {alias}\n </Typography.Text>\n </Tooltip>\n <FileUpdateTypeTag type={getUpdateType(r)} />\n {inNodeModules ? (\n <Tag color=\"warning\">node_modules</Tag>\n ) : null}\n </Space>\n );\n },\n },\n getTargetColumnPropsForModuleRow(\n 'current',\n bFilteredModulesLength,\n cFilteredModulesLength,\n ),\n getTargetColumnPropsForModuleRow(\n 'baseline',\n bFilteredModulesLength,\n cFilteredModulesLength,\n ),\n {\n title: 'in Assets',\n render: (_v, r) => {\n const b: string[] = [];\n const c: string[] = [];\n if (r.current) {\n Graph.getChunksByModule(r.current, cChunks).forEach((e) =>\n e.assets.forEach((asset) => c.push(asset)),\n );\n }\n\n if (r.baseline) {\n Graph.getChunksByModule(r.baseline, bChunks).forEach((e) =>\n e.assets.forEach((asset) => b.push(asset)),\n );\n }\n\n if (!b.length && !c.length) return null;\n\n return (\n <Space direction=\"vertical\">\n {uniq(c)\n .filter(Boolean)\n .map((e) => (\n <Bdg label=\"Current\" value={e} key={`c_${e}`} />\n ))}\n {uniq(b)\n .filter(Boolean)\n .map((e) => (\n <Bdg label=\"Baseline\" value={e} key={`b_${e}`} />\n ))}\n </Space>\n );\n },\n },\n {\n title: 'Actions',\n width: 200,\n render: (_v, r) => {\n const isChanged = getUpdateType(r) === UpdateType.Changed;\n return (\n <Space direction=\"vertical\" style={{ maxWidth: 170 }}>\n {isChanged ? (\n <ViewChanges\n text=\"View Changes\"\n file={r.path}\n data={[\n {\n baseline:\n baseline.moduleCodeMap[r.baseline?.id as number]\n ?.source,\n current:\n current.moduleCodeMap[r.current?.id as number]\n ?.source,\n group: 'Source',\n },\n {\n baseline:\n baseline.moduleCodeMap[r.baseline?.id as number]\n ?.transformed,\n current:\n current.moduleCodeMap[r.current?.id as number]\n ?.transformed,\n group: 'Transformed Source',\n },\n {\n baseline:\n baseline.moduleCodeMap[r.baseline?.id as number]\n ?.parsedSource,\n current:\n current.moduleCodeMap[r.current?.id as number]\n ?.parsedSource,\n group: 'Parsed Source',\n },\n ]}\n />\n ) : null}\n {r?.current ? (\n <ViewChanges\n text=\"Current Result Viewer\"\n file={r.path}\n data={[\n {\n baseline:\n current.moduleCodeMap[r.current!.id]?.source,\n current:\n current.moduleCodeMap[r.current!.id]?.transformed,\n baselineTitle: 'Current Source',\n currentTitle: 'Current Transformed Source',\n group: 'Transformed Source',\n },\n {\n baseline:\n current.moduleCodeMap[r.current!.id]?.source,\n current:\n current.moduleCodeMap[r.current!.id]\n ?.parsedSource,\n baselineTitle: 'Current Source',\n currentTitle: 'Current Parsed Source',\n group: 'Parsed Source',\n },\n ]}\n />\n ) : null}\n </Space>\n );\n },\n },\n ]}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["getUpdateType","e","UpdateType","Error","FileUpdateTypeTag","type","Tooltip","Tag","Modules","baseline","current","bModules","useMemo","useUniqModules","cModules","bChunks","cChunks","bRoot","cRoot","keyword","setKeyword","useState","selectedUpdateTypes","setSelectedUpdateTypes","dataSource","res","mod","modPath","ModuleHashPattern","console","Object","filteredDataSource","list","bFilteredModulesLength","cFilteredModulesLength","Row","Size","Col","Space","KeywordInput","FileSearchOutlined","Select","Table","Typography","Divider","InfoCircleOutlined","_v","r","alias","inNodeModules","beautifyModulePath","getTargetColumnPropsForModuleRow","b","c","Graph","asset","uniq","Boolean","Bdg","isChanged","ViewChanges"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/overview.mjs","sources":["webpack://@rsdoctor/components/./src/pages/Resources/BundleDiff/DiffContainer/overview.tsx"],"sourcesContent":["import React from 'react';\nimport { Space, Table, Tag, Typography } from 'antd';\nimport { Client } from '@rsdoctor/types';\n\nimport { BundleDiffTableOverviewData } from './types';\nimport { formatSize } from '../../../../utils';\nimport { Percent } from '../../../../components/Card/diff';\nimport { Color, Size } from '../../../../constants';\nimport { formatDiffSize } from './utils';\n\nexport const Overview: React.FC<{\n assetsDiffResult: Client.RsdoctorClientAssetsDiffResult;\n}> = ({ assetsDiffResult }) => {\n const dataSource: { type: string; data: BundleDiffTableOverviewData }[] = [\n {\n type: 'JS',\n data: assetsDiffResult.js,\n },\n {\n type: 'CSS',\n data: assetsDiffResult.css,\n },\n {\n type: 'Imgs',\n data: assetsDiffResult.imgs,\n },\n {\n type: 'Fonts',\n data: assetsDiffResult.fonts,\n },\n {\n type: 'Media',\n data: assetsDiffResult.media,\n },\n {\n type: 'HTML',\n data: assetsDiffResult.html,\n },\n {\n type: 'Others',\n data: assetsDiffResult.others,\n },\n ];\n\n return (\n <Table\n bordered\n pagination={false}\n dataSource={dataSource}\n rowKey={(v) => v.type}\n style={{ marginTop: Size.BasePadding - Size.BasePadding / 4 }}\n columns={[\n {\n title: `File Type`,\n dataIndex: 'type',\n key: 'type',\n render: (v) => <Typography.Text strong>{v}</Typography.Text>,\n },\n {\n title: `Size`,\n dataIndex: 'data',\n key: 'size',\n children: [\n {\n title: 'Current',\n dataIndex: 'data',\n key: 'csize',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <React.Fragment>\n <Typography.Text strong>\n {formatSize(v.total.size.current)}\n </Typography.Text>\n <Percent percent={v.total.percent} state={v.total.state} />\n {formatDiffSize(\n v.total.size.baseline,\n v.total.size.current,\n v.total.state,\n )}\n </React.Fragment>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text strong>\n {formatSize(v.initial.size.current)}\n </Typography.Text>\n <Percent\n percent={v.initial.percent}\n state={v.initial.state}\n />\n {formatDiffSize(\n v.initial.size.baseline,\n v.initial.size.current,\n v.initial.state,\n )}\n </Space>\n </Space>\n );\n }\n\n return <Space>{total}</Space>;\n },\n },\n {\n title: 'Baseline',\n dataIndex: 'data',\n key: 'bsize',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <Typography.Text>\n {formatSize(v.total.size.baseline)}\n </Typography.Text>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text>\n {formatSize(v.initial.size.baseline)}\n </Typography.Text>\n </Space>\n </Space>\n );\n }\n return total;\n },\n },\n ],\n },\n {\n title: `Count`,\n dataIndex: 'data',\n key: 'count',\n children: [\n {\n title: 'Current',\n dataIndex: 'data',\n key: 'ccount',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <Typography.Text strong>\n {v.total.count.current}\n </Typography.Text>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text strong>\n {v.initial.count.current}\n </Typography.Text>\n </Space>\n </Space>\n );\n }\n\n return <Space>{total}</Space>;\n },\n },\n {\n title: 'Baseline',\n dataIndex: 'data',\n key: 'bcount',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <Typography.Text>{v.total.count.baseline}</Typography.Text>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text>\n {v.initial.count.baseline}\n </Typography.Text>\n </Space>\n </Space>\n );\n }\n\n return <Space>{total}</Space>;\n },\n },\n ],\n },\n ]}\n />\n );\n};\n"],"names":["Overview","assetsDiffResult","dataSource","Table","v","Size","Typography","total","React","formatSize","Percent","formatDiffSize","Space","Tag","Color"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/overview.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/overview.tsx"],"sourcesContent":["import React from 'react';\nimport { Space, Table, Tag, Typography } from 'antd';\nimport { Client } from '@rsdoctor/types';\n\nimport { BundleDiffTableOverviewData } from './types';\nimport { formatSize } from '../../../../utils';\nimport { Percent } from '../../../../components/Card/diff';\nimport { Color, Size } from '../../../../constants';\nimport { formatDiffSize } from './utils';\n\nexport const Overview: React.FC<{\n assetsDiffResult: Client.RsdoctorClientAssetsDiffResult;\n}> = ({ assetsDiffResult }) => {\n const dataSource: { type: string; data: BundleDiffTableOverviewData }[] = [\n {\n type: 'JS',\n data: assetsDiffResult.js,\n },\n {\n type: 'CSS',\n data: assetsDiffResult.css,\n },\n {\n type: 'Imgs',\n data: assetsDiffResult.imgs,\n },\n {\n type: 'Fonts',\n data: assetsDiffResult.fonts,\n },\n {\n type: 'Media',\n data: assetsDiffResult.media,\n },\n {\n type: 'HTML',\n data: assetsDiffResult.html,\n },\n {\n type: 'Others',\n data: assetsDiffResult.others,\n },\n ];\n\n return (\n <Table\n bordered\n pagination={false}\n dataSource={dataSource}\n rowKey={(v) => v.type}\n style={{ marginTop: Size.BasePadding - Size.BasePadding / 4 }}\n columns={[\n {\n title: `File Type`,\n dataIndex: 'type',\n key: 'type',\n render: (v) => <Typography.Text strong>{v}</Typography.Text>,\n },\n {\n title: `Size`,\n dataIndex: 'data',\n key: 'size',\n children: [\n {\n title: 'Current',\n dataIndex: 'data',\n key: 'csize',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <React.Fragment>\n <Typography.Text strong>\n {formatSize(v.total.size.current)}\n </Typography.Text>\n <Percent percent={v.total.percent} state={v.total.state} />\n {formatDiffSize(\n v.total.size.baseline,\n v.total.size.current,\n v.total.state,\n )}\n </React.Fragment>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text strong>\n {formatSize(v.initial.size.current)}\n </Typography.Text>\n <Percent\n percent={v.initial.percent}\n state={v.initial.state}\n />\n {formatDiffSize(\n v.initial.size.baseline,\n v.initial.size.current,\n v.initial.state,\n )}\n </Space>\n </Space>\n );\n }\n\n return <Space>{total}</Space>;\n },\n },\n {\n title: 'Baseline',\n dataIndex: 'data',\n key: 'bsize',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <Typography.Text>\n {formatSize(v.total.size.baseline)}\n </Typography.Text>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text>\n {formatSize(v.initial.size.baseline)}\n </Typography.Text>\n </Space>\n </Space>\n );\n }\n return total;\n },\n },\n ],\n },\n {\n title: `Count`,\n dataIndex: 'data',\n key: 'count',\n children: [\n {\n title: 'Current',\n dataIndex: 'data',\n key: 'ccount',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <Typography.Text strong>\n {v.total.count.current}\n </Typography.Text>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text strong>\n {v.initial.count.current}\n </Typography.Text>\n </Space>\n </Space>\n );\n }\n\n return <Space>{total}</Space>;\n },\n },\n {\n title: 'Baseline',\n dataIndex: 'data',\n key: 'bcount',\n render: (v: BundleDiffTableOverviewData) => {\n const total = (\n <Typography.Text>{v.total.count.baseline}</Typography.Text>\n );\n\n if (v.initial) {\n return (\n <Space direction=\"vertical\">\n <Space>\n <Tag color={Color.Blue}>Total</Tag>\n {total}\n </Space>\n <Space>\n <Tag color={Color.Blue}>Initial</Tag>\n <Typography.Text>\n {v.initial.count.baseline}\n </Typography.Text>\n </Space>\n </Space>\n );\n }\n\n return <Space>{total}</Space>;\n },\n },\n ],\n },\n ]}\n />\n );\n};\n"],"names":["Overview","assetsDiffResult","dataSource","Table","v","Size","Typography","total","React","formatSize","Percent","formatDiffSize","Space","Tag","Color"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SDK } from '@rsdoctor/types';
|
|
3
|
-
import { UpdateType } from './constants';
|
|
3
|
+
import { UpdateType } from './constants.js';
|
|
4
4
|
export declare const PackagesStatistic: React.FC<{
|
|
5
5
|
dataSource: ReturnType<typeof getPackagesTableDataSource>;
|
|
6
6
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/packages.mjs","sources":["webpack://@rsdoctor/components/./src/pages/Resources/BundleDiff/DiffContainer/packages.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Col,\n Divider,\n Empty,\n Row,\n Select,\n Space,\n Table,\n Tooltip,\n Typography,\n} from 'antd';\nimport { sumBy, uniq } from 'es-toolkit/compat';\nimport { SDK } from '@rsdoctor/types';\nimport { BundleDiffTablePackagesData } from './types';\nimport { formatSize } from '../../../../utils';\nimport { Size } from '../../../../constants';\nimport { FileUpdateTypeTag } from './modules';\nimport { UpdateType } from './constants';\nimport { Badge as Bdg } from '../../../../components/Badge';\nimport { SizePercent } from '../../../../components/Card/diff';\n\nconst getChangedType = (data: BundleDiffTablePackagesData): UpdateType => {\n if (data.baseline && data.current) {\n const bvs = data.baseline\n .map((e) => e.version)\n .sort()\n .join();\n const dcs = data.current\n .map((e) => e.version)\n .sort()\n .join();\n\n return bvs === dcs ? UpdateType.NotChanged : UpdateType.Changed;\n }\n\n if (!data.baseline && !data.current) {\n return UpdateType.NotChanged;\n }\n\n if (data.baseline && !data.current) {\n return UpdateType.Deleted;\n }\n\n return UpdateType.New;\n};\n\nconst isChanged = (data: BundleDiffTablePackagesData) => {\n return getChangedType(data) !== UpdateType.NotChanged;\n};\n\nexport const PackagesStatistic: React.FC<{\n dataSource: ReturnType<typeof getPackagesTableDataSource>;\n}> = ({ dataSource }) => {\n const { newCount, deleteCount, changedCount } = useMemo(() => {\n return {\n newCount: dataSource.filter((e) => e.updateType === UpdateType.New)\n .length,\n deleteCount: dataSource.filter((e) => e.updateType === UpdateType.Deleted)\n .length,\n changedCount: dataSource.filter(\n (e) => e.updateType === UpdateType.Changed,\n ).length,\n };\n }, [dataSource]);\n\n return (\n <Space>\n <Bdg\n label=\"New\"\n value={newCount}\n type={newCount > 0 ? 'error' : 'default'}\n tooltip={`Current has ${newCount} packages which not found in Baseline`}\n />\n <Bdg\n label=\"Deleted\"\n value={deleteCount}\n type={deleteCount > 0 ? 'error' : 'default'}\n tooltip={`Current delete ${deleteCount} packages than Baseline`}\n />\n <Bdg\n label=\"Changed\"\n value={changedCount}\n type={changedCount > 0 ? 'error' : 'default'}\n tooltip={`Current has ${changedCount} changed packages than Baseline`}\n />\n </Space>\n );\n};\n\nexport const getPackagesTableDataSource = ({\n baseline,\n current,\n}: {\n baseline: SDK.PackageGraphData;\n current: SDK.PackageGraphData;\n}) => {\n const { packages: bPkgs = [] } = baseline || {};\n const { packages: cPkgs = [] } = current || {};\n\n const res: Record<string, BundleDiffTablePackagesData> = {};\n\n const setter = (pkg: SDK.PackageData, type: 'baseline' | 'current') => {\n if (!res[pkg.name]) {\n res[pkg.name] = { name: pkg.name, updateType: UpdateType.NotChanged };\n }\n if (!res[pkg.name][type]) {\n res[pkg.name][type] = [];\n }\n\n res[pkg.name][type]!.push(pkg);\n };\n\n bPkgs.forEach((e) => setter(e, 'baseline'));\n cPkgs.forEach((e) => setter(e, 'current'));\n\n const pre: BundleDiffTablePackagesData[] = [];\n const post: BundleDiffTablePackagesData[] = [];\n\n Object.values(res).forEach((a) => {\n if (isChanged(a)) {\n pre.push(a);\n } else {\n post.push(a);\n }\n });\n\n return pre.concat(post).map((e) => {\n return {\n ...e,\n updateType: getChangedType(e),\n };\n });\n};\n\nexport const Packages: React.FC<{\n baseline: SDK.PackageGraphData;\n current: SDK.PackageGraphData;\n}> = ({ baseline, current }) => {\n const { packages: bPkgs = [] } = baseline || {};\n const { packages: cPkgs = [] } = current || {};\n\n if (!bPkgs.length && !cPkgs.length) {\n return <Empty />;\n }\n\n const pkgNames = useMemo(() => {\n return uniq(bPkgs.concat(cPkgs).map((e) => e.name));\n }, [bPkgs, cPkgs]);\n\n const [selectedPkgNames, setSelectedPkgNames] = useState<string[]>([]);\n const [selectedUpdateTypes, setSelectedUpdateTypes] = useState<UpdateType[]>(\n [],\n );\n\n const dataSource = useMemo(() => {\n return getPackagesTableDataSource({ baseline, current });\n }, [baseline, current]);\n\n const filteredDataSource = useMemo(() => {\n return dataSource.filter((e) => {\n if (selectedUpdateTypes.length) {\n return selectedUpdateTypes.indexOf(e.updateType) > -1;\n }\n\n if (selectedPkgNames.length) {\n return selectedPkgNames.indexOf(e.name) > -1;\n }\n\n return true;\n });\n }, [dataSource, selectedPkgNames, selectedUpdateTypes]);\n\n return (\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24} style={{ marginTop: 16 }}>\n <Space wrap>\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by package names\"\n style={{ width: 400 }}\n options={pkgNames.map((e) => {\n const r = dataSource.find((el) => el.name === e);\n\n if (r && isChanged(r)) {\n return {\n label: (\n <Space>\n <Typography.Text>{e}</Typography.Text>\n <FileUpdateTypeTag type={getChangedType(r)} />\n </Space>\n ),\n value: e,\n };\n }\n\n return {\n label: e,\n value: e,\n };\n })}\n allowClear\n onChange={(e) => {\n setSelectedPkgNames(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by changed type\"\n style={{ width: 200 }}\n options={Object.values(UpdateType).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedUpdateTypes(e);\n }}\n />\n </Space>\n </Col>\n <Col span={24}>\n <Table\n bordered\n sticky={{ offsetHeader: 54 }}\n pagination={{\n pageSize: 20,\n size: 'small',\n }}\n // scroll={{ x: 1700 }}\n dataSource={filteredDataSource}\n rowKey={(e) => e.name}\n columns={[\n {\n title: () => (\n <Space>\n <Typography.Text>Package Name</Typography.Text>\n <Divider type=\"vertical\" />\n <Tooltip\n title={`Filtered Package Count is ${filteredDataSource.length}, Total Package Count is ${dataSource.length}`}\n >\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 10, fontWeight: 400 }}\n >\n {filteredDataSource.length} / {dataSource.length}\n </Typography.Text>\n </Tooltip>\n </Space>\n ),\n render: (_v, r) => {\n if (r.updateType !== UpdateType.NotChanged) {\n return (\n <Space>\n <Typography.Text>{r.name}</Typography.Text>\n <FileUpdateTypeTag type={r.updateType} />\n </Space>\n );\n }\n return r.name;\n },\n },\n {\n title: () => {\n return (\n <Space>\n <Typography.Text>Current</Typography.Text>\n <Divider type=\"vertical\" />\n <PackagesStatistic dataSource={dataSource} />\n </Space>\n );\n },\n children: [\n {\n title: 'Version',\n render: (_v, r) => {\n if (r.current) {\n return (\n <Space direction=\"vertical\">\n {r.current.map((e) => (\n <Bdg\n label=\"version\"\n value={e.version}\n tooltip={e.root}\n key={e.version}\n type={\n r.updateType === UpdateType.Deleted\n ? 'error'\n : r.updateType === UpdateType.Changed\n ? 'warn'\n : 'default'\n }\n />\n ))}\n </Space>\n );\n }\n return null;\n },\n },\n {\n title: 'Parsed Size',\n render: (_v, r) => {\n const parsedSize = sumBy(\n r.current,\n (e) => e.size.parsedSize,\n );\n const DiffComponent = () => (\n <SizePercent\n baseline={sumBy(r.baseline, (e) => e.size.parsedSize)}\n current={parsedSize}\n />\n );\n\n if (r.current) {\n return (\n <Space>\n <Typography.Text\n strong={r.updateType !== UpdateType.NotChanged}\n >\n {formatSize(parsedSize)}\n </Typography.Text>\n <DiffComponent />\n </Space>\n );\n }\n return <DiffComponent />;\n },\n },\n ],\n },\n {\n title: 'Baseline',\n children: [\n {\n title: 'Version',\n render: (_v, r) => {\n if (r.baseline) {\n return (\n <Space direction=\"vertical\">\n {r.baseline.map((e) => (\n <Bdg\n label=\"version\"\n value={e.version}\n tooltip={e.root}\n key={e.version}\n type={\n r.updateType === UpdateType.Deleted\n ? 'error'\n : r.updateType === UpdateType.Changed\n ? 'warn'\n : 'default'\n }\n />\n ))}\n </Space>\n );\n }\n return null;\n },\n },\n {\n title: 'Parsed Size',\n render: (_v, r) => {\n if (r.baseline) {\n const parsedSize = sumBy(\n r.baseline,\n (e) => e.size.parsedSize,\n );\n return (\n <Typography.Text>\n {formatSize(parsedSize)}\n </Typography.Text>\n );\n }\n return null;\n },\n },\n ],\n },\n ]}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["getChangedType","data","bvs","e","dcs","UpdateType","isChanged","PackagesStatistic","dataSource","newCount","deleteCount","changedCount","useMemo","Space","Bdg","getPackagesTableDataSource","baseline","current","bPkgs","cPkgs","res","setter","pkg","type","pre","post","Object","a","Packages","Empty","pkgNames","uniq","selectedPkgNames","setSelectedPkgNames","useState","selectedUpdateTypes","setSelectedUpdateTypes","filteredDataSource","Row","Size","Col","Select","r","el","Typography","FileUpdateTypeTag","Table","Divider","Tooltip","_v","parsedSize","sumBy","DiffComponent","SizePercent","formatSize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/packages.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/packages.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport {\n Col,\n Divider,\n Empty,\n Row,\n Select,\n Space,\n Table,\n Tooltip,\n Typography,\n} from 'antd';\nimport { sumBy, uniq } from 'es-toolkit/compat';\nimport { SDK } from '@rsdoctor/types';\nimport { BundleDiffTablePackagesData } from './types';\nimport { formatSize } from '../../../../utils';\nimport { Size } from '../../../../constants';\nimport { FileUpdateTypeTag } from './modules';\nimport { UpdateType } from './constants';\nimport { Badge as Bdg } from '../../../../components/Badge';\nimport { SizePercent } from '../../../../components/Card/diff';\n\nconst getChangedType = (data: BundleDiffTablePackagesData): UpdateType => {\n if (data.baseline && data.current) {\n const bvs = data.baseline\n .map((e) => e.version)\n .sort()\n .join();\n const dcs = data.current\n .map((e) => e.version)\n .sort()\n .join();\n\n return bvs === dcs ? UpdateType.NotChanged : UpdateType.Changed;\n }\n\n if (!data.baseline && !data.current) {\n return UpdateType.NotChanged;\n }\n\n if (data.baseline && !data.current) {\n return UpdateType.Deleted;\n }\n\n return UpdateType.New;\n};\n\nconst isChanged = (data: BundleDiffTablePackagesData) => {\n return getChangedType(data) !== UpdateType.NotChanged;\n};\n\nexport const PackagesStatistic: React.FC<{\n dataSource: ReturnType<typeof getPackagesTableDataSource>;\n}> = ({ dataSource }) => {\n const { newCount, deleteCount, changedCount } = useMemo(() => {\n return {\n newCount: dataSource.filter((e) => e.updateType === UpdateType.New)\n .length,\n deleteCount: dataSource.filter((e) => e.updateType === UpdateType.Deleted)\n .length,\n changedCount: dataSource.filter(\n (e) => e.updateType === UpdateType.Changed,\n ).length,\n };\n }, [dataSource]);\n\n return (\n <Space>\n <Bdg\n label=\"New\"\n value={newCount}\n type={newCount > 0 ? 'error' : 'default'}\n tooltip={`Current has ${newCount} packages which not found in Baseline`}\n />\n <Bdg\n label=\"Deleted\"\n value={deleteCount}\n type={deleteCount > 0 ? 'error' : 'default'}\n tooltip={`Current delete ${deleteCount} packages than Baseline`}\n />\n <Bdg\n label=\"Changed\"\n value={changedCount}\n type={changedCount > 0 ? 'error' : 'default'}\n tooltip={`Current has ${changedCount} changed packages than Baseline`}\n />\n </Space>\n );\n};\n\nexport const getPackagesTableDataSource = ({\n baseline,\n current,\n}: {\n baseline: SDK.PackageGraphData;\n current: SDK.PackageGraphData;\n}) => {\n const { packages: bPkgs = [] } = baseline || {};\n const { packages: cPkgs = [] } = current || {};\n\n const res: Record<string, BundleDiffTablePackagesData> = {};\n\n const setter = (pkg: SDK.PackageData, type: 'baseline' | 'current') => {\n if (!res[pkg.name]) {\n res[pkg.name] = { name: pkg.name, updateType: UpdateType.NotChanged };\n }\n if (!res[pkg.name][type]) {\n res[pkg.name][type] = [];\n }\n\n res[pkg.name][type]!.push(pkg);\n };\n\n bPkgs.forEach((e) => setter(e, 'baseline'));\n cPkgs.forEach((e) => setter(e, 'current'));\n\n const pre: BundleDiffTablePackagesData[] = [];\n const post: BundleDiffTablePackagesData[] = [];\n\n Object.values(res).forEach((a) => {\n if (isChanged(a)) {\n pre.push(a);\n } else {\n post.push(a);\n }\n });\n\n return pre.concat(post).map((e) => {\n return {\n ...e,\n updateType: getChangedType(e),\n };\n });\n};\n\nexport const Packages: React.FC<{\n baseline: SDK.PackageGraphData;\n current: SDK.PackageGraphData;\n}> = ({ baseline, current }) => {\n const { packages: bPkgs = [] } = baseline || {};\n const { packages: cPkgs = [] } = current || {};\n\n if (!bPkgs.length && !cPkgs.length) {\n return <Empty />;\n }\n\n const pkgNames = useMemo(() => {\n return uniq(bPkgs.concat(cPkgs).map((e) => e.name));\n }, [bPkgs, cPkgs]);\n\n const [selectedPkgNames, setSelectedPkgNames] = useState<string[]>([]);\n const [selectedUpdateTypes, setSelectedUpdateTypes] = useState<UpdateType[]>(\n [],\n );\n\n const dataSource = useMemo(() => {\n return getPackagesTableDataSource({ baseline, current });\n }, [baseline, current]);\n\n const filteredDataSource = useMemo(() => {\n return dataSource.filter((e) => {\n if (selectedUpdateTypes.length) {\n return selectedUpdateTypes.indexOf(e.updateType) > -1;\n }\n\n if (selectedPkgNames.length) {\n return selectedPkgNames.indexOf(e.name) > -1;\n }\n\n return true;\n });\n }, [dataSource, selectedPkgNames, selectedUpdateTypes]);\n\n return (\n <Row gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24} style={{ marginTop: 16 }}>\n <Space wrap>\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by package names\"\n style={{ width: 400 }}\n options={pkgNames.map((e) => {\n const r = dataSource.find((el) => el.name === e);\n\n if (r && isChanged(r)) {\n return {\n label: (\n <Space>\n <Typography.Text>{e}</Typography.Text>\n <FileUpdateTypeTag type={getChangedType(r)} />\n </Space>\n ),\n value: e,\n };\n }\n\n return {\n label: e,\n value: e,\n };\n })}\n allowClear\n onChange={(e) => {\n setSelectedPkgNames(e);\n }}\n />\n <Select\n mode=\"multiple\"\n placeholder=\"Filter by changed type\"\n style={{ width: 200 }}\n options={Object.values(UpdateType).map((e) => ({\n label: e,\n value: e,\n }))}\n allowClear\n onChange={(e) => {\n setSelectedUpdateTypes(e);\n }}\n />\n </Space>\n </Col>\n <Col span={24}>\n <Table\n bordered\n sticky={{ offsetHeader: 54 }}\n pagination={{\n pageSize: 20,\n size: 'small',\n }}\n // scroll={{ x: 1700 }}\n dataSource={filteredDataSource}\n rowKey={(e) => e.name}\n columns={[\n {\n title: () => (\n <Space>\n <Typography.Text>Package Name</Typography.Text>\n <Divider type=\"vertical\" />\n <Tooltip\n title={`Filtered Package Count is ${filteredDataSource.length}, Total Package Count is ${dataSource.length}`}\n >\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 10, fontWeight: 400 }}\n >\n {filteredDataSource.length} / {dataSource.length}\n </Typography.Text>\n </Tooltip>\n </Space>\n ),\n render: (_v, r) => {\n if (r.updateType !== UpdateType.NotChanged) {\n return (\n <Space>\n <Typography.Text>{r.name}</Typography.Text>\n <FileUpdateTypeTag type={r.updateType} />\n </Space>\n );\n }\n return r.name;\n },\n },\n {\n title: () => {\n return (\n <Space>\n <Typography.Text>Current</Typography.Text>\n <Divider type=\"vertical\" />\n <PackagesStatistic dataSource={dataSource} />\n </Space>\n );\n },\n children: [\n {\n title: 'Version',\n render: (_v, r) => {\n if (r.current) {\n return (\n <Space direction=\"vertical\">\n {r.current.map((e) => (\n <Bdg\n label=\"version\"\n value={e.version}\n tooltip={e.root}\n key={e.version}\n type={\n r.updateType === UpdateType.Deleted\n ? 'error'\n : r.updateType === UpdateType.Changed\n ? 'warn'\n : 'default'\n }\n />\n ))}\n </Space>\n );\n }\n return null;\n },\n },\n {\n title: 'Parsed Size',\n render: (_v, r) => {\n const parsedSize = sumBy(\n r.current,\n (e) => e.size.parsedSize,\n );\n const DiffComponent = () => (\n <SizePercent\n baseline={sumBy(r.baseline, (e) => e.size.parsedSize)}\n current={parsedSize}\n />\n );\n\n if (r.current) {\n return (\n <Space>\n <Typography.Text\n strong={r.updateType !== UpdateType.NotChanged}\n >\n {formatSize(parsedSize)}\n </Typography.Text>\n <DiffComponent />\n </Space>\n );\n }\n return <DiffComponent />;\n },\n },\n ],\n },\n {\n title: 'Baseline',\n children: [\n {\n title: 'Version',\n render: (_v, r) => {\n if (r.baseline) {\n return (\n <Space direction=\"vertical\">\n {r.baseline.map((e) => (\n <Bdg\n label=\"version\"\n value={e.version}\n tooltip={e.root}\n key={e.version}\n type={\n r.updateType === UpdateType.Deleted\n ? 'error'\n : r.updateType === UpdateType.Changed\n ? 'warn'\n : 'default'\n }\n />\n ))}\n </Space>\n );\n }\n return null;\n },\n },\n {\n title: 'Parsed Size',\n render: (_v, r) => {\n if (r.baseline) {\n const parsedSize = sumBy(\n r.baseline,\n (e) => e.size.parsedSize,\n );\n return (\n <Typography.Text>\n {formatSize(parsedSize)}\n </Typography.Text>\n );\n }\n return null;\n },\n },\n ],\n },\n ]}\n />\n </Col>\n </Row>\n );\n};\n"],"names":["getChangedType","data","bvs","e","dcs","UpdateType","isChanged","PackagesStatistic","dataSource","newCount","deleteCount","changedCount","useMemo","Space","Bdg","getPackagesTableDataSource","baseline","current","bPkgs","cPkgs","res","setter","pkg","type","pre","post","Object","a","Packages","Empty","pkgNames","uniq","selectedPkgNames","setSelectedPkgNames","useState","selectedUpdateTypes","setSelectedUpdateTypes","filteredDataSource","Row","Size","Col","Select","r","el","Typography","FileUpdateTypeTag","Table","Divider","Tooltip","_v","parsedSize","sumBy","DiffComponent","SizePercent","formatSize"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ColumnGroupType, ColumnType } from 'antd/es/table/interface';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { BundleDiffComponentCardProps, BundleDiffTableAssetsData, BundleDiffTableModulesData } from './types';
|
|
3
|
+
import { BundleDiffComponentCardProps, BundleDiffTableAssetsData, BundleDiffTableModulesData } from './types.js';
|
|
4
4
|
export declare const ModuleHashPattern: RegExp;
|
|
5
5
|
export declare const getSizeColumnPropsForModuleRow: (key: "baseline" | "current", sizeKey: "parsedSize" | "sourceSize", sortByChanged?: boolean) => ColumnType<BundleDiffTableModulesData>;
|
|
6
6
|
export declare const getTargetColumnPropsForModuleRow: (key: "baseline" | "current", bModulesCount: number, cModulesCount: number) => ColumnGroupType<BundleDiffTableModulesData>;
|