@rsdoctor/components 1.1.2 → 1.1.3

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/README.md CHANGED
@@ -4,7 +4,7 @@ This package is the Rsdoctor reporting platform’s components.
4
4
 
5
5
  ## Documentation
6
6
 
7
- https://rsdoctor.dev/
7
+ https://rsdoctor.rs/
8
8
 
9
9
  ## Contributing
10
10
 
@@ -87,7 +87,7 @@ const BundleAlert = ({
87
87
  children = /* @__PURE__ */ jsx(CommonList, { data: td.data });
88
88
  break;
89
89
  case "E1004":
90
- description = /* @__PURE__ */ jsx("span", { children: "No ECMA Version Check Rules were found. Please refer to 「https://rsdoctor.dev/guide/usage/rule-config」." });
90
+ description = /* @__PURE__ */ jsx("span", { children: "No ECMA Version Check Rules were found. Please refer to 「https://rsdoctor.rs/guide/usage/rule-config」." });
91
91
  children = /* @__PURE__ */ jsx(ECMAVersionCheck, { data: td.data });
92
92
  break;
93
93
  case "E1005":
@@ -1 +1 @@
1
- {"version":3,"mappings":"AA8Fe,SA0DH,UA1DG,KAEL,YAFK;AA9Ff,SAAS,MAAM,OAAO,WAAW;AAEjC,SAAS,YAAY;AACrB,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAO3B,OAAO,YAAY;AACnB,SAAwB,gBAAgB;AACxC,SAAS,gCAAgC;AAYlC,MAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,OAAO;AAClD,QAAM,UAID;AAAA,IACH;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM,CAAC;AAAA,IACT;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM,CAAC;AAAA,IACT;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM,CAAC;AAAA,IACT;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM,CAAC;AAAA,IACT;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AAEA,aAAW,QAAQ,CAAC,SAAS;AAC3B,UAAM,SAAS,QAAQ,KAAK,CAAC,OAAO,GAAG,QAAQ,KAAK,IAAI,GAAG;AAC3D,YAAQ,KAAK,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,WAAW,QAAQ,IAAI,CAAC,OAAO;AACnC,UAAM,WACJ,cAAc,GAAG,MACZ;AAAA,MACC,QAAQ;AAAA,MACR,iBAAiB;AAAA,IACnB,IACA,CAAC;AAEP,UAAM,eACJ,cAAc,GAAG,MACb;AAAA,MACE,OAAO;AAAA,IACT,IACA,CAAC;AAEP,UAAM,iBAAiB,MACrB;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,aAAa;AAAA,UACb,cAAc;AAAA,UACd,OAAO;AAAA,QACT;AAAA,QACA,OAAO,oBAAC,UAAK,WAAW,OAAO,YAAa,aAAG,OAAM;AAAA,QACrD,aACE,qBAAC,SAAI,WAAW,OAAO,kBACrB;AAAA,8BAAC,UAAM,aAAG,KAAK,QAAO;AAAA,UACtB;AAAA,YAAC;AAAA;AAAA,cACC,OAAO,EAAE,YAAY,SAAS,cAAc,OAAO,GAAG,SAAS;AAAA,cAE/D,8BAAC,UAAK,OAAO,EAAE,GAAG,aAAa,GAAI,aAAG,KAAI;AAAA;AAAA,UAC5C;AAAA,WACF;AAAA;AAAA,IAEJ;AAGF,QAAI,UAAU;AACd,YAAQ,GAAG,KAAK;AAAA,MACd,KAAK;AACH,mBAAW,oBAAC,iBAAc,MAAM,GAAG,MAAM,WAAsB;AAC/D;AAAA,MACF,KAAK;AACH,mBACE,oBAAC,4BAAyB,MAAM,GAAG,MAAM,WAAsB;AAEjE;AAAA,MACF,KAAK;AACH,mBAAW,oBAAC,cAAW,MAAM,GAAG,MAAM;AACtC;AAAA,MACF,KAAK;AACH,sBACE,oBAAC,UAAK,qHAGN;AAEF,mBAAW,oBAAC,oBAAiB,MAAM,GAAG,MAAM;AAC5C;AAAA,MACF,KAAK;AACH,mBAAW,oBAAC,cAAW,MAAM,GAAG,MAAM;AACtC;AAAA,MACF;AACE,mBAAW;AACX;AAAA,IACJ;AAEA,QAAI,CAAC,GAAG,KAAK,QAAQ;AACnB,iBACE,oBAAC,SAAM,aAA0B,OAAO,MAAM,wBAAwB;AAAA,IAE1E;AAEA,WAAO;AAAA,MACL,KAAK,GAAG;AAAA,MACR,OAAO,oBAAC,kBAAe;AAAA,MACvB,UACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,OAAO;AAAA,UAClB,MAAK;AAAA,UACL,OACE,iCACE;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,YAAY;AAAA,kBACZ,YAAY;AAAA,kBACZ,UAAU;AAAA,kBACV,iBAAiB;AAAA,kBACjB,cAAc;AAAA,gBAChB;AAAA,gBAEC,aAAG;AAAA;AAAA,YACN;AAAA,YACA,oBAAC,UAAM,aAAG,OAAM;AAAA,aAClB;AAAA,UAGD;AAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF,CAAC;AAED,SACE,oBAAC,QAAK,OAAO,EAAE,OAAO,QAAQ,cAAc,OAAO,GACjD,+BAAC,SAAI,WAAW,OAAO,WACrB;AAAA,wBAAC,SAAI,WAAW,OAAO,OAAQ,iBAAM;AAAA,IACpC,CAAC,WAAW,SACX;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,WAAW;AAAA,UACX,SAAS;AAAA,UACT,gBAAgB;AAAA,UAChB,YAAY;AAAA,QACd;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,aAAa;AAAA,YACb,OAAO,MAAM;AAAA;AAAA,QACf;AAAA;AAAA,IACF,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV,cAAc;AAAA,QACd,MAAK;AAAA,QACL,kBAAiB;AAAA,QACjB,OAAO;AAAA;AAAA,IACT;AAAA,KAEJ,GACF;AAEJ","names":[],"ignoreList":[],"sources":["../../../src/components/Alerts/bundle-alert.tsx"],"sourcesContent":["import { Tabs, Empty, Tag } from 'antd';\n\nimport { Card } from '../Card';\nimport { ECMAVersionCheck } from '../Alert/ecma-version-check';\nimport { Overview } from '../Overall/overview';\nimport { AlertCollapse } from './collapse';\nimport { CommonList } from './list';\nimport { ViewMode } from '../../constants';\n\nimport { AlertProps } from '../Alert/types';\n\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module';\nimport { CSSProperties, useState } from 'react';\nimport { CrossChunksAlertCollapse } from './collapse-cross-chunks';\n\ninterface BundleAlertProps {\n title: string;\n cwd: string;\n dataSource: Rule.RuleStoreDataItem[];\n extraData: Omit<AlertProps, 'data'>;\n viewMode: ViewMode;\n setViewMode(mode: ViewMode): void;\n extraCom?: JSX.Element | undefined;\n}\n\nexport const BundleAlert: React.FC<BundleAlertProps> = ({\n title,\n dataSource,\n extraData,\n}) => {\n const [activekey, setActiveKey] = useState('E1001');\n const tabData: Array<{\n key: string;\n label: string;\n data: Array<Rule.RuleStoreDataItem>;\n }> = [\n {\n key: 'E1001',\n label: 'Duplicate Packages',\n data: [],\n },\n {\n key: 'E1002',\n label: 'Cross Chunks Package',\n data: [],\n },\n {\n key: 'E1003',\n label: 'Loader Performance Optimization',\n data: [],\n },\n {\n key: 'E1004',\n label: 'ECMA Version Check',\n data: [],\n },\n {\n key: 'E1005',\n label: 'Default Import Check',\n data: [],\n },\n ];\n\n dataSource.forEach((data) => {\n const target = tabData.find((td) => td.key === data.code)?.data;\n target?.push(data);\n });\n\n const tabItems = tabData.map((td) => {\n const tagStyle =\n activekey === td.key\n ? ({\n border: '1px solid #91D5FF',\n backgroundColor: '#E6F7FF',\n } as CSSProperties)\n : {};\n\n const tagTextStyle =\n activekey === td.key\n ? {\n color: '#1890FF',\n }\n : {};\n\n const LabelComponent = () => (\n <Overview\n style={{\n backgroundColor: 'transparent',\n paddingLeft: 0,\n paddingRight: 0,\n width: '100%',\n }}\n title={<span className={styles.labelTitle}>{td.label}</span>}\n description={\n <div className={styles.labelDescription}>\n <span>{td.data.length}</span>\n <Tag\n style={{ fontFamily: 'Menlo', borderRadius: '2px', ...tagStyle }}\n >\n <span style={{ ...tagTextStyle }}>{td.key}</span>\n </Tag>\n </div>\n }\n />\n );\n\n let children, description;\n switch (td.key) {\n case 'E1001':\n children = <AlertCollapse data={td.data} extraData={extraData} />;\n break;\n case 'E1002':\n children = (\n <CrossChunksAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n case 'E1003':\n children = <CommonList data={td.data} />;\n break;\n case 'E1004':\n description = (\n <span>\n No ECMA Version Check Rules were found. Please refer to\n 「https://rsdoctor.dev/guide/usage/rule-config」.\n </span>\n );\n children = <ECMAVersionCheck data={td.data} />;\n break;\n case 'E1005':\n children = <CommonList data={td.data} />;\n break;\n default:\n children = null;\n break;\n }\n\n if (!td.data.length) {\n children = (\n <Empty description={description} image={Empty.PRESENTED_IMAGE_SIMPLE} />\n );\n }\n\n return {\n key: td.key,\n label: <LabelComponent />,\n children: (\n <Card\n className={styles.card}\n type=\"inner\"\n title={\n <>\n <Tag\n style={{\n fontFamily: 'Menlo',\n fontWeight: '700',\n fontSize: '13px',\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n }}\n >\n {td.key}\n </Tag>\n <span>{td.label}</span>\n </>\n }\n >\n {children}\n </Card>\n ),\n };\n });\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div className={styles.container}>\n <div className={styles.title}>{title}</div>\n {!dataSource.length ? (\n <div\n style={{\n minHeight: '480px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Empty\n description={'No Bundle Alerts Data'}\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n />\n </div>\n ) : (\n <Tabs\n onChange={setActiveKey}\n tabBarGutter={10}\n type=\"card\"\n defaultActiveKey=\"E1001\"\n items={tabItems}\n />\n )}\n </div>\n </Card>\n );\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
1
+ {"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["../../../src/components/Alerts/bundle-alert.tsx"],"sourcesContent":["import { Tabs, Empty, Tag } from 'antd';\n\nimport { Card } from '../Card';\nimport { ECMAVersionCheck } from '../Alert/ecma-version-check';\nimport { Overview } from '../Overall/overview';\nimport { AlertCollapse } from './collapse';\nimport { CommonList } from './list';\nimport { ViewMode } from '../../constants';\n\nimport { AlertProps } from '../Alert/types';\n\nimport type { Rule } from '@rsdoctor/types';\n\nimport styles from './bundle-alert.module';\nimport { CSSProperties, useState } from 'react';\nimport { CrossChunksAlertCollapse } from './collapse-cross-chunks';\n\ninterface BundleAlertProps {\n title: string;\n cwd: string;\n dataSource: Rule.RuleStoreDataItem[];\n extraData: Omit<AlertProps, 'data'>;\n viewMode: ViewMode;\n setViewMode(mode: ViewMode): void;\n extraCom?: JSX.Element | undefined;\n}\n\nexport const BundleAlert: React.FC<BundleAlertProps> = ({\n title,\n dataSource,\n extraData,\n}) => {\n const [activekey, setActiveKey] = useState('E1001');\n const tabData: Array<{\n key: string;\n label: string;\n data: Array<Rule.RuleStoreDataItem>;\n }> = [\n {\n key: 'E1001',\n label: 'Duplicate Packages',\n data: [],\n },\n {\n key: 'E1002',\n label: 'Cross Chunks Package',\n data: [],\n },\n {\n key: 'E1003',\n label: 'Loader Performance Optimization',\n data: [],\n },\n {\n key: 'E1004',\n label: 'ECMA Version Check',\n data: [],\n },\n {\n key: 'E1005',\n label: 'Default Import Check',\n data: [],\n },\n ];\n\n dataSource.forEach((data) => {\n const target = tabData.find((td) => td.key === data.code)?.data;\n target?.push(data);\n });\n\n const tabItems = tabData.map((td) => {\n const tagStyle =\n activekey === td.key\n ? ({\n border: '1px solid #91D5FF',\n backgroundColor: '#E6F7FF',\n } as CSSProperties)\n : {};\n\n const tagTextStyle =\n activekey === td.key\n ? {\n color: '#1890FF',\n }\n : {};\n\n const LabelComponent = () => (\n <Overview\n style={{\n backgroundColor: 'transparent',\n paddingLeft: 0,\n paddingRight: 0,\n width: '100%',\n }}\n title={<span className={styles.labelTitle}>{td.label}</span>}\n description={\n <div className={styles.labelDescription}>\n <span>{td.data.length}</span>\n <Tag\n style={{ fontFamily: 'Menlo', borderRadius: '2px', ...tagStyle }}\n >\n <span style={{ ...tagTextStyle }}>{td.key}</span>\n </Tag>\n </div>\n }\n />\n );\n\n let children, description;\n switch (td.key) {\n case 'E1001':\n children = <AlertCollapse data={td.data} extraData={extraData} />;\n break;\n case 'E1002':\n children = (\n <CrossChunksAlertCollapse data={td.data} extraData={extraData} />\n );\n break;\n case 'E1003':\n children = <CommonList data={td.data} />;\n break;\n case 'E1004':\n description = (\n <span>\n No ECMA Version Check Rules were found. Please refer to\n 「https://rsdoctor.rs/guide/usage/rule-config」.\n </span>\n );\n children = <ECMAVersionCheck data={td.data} />;\n break;\n case 'E1005':\n children = <CommonList data={td.data} />;\n break;\n default:\n children = null;\n break;\n }\n\n if (!td.data.length) {\n children = (\n <Empty description={description} image={Empty.PRESENTED_IMAGE_SIMPLE} />\n );\n }\n\n return {\n key: td.key,\n label: <LabelComponent />,\n children: (\n <Card\n className={styles.card}\n type=\"inner\"\n title={\n <>\n <Tag\n style={{\n fontFamily: 'Menlo',\n fontWeight: '700',\n fontSize: '13px',\n backgroundColor: '#EAEDF1',\n borderRadius: '2px',\n }}\n >\n {td.key}\n </Tag>\n <span>{td.label}</span>\n </>\n }\n >\n {children}\n </Card>\n ),\n };\n });\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div className={styles.container}>\n <div className={styles.title}>{title}</div>\n {!dataSource.length ? (\n <div\n style={{\n minHeight: '480px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Empty\n description={'No Bundle Alerts Data'}\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n />\n </div>\n ) : (\n <Tabs\n onChange={setActiveKey}\n tabBarGutter={10}\n type=\"card\"\n defaultActiveKey=\"E1001\"\n items={tabItems}\n />\n )}\n </div>\n </Card>\n );\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
@@ -68,7 +68,7 @@ const Header = () => {
68
68
  /* @__PURE__ */ jsx(
69
69
  "img",
70
70
  {
71
- src: "https://assets.rspack.dev/rsdoctor/rsdoctor-title-logo.png",
71
+ src: "https://assets.rspack.rs/rsdoctor/rsdoctor-title-logo.png",
72
72
  className: "rsdoctor-logo",
73
73
  alt: "logo",
74
74
  onClick: () => {
@@ -1 +1 @@
1
- {"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["../../../src/components/Layout/header.tsx"],"sourcesContent":["import { TranslationOutlined } from '@ant-design/icons';\nimport { Col, Dropdown, Layout, Row } from 'antd';\nimport React from 'react';\nimport { Language, Size } from '../../constants';\nimport { useI18n, useTheme } from '../../utils';\nimport { OverlayAlertsWithButton } from '../Alerts';\nimport { BuilderSelect } from './builder-select';\nimport { Menus } from './menus';\nimport './header.css';\nimport { Client } from '@rsdoctor/types';\nimport { useNavigate } from 'react-router-dom';\n\nexport const Header: React.FC = () => {\n const { i18n } = useI18n();\n\n const navigate = useNavigate();\n const { isLight } = useTheme();\n const iconStyle: React.CSSProperties = {\n display: 'inline-block',\n fontSize: 20,\n textAlign: 'center',\n verticalAlign: 'middle',\n cursor: 'pointer',\n width: 30,\n transition: 'all 0.3s ease',\n };\n const languages = [\n { value: Language.Cn, label: '中文' },\n { value: Language.En, label: 'English' },\n ];\n\n return (\n <Layout.Header\n style={{\n height: Size.NavBarHeight,\n padding: 0,\n paddingLeft: Size.BasePadding,\n paddingRight: Size.BasePadding,\n position: 'fixed',\n zIndex: 999,\n width: '100%',\n backgroundColor: isLight ? '#fff' : '#141414',\n transition: 'none',\n }}\n >\n <Row\n justify=\"space-between\"\n align=\"middle\"\n style={{ height: Size.NavBarHeight }}\n wrap={false}\n >\n <Col\n style={{\n height: Size.NavBarHeight,\n lineHeight: `${Size.NavBarHeight + 2}px`,\n }}\n >\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <img\n src=\"https://assets.rspack.dev/rsdoctor/rsdoctor-title-logo.png\"\n className=\"rsdoctor-logo\"\n alt=\"logo\"\n onClick={() => {\n navigate(Client.RsdoctorClientRoutes.Home);\n }}\n />\n <BuilderSelect />\n </div>\n </Col>\n <Menus style={{ transition: 'none' }} />\n\n <Col flex={1}>\n <Row\n align=\"middle\"\n justify=\"end\"\n style={{ height: Size.NavBarHeight }}\n wrap={false}\n gutter={[Size.BasePadding / 3, 0]}\n >\n <Col>\n <OverlayAlertsWithButton />\n </Col>\n\n {/* <Col> TODO: dark mode has some error need fix.\n <Switch\n className=\"header-switch\"\n checkedChildren=\"🌛\"\n unCheckedChildren=\"🌞\"\n checked={isDark}\n onChange={(checked) => {\n setTheme(checked ? Theme.Dark : Theme.Light);\n }}\n style={{ border: `1px solid ${isLight ? '#ddd' : '#fff'}`, background: isLight ? '#eee' : '#141414' }}\n />\n </Col> */}\n <Col>\n <Dropdown\n overlayStyle={{ zIndex: 1000 }}\n menu={{\n items: languages.map((e) => ({\n label: e.label,\n key: e.value,\n onClick() {\n i18n.changeLanguage(e.value);\n },\n })),\n selectedKeys: [i18n.language],\n }}\n >\n <TranslationOutlined\n className=\"header-icon\"\n style={iconStyle}\n />\n </Dropdown>\n </Col>\n </Row>\n </Col>\n </Row>\n </Layout.Header>\n );\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
1
+ {"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["../../../src/components/Layout/header.tsx"],"sourcesContent":["import { TranslationOutlined } from '@ant-design/icons';\nimport { Col, Dropdown, Layout, Row } from 'antd';\nimport React from 'react';\nimport { Language, Size } from '../../constants';\nimport { useI18n, useTheme } from '../../utils';\nimport { OverlayAlertsWithButton } from '../Alerts';\nimport { BuilderSelect } from './builder-select';\nimport { Menus } from './menus';\nimport './header.css';\nimport { Client } from '@rsdoctor/types';\nimport { useNavigate } from 'react-router-dom';\n\nexport const Header: React.FC = () => {\n const { i18n } = useI18n();\n\n const navigate = useNavigate();\n const { isLight } = useTheme();\n const iconStyle: React.CSSProperties = {\n display: 'inline-block',\n fontSize: 20,\n textAlign: 'center',\n verticalAlign: 'middle',\n cursor: 'pointer',\n width: 30,\n transition: 'all 0.3s ease',\n };\n const languages = [\n { value: Language.Cn, label: '中文' },\n { value: Language.En, label: 'English' },\n ];\n\n return (\n <Layout.Header\n style={{\n height: Size.NavBarHeight,\n padding: 0,\n paddingLeft: Size.BasePadding,\n paddingRight: Size.BasePadding,\n position: 'fixed',\n zIndex: 999,\n width: '100%',\n backgroundColor: isLight ? '#fff' : '#141414',\n transition: 'none',\n }}\n >\n <Row\n justify=\"space-between\"\n align=\"middle\"\n style={{ height: Size.NavBarHeight }}\n wrap={false}\n >\n <Col\n style={{\n height: Size.NavBarHeight,\n lineHeight: `${Size.NavBarHeight + 2}px`,\n }}\n >\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <img\n src=\"https://assets.rspack.rs/rsdoctor/rsdoctor-title-logo.png\"\n className=\"rsdoctor-logo\"\n alt=\"logo\"\n onClick={() => {\n navigate(Client.RsdoctorClientRoutes.Home);\n }}\n />\n <BuilderSelect />\n </div>\n </Col>\n <Menus style={{ transition: 'none' }} />\n\n <Col flex={1}>\n <Row\n align=\"middle\"\n justify=\"end\"\n style={{ height: Size.NavBarHeight }}\n wrap={false}\n gutter={[Size.BasePadding / 3, 0]}\n >\n <Col>\n <OverlayAlertsWithButton />\n </Col>\n\n {/* <Col> TODO: dark mode has some error need fix.\n <Switch\n className=\"header-switch\"\n checkedChildren=\"🌛\"\n unCheckedChildren=\"🌞\"\n checked={isDark}\n onChange={(checked) => {\n setTheme(checked ? Theme.Dark : Theme.Light);\n }}\n style={{ border: `1px solid ${isLight ? '#ddd' : '#fff'}`, background: isLight ? '#eee' : '#141414' }}\n />\n </Col> */}\n <Col>\n <Dropdown\n overlayStyle={{ zIndex: 1000 }}\n menu={{\n items: languages.map((e) => ({\n label: e.label,\n key: e.value,\n onClick() {\n i18n.changeLanguage(e.value);\n },\n })),\n selectedKeys: [i18n.language],\n }}\n >\n <TranslationOutlined\n className=\"header-icon\"\n style={iconStyle}\n />\n </Dropdown>\n </Col>\n </Row>\n </Col>\n </Row>\n </Layout.Header>\n );\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
@@ -7,43 +7,43 @@ import styles from "./help-center.module";
7
7
  const data = [
8
8
  {
9
9
  title: "FAQ",
10
- link: "https://rsdoctor.dev/guide/more/faq"
10
+ link: "https://rsdoctor.rs/guide/more/faq"
11
11
  },
12
12
  {
13
13
  title: "Introduction",
14
- link: "https://rsdoctor.dev/guide/start/intro"
14
+ link: "https://rsdoctor.rs/guide/start/intro"
15
15
  },
16
16
  {
17
17
  title: "Bundle Alerts",
18
- link: "https://rsdoctor.dev/guide/usage/bundle-alerts"
18
+ link: "https://rsdoctor.rs/guide/usage/bundle-alerts"
19
19
  },
20
20
  {
21
21
  title: "Bundle Overall",
22
- link: "https://rsdoctor.dev/guide/usage/bundle-overall"
22
+ link: "https://rsdoctor.rs/guide/usage/bundle-overall"
23
23
  },
24
24
  {
25
25
  title: "Bundle Analysis",
26
- link: "https://rsdoctor.dev/guide/usage/bundle-size"
26
+ link: "https://rsdoctor.rs/guide/usage/bundle-size"
27
27
  },
28
28
  {
29
29
  title: "Compilation Alerts",
30
- link: "https://rsdoctor.dev/guide/usage/compile-alerts"
30
+ link: "https://rsdoctor.rs/guide/usage/compile-alerts"
31
31
  },
32
32
  {
33
33
  title: "Compile Overall",
34
- link: "https://rsdoctor.dev/guide/usage/compile-overall"
34
+ link: "https://rsdoctor.rs/guide/usage/compile-overall"
35
35
  },
36
36
  {
37
37
  title: "Loaders Analysis",
38
- link: "https://rsdoctor.dev/guide/usage/loaders-analysis"
38
+ link: "https://rsdoctor.rs/guide/usage/loaders-analysis"
39
39
  },
40
40
  {
41
41
  title: "Loaders Timeline",
42
- link: "https://rsdoctor.dev/guide/usage/loaders-timeline"
42
+ link: "https://rsdoctor.rs/guide/usage/loaders-timeline"
43
43
  },
44
44
  {
45
45
  title: "Plugin Analysis",
46
- link: "https://rsdoctor.dev/guide/usage/plugins-analysis"
46
+ link: "https://rsdoctor.rs/guide/usage/plugins-analysis"
47
47
  }
48
48
  ];
49
49
  const HelpCenter = () => {
@@ -57,7 +57,7 @@ const HelpCenter = () => {
57
57
  style: { display: "flex", alignItems: "center", padding: 0 },
58
58
  type: "link",
59
59
  onClick: () => {
60
- window.open("https://rsdoctor.dev/index", "_blank");
60
+ window.open("https://rsdoctor.rs/index", "_blank");
61
61
  },
62
62
  children: [
63
63
  /* @__PURE__ */ jsx("span", { style: { marginRight: "3px" }, children: "More" }),
@@ -1 +1 @@
1
- {"version":3,"mappings":"AA0DU,cACA,YADA;AA1DV,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAE9B,SAAS,YAAY;AACrB,SAAS,eAAe;AAExB,OAAO,YAAY;AAEnB,MAAM,OAAO;AAAA,EACX;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AACF;AAEO,MAAM,aAAa,MAAM;AAC9B,QAAM,EAAE,EAAE,IAAI,QAAQ;AAEtB,SACE,oBAAC,QAAK,OAAO,EAAE,OAAO,QAAQ,cAAc,OAAO,GACjD,+BAAC,SACC;AAAA,yBAAC,SAAI,WAAW,OAAO,OACrB;AAAA,0BAAC,UAAM,YAAE,aAAa,GAAE;AAAA,MACxB;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,SAAS,EAAE;AAAA,UAC3D,MAAK;AAAA,UACL,SAAS,MAAM;AACb,mBAAO,KAAK,8BAA8B,QAAQ;AAAA,UACpD;AAAA,UAEA;AAAA,gCAAC,UAAK,OAAO,EAAE,aAAa,MAAM,GAAG,kBAAI;AAAA,YACzC,oBAAC,iBAAc,OAAO,EAAE,UAAU,OAAO,GAAG;AAAA;AAAA;AAAA,MAC9C;AAAA,OACF;AAAA,IACA,oBAAC,SAAI,WAAW,OAAO,WACpB,eAAK,IAAI,CAAC,EAAE,OAAO,KAAK,GAAG,QAAQ;AAClC,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,OAAO;AAAA,UAClB,OAAO;AAAA,YACL,cAAc,MAAM,KAAK,SAAS,IAAI,SAAS;AAAA,UACjD;AAAA,UACA,SAAS,MAAM,OAAO,KAAK,MAAM,QAAQ;AAAA,UAExC,YAAE,KAAK;AAAA;AAAA,MACV;AAAA,IAEJ,CAAC,GACH;AAAA,KACF,GACF;AAEJ","names":[],"ignoreList":[],"sources":["../../../src/components/Overall/help-center.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { RightOutlined } from '@ant-design/icons';\n\nimport { Card } from '../Card';\nimport { useI18n } from '../../utils';\n\nimport styles from './help-center.module';\n\nconst data = [\n {\n title: 'FAQ',\n link: 'https://rsdoctor.dev/guide/more/faq',\n },\n {\n title: 'Introduction',\n link: 'https://rsdoctor.dev/guide/start/intro',\n },\n {\n title: 'Bundle Alerts',\n link: 'https://rsdoctor.dev/guide/usage/bundle-alerts',\n },\n {\n title: 'Bundle Overall',\n link: 'https://rsdoctor.dev/guide/usage/bundle-overall',\n },\n {\n title: 'Bundle Analysis',\n link: 'https://rsdoctor.dev/guide/usage/bundle-size',\n },\n {\n title: 'Compilation Alerts',\n link: 'https://rsdoctor.dev/guide/usage/compile-alerts',\n },\n {\n title: 'Compile Overall',\n link: 'https://rsdoctor.dev/guide/usage/compile-overall',\n },\n {\n title: 'Loaders Analysis',\n link: 'https://rsdoctor.dev/guide/usage/loaders-analysis',\n },\n {\n title: 'Loaders Timeline',\n link: 'https://rsdoctor.dev/guide/usage/loaders-timeline',\n },\n {\n title: 'Plugin Analysis',\n link: 'https://rsdoctor.dev/guide/usage/plugins-analysis',\n },\n];\n\nexport const HelpCenter = () => {\n const { t } = useI18n();\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Help Center')}</span>\n <Button\n style={{ display: 'flex', alignItems: 'center', padding: 0 }}\n type=\"link\"\n onClick={() => {\n window.open('https://rsdoctor.dev/index', '_blank');\n }}\n >\n <span style={{ marginRight: '3px' }}>More</span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </Button>\n </div>\n <div className={styles.container}>\n {data.map(({ title, link }, idx) => {\n return (\n <div\n className={styles.content}\n style={{\n marginBottom: idx < data.length - 2 ? '16px' : 0,\n }}\n onClick={() => window.open(link, '_blank')}\n >\n {t(title)}\n </div>\n );\n })}\n </div>\n </div>\n </Card>\n );\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
1
+ {"version":3,"mappings":"AA0DU,cACA,YADA;AA1DV,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAE9B,SAAS,YAAY;AACrB,SAAS,eAAe;AAExB,OAAO,YAAY;AAEnB,MAAM,OAAO;AAAA,EACX;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AACF;AAEO,MAAM,aAAa,MAAM;AAC9B,QAAM,EAAE,EAAE,IAAI,QAAQ;AAEtB,SACE,oBAAC,QAAK,OAAO,EAAE,OAAO,QAAQ,cAAc,OAAO,GACjD,+BAAC,SACC;AAAA,yBAAC,SAAI,WAAW,OAAO,OACrB;AAAA,0BAAC,UAAM,YAAE,aAAa,GAAE;AAAA,MACxB;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,SAAS,EAAE;AAAA,UAC3D,MAAK;AAAA,UACL,SAAS,MAAM;AACb,mBAAO,KAAK,6BAA6B,QAAQ;AAAA,UACnD;AAAA,UAEA;AAAA,gCAAC,UAAK,OAAO,EAAE,aAAa,MAAM,GAAG,kBAAI;AAAA,YACzC,oBAAC,iBAAc,OAAO,EAAE,UAAU,OAAO,GAAG;AAAA;AAAA;AAAA,MAC9C;AAAA,OACF;AAAA,IACA,oBAAC,SAAI,WAAW,OAAO,WACpB,eAAK,IAAI,CAAC,EAAE,OAAO,KAAK,GAAG,QAAQ;AAClC,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,OAAO;AAAA,UAClB,OAAO;AAAA,YACL,cAAc,MAAM,KAAK,SAAS,IAAI,SAAS;AAAA,UACjD;AAAA,UACA,SAAS,MAAM,OAAO,KAAK,MAAM,QAAQ;AAAA,UAExC,YAAE,KAAK;AAAA;AAAA,MACV;AAAA,IAEJ,CAAC,GACH;AAAA,KACF,GACF;AAEJ","names":[],"ignoreList":[],"sources":["../../../src/components/Overall/help-center.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { RightOutlined } from '@ant-design/icons';\n\nimport { Card } from '../Card';\nimport { useI18n } from '../../utils';\n\nimport styles from './help-center.module';\n\nconst data = [\n {\n title: 'FAQ',\n link: 'https://rsdoctor.rs/guide/more/faq',\n },\n {\n title: 'Introduction',\n link: 'https://rsdoctor.rs/guide/start/intro',\n },\n {\n title: 'Bundle Alerts',\n link: 'https://rsdoctor.rs/guide/usage/bundle-alerts',\n },\n {\n title: 'Bundle Overall',\n link: 'https://rsdoctor.rs/guide/usage/bundle-overall',\n },\n {\n title: 'Bundle Analysis',\n link: 'https://rsdoctor.rs/guide/usage/bundle-size',\n },\n {\n title: 'Compilation Alerts',\n link: 'https://rsdoctor.rs/guide/usage/compile-alerts',\n },\n {\n title: 'Compile Overall',\n link: 'https://rsdoctor.rs/guide/usage/compile-overall',\n },\n {\n title: 'Loaders Analysis',\n link: 'https://rsdoctor.rs/guide/usage/loaders-analysis',\n },\n {\n title: 'Loaders Timeline',\n link: 'https://rsdoctor.rs/guide/usage/loaders-timeline',\n },\n {\n title: 'Plugin Analysis',\n link: 'https://rsdoctor.rs/guide/usage/plugins-analysis',\n },\n];\n\nexport const HelpCenter = () => {\n const { t } = useI18n();\n\n return (\n <Card style={{ width: '100%', borderRadius: '12px' }}>\n <div>\n <div className={styles.title}>\n <span>{t('Help Center')}</span>\n <Button\n style={{ display: 'flex', alignItems: 'center', padding: 0 }}\n type=\"link\"\n onClick={() => {\n window.open('https://rsdoctor.rs/index', '_blank');\n }}\n >\n <span style={{ marginRight: '3px' }}>More</span>\n <RightOutlined style={{ fontSize: '10px' }} />\n </Button>\n </div>\n <div className={styles.container}>\n {data.map(({ title, link }, idx) => {\n return (\n <div\n className={styles.content}\n style={{\n marginBottom: idx < data.length - 2 ? '16px' : 0,\n }}\n onClick={() => window.open(link, '_blank')}\n >\n {t(title)}\n </div>\n );\n })}\n </div>\n </div>\n </Card>\n );\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
@@ -261,7 +261,7 @@ const WebpackModulesOverallBase = ({ errors, cwd, summary, entryPoints }) => {
261
261
  description: /* @__PURE__ */ jsxs("div", { children: [
262
262
  "Tile graph is disabled,",
263
263
  " ",
264
- /* @__PURE__ */ jsx("a", { href: "https://rsdoctor.dev/config/options/options#generatetilegraph", children: "see the documentation to learn how to enable." })
264
+ /* @__PURE__ */ jsx("a", { href: "https://rsdoctor.rs/config/options/options#generatetilegraph", children: "see the documentation to learn how to enable." })
265
265
  ] })
266
266
  }
267
267
  );
@@ -1 +1 @@
1
- {"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["../../../../src/pages/BundleSize/components/index.tsx"],"sourcesContent":["import {\n CodeOutlined,\n CodepenCircleOutlined,\n DeploymentUnitOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons';\nimport { Client, SDK } from '@rsdoctor/types';\nimport {\n Button,\n Card,\n Col,\n Divider,\n Empty,\n InputNumber,\n Row,\n Select,\n Space,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { debounce, includes, sumBy } from 'lodash-es';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useCodeDrawer } from '../../../components/base/CodeViewer/useCodeDrawer';\nimport { Badge as Bdg } from '../../../components/Badge';\nimport { FileTree } from '../../../components/FileTree';\nimport { KeywordInput } from '../../../components/Form/keyword';\nimport { Keyword } from '../../../components/Keyword';\nimport { ServerAPIProvider, withServerAPI } from '../../../components/Manifest';\nimport { Size } from '../../../constants';\nimport { createFileStructures, formatSize, useI18n } from '../../../utils';\nimport { GraphType } from '../constants';\nimport { AssetDetail } from './asset';\nimport { BundleCards } from './cards';\nimport styles from './index.module';\nimport './index.css';\nimport { SearchModal } from './search-modal';\n\nconst { Option } = Select;\n\nconst cardBodyHeight = 600;\n\nconst largeCardBodyHeight = 800;\n\ninterface WebpackModulesOverallProps {\n cwd: string;\n errors: SDK.ErrorsData;\n summary: Client.RsdoctorClientAssetsSummary;\n entryPoints: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetEntryPoints>;\n}\nconst tabList = [\n {\n key: 'tree',\n label: (\n <Space>\n <Typography.Text>{'Tree Graph'}</Typography.Text>\n <Tooltip\n overlayStyle={{ maxWidth: 380 }}\n overlayInnerStyle={{ marginLeft: 16, padding: 10 }}\n color=\"white\"\n title={\n <Space direction=\"vertical\" color=\"white\" size=\"middle\">\n <Row>\n <Col>\n <Tag color=\"cyan\" style={{ margin: 0 }}>\n initial\n </Tag>\n <Typography.Text style={{ marginLeft: 4 }}>\n Identify whether the chunk is an initial chunk.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Tag color=\"green\" style={{ margin: 0 }}>\n concatenated\n </Tag>\n <Typography.Text style={{ marginLeft: 4 }}>\n Identify whether the module is a concatenated module\n </Typography.Text>\n <Tooltip\n overlayStyle={{ maxWidth: 408 }}\n placement=\"bottom\"\n color=\"white\"\n title={\n <Space direction=\"vertical\" color=\"white\">\n <Row>\n <Col>\n <Typography.Text strong>\n Concatenated Module\n </Typography.Text>\n <Typography.Text>\n : A performance optimization where multiple\n modules are merged (or \"hoisted\") into a single\n scope instead of wrapping each module in separate\n function closures. This reduces the bundle size\n and improves runtime performance by minimizing\n function call overhead.\n </Typography.Text>\n </Col>\n </Row>\n </Space>\n }\n >\n <InfoCircleOutlined\n style={{ color: 'rgba(0,0,0,.45)', marginLeft: 4 }}\n />\n </Tooltip>\n <Typography.Text>.</Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Button size=\"small\" icon={<CodepenCircleOutlined />} />\n <Typography.Text style={{ marginLeft: 4 }}>\n Open the code.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Button size=\"small\" icon={<DeploymentUnitOutlined />} />\n <Typography.Text style={{ marginLeft: 4 }}>\n View the module dependency, that is, module reasons in\n stats.json.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Tag color={'purple'}>{'Bundled: 15.77 KB'}</Tag>\n <Typography.Text>\n The final size of the output files after processing,\n bundling, and optimization. This is what is delivered to the\n browser.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Tag color={'orange'}>{'Source: 60.46 KB'}</Tag>\n <Typography.Text>\n The original size of your source code files before any\n processing or transformations. This is the raw size of your\n code as you wrote it.\n </Typography.Text>\n </Col>\n </Row>\n </Space>\n }\n >\n <InfoCircleOutlined style={{ color: 'rgba(0,0,0,.45)' }} />\n </Tooltip>\n </Space>\n ),\n },\n {\n key: 'tile',\n label: 'Tile Graph',\n },\n];\n\nexport const WebpackModulesOverallBase: React.FC<\n WebpackModulesOverallProps\n> = ({ errors, cwd, summary, entryPoints }) => {\n const [selectedEntryPoints, setEntryPoints] = useState<SDK.EntryPointData[]>(\n [],\n );\n const [inputModule, setModuleValue] = useState(0);\n const [inputAssetName, setAssetName] = useState('');\n const [inputAssetSize, setAssetSize] = useState(0);\n const [defaultExpandAll, setDefaultExpandAll] = useState(false);\n const [inputModuleUnit, setModuleUnit] = useState('');\n const [inputChunkUnit, setChunkUnit] = useState('');\n const [assetPath, setAssetPath] = useState<string | null>(null);\n const [graphType, setGraphType] = useState('tree' as GraphType);\n const { showCode, codeDrawerComponent } = useCodeDrawer(\n 'Do not have the codes of assets. If you use the lite or brief mode, there will have codes.',\n );\n\n const { t } = useI18n();\n\n const assets = summary.all.total.files;\n\n const handleChange = useCallback(\n (type: string) => (value: string) => {\n if (type === 'module') {\n setModuleUnit(value);\n } else if (type === 'chunk') {\n setChunkUnit(value);\n }\n },\n [],\n );\n\n const selectAfter = (type: string) => (\n <Select defaultValue=\"kb\" onChange={handleChange(type)}>\n <Option value=\"kb\">KB</Option>\n <Option value=\"mb\">MB</Option>\n </Select>\n );\n const onChangeModule = useCallback(\n debounce((newValue: number) => {\n const count =\n inputModuleUnit === 'mb' ? newValue * 1024 * 1024 : newValue * 1024;\n setModuleValue(count);\n }, 300),\n [],\n );\n\n const onChangeAsset = useCallback(\n debounce((newValue: number) => {\n const count =\n inputChunkUnit === 'mb' ? newValue * 1024 * 1024 : newValue * 1024;\n setAssetSize(count);\n }, 300),\n [],\n );\n\n const filteredAssets = useMemo(() => {\n let res = assets.slice();\n\n if (inputAssetName) {\n res = res.filter((e) => e.path.indexOf(inputAssetName) > -1);\n }\n\n if (inputAssetSize > 0) {\n res = res.filter((e) => e.size >= inputAssetSize);\n }\n\n if (selectedEntryPoints.length) {\n res = res.filter((e) => {\n if (selectedEntryPoints.some((ep) => includes(ep.assets, e.path))) {\n return true;\n }\n return false;\n });\n }\n\n return res.sort((a, b) => {\n const _a = a.path.indexOf('/') > -1 ? 1 : 0;\n const _b = b.path.indexOf('/') > -1 ? 1 : 0;\n // return _a - _b;\n return _b - _a;\n });\n }, [assets, selectedEntryPoints, inputAssetName, inputAssetSize]);\n\n useEffect(() => {\n function getFileExtension(filePath: string) {\n const parts = filePath.split('.');\n return parts.length > 1 ? parts.pop() : '';\n }\n\n summary.all.total.files.forEach((f) => {\n const ext = getFileExtension(f.path);\n if (ext === 'js') {\n setAssetPath(f.path);\n }\n });\n }, [summary.all.total.files]);\n\n const assetsStructures = useMemo(() => {\n const res = createFileStructures({\n files: filteredAssets.map((e) => e.path).filter(Boolean),\n fileTitle(file, basename) {\n const target = filteredAssets.find((e) => e.path === file)!;\n const { size, initial, path, content } = target;\n\n return (\n <div\n className={styles.assetBox}\n onClick={() => {\n setAssetPath(path);\n }}\n >\n <Keyword text={basename} keyword={''} className={styles.fileText} />\n <Space size=\"small\" className={styles.assetsTag}>\n <Divider type=\"vertical\" />\n <Typography.Text style={{ color: '#4FD233' }}>\n {formatSize(size)}\n </Typography.Text>\n <Divider type=\"vertical\" />\n {initial ? (\n <Typography.Text style={{ color: '#009A9E' }}>\n initial\n </Typography.Text>\n ) : null}\n <CodeOutlined\n style={{ fontSize: 14, padding: 0 }}\n onClick={() => showCode({ code: content!, filePath: path })}\n />\n </Space>\n </div>\n );\n },\n });\n return res;\n }, [filteredAssets]);\n\n const onSearch = (value: string) => {\n setAssetName(value);\n setDefaultExpandAll(false);\n };\n\n return (\n <>\n <div className=\"bundle-size-card\">\n <BundleCards cwd={cwd} errors={errors} summary={summary} />\n <Card\n className=\"bundle-size=card\"\n tabList={tabList}\n activeTabKey={graphType as 'tree' | 'tile'}\n onTabChange={(e) => setGraphType(e as 'tree' | 'tile')}\n hidden={graphType === 'tree'}\n tabProps={{\n size: 'middle',\n }}\n >\n <Row>\n <Typography.Text code>\n From: webpack-bundle-analyzer\n </Typography.Text>\n </Row>\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetTileReportHtml}\n body={{}}\n >\n {(data) => {\n if (data && graphType === 'tile') {\n return (\n <iframe\n srcDoc={data}\n width={'100%'}\n height={largeCardBodyHeight}\n style={{ border: 'none' }}\n />\n );\n }\n return (\n <Empty\n description={\n <div>\n Tile graph is disabled,{' '}\n <a href=\"https://rsdoctor.dev/config/options/options#generatetilegraph\">\n see the documentation to learn how to enable.\n </a>\n </div>\n }\n />\n );\n }}\n </ServerAPIProvider>\n </Card>\n\n <Card\n hidden={graphType === 'tile'}\n tabList={tabList}\n activeTabKey={graphType as 'tree' | 'tile'}\n onTabChange={(e) => setGraphType(e as 'tree' | 'tile')}\n tabProps={{\n size: 'middle',\n }}\n >\n <Space direction=\"vertical\">\n <Row align=\"middle\" gutter={[Size.BasePadding, Size.BasePadding]}>\n {entryPoints && entryPoints.length ? (\n <Col>\n <Select\n mode=\"multiple\"\n value={selectedEntryPoints.map((e) => e.name)}\n style={{ minWidth: 230, width: 'auto', maxWidth: 300 }}\n placeholder={'filter assets by entry point'}\n onChange={(name: string[]) => {\n setEntryPoints(\n name\n .map((e) => entryPoints.find((ep) => ep.name === e)!)\n .filter(Boolean),\n );\n }}\n allowClear\n onClear={() => {\n setEntryPoints([]);\n }}\n >\n {entryPoints.map((e) => {\n return (\n <Select.Option key={e.name} value={e.name}>\n <Space>\n <Bdg\n label={e.name}\n value={formatSize(e.size)}\n tooltip={e.name}\n />\n </Space>\n </Select.Option>\n );\n })}\n </Select>\n </Col>\n ) : null}\n <Col>\n <KeywordInput\n placeholder=\"search asset by keyword\"\n onChange={onSearch}\n />\n </Col>\n <Col span={6}>\n <InputNumber\n min={0}\n style={{ width: '95%' }}\n addonBefore={\n <Space>\n <Typography.Text\n style={{ fontSize: 14, color: 'inherit' }}\n >\n Asset Size\n </Typography.Text>\n <Tooltip\n title={t(\n 'filter the output assets which size is greater than the input value',\n )}\n style={{ marginLeft: 3 }}\n >\n <InfoCircleOutlined\n style={{ color: 'rgba(0,0,0,.45)' }}\n />\n </Tooltip>\n </Space>\n }\n onChange={(value) => onChangeAsset(Number(value))}\n addonAfter={selectAfter('chunk')}\n />\n </Col>\n <Col span={6}>\n <InputNumber\n min={0}\n style={{ width: '95%' }}\n addonBefore={\n <Space>\n <Typography.Text\n style={{ fontSize: 14, color: 'inherit' }}\n >\n Module Size\n </Typography.Text>\n <Tooltip\n title={t(\n 'filter the modules which size is greater than the input value',\n )}\n style={{ marginLeft: 3 }}\n >\n <InfoCircleOutlined\n style={{ color: 'rgba(0,0,0,.45)' }}\n />\n </Tooltip>\n </Space>\n }\n onChange={(value) => {\n onChangeModule(Number(value));\n }}\n addonAfter={selectAfter('module')}\n />\n </Col>\n </Row>\n <Row>\n <SearchModal />\n </Row>\n <Row align=\"middle\" gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24}>\n {filteredAssets.length ? (\n <Row gutter={Size.BasePadding}>\n <Col span={6}>\n <Card\n title={\n <Space>\n <Typography.Text>\n {t('Output Assets List')}\n </Typography.Text>\n <Divider type=\"vertical\" />\n <Tooltip\n title={`total assets count is ${assets.length}, the filtered assets count is ${filteredAssets.length}`}\n >\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n {filteredAssets.length} / {assets.length}\n </Typography.Text>\n </Tooltip>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n {formatSize(sumBy(filteredAssets, (e) => e.size))}\n </Typography.Text>\n </Space>\n }\n size=\"small\"\n bodyStyle={{\n overflow: 'scroll',\n height: cardBodyHeight,\n }}\n >\n <FileTree\n className={styles.assets}\n treeData={assetsStructures}\n autoExpandParent\n defaultExpandAll={\n defaultExpandAll || filteredAssets.length <= 20\n }\n key={`tree_${inputAssetName}_${defaultExpandAll}`}\n />\n </Card>\n </Col>\n <Col span={18}>\n {assetPath ? (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetDetails}\n body={{ assetPath }}\n >\n {(details) => (\n <AssetDetail\n asset={details.asset}\n chunks={details.chunks}\n modules={details.modules}\n height={cardBodyHeight}\n moduleSizeLimit={inputModule}\n root={cwd}\n />\n )}\n </ServerAPIProvider>\n ) : (\n <Card\n bodyStyle={{\n height: cardBodyHeight,\n }}\n >\n <Empty\n description={\n <Typography.Text strong>\n Click the file path on the left to show the\n modules of the asset\n </Typography.Text>\n }\n />\n </Card>\n )}\n </Col>\n </Row>\n ) : (\n <Empty />\n )}\n </Col>\n </Row>\n </Space>\n </Card>\n </div>\n {codeDrawerComponent}\n </>\n );\n};\n\nexport const WebpackModulesOverall = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: (props: {\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n }) => {\n const { root, errors } = props.project;\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: true }}\n >\n {(summary) => {\n return (\n <ServerAPIProvider api={SDK.ServerAPI.API.GetEntryPoints}>\n {(entryPoints) => (\n <WebpackModulesOverallBase\n cwd={root}\n errors={errors}\n summary={summary}\n entryPoints={entryPoints}\n />\n )}\n </ServerAPIProvider>\n );\n }}\n </ServerAPIProvider>\n );\n },\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
1
+ {"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["../../../../src/pages/BundleSize/components/index.tsx"],"sourcesContent":["import {\n CodeOutlined,\n CodepenCircleOutlined,\n DeploymentUnitOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons';\nimport { Client, SDK } from '@rsdoctor/types';\nimport {\n Button,\n Card,\n Col,\n Divider,\n Empty,\n InputNumber,\n Row,\n Select,\n Space,\n Tag,\n Tooltip,\n Typography,\n} from 'antd';\nimport { debounce, includes, sumBy } from 'lodash-es';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useCodeDrawer } from '../../../components/base/CodeViewer/useCodeDrawer';\nimport { Badge as Bdg } from '../../../components/Badge';\nimport { FileTree } from '../../../components/FileTree';\nimport { KeywordInput } from '../../../components/Form/keyword';\nimport { Keyword } from '../../../components/Keyword';\nimport { ServerAPIProvider, withServerAPI } from '../../../components/Manifest';\nimport { Size } from '../../../constants';\nimport { createFileStructures, formatSize, useI18n } from '../../../utils';\nimport { GraphType } from '../constants';\nimport { AssetDetail } from './asset';\nimport { BundleCards } from './cards';\nimport styles from './index.module';\nimport './index.css';\nimport { SearchModal } from './search-modal';\n\nconst { Option } = Select;\n\nconst cardBodyHeight = 600;\n\nconst largeCardBodyHeight = 800;\n\ninterface WebpackModulesOverallProps {\n cwd: string;\n errors: SDK.ErrorsData;\n summary: Client.RsdoctorClientAssetsSummary;\n entryPoints: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetEntryPoints>;\n}\nconst tabList = [\n {\n key: 'tree',\n label: (\n <Space>\n <Typography.Text>{'Tree Graph'}</Typography.Text>\n <Tooltip\n overlayStyle={{ maxWidth: 380 }}\n overlayInnerStyle={{ marginLeft: 16, padding: 10 }}\n color=\"white\"\n title={\n <Space direction=\"vertical\" color=\"white\" size=\"middle\">\n <Row>\n <Col>\n <Tag color=\"cyan\" style={{ margin: 0 }}>\n initial\n </Tag>\n <Typography.Text style={{ marginLeft: 4 }}>\n Identify whether the chunk is an initial chunk.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Tag color=\"green\" style={{ margin: 0 }}>\n concatenated\n </Tag>\n <Typography.Text style={{ marginLeft: 4 }}>\n Identify whether the module is a concatenated module\n </Typography.Text>\n <Tooltip\n overlayStyle={{ maxWidth: 408 }}\n placement=\"bottom\"\n color=\"white\"\n title={\n <Space direction=\"vertical\" color=\"white\">\n <Row>\n <Col>\n <Typography.Text strong>\n Concatenated Module\n </Typography.Text>\n <Typography.Text>\n : A performance optimization where multiple\n modules are merged (or \"hoisted\") into a single\n scope instead of wrapping each module in separate\n function closures. This reduces the bundle size\n and improves runtime performance by minimizing\n function call overhead.\n </Typography.Text>\n </Col>\n </Row>\n </Space>\n }\n >\n <InfoCircleOutlined\n style={{ color: 'rgba(0,0,0,.45)', marginLeft: 4 }}\n />\n </Tooltip>\n <Typography.Text>.</Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Button size=\"small\" icon={<CodepenCircleOutlined />} />\n <Typography.Text style={{ marginLeft: 4 }}>\n Open the code.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Button size=\"small\" icon={<DeploymentUnitOutlined />} />\n <Typography.Text style={{ marginLeft: 4 }}>\n View the module dependency, that is, module reasons in\n stats.json.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Tag color={'purple'}>{'Bundled: 15.77 KB'}</Tag>\n <Typography.Text>\n The final size of the output files after processing,\n bundling, and optimization. This is what is delivered to the\n browser.\n </Typography.Text>\n </Col>\n </Row>\n <Row>\n <Col>\n <Tag color={'orange'}>{'Source: 60.46 KB'}</Tag>\n <Typography.Text>\n The original size of your source code files before any\n processing or transformations. This is the raw size of your\n code as you wrote it.\n </Typography.Text>\n </Col>\n </Row>\n </Space>\n }\n >\n <InfoCircleOutlined style={{ color: 'rgba(0,0,0,.45)' }} />\n </Tooltip>\n </Space>\n ),\n },\n {\n key: 'tile',\n label: 'Tile Graph',\n },\n];\n\nexport const WebpackModulesOverallBase: React.FC<\n WebpackModulesOverallProps\n> = ({ errors, cwd, summary, entryPoints }) => {\n const [selectedEntryPoints, setEntryPoints] = useState<SDK.EntryPointData[]>(\n [],\n );\n const [inputModule, setModuleValue] = useState(0);\n const [inputAssetName, setAssetName] = useState('');\n const [inputAssetSize, setAssetSize] = useState(0);\n const [defaultExpandAll, setDefaultExpandAll] = useState(false);\n const [inputModuleUnit, setModuleUnit] = useState('');\n const [inputChunkUnit, setChunkUnit] = useState('');\n const [assetPath, setAssetPath] = useState<string | null>(null);\n const [graphType, setGraphType] = useState('tree' as GraphType);\n const { showCode, codeDrawerComponent } = useCodeDrawer(\n 'Do not have the codes of assets. If you use the lite or brief mode, there will have codes.',\n );\n\n const { t } = useI18n();\n\n const assets = summary.all.total.files;\n\n const handleChange = useCallback(\n (type: string) => (value: string) => {\n if (type === 'module') {\n setModuleUnit(value);\n } else if (type === 'chunk') {\n setChunkUnit(value);\n }\n },\n [],\n );\n\n const selectAfter = (type: string) => (\n <Select defaultValue=\"kb\" onChange={handleChange(type)}>\n <Option value=\"kb\">KB</Option>\n <Option value=\"mb\">MB</Option>\n </Select>\n );\n const onChangeModule = useCallback(\n debounce((newValue: number) => {\n const count =\n inputModuleUnit === 'mb' ? newValue * 1024 * 1024 : newValue * 1024;\n setModuleValue(count);\n }, 300),\n [],\n );\n\n const onChangeAsset = useCallback(\n debounce((newValue: number) => {\n const count =\n inputChunkUnit === 'mb' ? newValue * 1024 * 1024 : newValue * 1024;\n setAssetSize(count);\n }, 300),\n [],\n );\n\n const filteredAssets = useMemo(() => {\n let res = assets.slice();\n\n if (inputAssetName) {\n res = res.filter((e) => e.path.indexOf(inputAssetName) > -1);\n }\n\n if (inputAssetSize > 0) {\n res = res.filter((e) => e.size >= inputAssetSize);\n }\n\n if (selectedEntryPoints.length) {\n res = res.filter((e) => {\n if (selectedEntryPoints.some((ep) => includes(ep.assets, e.path))) {\n return true;\n }\n return false;\n });\n }\n\n return res.sort((a, b) => {\n const _a = a.path.indexOf('/') > -1 ? 1 : 0;\n const _b = b.path.indexOf('/') > -1 ? 1 : 0;\n // return _a - _b;\n return _b - _a;\n });\n }, [assets, selectedEntryPoints, inputAssetName, inputAssetSize]);\n\n useEffect(() => {\n function getFileExtension(filePath: string) {\n const parts = filePath.split('.');\n return parts.length > 1 ? parts.pop() : '';\n }\n\n summary.all.total.files.forEach((f) => {\n const ext = getFileExtension(f.path);\n if (ext === 'js') {\n setAssetPath(f.path);\n }\n });\n }, [summary.all.total.files]);\n\n const assetsStructures = useMemo(() => {\n const res = createFileStructures({\n files: filteredAssets.map((e) => e.path).filter(Boolean),\n fileTitle(file, basename) {\n const target = filteredAssets.find((e) => e.path === file)!;\n const { size, initial, path, content } = target;\n\n return (\n <div\n className={styles.assetBox}\n onClick={() => {\n setAssetPath(path);\n }}\n >\n <Keyword text={basename} keyword={''} className={styles.fileText} />\n <Space size=\"small\" className={styles.assetsTag}>\n <Divider type=\"vertical\" />\n <Typography.Text style={{ color: '#4FD233' }}>\n {formatSize(size)}\n </Typography.Text>\n <Divider type=\"vertical\" />\n {initial ? (\n <Typography.Text style={{ color: '#009A9E' }}>\n initial\n </Typography.Text>\n ) : null}\n <CodeOutlined\n style={{ fontSize: 14, padding: 0 }}\n onClick={() => showCode({ code: content!, filePath: path })}\n />\n </Space>\n </div>\n );\n },\n });\n return res;\n }, [filteredAssets]);\n\n const onSearch = (value: string) => {\n setAssetName(value);\n setDefaultExpandAll(false);\n };\n\n return (\n <>\n <div className=\"bundle-size-card\">\n <BundleCards cwd={cwd} errors={errors} summary={summary} />\n <Card\n className=\"bundle-size=card\"\n tabList={tabList}\n activeTabKey={graphType as 'tree' | 'tile'}\n onTabChange={(e) => setGraphType(e as 'tree' | 'tile')}\n hidden={graphType === 'tree'}\n tabProps={{\n size: 'middle',\n }}\n >\n <Row>\n <Typography.Text code>\n From: webpack-bundle-analyzer\n </Typography.Text>\n </Row>\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetTileReportHtml}\n body={{}}\n >\n {(data) => {\n if (data && graphType === 'tile') {\n return (\n <iframe\n srcDoc={data}\n width={'100%'}\n height={largeCardBodyHeight}\n style={{ border: 'none' }}\n />\n );\n }\n return (\n <Empty\n description={\n <div>\n Tile graph is disabled,{' '}\n <a href=\"https://rsdoctor.rs/config/options/options#generatetilegraph\">\n see the documentation to learn how to enable.\n </a>\n </div>\n }\n />\n );\n }}\n </ServerAPIProvider>\n </Card>\n\n <Card\n hidden={graphType === 'tile'}\n tabList={tabList}\n activeTabKey={graphType as 'tree' | 'tile'}\n onTabChange={(e) => setGraphType(e as 'tree' | 'tile')}\n tabProps={{\n size: 'middle',\n }}\n >\n <Space direction=\"vertical\">\n <Row align=\"middle\" gutter={[Size.BasePadding, Size.BasePadding]}>\n {entryPoints && entryPoints.length ? (\n <Col>\n <Select\n mode=\"multiple\"\n value={selectedEntryPoints.map((e) => e.name)}\n style={{ minWidth: 230, width: 'auto', maxWidth: 300 }}\n placeholder={'filter assets by entry point'}\n onChange={(name: string[]) => {\n setEntryPoints(\n name\n .map((e) => entryPoints.find((ep) => ep.name === e)!)\n .filter(Boolean),\n );\n }}\n allowClear\n onClear={() => {\n setEntryPoints([]);\n }}\n >\n {entryPoints.map((e) => {\n return (\n <Select.Option key={e.name} value={e.name}>\n <Space>\n <Bdg\n label={e.name}\n value={formatSize(e.size)}\n tooltip={e.name}\n />\n </Space>\n </Select.Option>\n );\n })}\n </Select>\n </Col>\n ) : null}\n <Col>\n <KeywordInput\n placeholder=\"search asset by keyword\"\n onChange={onSearch}\n />\n </Col>\n <Col span={6}>\n <InputNumber\n min={0}\n style={{ width: '95%' }}\n addonBefore={\n <Space>\n <Typography.Text\n style={{ fontSize: 14, color: 'inherit' }}\n >\n Asset Size\n </Typography.Text>\n <Tooltip\n title={t(\n 'filter the output assets which size is greater than the input value',\n )}\n style={{ marginLeft: 3 }}\n >\n <InfoCircleOutlined\n style={{ color: 'rgba(0,0,0,.45)' }}\n />\n </Tooltip>\n </Space>\n }\n onChange={(value) => onChangeAsset(Number(value))}\n addonAfter={selectAfter('chunk')}\n />\n </Col>\n <Col span={6}>\n <InputNumber\n min={0}\n style={{ width: '95%' }}\n addonBefore={\n <Space>\n <Typography.Text\n style={{ fontSize: 14, color: 'inherit' }}\n >\n Module Size\n </Typography.Text>\n <Tooltip\n title={t(\n 'filter the modules which size is greater than the input value',\n )}\n style={{ marginLeft: 3 }}\n >\n <InfoCircleOutlined\n style={{ color: 'rgba(0,0,0,.45)' }}\n />\n </Tooltip>\n </Space>\n }\n onChange={(value) => {\n onChangeModule(Number(value));\n }}\n addonAfter={selectAfter('module')}\n />\n </Col>\n </Row>\n <Row>\n <SearchModal />\n </Row>\n <Row align=\"middle\" gutter={[Size.BasePadding, Size.BasePadding]}>\n <Col span={24}>\n {filteredAssets.length ? (\n <Row gutter={Size.BasePadding}>\n <Col span={6}>\n <Card\n title={\n <Space>\n <Typography.Text>\n {t('Output Assets List')}\n </Typography.Text>\n <Divider type=\"vertical\" />\n <Tooltip\n title={`total assets count is ${assets.length}, the filtered assets count is ${filteredAssets.length}`}\n >\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n {filteredAssets.length} / {assets.length}\n </Typography.Text>\n </Tooltip>\n <Divider type=\"vertical\" />\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n {formatSize(sumBy(filteredAssets, (e) => e.size))}\n </Typography.Text>\n </Space>\n }\n size=\"small\"\n bodyStyle={{\n overflow: 'scroll',\n height: cardBodyHeight,\n }}\n >\n <FileTree\n className={styles.assets}\n treeData={assetsStructures}\n autoExpandParent\n defaultExpandAll={\n defaultExpandAll || filteredAssets.length <= 20\n }\n key={`tree_${inputAssetName}_${defaultExpandAll}`}\n />\n </Card>\n </Col>\n <Col span={18}>\n {assetPath ? (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetDetails}\n body={{ assetPath }}\n >\n {(details) => (\n <AssetDetail\n asset={details.asset}\n chunks={details.chunks}\n modules={details.modules}\n height={cardBodyHeight}\n moduleSizeLimit={inputModule}\n root={cwd}\n />\n )}\n </ServerAPIProvider>\n ) : (\n <Card\n bodyStyle={{\n height: cardBodyHeight,\n }}\n >\n <Empty\n description={\n <Typography.Text strong>\n Click the file path on the left to show the\n modules of the asset\n </Typography.Text>\n }\n />\n </Card>\n )}\n </Col>\n </Row>\n ) : (\n <Empty />\n )}\n </Col>\n </Row>\n </Space>\n </Card>\n </div>\n {codeDrawerComponent}\n </>\n );\n};\n\nexport const WebpackModulesOverall = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: (props: {\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n }) => {\n const { root, errors } = props.project;\n return (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetAssetsSummary}\n body={{ withFileContent: true }}\n >\n {(summary) => {\n return (\n <ServerAPIProvider api={SDK.ServerAPI.API.GetEntryPoints}>\n {(entryPoints) => (\n <WebpackModulesOverallBase\n cwd={root}\n errors={errors}\n summary={summary}\n entryPoints={entryPoints}\n />\n )}\n </ServerAPIProvider>\n );\n }}\n </ServerAPIProvider>\n );\n },\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
2
  export * from './constants';
3
+ export * from './DiffContainer';
3
4
  export declare const Page: React.FC;
@@ -1,6 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { DiffContainer } from "./DiffContainer";
3
3
  export * from "./constants";
4
+ export * from "./DiffContainer";
4
5
  const Page = () => {
5
6
  return /* @__PURE__ */ jsx(DiffContainer, { manifests: [] });
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAMS;AALT,SAAS,qBAAqB;AAE9B,cAAc;AAEP,MAAM,OAAiB,MAAM;AAClC,SAAO,oBAAC,iBAAc,WAAW,CAAC,GAAG;AACvC","names":[],"ignoreList":[],"sources":["../../../../src/pages/Resources/BundleDiff/index.tsx"],"sourcesContent":["import React from 'react';\nimport { DiffContainer } from './DiffContainer';\n\nexport * from './constants';\n\nexport const Page: React.FC = () => {\n return <DiffContainer manifests={[]} />;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
1
+ {"version":3,"mappings":"AAOS;AANT,SAAS,qBAAqB;AAE9B,cAAc;AACd,cAAc;AAEP,MAAM,OAAiB,MAAM;AAClC,SAAO,oBAAC,iBAAc,WAAW,CAAC,GAAG;AACvC","names":[],"ignoreList":[],"sources":["../../../../src/pages/Resources/BundleDiff/index.tsx"],"sourcesContent":["import React from 'react';\nimport { DiffContainer } from './DiffContainer';\n\nexport * from './constants';\nexport * from './DiffContainer';\n\nexport const Page: React.FC = () => {\n return <DiffContainer manifests={[]} />;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IiIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W119"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdoctor/components",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "main": "./dist/index.js",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",
@@ -44,7 +44,7 @@
44
44
  "@types/lodash-es": "4.17.12",
45
45
  "@types/node": "^22.8.1",
46
46
  "@types/path-browserify": "1.0.3",
47
- "@types/react": "^18.3.21",
47
+ "@types/react": "^18.3.22",
48
48
  "@types/react-highlight-words": "^0.20.0",
49
49
  "@types/url-parse": "1.4.11",
50
50
  "react": "18.3.1",
@@ -55,7 +55,7 @@
55
55
  "@monaco-editor/react": "4.7.0",
56
56
  "ansi-to-react": "6.1.6",
57
57
  "antd": "5.19.1",
58
- "axios": "^1.8.4",
58
+ "axios": "^1.9.0",
59
59
  "clsx": "^2.1.1",
60
60
  "dayjs": "1.11.13",
61
61
  "echarts": "^5.6.0",
@@ -74,9 +74,9 @@
74
74
  "react-router-dom": "6.4.3",
75
75
  "socket.io-client": "4.6.1",
76
76
  "url-parse": "1.5.10",
77
- "@rsdoctor/graph": "1.1.2",
78
- "@rsdoctor/types": "1.1.2",
79
- "@rsdoctor/utils": "1.1.2"
77
+ "@rsdoctor/graph": "1.1.3",
78
+ "@rsdoctor/utils": "1.1.3",
79
+ "@rsdoctor/types": "1.1.3"
80
80
  },
81
81
  "publishConfig": {
82
82
  "access": "public",