@rsdoctor/components 1.5.8 → 1.5.10
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/components/Alert/ecma-version-check_module.css.map +1 -1
- package/dist/components/Alert/index.css.map +1 -1
- package/dist/components/Alert/package-relation.mjs.map +1 -1
- package/dist/components/Alert/package-relation_module.css.map +1 -1
- package/dist/components/Alerts/bundle-alert_module.css.map +1 -1
- package/dist/components/Alerts/collapse_module.css.map +1 -1
- package/dist/components/Alerts/list_module.css.map +1 -1
- package/dist/components/Alerts/overlay_module.css.map +1 -1
- package/dist/components/Card/index.mjs.map +1 -1
- package/dist/components/Card/size_module.css.map +1 -1
- package/dist/components/Charts/index.mjs +1 -1
- package/dist/components/Charts/index.mjs.map +1 -1
- package/dist/components/Charts/loader.css.map +1 -1
- package/dist/components/Charts/tooltips.css.map +1 -1
- package/dist/components/Charts/treemap_module.css.map +1 -1
- package/dist/components/Charts/utils.mjs +1 -1
- package/dist/components/Charts/utils.mjs.map +1 -1
- package/dist/components/Configuration/builder_module.css.map +1 -1
- package/dist/components/FileTree/index.css.map +1 -1
- package/dist/components/Keyword/style_module.css.map +1 -1
- package/dist/components/Layout/header.css.map +1 -1
- package/dist/components/Layout/header.mjs +2 -1
- package/dist/components/Layout/header.mjs.map +1 -1
- package/dist/components/Loader/Analysis/style_module.css.map +1 -1
- package/dist/components/Overall/DataSummary_module.css.map +1 -1
- package/dist/components/Overall/bundle_module.css.map +1 -1
- package/dist/components/Overall/card_module.css.map +1 -1
- package/dist/components/Overall/compile_module.css.map +1 -1
- package/dist/components/Overall/help-center_module.css.map +1 -1
- package/dist/components/Overall/list_module.css.map +1 -1
- package/dist/components/Overall/overview_module.css.map +1 -1
- package/dist/components/Overall/project_module.css.map +1 -1
- package/dist/components/Resolver/analysis.mjs.map +1 -1
- package/dist/components/Select/index.css.map +1 -1
- package/dist/components/base/CodeViewer/index_module.css.map +1 -1
- package/dist/components/base/CodeViewer/utils.mjs +1 -1
- package/dist/components/base/CodeViewer/utils.mjs.map +1 -1
- package/dist/components/base/DiffViewer/index_module.css.map +1 -1
- package/dist/constants.mjs.map +1 -1
- package/dist/pages/BundleSize/components/asset.mjs +1 -1
- package/dist/pages/BundleSize/components/asset.mjs.map +1 -1
- package/dist/pages/BundleSize/components/card_module.css.map +1 -1
- package/dist/pages/BundleSize/components/cards.mjs.map +1 -1
- package/dist/pages/BundleSize/components/index.css.map +1 -1
- package/dist/pages/BundleSize/components/index_module.css.map +1 -1
- package/dist/pages/ModuleAnalyze/components/fileTreeCom.css.map +1 -1
- package/dist/pages/ModuleAnalyze/index.css.map +1 -1
- package/dist/pages/Overall/index_module.css.map +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/row.mjs +1 -1
- package/dist/pages/Resources/BundleDiff/DiffContainer/row.mjs.map +1 -1
- package/dist/pages/TreeShaking/index.css.map +1 -1
- package/dist/pages/WebpackPlugins/index.css.map +1 -1
- package/dist/utils/data/index.mjs +1 -1
- package/dist/utils/data/index.mjs.map +1 -1
- package/dist/utils/file.mjs +3 -3
- package/dist/utils/file.mjs.map +1 -1
- package/dist/utils/hooks.mjs +1 -1
- package/dist/utils/hooks.mjs.map +1 -1
- package/dist/utils/socket.mjs.map +1 -1
- package/dist/utils/storage.mjs +1 -1
- package/dist/utils/storage.mjs.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/DataSummary.module.scss","webpack://./src/components/Overall/DataSummary.module.scss"],"names":[],"mappings":"AAAA;ECCE,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADJ2F;ECOzF,cAAc;AAChB;;ADRiI;ECW/H,cAAc;AAChB;;ADZ2K;ECezK,cAAc;AAChB;;ADhBqN;ECmBnN,WAAW;EACX,cAAc;EACd,uBAAuB;EACvB,6BAA6B;EAC7B,8BAA8B;EAC9B,6BAA6B;AAC/B;;ADzBwY;EC4BtY,2BAA2B;AAC7B;;AD7B0b;ECgCxb,sCAAsC;AACxC;;ADjC6f;ECoC3f,2BAA2B;AAC7B;;ADrCkjB;ECwChjB,sCAAsC;AACxC;;ADzCwnB;EC4CtnB,2BAA2B;AAC7B;;AD7C4qB;ECgD1qB,sCAAsC;AACxC;;ADjDivB;ECoD/uB,YAAY;EACZ,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;AACjB;;ADxDo1B;EC2Dl1B,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,mBAAmB;EACnB,2BAA2B;EAC3B,aAAa;AACf;;ADjE88B;ECoE58B,oBAAoB;AACtB;;ADrEm/B;ECwEj/B,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AD7E0mC;ECgFxmC,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADnF2qC;ECsFzqC,mBAAmB;AACrB;;ADvFssC;EC0FpsC,mBAAmB;AACrB","sourcesContent":[".errorNumber,.warningNumber,.successNumber{font-size:14px;font-weight:500;line-height:32px}.errorNumber,.errorText{color:#f5222d}.warningNumber,.warningText{color:#fa8c16}.successNumber,.successText{color:#52c41a}.errorButton,.warningButton,.successButton{width:100%;height:90px !important;color:inherit;font-size:inherit !important;padding:4px 0 8px !important;border-radius:12px !important}.errorButton{background-color:rgba(245,34,45,.08)}.errorButton:hover{background-color:rgba(245,34,45,.15) !important}.warningButton{background-color:rgba(250,139,22,.08)}.warningButton:hover{background-color:rgba(250,139,22,.15) !important}.successButton{background-color:rgba(82,196,26,.08)}.successButton:hover{background-color:rgba(82,196,26,.15) !important}.errorText,.warningText,.successText{opacity:.75;font-size:13px;padding-bottom:6px;margin-top:-2px}.container{height:40px;display:flex;align-items:center;padding:10px 20px 10px 5px;border-radius:10px;margin:10px 0 20px 0}.container .icon{margin:0 5px 0 10px}.container .description{margin-right:5px;font-size:14px;font-weight:400;line-height:20px;color:rgba(0,0,0,.6509803922)}.container .data{font-size:14px;font-weight:500;line-height:32px}.common{background:#f0f5ff}.warning{background:#fff7e6}",".errorNumber, .warningNumber, .successNumber {\n font-size: 14px;\n font-weight: 500;\n line-height: 32px;\n}\n\n.errorNumber, .errorText {\n color: #f5222d;\n}\n\n.warningNumber, .warningText {\n color: #fa8c16;\n}\n\n.successNumber, .successText {\n color: #52c41a;\n}\n\n.errorButton, .warningButton, .successButton {\n width: 100%;\n color: inherit;\n height: 90px !important;\n font-size: inherit !important;\n border-radius: 12px !important;\n padding: 4px 0 8px !important;\n}\n\n.errorButton {\n background-color: #f5222d14;\n}\n\n.errorButton:hover {\n background-color: #f5222d26 !important;\n}\n\n.warningButton {\n background-color: #fa8b1614;\n}\n\n.warningButton:hover {\n background-color: #fa8b1626 !important;\n}\n\n.successButton {\n background-color: #52c41a14;\n}\n\n.successButton:hover {\n background-color: #52c41a26 !important;\n}\n\n.errorText, .warningText, .successText {\n opacity: .75;\n margin-top: -2px;\n padding-bottom: 6px;\n font-size: 13px;\n}\n\n.container {\n border-radius: 10px;\n align-items: center;\n height: 40px;\n margin: 10px 0 20px;\n padding: 10px 20px 10px 5px;\n display: flex;\n}\n\n.container .icon {\n margin: 0 5px 0 10px;\n}\n\n.container .description {\n color: #000000a6;\n margin-right: 5px;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n}\n\n.container .data {\n font-size: 14px;\n font-weight: 500;\n line-height: 32px;\n}\n\n.common {\n background: #f0f5ff;\n}\n\n.warning {\n background: #fff7e6;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/bundle.module.scss","webpack://./src/components/Overall/bundle.module.scss"],"names":[],"mappings":"AAAA;ECCE,gBAAgB;EAChB,8BAA8B;EAC9B,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,kBAAkB;EAClB,UAAU;AACZ;;ADX6K;ECc3K,mBAAmB;AACrB;;ADfwM;ECkBtM,WAAW;EACX,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADvBiS;EAA0B;IC2BvT,eAAe;EACjB;AACF;;AD7BwV;ECgCtV,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADpCyZ;ECuCvZ,aAAa;AACf;;ADxCqb;EC2Cnb,iCAAiC;EACjC,OAAO;EACP,qBAAqB;EACrB,2BAA2B;AAC7B;;AD/CkiB;ECkDhiB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;AACjB;;ADrDqnB;ECwDnnB,eAAe;AACjB;;ADzDypB;EC4DvpB,YAAY;AACd;;AD7DyrB;ECgEvrB,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".title{height:40px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:500;line-height:20px;text-align:left;position:relative;top:-10px}.column{margin-bottom:14px}.description{font-size:20px;font-weight:500;line-height:32px;margin-right:5px;color:#000}@media(max-width: 1500px){.description{font-size:16px}}.unit{font-size:12px;font-weight:400;line-height:32px;color:#000}.treeContainer{display:flex}.treeContainer .line{border-bottom:1px dashed #e5e6eb;flex:1;transform:translateY(-45%);margin:0 15px 0 10px}.treeContainer .treeTitle{word-wrap:break-word;word-break:break-all;flex-wrap:wrap}.treeContainer .icon{font-size:16px}.treeContainer .tag{height:23px}.label{font-size:12px;font-weight:400;line-height:20px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;color:rgba(0,0,0,.6509803922)}",".title {\n text-align: left;\n justify-content: space-between;\n align-items: center;\n height: 40px;\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n display: flex;\n position: relative;\n top: -10px;\n}\n\n.column {\n margin-bottom: 14px;\n}\n\n.description {\n color: #000;\n margin-right: 5px;\n font-size: 20px;\n font-weight: 500;\n line-height: 32px;\n}\n\n@media (max-width: 1500px) {\n .description {\n font-size: 16px;\n }\n}\n\n.unit {\n color: #000;\n font-size: 12px;\n font-weight: 400;\n line-height: 32px;\n}\n\n.treeContainer {\n display: flex;\n}\n\n.treeContainer .line {\n border-bottom: 1px dashed #e5e6eb;\n flex: 1;\n margin: 0 15px 0 10px;\n transform: translateY(-45%);\n}\n\n.treeContainer .treeTitle {\n word-wrap: break-word;\n word-break: break-all;\n flex-wrap: wrap;\n}\n\n.treeContainer .icon {\n font-size: 16px;\n}\n\n.treeContainer .tag {\n height: 23px;\n}\n\n.label {\n text-align: left;\n text-underline-position: from-font;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n color: #000000a6;\n font-size: 12px;\n font-weight: 400;\n line-height: 20px;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/card.module.scss","webpack://./src/components/Overall/card.module.scss"],"names":[],"mappings":"AAAA;ECCE,WAAW;AACb","sourcesContent":[".card{width:100%}",".card {\n width: 100%;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/compile.module.scss","webpack://./src/components/Overall/compile.module.scss"],"names":[],"mappings":"AAAA;ECCE,WAAW;EACX,eAAe;AACjB;;ADHgE;ECM9D,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".progress :global(.ant-progress-text){opacity:.8;font-size:13px}.title{font-size:16px;font-weight:500;line-height:20px}",".progress :global(.ant-progress-text) {\n opacity: .8;\n font-size: 13px;\n}\n\n.title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/help-center.module.scss","webpack://./src/components/Overall/help-center.module.scss"],"names":[],"mappings":"AAAA;ECCE,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,8BAA8B;EAC9B,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,kBAAkB;EAClB,UAAU;AACZ;;ADd+P;ECiB7P,eAAe;EACf,8BAA8B;EAC9B,aAAa;AACf;;ADpBoU;ECuBlU,eAAe;EACf,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,UAAU;EACV,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;AACvB;;ADjC2gB;ECoCzgB,cAAc;AAChB","sourcesContent":[".title{display:flex;align-items:center;justify-content:space-between;position:relative;height:36px;position:relative;top:-12px;font-size:16px;font-weight:500;line-height:20px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.container{display:flex;justify-content:space-between;flex-wrap:wrap}.container .content{cursor:pointer;width:48%;transition:color .5s ease;font-size:14px;font-weight:400;line-height:16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.container .content:hover{color:#1677ff}",".title {\n text-align: left;\n text-underline-position: from-font;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n justify-content: space-between;\n align-items: center;\n height: 36px;\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n display: flex;\n position: relative;\n top: -12px;\n}\n\n.container {\n flex-wrap: wrap;\n justify-content: space-between;\n display: flex;\n}\n\n.container .content {\n cursor: pointer;\n text-align: left;\n text-underline-position: from-font;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n width: 48%;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n transition: color .5s;\n}\n\n.container .content:hover {\n color: #1677ff;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/list.module.scss","webpack://./src/components/Overall/list.module.scss"],"names":[],"mappings":"AAAA;ECCE,gBAAgB;EAChB,eAAe;AACjB;;ADH2J;ECMzJ,+BAA+B;AACjC;;ADP0O;ECUxO,gBAAgB;EAChB,eAAe;AACjB;;ADZmY;ECejY,4BAA4B;AAC9B","sourcesContent":[".projectOverall :global(.ant-descriptions-item-label),.projectOverall :global(.ant-descriptions-item-content){font-size:13px;color:rgba(0,0,0,.6509803922)}.projectOverall :global(.ant-descriptions-item){padding-bottom:10px !important}.bundleOverall :global(.ant-descriptions-item-label),.bundleOverall :global(.ant-descriptions-item-content){font-size:13px;color:rgba(0,0,0,.6509803922)}.bundleOverall :global(.ant-descriptions-item){padding-bottom:0px !important}",":is(.projectOverall :global(.ant-descriptions-item-label), .projectOverall :global(.ant-descriptions-item-content)) {\n color: #000000a6;\n font-size: 13px;\n}\n\n.projectOverall :global(.ant-descriptions-item) {\n padding-bottom: 10px !important;\n}\n\n:is(.bundleOverall :global(.ant-descriptions-item-label), .bundleOverall :global(.ant-descriptions-item-content)) {\n color: #000000a6;\n font-size: 13px;\n}\n\n.bundleOverall :global(.ant-descriptions-item) {\n padding-bottom: 0 !important;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/overview.module.scss","webpack://./src/components/Overall/overview.module.scss"],"names":[],"mappings":"AAAA;ECCE,mBAAmB;EACnB,mBAAmB;EACnB,kBAAkB;EAClB,8BAA8B;EAC9B,mBAAmB;EACnB,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,aAAa;AACf;;ADVwL;ECatL,OAAO;AACT;;ADdmN;ECiBjN,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADrB4T;ECwB1T,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".container{width:100%;display:flex;background:#f6f8fa;align-items:center;justify-content:space-between;border-radius:8px;padding:8px 20px 8px 20px;margin-right:10px;white-space:nowrap}.container .content{flex:1}.container .content .title{font-size:12px;font-weight:400;line-height:20px;color:rgba(0,0,0,.6509803922)}.container .content .description{font-size:24px;font-weight:500;line-height:32px}",".container {\n white-space: nowrap;\n background: #f6f8fa;\n border-radius: 8px;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin-right: 10px;\n padding: 8px 20px;\n display: flex;\n}\n\n.container .content {\n flex: 1;\n}\n\n.container .content .title {\n color: #000000a6;\n font-size: 12px;\n font-weight: 400;\n line-height: 20px;\n}\n\n.container .content .description {\n font-size: 24px;\n font-weight: 500;\n line-height: 32px;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Overall/project.module.scss","webpack://./src/components/Overall/project.module.scss"],"names":[],"mappings":"AAAA;ECCE,mBAAmB;EACnB,aAAa;AACf;;ADH0C;ECMxC,8BAA8B;EAC9B,mBAAmB;EACnB,oBAAoB;EACpB,aAAa;AACf;;ADVmI;ECajI,gBAAgB;EAChB,kCAAkC;EAClC,sCAAsC;EACtC,8BAA8B;EAC9B,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".overview{display:flex;margin-bottom:19px}.title{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px}.title .left{font-size:16px;font-weight:500;line-height:24px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}",".overview {\n margin-bottom: 19px;\n display: flex;\n}\n\n.title {\n justify-content: space-between;\n align-items: center;\n padding-bottom: 20px;\n display: flex;\n}\n\n.title .left {\n text-align: left;\n text-underline-position: from-font;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/Resolver/analysis.mjs","sources":["../../../src/components/Resolver/analysis.tsx"],"sourcesContent":["/* eslint-disable react/no-unescaped-entities */\nimport { CloseCircleOutlined, FileSearchOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { Resolver } from '@rsdoctor/utils/common';\nimport { Card, Col, Row, Space, Table, Tabs, Typography } from 'antd';\nimport { get } from 'es-toolkit/compat';\nimport React, { useMemo, useState } from 'react';\nimport { Size } from '../../constants';\nimport { createFileStructures, formatCosts, mapFileKey } from '../../utils';\nimport { FileTree } from '../FileTree';\nimport { KeywordInput } from '../Form/keyword';\nimport { ServerAPIProvider, withServerAPI } from '../Manifest';\nimport { DiffViewer } from '../base';\n\nconst height = 735;\n\nconst ResolverDetailsPanel: React.FC<\n SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileDetails>\n> = ({ filepath, before, after, resolvers }) => {\n return (\n <Col flex={1}>\n <Tabs\n defaultActiveKey=\"diff\"\n items={[\n {\n key: 'diff',\n label: 'Resolve Diff Viewer',\n children: (\n <Card styles={{ body: { padding: 0, overflow: 'hidden' } }}>\n <DiffViewer\n style={{\n height: height + 50,\n }}\n isEmbed\n originalFilePath={filepath}\n modifiedFilePath={filepath}\n original={before}\n modified={after}\n />\n </Card>\n ),\n },\n {\n key: 'details',\n label: 'Resolve Details',\n children: (\n <Card>\n <Table\n style={{\n width: '100%',\n height,\n overflowY: 'scroll',\n wordBreak: 'break-all',\n }}\n size=\"small\"\n pagination={false}\n bordered\n rowKey={(e) => e.request}\n columns={[\n {\n title: 'Source Code',\n width: 200,\n render: (_v, r) => (\n <Typography.Text copyable>\n <Typography.Text code strong>\n {r.request}\n </Typography.Text>\n </Typography.Text>\n ),\n },\n {\n title: 'Duration',\n width: 80,\n render: (_v, r) => (\n <Typography.Text strong>\n {formatCosts(r.costs)}\n </Typography.Text>\n ),\n sorter: (a, b) => a.costs - b.costs,\n sortDirections: ['descend', 'ascend'],\n },\n {\n title: 'Resolve Result',\n render: (_v, r) => {\n if (Resolver.isResolveSuccessData(r))\n return (\n <Typography.Text copyable>\n {r.result}\n </Typography.Text>\n );\n return (\n <CloseCircleOutlined style={{ color: '#f50' }} />\n );\n },\n },\n ]}\n dataSource={resolvers}\n />\n </Card>\n ),\n },\n ]}\n />\n </Col>\n );\n};\n\nexport const ResolverFiles: React.FC<{\n filename: string;\n cwd: string;\n resolver: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileTree>;\n}> = (props) => {\n const { resolver, cwd } = props;\n\n const [filepath, setFilepath] = useState('');\n\n const inlinedResourcePathKey = '__RESOURCEPATH__';\n const n = '/node_modules/';\n\n const paths = useMemo(() => {\n return resolver.map((e) => e.issuerPath).filter(Boolean);\n }, [resolver]);\n\n const filterPaths = useMemo(() => {\n return paths.filter((e) =>\n props.filename ? e.indexOf(props.filename) > -1 : true,\n );\n }, [props.filename, paths]);\n\n const allNodeModules =\n filterPaths.length && filterPaths.every((e) => e.indexOf(n) > -1);\n\n const files = useMemo(() => {\n return createFileStructures({\n files: filterPaths.length ? filterPaths : paths,\n cwd,\n fileTitle(file, basename) {\n return <div onClick={() => setFilepath(file)}>{basename}</div>;\n },\n });\n }, [props.filename]);\n\n return (\n <Row justify=\"start\" align=\"top\" wrap={false} gutter={Size.BasePadding}>\n <Col span={7}>\n <Card title=\"Files\">\n <FileTree\n style={{ width: '100%', height, overflow: 'scroll' }}\n treeData={files}\n defaultExpandedKeys={mapFileKey(\n files,\n allNodeModules ? 1 : 4,\n allNodeModules\n ? undefined\n : (node) => {\n const resourcePath: string = get(\n node,\n inlinedResourcePathKey,\n )!;\n const isNodeModules = resourcePath.indexOf(n) > -1;\n\n if (\n filterPaths.length &&\n filterPaths.every((e) => e.indexOf(n) > -1)\n ) {\n return true;\n }\n\n return !isNodeModules;\n },\n )}\n key={`tree_${props.filename}`}\n />\n </Card>\n </Col>\n {filepath && (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetResolverFileDetails}\n body={{ filepath }}\n >\n {(resolvers) => <ResolverDetailsPanel {...resolvers} />}\n </ServerAPIProvider>\n )}\n </Row>\n );\n};\n\nexport const ResolverAnalysisBase: React.FC<{\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}> = ({ project }) => {\n const { root: cwd } = project;\n const [filename, setFilename] = useState('');\n\n return (\n <div style={{ width: '100%' }}>\n <Space\n style={{ marginTop: Size.BasePadding, marginBottom: Size.BasePadding }}\n >\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"Filename\"\n placeholder=\"search filename by keyword\"\n onChange={(e) => setFilename(e)}\n />\n </Space>\n <ServerAPIProvider api={SDK.ServerAPI.API.GetResolverFileTree}>\n {(resolver) => (\n <ResolverFiles filename={filename} resolver={resolver} cwd={cwd} />\n )}\n </ServerAPIProvider>\n </div>\n );\n};\n\nexport const ResolverAnalysis = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: ResolverAnalysisBase,\n});\n"],"names":["height","ResolverDetailsPanel","filepath","before","after","resolvers","Col","Tabs","Card","DiffViewer","Table","e","_v","r","Typography","formatCosts","a","b","Resolver","CloseCircleOutlined","ResolverFiles","props","resolver","cwd","setFilepath","useState","inlinedResourcePathKey","n","paths","useMemo","Boolean","filterPaths","allNodeModules","files","createFileStructures","file","basename","Row","Size","FileTree","mapFileKey","undefined","node","resourcePath","get","isNodeModules","ServerAPIProvider","SDK","ResolverAnalysisBase","project","filename","setFilename","Space","KeywordInput","FileSearchOutlined","ResolverAnalysis","withServerAPI"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/Resolver/analysis.mjs","sources":["../../../src/components/Resolver/analysis.tsx"],"sourcesContent":["/* rslint-disable react/no-unescaped-entities */\nimport { CloseCircleOutlined, FileSearchOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { Resolver } from '@rsdoctor/utils/common';\nimport { Card, Col, Row, Space, Table, Tabs, Typography } from 'antd';\nimport { get } from 'es-toolkit/compat';\nimport React, { useMemo, useState } from 'react';\nimport { Size } from '../../constants';\nimport { createFileStructures, formatCosts, mapFileKey } from '../../utils';\nimport { FileTree } from '../FileTree';\nimport { KeywordInput } from '../Form/keyword';\nimport { ServerAPIProvider, withServerAPI } from '../Manifest';\nimport { DiffViewer } from '../base';\n\nconst height = 735;\n\nconst ResolverDetailsPanel: React.FC<\n SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileDetails>\n> = ({ filepath, before, after, resolvers }) => {\n return (\n <Col flex={1}>\n <Tabs\n defaultActiveKey=\"diff\"\n items={[\n {\n key: 'diff',\n label: 'Resolve Diff Viewer',\n children: (\n <Card styles={{ body: { padding: 0, overflow: 'hidden' } }}>\n <DiffViewer\n style={{\n height: height + 50,\n }}\n isEmbed\n originalFilePath={filepath}\n modifiedFilePath={filepath}\n original={before}\n modified={after}\n />\n </Card>\n ),\n },\n {\n key: 'details',\n label: 'Resolve Details',\n children: (\n <Card>\n <Table\n style={{\n width: '100%',\n height,\n overflowY: 'scroll',\n wordBreak: 'break-all',\n }}\n size=\"small\"\n pagination={false}\n bordered\n rowKey={(e) => e.request}\n columns={[\n {\n title: 'Source Code',\n width: 200,\n render: (_v, r) => (\n <Typography.Text copyable>\n <Typography.Text code strong>\n {r.request}\n </Typography.Text>\n </Typography.Text>\n ),\n },\n {\n title: 'Duration',\n width: 80,\n render: (_v, r) => (\n <Typography.Text strong>\n {formatCosts(r.costs)}\n </Typography.Text>\n ),\n sorter: (a, b) => a.costs - b.costs,\n sortDirections: ['descend', 'ascend'],\n },\n {\n title: 'Resolve Result',\n render: (_v, r) => {\n if (Resolver.isResolveSuccessData(r))\n return (\n <Typography.Text copyable>\n {r.result}\n </Typography.Text>\n );\n return (\n <CloseCircleOutlined style={{ color: '#f50' }} />\n );\n },\n },\n ]}\n dataSource={resolvers}\n />\n </Card>\n ),\n },\n ]}\n />\n </Col>\n );\n};\n\nexport const ResolverFiles: React.FC<{\n filename: string;\n cwd: string;\n resolver: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetResolverFileTree>;\n}> = (props) => {\n const { resolver, cwd } = props;\n\n const [filepath, setFilepath] = useState('');\n\n const inlinedResourcePathKey = '__RESOURCEPATH__';\n const n = '/node_modules/';\n\n const paths = useMemo(() => {\n return resolver.map((e) => e.issuerPath).filter(Boolean);\n }, [resolver]);\n\n const filterPaths = useMemo(() => {\n return paths.filter((e) =>\n props.filename ? e.indexOf(props.filename) > -1 : true,\n );\n }, [props.filename, paths]);\n\n const allNodeModules =\n filterPaths.length && filterPaths.every((e) => e.indexOf(n) > -1);\n\n const files = useMemo(() => {\n return createFileStructures({\n files: filterPaths.length ? filterPaths : paths,\n cwd,\n fileTitle(file, basename) {\n return <div onClick={() => setFilepath(file)}>{basename}</div>;\n },\n });\n }, [props.filename]);\n\n return (\n <Row justify=\"start\" align=\"top\" wrap={false} gutter={Size.BasePadding}>\n <Col span={7}>\n <Card title=\"Files\">\n <FileTree\n style={{ width: '100%', height, overflow: 'scroll' }}\n treeData={files}\n defaultExpandedKeys={mapFileKey(\n files,\n allNodeModules ? 1 : 4,\n allNodeModules\n ? undefined\n : (node) => {\n const resourcePath: string = get(\n node,\n inlinedResourcePathKey,\n )!;\n const isNodeModules = resourcePath.indexOf(n) > -1;\n\n if (\n filterPaths.length &&\n filterPaths.every((e) => e.indexOf(n) > -1)\n ) {\n return true;\n }\n\n return !isNodeModules;\n },\n )}\n key={`tree_${props.filename}`}\n />\n </Card>\n </Col>\n {filepath && (\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetResolverFileDetails}\n body={{ filepath }}\n >\n {(resolvers) => <ResolverDetailsPanel {...resolvers} />}\n </ServerAPIProvider>\n )}\n </Row>\n );\n};\n\nexport const ResolverAnalysisBase: React.FC<{\n project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}> = ({ project }) => {\n const { root: cwd } = project;\n const [filename, setFilename] = useState('');\n\n return (\n <div style={{ width: '100%' }}>\n <Space\n style={{ marginTop: Size.BasePadding, marginBottom: Size.BasePadding }}\n >\n <KeywordInput\n icon={<FileSearchOutlined />}\n label=\"Filename\"\n placeholder=\"search filename by keyword\"\n onChange={(e) => setFilename(e)}\n />\n </Space>\n <ServerAPIProvider api={SDK.ServerAPI.API.GetResolverFileTree}>\n {(resolver) => (\n <ResolverFiles filename={filename} resolver={resolver} cwd={cwd} />\n )}\n </ServerAPIProvider>\n </div>\n );\n};\n\nexport const ResolverAnalysis = withServerAPI({\n api: SDK.ServerAPI.API.GetProjectInfo,\n responsePropName: 'project',\n Component: ResolverAnalysisBase,\n});\n"],"names":["height","ResolverDetailsPanel","filepath","before","after","resolvers","Col","Tabs","Card","DiffViewer","Table","e","_v","r","Typography","formatCosts","a","b","Resolver","CloseCircleOutlined","ResolverFiles","props","resolver","cwd","setFilepath","useState","inlinedResourcePathKey","n","paths","useMemo","Boolean","filterPaths","allNodeModules","files","createFileStructures","file","basename","Row","Size","FileTree","mapFileKey","undefined","node","resourcePath","get","isNodeModules","ServerAPIProvider","SDK","ResolverAnalysisBase","project","filename","setFilename","Space","KeywordInput","FileSearchOutlined","ResolverAnalysis","withServerAPI"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/Select/index.scss","webpack://./src/components/Select/index.scss"],"names":[],"mappings":"AAAA;ECCE,YAAY;AACd;;ADFgD;ECK9C,YAAY;AACd","sourcesContent":[".loader-select .ant-select-selector{width:300px}.layer-select .ant-select-selector{width:150px}",".loader-select .ant-select-selector {\n width: 300px;\n}\n\n.layer-select .ant-select-selector {\n width: 150px;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/base/CodeViewer/index.module.scss","webpack://./src/components/base/CodeViewer/index.module.scss"],"names":[],"mappings":"AAAA;ECCE,iDAAiD;EACjD,kBAAkB;EAClB,sBAAsB;EACtB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,yDAAyD;AAC3D;;ADRmN;ECWjN,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;AAChB;;ADdoR;ECiBlR,yDAAyD;EACzD,+BAA+B;EAC/B,YAAY;EACZ,cAAc;EACd,mBAAmB;EACnB,iBAAiB;EACjB,aAAa;AACf;;ADxB4c;EC2B1c,+BAA+B;AACjC;;AD5BsgB;EC+BpgB,OAAO;AACT;;ADhCmiB;ECmCjiB,eAAe;EACf,mBAAmB;EACnB,6DAA6D;EAC7D,0BAA0B;AAC5B","sourcesContent":[".code-viewer{height:70vh;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;background-color:var(--vscode-editor-background);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.code-viewer.embed{box-shadow:none;border-radius:0;overflow:auto}.code-viewer .header{background-color:var(--vscode-textBlockQuote-background);color:var(--vscode-foreground);padding:8px 16px;display:flex;align-items:center;flex-shrink:0;flex-grow:0}.code-viewer .header .text{color:var(--vscode-foreground)}.code-viewer .content{flex:1}.code-viewer :global .file-inline-decoration{cursor:pointer;text-decoration:underline;background:#4d7097;background:var(--vscode-editor-selectionHighlightBackground)}",".code-viewer {\n background-color: var(--vscode-editor-background);\n border-radius: 8px;\n flex-direction: column;\n height: 70vh;\n display: flex;\n overflow: hidden;\n box-shadow: 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a;\n}\n\n.code-viewer.embed {\n box-shadow: none;\n border-radius: 0;\n overflow: auto;\n}\n\n.code-viewer .header {\n background-color: var(--vscode-textBlockQuote-background);\n color: var(--vscode-foreground);\n flex-grow: 0;\n flex-shrink: 0;\n align-items: center;\n padding: 8px 16px;\n display: flex;\n}\n\n.code-viewer .header .text {\n color: var(--vscode-foreground);\n}\n\n.code-viewer .content {\n flex: 1;\n}\n\n.code-viewer :global .file-inline-decoration {\n cursor: pointer;\n background: #4d7097;\n background: var(--vscode-editor-selectionHighlightBackground);\n text-decoration: underline;\n}\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/base/CodeViewer/utils.mjs","sources":["../../../../src/components/base/CodeViewer/utils.ts"],"sourcesContent":["import { Monaco } from '@monaco-editor/react';\nimport { SDK } from '@rsdoctor/types';\nimport type { Range as RangeClass } from 'monaco-editor';\nimport { editor } from 'monaco-editor';\nimport { extname } from 'path';\n\n/**\n * 判断 data 协议文件格式 `data:[<mediatype>][;base64],<data>`\n * 完整协议: https://www.rfc-editor.org/rfc/rfc2397.html\n * @param {string} content 文件内容\n * @returns {string} 文件格式类型\n */\nfunction getDataProtocolFormat(content: string): string {\n // 如果内容为空返回空\n if (!content) {\n return '';\n }\n\n try {\n const prefix = 'data:';\n // 检查是否以 data: 开头\n if (!content.startsWith(prefix)) {\n return '';\n }\n\n const { mimeType } = parseDataUrl(content);\n\n // 根据 MIME 类型返回对应的格式\n switch (mimeType) {\n case 'text/javascript':\n return 'javascript';\n case 'text/html':\n return 'html';\n case 'text/css':\n return 'css';\n case 'text/plain':\n return 'text';\n case 'application/json':\n return 'json';\n // 可以根据需要添加更多类型\n default:\n return '';\n }\n } catch (error) {\n console.error('解析 data 协议文件格式失败::', error);\n return '';\n }\n}\n\n/**\n * 解析 Data URL 并提取 MIME 类型\n * @param {string} dataUrl - 要解析的 Data URL 字符串\n * @returns {Object} 包含解析结果的对象\n */\nfunction parseDataUrl(dataUrl: string) {\n // 检查是否是 Data URL\n if (!dataUrl.startsWith('data:')) {\n throw new Error('输入不是有效的 Data URL');\n }\n\n // 提取内容部分 (去掉 \"data:\" 前缀)\n const content = dataUrl.substring(5);\n\n // 查找分隔数据和元数据的逗号\n const commaIndex = content.indexOf(',');\n\n if (commaIndex === -1) {\n throw new Error('无效的 Data URL 格式: 缺少数据分隔符');\n }\n\n // 提取元数据部分\n const metadataPart = content.substring(0, commaIndex);\n\n // 提取数据部分\n const dataPart = content.substring(commaIndex + 1);\n\n // 解析元数据\n let mimeType = '';\n let charset = '';\n let isBase64 = false;\n\n // 分割元数据部分\n const metadataSegments = metadataPart.split(';');\n\n // 第一部分通常是 MIME 类型\n if (metadataSegments.length > 0) {\n mimeType = metadataSegments[0] || 'text/plain'; // 默认为 text/plain\n }\n\n // 检查其他元数据参数\n for (let i = 1; i < metadataSegments.length; i++) {\n const segment = metadataSegments[i];\n\n if (segment === 'base64') {\n isBase64 = true;\n } else if (segment.startsWith('charset=')) {\n charset = segment.substring(8);\n }\n }\n\n // 返回解析结果\n return {\n mimeType,\n charset,\n isBase64,\n data: dataPart,\n };\n}\n\nexport function getFilePathFormat(filePath: string): string {\n if (!filePath) return '';\n\n const i = getDataProtocolFormat(filePath);\n\n if (i) {\n return i;\n }\n\n try {\n const ext = extname(filePath).slice(1);\n switch (ext) {\n case 'js':\n case 'cjs':\n case 'mjs':\n case 'jsx':\n return 'javascript';\n case 'ts':\n case 'tsx':\n return 'typescript';\n case 'md':\n return 'markdown';\n default:\n return ext;\n }\n } catch
|
|
1
|
+
{"version":3,"file":"components/base/CodeViewer/utils.mjs","sources":["../../../../src/components/base/CodeViewer/utils.ts"],"sourcesContent":["import { Monaco } from '@monaco-editor/react';\nimport { SDK } from '@rsdoctor/types';\nimport type { Range as RangeClass } from 'monaco-editor';\nimport { editor } from 'monaco-editor';\nimport { extname } from 'path';\n\n/**\n * 判断 data 协议文件格式 `data:[<mediatype>][;base64],<data>`\n * 完整协议: https://www.rfc-editor.org/rfc/rfc2397.html\n * @param {string} content 文件内容\n * @returns {string} 文件格式类型\n */\nfunction getDataProtocolFormat(content: string): string {\n // 如果内容为空返回空\n if (!content) {\n return '';\n }\n\n try {\n const prefix = 'data:';\n // 检查是否以 data: 开头\n if (!content.startsWith(prefix)) {\n return '';\n }\n\n const { mimeType } = parseDataUrl(content);\n\n // 根据 MIME 类型返回对应的格式\n switch (mimeType) {\n case 'text/javascript':\n return 'javascript';\n case 'text/html':\n return 'html';\n case 'text/css':\n return 'css';\n case 'text/plain':\n return 'text';\n case 'application/json':\n return 'json';\n // 可以根据需要添加更多类型\n default:\n return '';\n }\n } catch (error) {\n console.error('解析 data 协议文件格式失败::', error);\n return '';\n }\n}\n\n/**\n * 解析 Data URL 并提取 MIME 类型\n * @param {string} dataUrl - 要解析的 Data URL 字符串\n * @returns {Object} 包含解析结果的对象\n */\nfunction parseDataUrl(dataUrl: string) {\n // 检查是否是 Data URL\n if (!dataUrl.startsWith('data:')) {\n throw new Error('输入不是有效的 Data URL');\n }\n\n // 提取内容部分 (去掉 \"data:\" 前缀)\n const content = dataUrl.substring(5);\n\n // 查找分隔数据和元数据的逗号\n const commaIndex = content.indexOf(',');\n\n if (commaIndex === -1) {\n throw new Error('无效的 Data URL 格式: 缺少数据分隔符');\n }\n\n // 提取元数据部分\n const metadataPart = content.substring(0, commaIndex);\n\n // 提取数据部分\n const dataPart = content.substring(commaIndex + 1);\n\n // 解析元数据\n let mimeType = '';\n let charset = '';\n let isBase64 = false;\n\n // 分割元数据部分\n const metadataSegments = metadataPart.split(';');\n\n // 第一部分通常是 MIME 类型\n if (metadataSegments.length > 0) {\n mimeType = metadataSegments[0] || 'text/plain'; // 默认为 text/plain\n }\n\n // 检查其他元数据参数\n for (let i = 1; i < metadataSegments.length; i++) {\n const segment = metadataSegments[i];\n\n if (segment === 'base64') {\n isBase64 = true;\n } else if (segment.startsWith('charset=')) {\n charset = segment.substring(8);\n }\n }\n\n // 返回解析结果\n return {\n mimeType,\n charset,\n isBase64,\n data: dataPart,\n };\n}\n\nexport function getFilePathFormat(filePath: string): string {\n if (!filePath) return '';\n\n const i = getDataProtocolFormat(filePath);\n\n if (i) {\n return i;\n }\n\n try {\n const ext = extname(filePath).slice(1);\n switch (ext) {\n case 'js':\n case 'cjs':\n case 'mjs':\n case 'jsx':\n return 'javascript';\n case 'ts':\n case 'tsx':\n return 'typescript';\n case 'md':\n return 'markdown';\n default:\n return ext;\n }\n } catch {\n return '';\n }\n}\n\n/**\n * 默认编辑器样式, 适合预览代码\n */\nexport const DefaultEditorConfig: editor.IStandaloneEditorConstructionOptions =\n {\n // 设置编辑器为只读模式\n readOnly: true,\n // 设置 DOM 元素为只读模式\n domReadOnly: true,\n // 设置字体大小为 14px\n fontSize: 14,\n // 设置制表符宽度为 2 个空格\n tabSize: 2,\n // 设置行高为 24px\n lineHeight: 24,\n // 关闭验证装饰器的渲染(如错误、警告标记等)\n renderValidationDecorations: 'off',\n // 在概览标尺中隐藏光标\n hideCursorInOverviewRuler: true,\n // 启用平滑滚动\n smoothScrolling: true,\n // 设置文本换行方式\n wordWrap: 'on',\n // 启用颜色装饰器(如显示颜色预览)\n colorDecorators: true,\n // 禁用代码镜头功能(如显示引用次数等)\n codeLens: false,\n // 设置光标宽度为 0(隐藏光标)\n cursorWidth: 0,\n // 禁用右侧的小地图预览\n minimap: {\n enabled: false,\n },\n\n /** 禁用编辑器内置的右键菜单 */\n contextmenu: false,\n /** 禁用定义跳转功能 */\n gotoLocation: {\n multiple: 'goto',\n multipleDefinitions: 'goto',\n multipleTypeDefinitions: 'goto',\n multipleDeclarations: 'goto',\n multipleImplementations: 'goto',\n multipleReferences: 'goto',\n },\n /** 禁用悬停提示功能 */\n hover: { enabled: false },\n // 禁用链接功能 - 会禁用 Command/Ctrl + 点击\n links: false,\n };\n\n/**\n * get monaco options, it'll combine default config\n * @param options\n * @returns target options\n */\nexport function defineMonacoOptions(\n options?: editor.IStandaloneEditorConstructionOptions,\n): editor.IStandaloneEditorConstructionOptions {\n return {\n ...structuredClone(DefaultEditorConfig),\n ...options,\n };\n}\n\nexport function getFileName(filePath: string): string {\n // 如果内容为空返回空\n if (!filePath) {\n return '';\n }\n\n const prefix = 'data:';\n // 检查是否以 data: 开头\n if (filePath.startsWith(prefix)) {\n return 'data';\n }\n\n return filePath.split('/').at(-1) || '';\n}\n\nexport function getSelectionRange(\n source: SDK.SourceRange,\n Range: typeof RangeClass,\n) {\n const { start, end } = source;\n const { line = 1, column = 0 } = start;\n return new Range(\n line,\n column + 1,\n end?.line ?? line,\n (end?.column ?? 9999) + 1,\n );\n}\n\nexport function editorShowRange(\n editor: editor.IStandaloneCodeEditor,\n monaco: Monaco,\n ranges?: SDK.SourceRange[],\n) {\n if (!ranges || ranges.length === 0) return;\n\n const decorations = ranges.map((range) => ({\n range: getSelectionRange(range, monaco.Range),\n options: {\n inlineClassName: 'file-inline-decoration',\n },\n }));\n editor.deltaDecorations([], decorations);\n\n setTimeout(() => {\n editor.revealLine(decorations[0].range.startLineNumber);\n });\n}\n"],"names":["getDataProtocolFormat","content","prefix","mimeType","parseDataUrl","error","console","dataUrl","Error","commaIndex","metadataPart","dataPart","charset","isBase64","metadataSegments","i","segment","getFilePathFormat","filePath","ext","extname","DefaultEditorConfig","defineMonacoOptions","options","structuredClone","getFileName","getSelectionRange","source","Range","start","end","line","column","editorShowRange","editor","monaco","ranges","decorations","range","setTimeout"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/components/base/DiffViewer/index.module.scss","webpack://./src/components/base/DiffViewer/index.module.scss"],"names":[],"mappings":"AAAA;ECCE,iDAAiD;EACjD,kBAAkB;EAClB,sBAAsB;EACtB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,yDAAyD;AAC3D;;ADRmN;ECWjN,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;AAChB;;ADdoR;ECiBlR,yDAAyD;EACzD,+BAA+B;EAC/B,YAAY;EACZ,cAAc;EACd,mBAAmB;EACnB,iBAAiB;EACjB,aAAa;AACf;;ADxB4c;EC2B1c,+BAA+B;AACjC;;AD5BsgB;EC+BpgB,OAAO;AACT","sourcesContent":[".diff-viewer{height:70vh;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;background-color:var(--vscode-editor-background);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.diff-viewer.embed{box-shadow:none;border-radius:0;overflow:auto}.diff-viewer .header{background-color:var(--vscode-textBlockQuote-background);color:var(--vscode-foreground);padding:8px 16px;display:flex;align-items:center;flex-shrink:0;flex-grow:0}.diff-viewer .header .text{color:var(--vscode-foreground)}.diff-viewer .content{flex:1}",".diff-viewer {\n background-color: var(--vscode-editor-background);\n border-radius: 8px;\n flex-direction: column;\n height: 70vh;\n display: flex;\n overflow: hidden;\n box-shadow: 0 1px 3px #0000001a, 0 1px 2px -1px #0000001a;\n}\n\n.diff-viewer.embed {\n box-shadow: none;\n border-radius: 0;\n overflow: auto;\n}\n\n.diff-viewer .header {\n background-color: var(--vscode-textBlockQuote-background);\n color: var(--vscode-foreground);\n flex-grow: 0;\n flex-shrink: 0;\n align-items: center;\n padding: 8px 16px;\n display: flex;\n}\n\n.diff-viewer .header .text {\n color: var(--vscode-foreground);\n}\n\n.diff-viewer .content {\n flex: 1;\n}\n"],"sourceRoot":""}
|
package/dist/constants.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../src/constants.tsx"],"sourcesContent":["export enum Theme {\n Light = 'light',\n Dark = 'dark',\n}\n\nexport enum PageState {\n Success,\n Pending,\n Fail,\n}\n\nexport enum ComponentState {\n Success,\n Pending,\n Updating,\n Fail,\n}\n\nexport enum ViewMode {\n List = 'list',\n Group = 'group',\n}\n\nexport enum Language {\n Cn = 'cn',\n En = 'en',\n}\n\nexport enum APILoaderMode4Dev {\n Local = 'local',\n Remote = 'remote',\n Default = 'default',\n}\n\nexport enum Size {\n BasePadding = 20,\n BaseBorderRadius = 8,\n NavBarHeight = 54,\n}\n\nexport enum Color {\n Red = '#e17055',\n Green = '#52c41a',\n Yellow = '#faad14',\n Blue = '#1677ff',\n}\n\nexport const drawerWidth =\n //
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../src/constants.tsx"],"sourcesContent":["export enum Theme {\n Light = 'light',\n Dark = 'dark',\n}\n\nexport enum PageState {\n Success,\n Pending,\n Fail,\n}\n\nexport enum ComponentState {\n Success,\n Pending,\n Updating,\n Fail,\n}\n\nexport enum ViewMode {\n List = 'list',\n Group = 'group',\n}\n\nexport enum Language {\n Cn = 'cn',\n En = 'en',\n}\n\nexport enum APILoaderMode4Dev {\n Local = 'local',\n Remote = 'remote',\n Default = 'default',\n}\n\nexport enum Size {\n BasePadding = 20,\n BaseBorderRadius = 8,\n NavBarHeight = 54,\n}\n\nexport enum Color {\n Red = '#e17055',\n Green = '#52c41a',\n Yellow = '#faad14',\n Blue = '#1677ff',\n}\n\nexport const drawerWidth =\n // rslint-disable-next-line financial/no-float-calculation\n typeof window === 'undefined'\n ? 0\n : window.innerWidth * 0.85 >= 1100\n ? window.innerWidth * 0.85\n : 1100;\n\nexport const TAG_PALLETE = {\n COLOR_A: '#90DCE9',\n COLOR_B: 'green',\n COLOR_C: '#4EAAB9',\n COLOR_D: '#B7E9F4',\n COLOR_E: '#2E7CBE',\n DARK_BLUE: '#1554ad',\n};\n\n// export const MAIN_BG = 'linear-gradient(307deg, rgb(255, 255, 255) 0%, rgba(228, 243, 255, 0.56) 100%)';\nexport const MAIN_BG = '';\nexport const ROOT_BG_COLOR = 'rgb(105, 177, 255)';\n"],"names":["Theme","PageState","ComponentState","ViewMode","Language","APILoaderMode4Dev","Size","Color","drawerWidth","window","TAG_PALLETE","MAIN_BG","ROOT_BG_COLOR"],"mappings":"AAAO,IAAKA,kBAAKA,WAAAA,GAAAA,SAALA,KAAK;;;WAALA;;AAKL,IAAKC,sBAASA,WAAAA,GAAAA,SAATA,SAAS;;;;WAATA;;AAML,IAAKC,2BAAcA,WAAAA,GAAAA,SAAdA,cAAc;;;;;WAAdA;;AAOL,IAAKC,qBAAQA,WAAAA,GAAAA,SAARA,QAAQ;;;WAARA;;AAKL,IAAKC,qBAAQA,WAAAA,GAAAA,SAARA,QAAQ;;;WAARA;;AAKL,IAAKC,8BAAiBA,WAAAA,GAAAA,SAAjBA,iBAAiB;;;;WAAjBA;;AAML,IAAKC,iBAAIA,WAAAA,GAAAA,SAAJA,IAAI;;;;WAAJA;;AAML,IAAKC,kBAAKA,WAAAA,GAAAA,SAALA,KAAK;;;;;WAALA;;AAOL,MAAMC,cAEX,AAAkB,MAAlB,OAAOC,SACH,IACAA,AAAoB,OAApBA,OAAO,UAAU,IAAW,OAC1BA,AAAoB,OAApBA,OAAO,UAAU,GACjB;AAED,MAAMC,cAAc;IACzB,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;AACb;AAGO,MAAMC,UAAU;AAChB,MAAMC,gBAAgB"}
|
|
@@ -175,7 +175,7 @@ const ModuleGraphViewer = ({ id, show, setShow, cwd })=>{
|
|
|
175
175
|
};
|
|
176
176
|
const inlinedResourcePathKey = '__RESOURCEPATH__';
|
|
177
177
|
function getChildrenModule(node, mods) {
|
|
178
|
-
node.children
|
|
178
|
+
if (node.children) node.children.forEach((n)=>{
|
|
179
179
|
if (n.isLeaf) mods.push(n[inlinedResourcePathKey]);
|
|
180
180
|
else getChildrenModule(n, mods);
|
|
181
181
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages/BundleSize/components/asset.mjs","sources":["../../../../src/pages/BundleSize/components/asset.tsx"],"sourcesContent":["import {\n CodepenCircleOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Button,\n Card,\n Col,\n Divider,\n Empty,\n Popover,\n Row,\n Space,\n Tag,\n Tooltip,\n Tree,\n Typography,\n} from 'antd';\nimport { DataNode as AntdDataNode } from 'antd/es/tree';\nimport { omitBy, sumBy } from 'es-toolkit/compat';\nimport { dirname, relative } from 'path';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { CodeViewer } from 'src/components/base';\nimport { Badge as Bdg } from '../../../components/Badge';\nimport { KeywordInput } from '../../../components/Form/keyword';\nimport { Keyword } from '../../../components/Keyword';\nimport { ServerAPIProvider } from '../../../components/Manifest';\nimport { TextDrawer } from '../../../components/TextDrawer';\nimport { Size } from '../../../constants';\nimport {\n DataNode,\n createFileStructures,\n formatSize,\n isJsDataUrl,\n useI18n,\n} from '../../../utils';\nimport { ModuleAnalyzeComponent } from '../../ModuleAnalyze';\nimport { ModuleGraphListContext } from '../config';\nimport styles from './index.module.scss';\n\nconst { DirectoryTree } = Tree;\n\nlet expandedModulesKeys: React.Key[] = [];\nconst TAB_MAP = {\n source: 'source code',\n transformed: 'Transformed Code (After compile)',\n parsedSource: 'Bundled Code (After bundle and tree-shaking)',\n};\n\nconst tagStyle = {\n margin: 'none',\n marginInlineEnd: 0,\n};\n\nconst EmptyCodeItem = () => (\n <Empty\n description={`Do not have the module code.\n (1) If you use the brief mode, there will not have any codes to show.\n (2) If you use lite mode, there will not have source codes.`}\n />\n);\n\nexport const ModuleCodeViewer: React.FC<{ data: SDK.ModuleData }> = ({\n data,\n}) => {\n const [tab, setTab] = useState('');\n const { t } = useI18n();\n\n const TAB_LAB_MAP: Record<string, string> = {\n source: 'Source Code',\n transformed: `Transformed Code(${t('After Compile')})`,\n parsedSource: `Bundled Code(${t('After Bundled')})`,\n };\n if (!data) return null;\n\n const { path } = data;\n\n return (\n <TextDrawer\n text=\"\"\n buttonProps={{\n size: 'small',\n icon: (\n <Popover content=\"Open the Codes Box\">\n <CodepenCircleOutlined />\n </Popover>\n ),\n type: 'default',\n }}\n buttonStyle={{ padding: `0 4px` }}\n drawerProps={{\n destroyOnClose: true,\n title: `Code of \"${path}\"`,\n }}\n >\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetModuleCodeByModuleId}\n body={{ moduleId: data.id }}\n >\n {(source) => {\n return (\n <>\n {!source['source'] &&\n !source['parsedSource'] &&\n !source['transformed'] ? (\n <EmptyCodeItem />\n ) : (\n <Card\n className=\"code-size-card\"\n style={{ width: '100%' }}\n tabList={Object.keys(omitBy(source, (s) => !s))\n .map((k) => ({ tab: k }))\n .map((e) => ({\n ...e,\n tab: TAB_LAB_MAP[e.tab],\n key: e.tab,\n }))}\n defaultActiveTabKey={\n source['parsedSource'] ? 'parsedSource' : 'source'\n }\n onTabChange={(v) => setTab(v)}\n tabBarExtraContent={\n <Popover\n placement=\"bottom\"\n title={\n <Typography.Title level={5}>Explain</Typography.Title>\n }\n content={\n <>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n marginBottom: 30,\n }}\n >\n <div>\n <Typography.Text strong>Source: </Typography.Text>\n <Typography.Text>\n {TAB_MAP.source}\n </Typography.Text>\n </div>\n <div>\n <Typography.Text strong>\n Transformed:\n </Typography.Text>\n <Typography.Text>\n {TAB_MAP.transformed}\n </Typography.Text>\n </div>\n <div>\n <Typography.Text strong>\n Bundled Source:\n </Typography.Text>\n <Typography.Text>\n {TAB_MAP.parsedSource}\n </Typography.Text>\n </div>\n <br />\n <Typography.Text strong>{'More'}</Typography.Text>\n <Typography.Text>\n {t('CodeModeExplain')}\n </Typography.Text>\n </div>\n </>\n }\n trigger={'hover'}\n >\n <a href=\"#\">Explain</a>\n </Popover>\n }\n styles={{ body: { padding: 0, overflow: 'hidden' } }}\n >\n {source['parsedSource'] ||\n source['source'] ||\n source['transformed'] ? (\n <CodeViewer\n isEmbed\n code={\n tab\n ? source[tab as keyof SDK.ModuleSource]\n : source['parsedSource']\n ? source['parsedSource']\n : source['source']\n }\n filePath={path}\n />\n ) : (\n <EmptyCodeItem />\n )}\n </Card>\n )}\n </>\n );\n }}\n </ServerAPIProvider>\n </TextDrawer>\n );\n};\n\nexport const ModuleGraphViewer: React.FC<{\n id: number | string;\n show: boolean;\n setShow: (_show: boolean) => void;\n cwd: string;\n}> = ({ id, show, setShow, cwd }) => {\n if (!id) return null;\n\n return (\n <ServerAPIProvider api={SDK.ServerAPI.API.GetAllModuleGraph} body={{}}>\n {(modules) => (\n <ModuleAnalyzeComponent\n cwd={cwd}\n moduleId={id}\n modules={modules}\n show={show}\n setShow={setShow}\n />\n )}\n </ServerAPIProvider>\n );\n};\n\nconst inlinedResourcePathKey = '__RESOURCEPATH__';\n\nexport function getChildrenModule(node: DataNode, mods: string[]) {\n node.children &&\n node.children.forEach((n: DataNode) => {\n if (n.isLeaf) {\n mods.push(n[inlinedResourcePathKey]);\n } else {\n getChildrenModule(n, mods);\n }\n });\n\n return mods;\n}\n\nexport const ModulesStatistics: React.FC<{\n modules: SDK.ModuleData[];\n chunks: SDK.ChunkData[];\n filteredModules: SDK.ModuleData[];\n}> = ({ modules, chunks, filteredModules }) => {\n const { sourceSize, parsedSize, filteredParsedSize, filteredSourceSize } =\n useMemo(() => {\n return {\n sourceSize: sumBy(modules, (e) => e.size.sourceSize),\n parsedSize: sumBy(modules, (e) => e.size.parsedSize),\n filteredSourceSize: sumBy(filteredModules, (e) => e.size.sourceSize),\n filteredParsedSize: sumBy(filteredModules, (e) => e.size.parsedSize),\n };\n }, [modules, filteredModules]);\n\n return (\n <Space>\n <Tooltip\n title={`total modules count is ${modules.length}, the filtered modules count is ${filteredModules.length}`}\n >\n <Space>\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n Modules: {filteredModules.length} / {modules.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Space>\n </Tooltip>\n <Divider type=\"vertical\" />\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n Total modules bundled size: {formatSize(parsedSize)}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n Total modules source size: {formatSize(sourceSize)}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n Filtered modules bundled size: {formatSize(filteredParsedSize)}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n Filtered modules source size: {formatSize(filteredSourceSize)}\n </Typography.Text>\n </Space>\n }\n >\n <Space>\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n Modules Size:\n {filteredParsedSize === parsedSize\n ? formatSize(parsedSize)\n : `${formatSize(filteredParsedSize)} / ${formatSize(parsedSize)}`}\n </Typography.Text>\n <InfoCircleOutlined />\n </Space>\n </Tooltip>\n <Divider type=\"vertical\" />\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n this asset includes {chunks.length} chunks:\n </Typography.Text>\n {chunks.map((e) => (\n <Bdg label=\"chunk\" value={e.name} key={e.name} />\n ))}\n </Space>\n }\n >\n <Space>\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n Chunks: {chunks.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Space>\n </Tooltip>\n </Space>\n );\n};\n\nconst ConcatenatedTag = ({ moduleCount }: { moduleCount: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n This is a concatenated container module that includes {moduleCount}{' '}\n modules\n </Typography.Text>\n </Space>\n }\n >\n <Tag color=\"blue\" style={tagStyle}>\n concatenated container\n </Tag>\n </Tooltip>\n );\n};\n\nconst TotalBundledSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The total output size of all the files in this folder. If you\n enabled minification, this value shows the minified size.\n </Typography.Text>\n </Space>\n }\n >\n <Tag style={tagStyle} color={'geekblue'}>\n {`bundled size: ${formatSize(size)}`}\n </Tag>\n </Tooltip>\n );\n};\n\nconst BundledSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The final output size of this file. If you enabled minification,\n this value shows the minified size.\n </Typography.Text>\n </Space>\n }\n >\n <Tag color={'geekblue'}>{`bundled size: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nconst GzippedSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The compressed file size that users actually download, as most web\n servers use gzip compression.\n </Typography.Text>\n </Space>\n }\n >\n <Tag color={'orange'}>{`gzipped: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nconst TotalSourceSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The total original size of all the files in this folder, before any\n transformations and minification.\n </Typography.Text>\n </Space>\n }\n >\n <Tag\n style={tagStyle}\n color={'cyan'}\n >{`source size: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nconst SourceSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The original size of this file, before any transformations and\n minification.\n </Typography.Text>\n </Space>\n }\n >\n <Tag color={'cyan'}>{`source size: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nexport const AssetDetail: React.FC<{\n asset: SDK.AssetData;\n chunks: SDK.ChunkData[];\n modules: SDK.ModuleData[];\n moduleSizeLimit?: number;\n height?: number;\n root: string;\n}> = ({\n asset,\n chunks: includeChunks,\n modules: includeModules,\n moduleSizeLimit,\n height,\n root,\n}) => {\n const [moduleKeyword, setModuleKeyword] = useState('');\n const [defaultExpandAll, setDefaultExpandAll] = useState(false);\n const [moduleJumpList, setModuleJumpList] = useState([] as number[]);\n const [show, setShow] = useState(false);\n\n const filteredModules = useMemo(() => {\n let res = includeModules.slice();\n if (moduleKeyword) {\n const regexp = new RegExp(moduleKeyword, 'i');\n res = res.filter((e) => regexp.test(e.path));\n }\n\n if (moduleSizeLimit) {\n res = res.filter((e) => e.size.parsedSize >= moduleSizeLimit);\n }\n\n return res;\n }, [includeModules, moduleKeyword, moduleSizeLimit]);\n\n const fileStructures = useMemo(() => {\n // Normalize paths for comparison - convert backslashes to forward slashes\n const normalizePath = (path: string) => path.replace(/\\\\/g, '/');\n const res = createFileStructures({\n files: filteredModules.map((e) => e.path).filter(Boolean),\n inlinedResourcePathKey,\n fileTitle(file, basename) {\n const mod = filteredModules.find(\n (e) => normalizePath(e.path) === normalizePath(file),\n )!;\n\n if (!mod) return basename;\n\n const { parsedSize = 0, sourceSize = 0, gzipSize = 0 } = mod.size;\n const isConcatenation = mod.kind === SDK.ModuleKind.Concatenation;\n\n const containedOtherModules =\n !isConcatenation &&\n parsedSize === 0 &&\n includeModules.filter(\n (e) => e !== mod && e.modules && e.modules.indexOf(mod.id) > -1,\n );\n\n return (\n <div className={styles['bundle-tree']}>\n <Popover\n content={`Open the ${basename}’s module reasons tree.`}\n placement=\"bottom\"\n >\n <div\n className={styles.box}\n onClick={() => {\n setModuleJumpList([mod.id]);\n setShow(true);\n }}\n >\n <div className={styles.keywords}>\n <Keyword ellipsis text={basename} keyword={''} />\n </div>\n <div className={styles.dividerDiv}>\n <Divider className={styles.divider} dashed />\n </div>\n </div>\n </Popover>\n <Space>\n {parsedSize !== 0 ? (\n <>\n {typeof gzipSize === 'number' ? (\n <Popover\n placement=\"bottom\"\n content={<SourceSizeTag size={sourceSize} />}\n >\n <Space direction=\"horizontal\">\n <BundledSizeTag size={parsedSize} />\n <GzippedSizeTag size={gzipSize} />\n </Space>\n </Popover>\n ) : (\n <Space direction=\"horizontal\">\n <BundledSizeTag size={parsedSize} />\n <SourceSizeTag size={sourceSize} />\n </Space>\n )}\n </>\n ) : sourceSize !== 0 ? (\n // fallback to display tag for source size\n <SourceSizeTag size={sourceSize} />\n ) : null}\n {isConcatenation ? (\n <ConcatenatedTag moduleCount={mod.modules?.length || 0} />\n ) : null}\n {containedOtherModules && containedOtherModules.length ? (\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n This module is concatenated into another container\n module:\n </Typography.Text>\n {containedOtherModules.map(({ id, path }) => {\n if (isJsDataUrl(path)) {\n return (\n <Typography.Paragraph\n ellipsis={{ rows: 4 }}\n key={id}\n style={{ color: 'inherit', maxWidth: '100%' }}\n code\n >\n {path}\n </Typography.Paragraph>\n );\n }\n\n const p = relative(dirname(mod.path), path);\n if (p.startsWith('javascript;charset=utf-8;base64,')) {\n return (\n <Typography.Text\n key={id}\n style={{ color: 'inherit', maxWidth: '100%' }}\n code\n >\n {p[0] === '.' ? p : `./${p}`}\n </Typography.Text>\n );\n }\n\n return (\n <Typography.Text\n key={id}\n style={{ color: 'inherit' }}\n code\n >\n {p[0] === '.' ? p : `./${p}`}\n </Typography.Text>\n );\n })}\n </Space>\n }\n >\n <Tag color=\"green\">concatenated</Tag>\n </Tooltip>\n ) : null}\n\n <ModuleCodeViewer data={mod} />\n </Space>\n </div>\n );\n },\n dirTitle(dir, defaultTitle) {\n const mods: string[] = [];\n const paths = getChildrenModule(dir, mods);\n if (paths.length) {\n // Normalize paths for comparison - convert backslashes to forward slashes\n const normalizePath = (path: string) => path.replace(/\\\\/g, '/');\n const mods = paths.map(\n (e) =>\n includeModules.find(\n (m) => normalizePath(m.path) === normalizePath(e),\n )!,\n );\n\n const parsedSize = sumBy(mods, (e) => e?.size?.parsedSize || 0);\n const sourceSize = sumBy(mods, (e) => e?.size?.sourceSize || 0);\n return (\n <div className={styles['bundle-tree']}>\n <div className={styles.box}>\n <div className={styles.keywords}>\n <Keyword ellipsis text={defaultTitle} keyword={''} />\n </div>\n <div className={styles.dividerDiv}>\n <Divider className={styles.divider} dashed />\n </div>\n </div>\n <Space>\n {parsedSize > 0 ? (\n <>\n <TotalBundledSizeTag size={parsedSize} />\n <TotalSourceSizeTag size={sourceSize} />\n </>\n ) : (\n <TotalSourceSizeTag size={sourceSize} />\n )}\n </Space>\n </div>\n );\n }\n\n return defaultTitle;\n },\n page: 'bundle',\n });\n return res;\n }, [filteredModules]);\n\n const onSearch = (value: string) => setModuleKeyword(value);\n\n useEffect(() => {\n setModuleKeyword('');\n setDefaultExpandAll(false);\n }, [asset]);\n\n useEffect(() => {\n setDefaultExpandAll(false);\n }, [moduleKeyword]);\n\n return (\n <ModuleGraphListContext.Provider\n value={{ moduleJumpList, setModuleJumpList }}\n >\n <Card\n className={styles.bundle}\n title={`Modules of \"${asset.path}\"`}\n bodyStyle={{ minHeight: height }}\n size=\"small\"\n >\n {includeModules.length ? (\n <Row>\n <Col span={24}>\n <ModulesStatistics\n modules={includeModules}\n chunks={includeChunks}\n filteredModules={filteredModules}\n />\n </Col>\n <Col span={24}>\n <Space>\n <KeywordInput\n placeholder=\"search module by keyword\"\n onChange={onSearch}\n key={asset.path}\n />\n <Button\n onClick={() => setDefaultExpandAll(true)}\n size=\"small\"\n icon={<ColumnHeightOutlined />}\n />\n </Space>\n </Col>\n <Col span={24} style={{ marginTop: Size.BasePadding }}>\n {filteredModules.length ? (\n <DirectoryTree\n key={`tree_${moduleKeyword}_${defaultExpandAll}_${asset.path}`}\n selectable={false}\n defaultExpandAll={\n defaultExpandAll || filteredModules.length <= 20\n }\n onExpand={(expandedKeys) => {\n expandedModulesKeys = expandedKeys;\n }}\n defaultExpandParent\n // @ts-ignore\n defaultExpandedKeys={\n expandedModulesKeys?.length\n ? expandedModulesKeys\n : fileStructures.length === 1\n ? [fileStructures[0].key]\n : []\n }\n treeData={fileStructures as AntdDataNode[]}\n rootStyle={{\n maxHeight: '500px',\n overflow: 'auto',\n border: '1px solid rgba(235, 237, 241)',\n padding: '14px 20px',\n }}\n />\n ) : (\n <Empty\n description={\n <Typography.Text\n strong\n >{`\"${moduleKeyword}\" can't match any modules`}</Typography.Text>\n }\n />\n )}\n </Col>\n </Row>\n ) : (\n <Empty\n description={\n <Typography.Text\n strong\n >{`\"${asset.path}\" doesn't have any modules`}</Typography.Text>\n }\n />\n )}\n\n <ModuleGraphViewer\n id={\n moduleJumpList?.length\n ? moduleJumpList[moduleJumpList.length - 1]\n : ''\n }\n show={show}\n setShow={setShow}\n cwd={root}\n />\n </Card>\n </ModuleGraphListContext.Provider>\n );\n};\n"],"names":["DirectoryTree","Tree","expandedModulesKeys","TAB_MAP","tagStyle","EmptyCodeItem","Empty","ModuleCodeViewer","data","tab","setTab","useState","t","useI18n","TAB_LAB_MAP","path","TextDrawer","Popover","CodepenCircleOutlined","ServerAPIProvider","SDK","source","Card","Object","omitBy","s","k","e","v","Typography","CodeViewer","ModuleGraphViewer","id","show","setShow","cwd","modules","ModuleAnalyzeComponent","inlinedResourcePathKey","getChildrenModule","node","mods","n","ModulesStatistics","chunks","filteredModules","sourceSize","parsedSize","filteredParsedSize","filteredSourceSize","useMemo","sumBy","Space","Tooltip","InfoCircleOutlined","Divider","formatSize","Bdg","ConcatenatedTag","moduleCount","Tag","TotalBundledSizeTag","size","BundledSizeTag","GzippedSizeTag","TotalSourceSizeTag","SourceSizeTag","AssetDetail","asset","includeChunks","includeModules","moduleSizeLimit","height","root","moduleKeyword","setModuleKeyword","defaultExpandAll","setDefaultExpandAll","moduleJumpList","setModuleJumpList","res","regexp","RegExp","fileStructures","normalizePath","createFileStructures","Boolean","file","basename","mod","gzipSize","isConcatenation","containedOtherModules","styles","Keyword","isJsDataUrl","p","relative","dirname","dir","defaultTitle","paths","m","onSearch","value","useEffect","ModuleGraphListContext","Row","Col","KeywordInput","Button","ColumnHeightOutlined","Size","expandedKeys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages/BundleSize/components/asset.mjs","sources":["../../../../src/pages/BundleSize/components/asset.tsx"],"sourcesContent":["import {\n CodepenCircleOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport {\n Button,\n Card,\n Col,\n Divider,\n Empty,\n Popover,\n Row,\n Space,\n Tag,\n Tooltip,\n Tree,\n Typography,\n} from 'antd';\nimport { DataNode as AntdDataNode } from 'antd/es/tree';\nimport { omitBy, sumBy } from 'es-toolkit/compat';\nimport { dirname, relative } from 'path';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { CodeViewer } from 'src/components/base';\nimport { Badge as Bdg } from '../../../components/Badge';\nimport { KeywordInput } from '../../../components/Form/keyword';\nimport { Keyword } from '../../../components/Keyword';\nimport { ServerAPIProvider } from '../../../components/Manifest';\nimport { TextDrawer } from '../../../components/TextDrawer';\nimport { Size } from '../../../constants';\nimport {\n DataNode,\n createFileStructures,\n formatSize,\n isJsDataUrl,\n useI18n,\n} from '../../../utils';\nimport { ModuleAnalyzeComponent } from '../../ModuleAnalyze';\nimport { ModuleGraphListContext } from '../config';\nimport styles from './index.module.scss';\n\nconst { DirectoryTree } = Tree;\n\nlet expandedModulesKeys: React.Key[] = [];\nconst TAB_MAP = {\n source: 'source code',\n transformed: 'Transformed Code (After compile)',\n parsedSource: 'Bundled Code (After bundle and tree-shaking)',\n};\n\nconst tagStyle = {\n margin: 'none',\n marginInlineEnd: 0,\n};\n\nconst EmptyCodeItem = () => (\n <Empty\n description={`Do not have the module code.\n (1) If you use the brief mode, there will not have any codes to show.\n (2) If you use lite mode, there will not have source codes.`}\n />\n);\n\nexport const ModuleCodeViewer: React.FC<{ data: SDK.ModuleData }> = ({\n data,\n}) => {\n const [tab, setTab] = useState('');\n const { t } = useI18n();\n\n const TAB_LAB_MAP: Record<string, string> = {\n source: 'Source Code',\n transformed: `Transformed Code(${t('After Compile')})`,\n parsedSource: `Bundled Code(${t('After Bundled')})`,\n };\n if (!data) return null;\n\n const { path } = data;\n\n return (\n <TextDrawer\n text=\"\"\n buttonProps={{\n size: 'small',\n icon: (\n <Popover content=\"Open the Codes Box\">\n <CodepenCircleOutlined />\n </Popover>\n ),\n type: 'default',\n }}\n buttonStyle={{ padding: `0 4px` }}\n drawerProps={{\n destroyOnClose: true,\n title: `Code of \"${path}\"`,\n }}\n >\n <ServerAPIProvider\n api={SDK.ServerAPI.API.GetModuleCodeByModuleId}\n body={{ moduleId: data.id }}\n >\n {(source) => {\n return (\n <>\n {!source['source'] &&\n !source['parsedSource'] &&\n !source['transformed'] ? (\n <EmptyCodeItem />\n ) : (\n <Card\n className=\"code-size-card\"\n style={{ width: '100%' }}\n tabList={Object.keys(omitBy(source, (s) => !s))\n .map((k) => ({ tab: k }))\n .map((e) => ({\n ...e,\n tab: TAB_LAB_MAP[e.tab],\n key: e.tab,\n }))}\n defaultActiveTabKey={\n source['parsedSource'] ? 'parsedSource' : 'source'\n }\n onTabChange={(v) => setTab(v)}\n tabBarExtraContent={\n <Popover\n placement=\"bottom\"\n title={\n <Typography.Title level={5}>Explain</Typography.Title>\n }\n content={\n <>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n marginBottom: 30,\n }}\n >\n <div>\n <Typography.Text strong>Source: </Typography.Text>\n <Typography.Text>\n {TAB_MAP.source}\n </Typography.Text>\n </div>\n <div>\n <Typography.Text strong>\n Transformed:\n </Typography.Text>\n <Typography.Text>\n {TAB_MAP.transformed}\n </Typography.Text>\n </div>\n <div>\n <Typography.Text strong>\n Bundled Source:\n </Typography.Text>\n <Typography.Text>\n {TAB_MAP.parsedSource}\n </Typography.Text>\n </div>\n <br />\n <Typography.Text strong>{'More'}</Typography.Text>\n <Typography.Text>\n {t('CodeModeExplain')}\n </Typography.Text>\n </div>\n </>\n }\n trigger={'hover'}\n >\n <a href=\"#\">Explain</a>\n </Popover>\n }\n styles={{ body: { padding: 0, overflow: 'hidden' } }}\n >\n {source['parsedSource'] ||\n source['source'] ||\n source['transformed'] ? (\n <CodeViewer\n isEmbed\n code={\n tab\n ? source[tab as keyof SDK.ModuleSource]\n : source['parsedSource']\n ? source['parsedSource']\n : source['source']\n }\n filePath={path}\n />\n ) : (\n <EmptyCodeItem />\n )}\n </Card>\n )}\n </>\n );\n }}\n </ServerAPIProvider>\n </TextDrawer>\n );\n};\n\nexport const ModuleGraphViewer: React.FC<{\n id: number | string;\n show: boolean;\n setShow: (_show: boolean) => void;\n cwd: string;\n}> = ({ id, show, setShow, cwd }) => {\n if (!id) return null;\n\n return (\n <ServerAPIProvider api={SDK.ServerAPI.API.GetAllModuleGraph} body={{}}>\n {(modules) => (\n <ModuleAnalyzeComponent\n cwd={cwd}\n moduleId={id}\n modules={modules}\n show={show}\n setShow={setShow}\n />\n )}\n </ServerAPIProvider>\n );\n};\n\nconst inlinedResourcePathKey = '__RESOURCEPATH__';\n\nexport function getChildrenModule(node: DataNode, mods: string[]) {\n if (node.children) {\n node.children.forEach((n: DataNode) => {\n if (n.isLeaf) {\n mods.push(n[inlinedResourcePathKey]);\n } else {\n getChildrenModule(n, mods);\n }\n });\n }\n\n return mods;\n}\n\nexport const ModulesStatistics: React.FC<{\n modules: SDK.ModuleData[];\n chunks: SDK.ChunkData[];\n filteredModules: SDK.ModuleData[];\n}> = ({ modules, chunks, filteredModules }) => {\n const { sourceSize, parsedSize, filteredParsedSize, filteredSourceSize } =\n useMemo(() => {\n return {\n sourceSize: sumBy(modules, (e) => e.size.sourceSize),\n parsedSize: sumBy(modules, (e) => e.size.parsedSize),\n filteredSourceSize: sumBy(filteredModules, (e) => e.size.sourceSize),\n filteredParsedSize: sumBy(filteredModules, (e) => e.size.parsedSize),\n };\n }, [modules, filteredModules]);\n\n return (\n <Space>\n <Tooltip\n title={`total modules count is ${modules.length}, the filtered modules count is ${filteredModules.length}`}\n >\n <Space>\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n Modules: {filteredModules.length} / {modules.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Space>\n </Tooltip>\n <Divider type=\"vertical\" />\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n Total modules bundled size: {formatSize(parsedSize)}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n Total modules source size: {formatSize(sourceSize)}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n Filtered modules bundled size: {formatSize(filteredParsedSize)}\n </Typography.Text>\n <Typography.Text style={{ color: 'inherit' }}>\n Filtered modules source size: {formatSize(filteredSourceSize)}\n </Typography.Text>\n </Space>\n }\n >\n <Space>\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n Modules Size:\n {filteredParsedSize === parsedSize\n ? formatSize(parsedSize)\n : `${formatSize(filteredParsedSize)} / ${formatSize(parsedSize)}`}\n </Typography.Text>\n <InfoCircleOutlined />\n </Space>\n </Tooltip>\n <Divider type=\"vertical\" />\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n this asset includes {chunks.length} chunks:\n </Typography.Text>\n {chunks.map((e) => (\n <Bdg label=\"chunk\" value={e.name} key={e.name} />\n ))}\n </Space>\n }\n >\n <Space>\n <Typography.Text\n type=\"secondary\"\n style={{ fontSize: 12, fontWeight: 400 }}\n >\n Chunks: {chunks.length}\n </Typography.Text>\n <InfoCircleOutlined />\n </Space>\n </Tooltip>\n </Space>\n );\n};\n\nconst ConcatenatedTag = ({ moduleCount }: { moduleCount: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n This is a concatenated container module that includes {moduleCount}{' '}\n modules\n </Typography.Text>\n </Space>\n }\n >\n <Tag color=\"blue\" style={tagStyle}>\n concatenated container\n </Tag>\n </Tooltip>\n );\n};\n\nconst TotalBundledSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The total output size of all the files in this folder. If you\n enabled minification, this value shows the minified size.\n </Typography.Text>\n </Space>\n }\n >\n <Tag style={tagStyle} color={'geekblue'}>\n {`bundled size: ${formatSize(size)}`}\n </Tag>\n </Tooltip>\n );\n};\n\nconst BundledSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The final output size of this file. If you enabled minification,\n this value shows the minified size.\n </Typography.Text>\n </Space>\n }\n >\n <Tag color={'geekblue'}>{`bundled size: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nconst GzippedSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The compressed file size that users actually download, as most web\n servers use gzip compression.\n </Typography.Text>\n </Space>\n }\n >\n <Tag color={'orange'}>{`gzipped: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nconst TotalSourceSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The total original size of all the files in this folder, before any\n transformations and minification.\n </Typography.Text>\n </Space>\n }\n >\n <Tag\n style={tagStyle}\n color={'cyan'}\n >{`source size: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nconst SourceSizeTag = ({ size }: { size: number }) => {\n return (\n <Tooltip\n title={\n <Space>\n <Typography.Text style={{ color: 'inherit' }}>\n The original size of this file, before any transformations and\n minification.\n </Typography.Text>\n </Space>\n }\n >\n <Tag color={'cyan'}>{`source size: ${formatSize(size)}`}</Tag>\n </Tooltip>\n );\n};\n\nexport const AssetDetail: React.FC<{\n asset: SDK.AssetData;\n chunks: SDK.ChunkData[];\n modules: SDK.ModuleData[];\n moduleSizeLimit?: number;\n height?: number;\n root: string;\n}> = ({\n asset,\n chunks: includeChunks,\n modules: includeModules,\n moduleSizeLimit,\n height,\n root,\n}) => {\n const [moduleKeyword, setModuleKeyword] = useState('');\n const [defaultExpandAll, setDefaultExpandAll] = useState(false);\n const [moduleJumpList, setModuleJumpList] = useState([] as number[]);\n const [show, setShow] = useState(false);\n\n const filteredModules = useMemo(() => {\n let res = includeModules.slice();\n if (moduleKeyword) {\n const regexp = new RegExp(moduleKeyword, 'i');\n res = res.filter((e) => regexp.test(e.path));\n }\n\n if (moduleSizeLimit) {\n res = res.filter((e) => e.size.parsedSize >= moduleSizeLimit);\n }\n\n return res;\n }, [includeModules, moduleKeyword, moduleSizeLimit]);\n\n const fileStructures = useMemo(() => {\n // Normalize paths for comparison - convert backslashes to forward slashes\n const normalizePath = (path: string) => path.replace(/\\\\/g, '/');\n const res = createFileStructures({\n files: filteredModules.map((e) => e.path).filter(Boolean),\n inlinedResourcePathKey,\n fileTitle(file, basename) {\n const mod = filteredModules.find(\n (e) => normalizePath(e.path) === normalizePath(file),\n )!;\n\n if (!mod) return basename;\n\n const { parsedSize = 0, sourceSize = 0, gzipSize = 0 } = mod.size;\n const isConcatenation = mod.kind === SDK.ModuleKind.Concatenation;\n\n const containedOtherModules =\n !isConcatenation &&\n parsedSize === 0 &&\n includeModules.filter(\n (e) => e !== mod && e.modules && e.modules.indexOf(mod.id) > -1,\n );\n\n return (\n <div className={styles['bundle-tree']}>\n <Popover\n content={`Open the ${basename}’s module reasons tree.`}\n placement=\"bottom\"\n >\n <div\n className={styles.box}\n onClick={() => {\n setModuleJumpList([mod.id]);\n setShow(true);\n }}\n >\n <div className={styles.keywords}>\n <Keyword ellipsis text={basename} keyword={''} />\n </div>\n <div className={styles.dividerDiv}>\n <Divider className={styles.divider} dashed />\n </div>\n </div>\n </Popover>\n <Space>\n {parsedSize !== 0 ? (\n <>\n {typeof gzipSize === 'number' ? (\n <Popover\n placement=\"bottom\"\n content={<SourceSizeTag size={sourceSize} />}\n >\n <Space direction=\"horizontal\">\n <BundledSizeTag size={parsedSize} />\n <GzippedSizeTag size={gzipSize} />\n </Space>\n </Popover>\n ) : (\n <Space direction=\"horizontal\">\n <BundledSizeTag size={parsedSize} />\n <SourceSizeTag size={sourceSize} />\n </Space>\n )}\n </>\n ) : sourceSize !== 0 ? (\n // fallback to display tag for source size\n <SourceSizeTag size={sourceSize} />\n ) : null}\n {isConcatenation ? (\n <ConcatenatedTag moduleCount={mod.modules?.length || 0} />\n ) : null}\n {containedOtherModules && containedOtherModules.length ? (\n <Tooltip\n title={\n <Space direction=\"vertical\">\n <Typography.Text style={{ color: 'inherit' }}>\n This module is concatenated into another container\n module:\n </Typography.Text>\n {containedOtherModules.map(({ id, path }) => {\n if (isJsDataUrl(path)) {\n return (\n <Typography.Paragraph\n ellipsis={{ rows: 4 }}\n key={id}\n style={{ color: 'inherit', maxWidth: '100%' }}\n code\n >\n {path}\n </Typography.Paragraph>\n );\n }\n\n const p = relative(dirname(mod.path), path);\n if (p.startsWith('javascript;charset=utf-8;base64,')) {\n return (\n <Typography.Text\n key={id}\n style={{ color: 'inherit', maxWidth: '100%' }}\n code\n >\n {p[0] === '.' ? p : `./${p}`}\n </Typography.Text>\n );\n }\n\n return (\n <Typography.Text\n key={id}\n style={{ color: 'inherit' }}\n code\n >\n {p[0] === '.' ? p : `./${p}`}\n </Typography.Text>\n );\n })}\n </Space>\n }\n >\n <Tag color=\"green\">concatenated</Tag>\n </Tooltip>\n ) : null}\n\n <ModuleCodeViewer data={mod} />\n </Space>\n </div>\n );\n },\n dirTitle(dir, defaultTitle) {\n const mods: string[] = [];\n const paths = getChildrenModule(dir, mods);\n if (paths.length) {\n // Normalize paths for comparison - convert backslashes to forward slashes\n const normalizePath = (path: string) => path.replace(/\\\\/g, '/');\n const mods = paths.map(\n (e) =>\n includeModules.find(\n (m) => normalizePath(m.path) === normalizePath(e),\n )!,\n );\n\n const parsedSize = sumBy(mods, (e) => e?.size?.parsedSize || 0);\n const sourceSize = sumBy(mods, (e) => e?.size?.sourceSize || 0);\n return (\n <div className={styles['bundle-tree']}>\n <div className={styles.box}>\n <div className={styles.keywords}>\n <Keyword ellipsis text={defaultTitle} keyword={''} />\n </div>\n <div className={styles.dividerDiv}>\n <Divider className={styles.divider} dashed />\n </div>\n </div>\n <Space>\n {parsedSize > 0 ? (\n <>\n <TotalBundledSizeTag size={parsedSize} />\n <TotalSourceSizeTag size={sourceSize} />\n </>\n ) : (\n <TotalSourceSizeTag size={sourceSize} />\n )}\n </Space>\n </div>\n );\n }\n\n return defaultTitle;\n },\n page: 'bundle',\n });\n return res;\n }, [filteredModules]);\n\n const onSearch = (value: string) => setModuleKeyword(value);\n\n useEffect(() => {\n setModuleKeyword('');\n setDefaultExpandAll(false);\n }, [asset]);\n\n useEffect(() => {\n setDefaultExpandAll(false);\n }, [moduleKeyword]);\n\n return (\n <ModuleGraphListContext.Provider\n value={{ moduleJumpList, setModuleJumpList }}\n >\n <Card\n className={styles.bundle}\n title={`Modules of \"${asset.path}\"`}\n bodyStyle={{ minHeight: height }}\n size=\"small\"\n >\n {includeModules.length ? (\n <Row>\n <Col span={24}>\n <ModulesStatistics\n modules={includeModules}\n chunks={includeChunks}\n filteredModules={filteredModules}\n />\n </Col>\n <Col span={24}>\n <Space>\n <KeywordInput\n placeholder=\"search module by keyword\"\n onChange={onSearch}\n key={asset.path}\n />\n <Button\n onClick={() => setDefaultExpandAll(true)}\n size=\"small\"\n icon={<ColumnHeightOutlined />}\n />\n </Space>\n </Col>\n <Col span={24} style={{ marginTop: Size.BasePadding }}>\n {filteredModules.length ? (\n <DirectoryTree\n key={`tree_${moduleKeyword}_${defaultExpandAll}_${asset.path}`}\n selectable={false}\n defaultExpandAll={\n defaultExpandAll || filteredModules.length <= 20\n }\n onExpand={(expandedKeys) => {\n expandedModulesKeys = expandedKeys;\n }}\n defaultExpandParent\n // @ts-ignore\n defaultExpandedKeys={\n expandedModulesKeys?.length\n ? expandedModulesKeys\n : fileStructures.length === 1\n ? [fileStructures[0].key]\n : []\n }\n treeData={fileStructures as AntdDataNode[]}\n rootStyle={{\n maxHeight: '500px',\n overflow: 'auto',\n border: '1px solid rgba(235, 237, 241)',\n padding: '14px 20px',\n }}\n />\n ) : (\n <Empty\n description={\n <Typography.Text\n strong\n >{`\"${moduleKeyword}\" can't match any modules`}</Typography.Text>\n }\n />\n )}\n </Col>\n </Row>\n ) : (\n <Empty\n description={\n <Typography.Text\n strong\n >{`\"${asset.path}\" doesn't have any modules`}</Typography.Text>\n }\n />\n )}\n\n <ModuleGraphViewer\n id={\n moduleJumpList?.length\n ? moduleJumpList[moduleJumpList.length - 1]\n : ''\n }\n show={show}\n setShow={setShow}\n cwd={root}\n />\n </Card>\n </ModuleGraphListContext.Provider>\n );\n};\n"],"names":["DirectoryTree","Tree","expandedModulesKeys","TAB_MAP","tagStyle","EmptyCodeItem","Empty","ModuleCodeViewer","data","tab","setTab","useState","t","useI18n","TAB_LAB_MAP","path","TextDrawer","Popover","CodepenCircleOutlined","ServerAPIProvider","SDK","source","Card","Object","omitBy","s","k","e","v","Typography","CodeViewer","ModuleGraphViewer","id","show","setShow","cwd","modules","ModuleAnalyzeComponent","inlinedResourcePathKey","getChildrenModule","node","mods","n","ModulesStatistics","chunks","filteredModules","sourceSize","parsedSize","filteredParsedSize","filteredSourceSize","useMemo","sumBy","Space","Tooltip","InfoCircleOutlined","Divider","formatSize","Bdg","ConcatenatedTag","moduleCount","Tag","TotalBundledSizeTag","size","BundledSizeTag","GzippedSizeTag","TotalSourceSizeTag","SourceSizeTag","AssetDetail","asset","includeChunks","includeModules","moduleSizeLimit","height","root","moduleKeyword","setModuleKeyword","defaultExpandAll","setDefaultExpandAll","moduleJumpList","setModuleJumpList","res","regexp","RegExp","fileStructures","normalizePath","createFileStructures","Boolean","file","basename","mod","gzipSize","isConcatenation","containedOtherModules","styles","Keyword","isJsDataUrl","p","relative","dirname","dir","defaultTitle","paths","m","onSearch","value","useEffect","ModuleGraphListContext","Row","Col","KeywordInput","Button","ColumnHeightOutlined","Size","expandedKeys"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/.pnpm/@rsbuild+core@2.0.3_core-js@3.47.0/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[3].use[2]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/resolve-url-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[3]!/home/runner/work/rsdoctor/rsdoctor/node_modules/.pnpm/@rsbuild+plugin-sass@1.5.2_@rsbuild+core@2.0.3_core-js@3.47.0_/node_modules/@rsbuild/plugin-sass/compiled/sass-loader/index.js??ruleSet[1].rules[10].oneOf[3].use[4]!/home/runner/work/rsdoctor/rsdoctor/packages/components/src/pages/BundleSize/components/card.module.scss","webpack://./src/pages/BundleSize/components/card.module.scss"],"names":[],"mappings":"AAAA;ECCE,sBAAsB;EACtB,mBAAmB;EACnB,mBAAmB;EACnB,eAAe;EACf,aAAa;AACf;;ADNmG;ECSjG,6BAA6B;EAC7B,WAAW;EACX,aAAa;AACf;;ADZoL;ECelL,OAAO;EACP,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;AACf;;ADnBqR;ECsBnR,sBAAsB;EACtB,uBAAuB;EACvB,cAAc;EACd,aAAa;AACf;;AD1BiX;EC6B/W,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADjCmd;ECoCjd,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;ADvC6hB;EC0C3hB,aAAa;EACb,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB;;AD9C2nB;ECiDznB,8BAA8B;EAC9B,mBAAmB;EACnB,mBAAmB;EACnB,aAAa;AACf;;ADrDutB;ECwDrtB,WAAW;EACX,eAAe;EACf,gBAAgB;EAChB,iBAAiB;AACnB","sourcesContent":[".container{display:flex;align-items:center;background-color:#fff;padding:20px 0;margin-bottom:20px}.container .chartsContainer{width:100%;display:flex;justify-content:space-evenly}.container .chartsContainer .chart{display:flex;align-items:center;justify-content:center;flex:1}.container .summary{display:flex;flex-direction:column;justify-content:center;margin:0 20px}.container .summary .description{font-size:20px;font-weight:500;line-height:32px;margin-right:5px}.container .summary .unit{font-size:12px;font-weight:400;line-height:32px}.container .summary .totalNumber{font-size:13px;font-weight:400;line-height:20px;margin:4px 0}.cardTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.cardTitle .title{font-size:14px;font-weight:500;line-height:20px;color:#000}",".container {\n background-color: #fff;\n align-items: center;\n margin-bottom: 20px;\n padding: 20px 0;\n display: flex;\n}\n\n.container .chartsContainer {\n justify-content: space-evenly;\n width: 100%;\n display: flex;\n}\n\n.container .chartsContainer .chart {\n flex: 1;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.container .summary {\n flex-direction: column;\n justify-content: center;\n margin: 0 20px;\n display: flex;\n}\n\n.container .summary .description {\n margin-right: 5px;\n font-size: 20px;\n font-weight: 500;\n line-height: 32px;\n}\n\n.container .summary .unit {\n font-size: 12px;\n font-weight: 400;\n line-height: 32px;\n}\n\n.container .summary .totalNumber {\n margin: 4px 0;\n font-size: 13px;\n font-weight: 400;\n line-height: 20px;\n}\n\n.cardTitle {\n justify-content: space-between;\n align-items: center;\n margin-bottom: 25px;\n display: flex;\n}\n\n.cardTitle .title {\n color: #000;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n"],"sourceRoot":""}
|