diff --git a/packages/canyon-report/index.html b/packages/canyon-report/index.html
index 1454e6d3..ff6f17c1 100755
--- a/packages/canyon-report/index.html
+++ b/packages/canyon-report/index.html
@@ -36,7 +36,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/useWorker.ts"
+ "path": "useWorker.ts"
},
{
"lines": {
@@ -63,7 +63,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/i18n.ts"
+ "path": "i18n.ts"
},
{
"lines": {
@@ -90,7 +90,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/card/Primary.tsx"
+ "path": "components/old-ui/components/card/Primary.tsx"
},
{
"lines": {
@@ -117,7 +117,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/card/index.ts"
+ "path": "components/old-ui/components/card/index.ts"
},
{
"lines": {
@@ -144,7 +144,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/layout/footer.tsx"
+ "path": "components/old-ui/components/layout/footer.tsx"
},
{
"lines": {
@@ -171,7 +171,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/layout/ScrollBasedLayout.tsx"
+ "path": "components/old-ui/components/layout/ScrollBasedLayout.tsx"
},
{
"lines": {
@@ -198,7 +198,7 @@
"skipped": 0,
"pct": 55.55
},
- "path": "packages/canyon-platform/src/components/old-ui/components/layout/Base.tsx"
+ "path": "components/old-ui/components/layout/Base.tsx"
},
{
"lines": {
@@ -225,7 +225,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/layout/index.ts"
+ "path": "components/old-ui/components/layout/index.ts"
},
{
"lines": {
@@ -252,7 +252,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/modal/GlobalSearch.tsx"
+ "path": "components/old-ui/components/modal/GlobalSearch.tsx"
},
{
"lines": {
@@ -279,7 +279,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/modal/index.ts"
+ "path": "components/old-ui/components/modal/index.ts"
},
{
"lines": {
@@ -306,7 +306,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/assets/icons/EpTopRight.tsx"
+ "path": "assets/icons/EpTopRight.tsx"
},
{
"lines": {
@@ -333,7 +333,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/page/login/LoginBtn.tsx"
+ "path": "components/old-ui/components/page/login/LoginBtn.tsx"
},
{
"lines": {
@@ -360,7 +360,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/old-ui/components/page/login/LoginForm.tsx"
+ "path": "components/old-ui/components/page/login/LoginForm.tsx"
},
{
"lines": {
@@ -387,7 +387,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/old-ui/components/page/login/index.tsx"
+ "path": "components/old-ui/components/page/login/index.tsx"
},
{
"lines": {
@@ -414,7 +414,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/old-ui/components/page/Oauth.tsx"
+ "path": "components/old-ui/components/page/Oauth.tsx"
},
{
"lines": {
@@ -441,7 +441,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/page/index.ts"
+ "path": "components/old-ui/components/page/index.ts"
},
{
"lines": {
@@ -468,7 +468,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/components/index.ts"
+ "path": "components/old-ui/components/index.ts"
},
{
"lines": {
@@ -495,7 +495,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/old-ui/index.ts"
+ "path": "components/old-ui/index.ts"
},
{
"lines": {
@@ -522,7 +522,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/helpers/backend/gen/graphql.ts"
+ "path": "helpers/backend/gen/graphql.ts"
},
{
"lines": {
@@ -549,7 +549,7 @@
"skipped": 0,
"pct": 73.33
},
- "path": "packages/canyon-platform/src/layouts/genBreadcrumbItems.tsx"
+ "path": "layouts/genBreadcrumbItems.tsx"
},
{
"lines": {
@@ -576,7 +576,7 @@
"skipped": 0,
"pct": 84.61
},
- "path": "packages/canyon-platform/src/layouts/genTitle.ts"
+ "path": "layouts/genTitle.ts"
},
{
"lines": {
@@ -603,7 +603,7 @@
"skipped": 0,
"pct": 83.33
},
- "path": "packages/canyon-platform/src/pages/index.tsx"
+ "path": "pages/index.tsx"
},
{
"lines": {
@@ -630,7 +630,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/reports.tsx"
+ "path": "pages/index/reports.tsx"
},
{
"lines": {
@@ -657,7 +657,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/ui/components/form/region.tsx"
+ "path": "components/ui/components/form/region.tsx"
},
{
"lines": {
@@ -684,7 +684,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/ui/components/form/index.ts"
+ "path": "components/ui/components/form/index.ts"
},
{
"lines": {
@@ -711,7 +711,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/lib/utils.ts"
+ "path": "lib/utils.ts"
},
{
"lines": {
@@ -738,7 +738,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/ui/components/typography/text.tsx"
+ "path": "components/ui/components/typography/text.tsx"
},
{
"lines": {
@@ -765,7 +765,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/ui/components/typography/index.ts"
+ "path": "components/ui/components/typography/index.ts"
},
{
"lines": {
@@ -792,7 +792,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/ui/components/index.ts"
+ "path": "components/ui/components/index.ts"
},
{
"lines": {
@@ -819,7 +819,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/ui/index.ts"
+ "path": "components/ui/index.ts"
},
{
"lines": {
@@ -846,7 +846,7 @@
"skipped": 0,
"pct": 64.81
},
- "path": "packages/canyon-platform/src/pages/index/projects/index.tsx"
+ "path": "pages/index/projects/index.tsx"
},
{
"lines": {
@@ -873,7 +873,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/projects/new.tsx"
+ "path": "pages/index/projects/new.tsx"
},
{
"lines": {
@@ -900,7 +900,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/app/CopyCode.tsx"
+ "path": "components/app/CopyCode.tsx"
},
{
"lines": {
@@ -927,7 +927,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/app/getting-started-content.ts"
+ "path": "components/app/getting-started-content.ts"
},
{
"lines": {
@@ -954,7 +954,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/getting-started.tsx"
+ "path": "pages/index/projects/[id]/getting-started.tsx"
},
{
"lines": {
@@ -981,7 +981,7 @@
"skipped": 0,
"pct": 50
},
- "path": "packages/canyon-platform/src/components/app/ProjectRecordDetailDrawer.tsx"
+ "path": "components/app/ProjectRecordDetailDrawer.tsx"
},
{
"lines": {
@@ -1008,7 +1008,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/icons/MaterialSymbolsCommitSharp.tsx"
+ "path": "components/icons/MaterialSymbolsCommitSharp.tsx"
},
{
"lines": {
@@ -1035,7 +1035,7 @@
"skipped": 0,
"pct": 61.11
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/index.tsx"
+ "path": "pages/index/projects/[id]/index.tsx"
},
{
"lines": {
@@ -1062,7 +1062,7 @@
"skipped": 0,
"pct": 62.5
},
- "path": "packages/canyon-platform/src/components/CanyonReport/PrepareProdFn.tsx"
+ "path": "components/CanyonReport/PrepareProdFn.tsx"
},
{
"lines": {
@@ -1089,7 +1089,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/components/CanyonReport/Control.tsx"
+ "path": "components/CanyonReport/Control.tsx"
},
{
"lines": {
@@ -1116,7 +1116,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/helper.tsx"
+ "path": "components/CanyonReport/helper.tsx"
},
{
"lines": {
@@ -1143,7 +1143,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/helpers/utils/getViewLineHeight.tsx"
+ "path": "helpers/utils/getViewLineHeight.tsx"
},
{
"lines": {
@@ -1170,7 +1170,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/line/coverage.tsx"
+ "path": "components/CanyonReport/line/coverage.tsx"
},
{
"lines": {
@@ -1197,7 +1197,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/line/new.tsx"
+ "path": "components/CanyonReport/line/new.tsx"
},
{
"lines": {
@@ -1224,7 +1224,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/line/number.tsx"
+ "path": "components/CanyonReport/line/number.tsx"
},
{
"lines": {
@@ -1251,7 +1251,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/ShikiDetail.tsx"
+ "path": "components/CanyonReport/ShikiDetail.tsx"
},
{
"lines": {
@@ -1278,7 +1278,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/CoverageDetail.tsx"
+ "path": "components/CanyonReport/CoverageDetail.tsx"
},
{
"lines": {
@@ -1305,7 +1305,7 @@
"skipped": 0,
"pct": 50
},
- "path": "packages/canyon-platform/src/helpers/utils/common.ts"
+ "path": "helpers/utils/common.ts"
},
{
"lines": {
@@ -1332,7 +1332,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/components/CanyonReport/ListTable.tsx"
+ "path": "components/CanyonReport/ListTable.tsx"
},
{
"lines": {
@@ -1359,7 +1359,7 @@
"skipped": 0,
"pct": 50
},
- "path": "packages/canyon-platform/src/components/CanyonReport/Overview.tsx"
+ "path": "components/CanyonReport/Overview.tsx"
},
{
"lines": {
@@ -1386,7 +1386,7 @@
"skipped": 0,
"pct": 50
},
- "path": "packages/canyon-platform/src/components/CanyonReport/TreeTable.tsx"
+ "path": "components/CanyonReport/TreeTable.tsx"
},
{
"lines": {
@@ -1413,7 +1413,7 @@
"skipped": 0,
"pct": 52.17
},
- "path": "packages/canyon-platform/src/components/CanyonReport/index.tsx"
+ "path": "components/CanyonReport/index.tsx"
},
{
"lines": {
@@ -1440,7 +1440,7 @@
"skipped": 0,
"pct": 50
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/commits/helper/index.ts"
+ "path": "pages/index/projects/[id]/commits/helper/index.ts"
},
{
"lines": {
@@ -1467,7 +1467,7 @@
"skipped": 0,
"pct": 39.28
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/commits/[sha].tsx"
+ "path": "pages/index/projects/[id]/commits/[sha].tsx"
},
{
"lines": {
@@ -1494,7 +1494,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/BasicForms.tsx"
+ "path": "pages/index/projects/[id]/configure/helper/BasicForms.tsx"
},
{
"lines": {
@@ -1521,7 +1521,7 @@
"skipped": 0,
"pct": 100
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx"
+ "path": "pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx"
},
{
"lines": {
@@ -1548,7 +1548,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/crud.tsx"
+ "path": "pages/index/projects/[id]/configure/helper/crud.tsx"
},
{
"lines": {
@@ -1575,7 +1575,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/MemberTable.tsx"
+ "path": "pages/index/projects/[id]/configure/helper/MemberTable.tsx"
},
{
"lines": {
@@ -1602,7 +1602,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/TagTable.tsx"
+ "path": "pages/index/projects/[id]/configure/helper/TagTable.tsx"
},
{
"lines": {
@@ -1629,7 +1629,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/projects/[id]/configure/index.tsx"
+ "path": "pages/index/projects/[id]/configure/index.tsx"
},
{
"lines": {
@@ -1656,7 +1656,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/helpers/gitprovider/genOAuthUrl.ts"
+ "path": "helpers/gitprovider/genOAuthUrl.ts"
},
{
"lines": {
@@ -1683,7 +1683,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/settings/components/BindGitProvider.tsx"
+ "path": "pages/index/settings/components/BindGitProvider.tsx"
},
{
"lines": {
@@ -1710,7 +1710,7 @@
"skipped": 0,
"pct": 0
},
- "path": "packages/canyon-platform/src/pages/index/settings/index.tsx"
+ "path": "pages/index/settings/index.tsx"
},
{
"lines": {
@@ -1737,7 +1737,7 @@
"skipped": 0,
"pct": 66.66
},
- "path": "packages/canyon-platform/src/App.tsx"
+ "path": "App.tsx"
},
{
"lines": {
@@ -1764,7 +1764,7 @@
"skipped": 0,
"pct": 15.38
},
- "path": "packages/canyon-platform/src/main.tsx"
+ "path": "main.tsx"
}
]
window.reportName = 'canyon'
diff --git a/packages/canyon-report/mock/dynamic-data/App.tsx.js b/packages/canyon-report/mock/dynamic-data/App.tsx.js
new file mode 100644
index 00000000..7fde3184
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/App.tsx.js
@@ -0,0 +1,229 @@
+window["App.tsx"] = {
+ "content": "import enUS from \"antd/es/locale/en_US\";\nimport jaJP from \"antd/es/locale/ja_JP\";\nimport zhCN from \"antd/es/locale/zh_CN\";\nimport { useRoutes } from \"react-router-dom\";\n\nimport routes from \"~react-pages\";\n\nconst languages = {\n cn: zhCN,\n en: enUS,\n ja: jaJP,\n};\n\nconst lng = (localStorage.getItem(\"language\") ||\n \"cn\") as keyof typeof languages;\n\nconst { darkAlgorithm } = theme;\nconst App = () => {\n const isDark = localStorage.getItem(\"theme\")\n ? localStorage.getItem(\"theme\") === \"dark\"\n : false;\n return (\n
\n \n {useRoutes(routes)}\n \n
\n );\n};\n\nexport default App;\n",
+ "coverage": {
+ "path": "App.tsx",
+ "b": {
+ "0": [
+ 8,
+ 8
+ ],
+ "1": [
+ 0,
+ 32
+ ],
+ "2": [
+ 0,
+ 32
+ ]
+ },
+ "f": {
+ "0": 32
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 8,
+ "4": 32,
+ "5": 32
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 13
+ },
+ "end": {
+ "line": 15,
+ "column": 6
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 14,
+ "column": 13
+ },
+ "end": {
+ "line": 14,
+ "column": 45
+ }
+ },
+ {
+ "start": {
+ "line": 15,
+ "column": 2
+ },
+ "end": {
+ "line": 15,
+ "column": 6
+ }
+ }
+ ],
+ "line": 14
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 17
+ },
+ "end": {
+ "line": 21,
+ "column": 11
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 20,
+ "column": 6
+ },
+ "end": {
+ "line": 20,
+ "column": 46
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 21,
+ "column": 11
+ }
+ }
+ ],
+ "line": 19
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 21
+ },
+ "end": {
+ "line": 30,
+ "column": 50
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 30,
+ "column": 30
+ },
+ "end": {
+ "line": 30,
+ "column": 45
+ }
+ },
+ {
+ "start": {
+ "line": 30,
+ "column": 48
+ },
+ "end": {
+ "line": 30,
+ "column": 50
+ }
+ }
+ ],
+ "line": 30
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 18,
+ "column": 12
+ },
+ "end": {
+ "line": 18,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 18
+ },
+ "end": {
+ "line": 37,
+ "column": 1
+ }
+ },
+ "line": 18
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 8,
+ "column": 18
+ },
+ "end": {
+ "line": 12,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 14,
+ "column": 12
+ },
+ "end": {
+ "line": 15,
+ "column": 33
+ }
+ },
+ "2": {
+ "start": {
+ "line": 17,
+ "column": 26
+ },
+ "end": {
+ "line": 17,
+ "column": 31
+ }
+ },
+ "3": {
+ "start": {
+ "line": 18,
+ "column": 12
+ },
+ "end": {
+ "line": 37,
+ "column": 1
+ }
+ },
+ "4": {
+ "start": {
+ "line": 19,
+ "column": 17
+ },
+ "end": {
+ "line": 21,
+ "column": 11
+ }
+ },
+ "5": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/assets/icons/EpTopRight.tsx.js b/packages/canyon-report/mock/dynamic-data/assets/icons/EpTopRight.tsx.js
new file mode 100644
index 00000000..0f1e6f0a
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/assets/icons/EpTopRight.tsx.js
@@ -0,0 +1,52 @@
+window["assets/icons/EpTopRight.tsx"] = {
+ "content": "// import React from 'react';\nimport type { SVGProps } from \"react\";\n\nexport function EpTopRight(props: SVGProps) {\n return (\n \n \n \n \n );\n}\n",
+ "coverage": {
+ "path": "assets/icons/EpTopRight.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "EpTopRight",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 16
+ },
+ "end": {
+ "line": 4,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 59
+ },
+ "end": {
+ "line": 23,
+ "column": 1
+ }
+ },
+ "line": 4
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/Control.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/Control.tsx.js
new file mode 100644
index 00000000..fc1b105b
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/Control.tsx.js
@@ -0,0 +1,326 @@
+window["components/CanyonReport/Control.tsx"] = {
+ "content": "import Icon, { BarsOutlined, SearchOutlined } from \"@ant-design/icons\";\nimport PrepareProdFn from \"@/components/CanyonReport/PrepareProdFn.tsx\";\nimport PhTreeView from \"@/components/CanyonReport/PhTreeView.tsx\";\nimport { Divider, SliderSingleProps } from \"antd\";\nimport { getCOlor } from \"@/helpers/utils/common.ts\";\n\nconst marks: SliderSingleProps[\"marks\"] = {\n 50: {\n style: {\n fontSize: \"10px\",\n },\n label: <>50>,\n },\n 80: {\n style: {\n fontSize: \"10px\",\n },\n label: <>80>,\n },\n};\nfunction returnPositiveNumbers(num) {\n if (num < 0) {\n return 0;\n } else {\n return num;\n }\n}\nfunction genBackground(range) {\n const a = range[0];\n const b = range[1];\n return `linear-gradient(to right, ${getCOlor(0)} 0%, ${getCOlor(0)} ${(returnPositiveNumbers(50 - a) * 100) / (b - a)}%, ${getCOlor(60)} ${(returnPositiveNumbers(50 - a) * 100) / (b - a)}%, ${getCOlor(60)} ${(returnPositiveNumbers(80 - a) * 100) / (b - a)}%, ${getCOlor(90)} ${((80 - a) * 100) / (b - a)}%, ${getCOlor(90)} 100%)`;\n}\n\nconst CanyonReportControl = ({\n numberFiles,\n onChangeOnlyChange,\n onChangeOnlyChangeKeywords,\n keywords,\n onlyChange,\n onChangeShowMode,\n onChangeRange,\n showMode,\n range,\n}) => {\n const { t } = useTranslation();\n // TODO 暂时不能删除prm\n const prm = useParams();\n // const [range, setRange] = useState([0, 100]);\n return (\n <>\n \n
\n
\n {\n onChangeShowMode(v);\n }}\n options={[\n {\n label: t(\"projects.detail.code.tree\"),\n value: \"tree\",\n icon: ,\n },\n {\n label: t(\"projects.detail.file.list\"),\n value: \"list\",\n icon: ,\n },\n ]}\n />\n\n \n {/*{numberFiles} */}\n {t(\"projects.detail.total.files\", { msg: numberFiles })}\n {/*覆盖率提升优先级列表*/}\n {/*转换生产流量为测试用例*/}\n \n \n \n
\n\n
\n
\n \n {t(\"projects.detail.only.changed\")}:{\" \"}\n \n }\n />\n
\n
\n
\n
\n 范围:\n \n {/*style={{ transform: \"translateY(10px)\" }}*/}\n
\n {\n onChangeRange(va);\n }}\n styles={{\n rail: {\n // background: `linear-gradient(to right, ${getCOlor(0)} 0%, ${getCOlor(0)} 50.00%, ${getCOlor(60)} 50.00%, ${getCOlor(60)} 80.00%, ${getCOlor(100)} 80.00%, ${getCOlor(100)} 100%)`,\n },\n track: {\n background: \"transparent\",\n // background: \"#0071c2\",\n },\n tracks: {\n // background: \"#0071c2\",\n background: genBackground(range),\n },\n }}\n />\n
\n
\n
\n
}\n placeholder={t(\"projects.detail.search.placeholder\")}\n className={\"w-[240px]\"}\n size={\"small\"}\n onChange={onChangeOnlyChangeKeywords}\n />\n
\n
\n >\n );\n};\n\nexport default CanyonReportControl;\n",
+ "coverage": {
+ "path": "components/CanyonReport/Control.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 8,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 9
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ }
+ ],
+ "line": 22
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "returnPositiveNumbers",
+ "decl": {
+ "start": {
+ "line": 21,
+ "column": 9
+ },
+ "end": {
+ "line": 21,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 1
+ }
+ },
+ "line": 21
+ },
+ "1": {
+ "name": "genBackground",
+ "decl": {
+ "start": {
+ "line": 28,
+ "column": 9
+ },
+ "end": {
+ "line": 28,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 30
+ },
+ "end": {
+ "line": 32,
+ "column": 1
+ }
+ },
+ "line": 28
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 34,
+ "column": 28
+ },
+ "end": {
+ "line": 34,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 6
+ },
+ "end": {
+ "line": 153,
+ "column": 1
+ }
+ },
+ "line": 44
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 57,
+ "column": 24
+ },
+ "end": {
+ "line": 57,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 31
+ },
+ "end": {
+ "line": 59,
+ "column": 15
+ }
+ },
+ "line": 57
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 121,
+ "column": 26
+ },
+ "end": {
+ "line": 121,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 34
+ },
+ "end": {
+ "line": 123,
+ "column": 17
+ }
+ },
+ "line": 121
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 42
+ },
+ "end": {
+ "line": 20,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "2": {
+ "start": {
+ "line": 23,
+ "column": 4
+ },
+ "end": {
+ "line": 23,
+ "column": 13
+ }
+ },
+ "3": {
+ "start": {
+ "line": 25,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 15
+ }
+ },
+ "4": {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 29,
+ "column": 20
+ }
+ },
+ "5": {
+ "start": {
+ "line": 30,
+ "column": 12
+ },
+ "end": {
+ "line": 30,
+ "column": 20
+ }
+ },
+ "6": {
+ "start": {
+ "line": 31,
+ "column": 2
+ },
+ "end": {
+ "line": 31,
+ "column": 332
+ }
+ },
+ "7": {
+ "start": {
+ "line": 34,
+ "column": 28
+ },
+ "end": {
+ "line": 153,
+ "column": 1
+ }
+ },
+ "8": {
+ "start": {
+ "line": 45,
+ "column": 16
+ },
+ "end": {
+ "line": 45,
+ "column": 32
+ }
+ },
+ "9": {
+ "start": {
+ "line": 47,
+ "column": 14
+ },
+ "end": {
+ "line": 47,
+ "column": 25
+ }
+ },
+ "10": {
+ "start": {
+ "line": 49,
+ "column": 2
+ },
+ "end": {
+ "line": 152,
+ "column": 4
+ }
+ },
+ "11": {
+ "start": {
+ "line": 58,
+ "column": 16
+ },
+ "end": {
+ "line": 58,
+ "column": 36
+ }
+ },
+ "12": {
+ "start": {
+ "line": 122,
+ "column": 18
+ },
+ "end": {
+ "line": 122,
+ "column": 36
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/CoverageDetail.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/CoverageDetail.tsx.js
new file mode 100644
index 00000000..daa84ec9
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/CoverageDetail.tsx.js
@@ -0,0 +1,287 @@
+window["components/CanyonReport/CoverageDetail.tsx"] = {
+ "content": "import { coreFn } from \"./helper.tsx\";\nimport LineCoverage from \"./line/coverage.tsx\";\nimport LineNew from \"./line/new.tsx\";\nimport LineNumber from \"./line/number.tsx\";\nimport ShikiDetail from \"./ShikiDetail.tsx\";\n\nconst CanyonReportCoverageDetail = ({ data, theme }: any) => {\n const code = data.sourcecode;\n const { lines } = coreFn(data.coverage, code);\n return (\n <>\n \n \n \n {\n if (i.executionNumber > 0) {\n return {\n covered: \"yes\",\n hits: i.executionNumber,\n };\n } else if (i.executionNumber === 0) {\n return {\n covered: \"no\",\n hits: i.executionNumber,\n };\n } else {\n return {\n covered: \"neutral\",\n hits: 0,\n };\n }\n })}\n />\n \n
\n >\n );\n};\n\nexport default CanyonReportCoverageDetail;\n",
+ "coverage": {
+ "path": "components/CanyonReport/CoverageDetail.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 16
+ },
+ "end": {
+ "line": 24,
+ "column": 36
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 24,
+ "column": 16
+ },
+ "end": {
+ "line": 24,
+ "column": 30
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 34
+ },
+ "end": {
+ "line": 24,
+ "column": 36
+ }
+ }
+ ],
+ "line": 24
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ },
+ {
+ "start": {
+ "line": 34,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ }
+ ],
+ "line": 29
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 34,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ },
+ {
+ "start": {
+ "line": 39,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ }
+ ],
+ "line": 34
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 7,
+ "column": 35
+ },
+ "end": {
+ "line": 7,
+ "column": 36
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 61
+ },
+ "end": {
+ "line": 55,
+ "column": 1
+ }
+ },
+ "line": 7
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 28,
+ "column": 28
+ },
+ "end": {
+ "line": 28,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 35
+ },
+ "end": {
+ "line": 45,
+ "column": 11
+ }
+ },
+ "line": 28
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 35
+ },
+ "end": {
+ "line": 55,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 8,
+ "column": 15
+ },
+ "end": {
+ "line": 8,
+ "column": 30
+ }
+ },
+ "2": {
+ "start": {
+ "line": 9,
+ "column": 20
+ },
+ "end": {
+ "line": 9,
+ "column": 47
+ }
+ },
+ "3": {
+ "start": {
+ "line": 10,
+ "column": 2
+ },
+ "end": {
+ "line": 54,
+ "column": 4
+ }
+ },
+ "4": {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ },
+ "5": {
+ "start": {
+ "line": 30,
+ "column": 14
+ },
+ "end": {
+ "line": 33,
+ "column": 16
+ }
+ },
+ "6": {
+ "start": {
+ "line": 34,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 13
+ }
+ },
+ "7": {
+ "start": {
+ "line": 35,
+ "column": 14
+ },
+ "end": {
+ "line": 38,
+ "column": 16
+ }
+ },
+ "8": {
+ "start": {
+ "line": 40,
+ "column": 14
+ },
+ "end": {
+ "line": 43,
+ "column": 16
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/ListTable.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/ListTable.tsx.js
new file mode 100644
index 00000000..aa77be16
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/ListTable.tsx.js
@@ -0,0 +1,415 @@
+window["components/CanyonReport/ListTable.tsx"] = {
+ "content": "import Highlighter from \"react-highlight-words\";\n\nimport { getCOlor, percent } from \"../../helpers/utils/common.ts\";\nconst CanyonReportListTable = ({\n dataSource,\n loading,\n keywords,\n onSelect,\n onlyChange,\n}) => {\n const { t } = useTranslation();\n const newlinesColumns = onlyChange\n ? [\n {\n title: t(\"projects.newlines\"),\n width: \"240px\",\n sorter: (a, b) => {\n return (\n percent(a.newlines.covered, a.newlines.total) -\n percent(b.newlines.covered, b.newlines.total)\n );\n },\n // key: 'total',\n dataIndex: [\"newlines\", \"total\"],\n render(text, record) {\n return (\n \n \n \n ({record.newlines.covered}/{record.newlines.total})\n \n \n );\n },\n },\n // {\n // title: 'covered',\n // key: 'covered',\n // dataIndex: ['summary', 'newlines', 'covered'],\n // },\n ]\n : [];\n return (\n \n
\n {\" \"}\n {\n onSelect({\n path: text,\n });\n }}\n >\n \n \n );\n },\n },\n {\n title: t(\"common.total\"),\n key: \"total\",\n dataIndex: [\"statements\", \"total\"],\n sorter(a, b) {\n return a.statements.total - b.statements.total;\n },\n },\n {\n title: t(\"common.covered\"),\n key: \"covered\",\n dataIndex: [\"statements\", \"covered\"],\n sorter(a, b) {\n return a.statements.covered - b.statements.covered;\n },\n },\n ]\n .concat(newlinesColumns)\n .concat([\n {\n title: t(\"projects.config.coverage\") + \" %\",\n width: \"300px\",\n key: \"c\",\n sorter: (a, b) => {\n return a.statements.pct - b.statements.pct;\n },\n dataIndex: [\"statements\", \"pct\"],\n render(text) {\n return (\n \n );\n },\n },\n ])}\n />\n \n \n );\n};\n\nexport default CanyonReportListTable;\n",
+ "coverage": {
+ "path": "components/CanyonReport/ListTable.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 26
+ },
+ "end": {
+ "line": 55,
+ "column": 8
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 13,
+ "column": 6
+ },
+ "end": {
+ "line": 54,
+ "column": 7
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 8
+ }
+ }
+ ],
+ "line": 12
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 30
+ },
+ "end": {
+ "line": 4,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 1
+ }
+ },
+ "line": 10
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 17,
+ "column": 18
+ },
+ "end": {
+ "line": 17,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 28
+ },
+ "end": {
+ "line": 22,
+ "column": 11
+ }
+ },
+ "line": 17
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 25,
+ "column": 10
+ },
+ "end": {
+ "line": 25,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 31
+ },
+ "end": {
+ "line": 47,
+ "column": 11
+ }
+ },
+ "line": 25
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 81,
+ "column": 14
+ },
+ "end": {
+ "line": 81,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 27
+ },
+ "end": {
+ "line": 99,
+ "column": 15
+ }
+ },
+ "line": 81
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 85,
+ "column": 29
+ },
+ "end": {
+ "line": 85,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 35
+ },
+ "end": {
+ "line": 89,
+ "column": 21
+ }
+ },
+ "line": 85
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 105,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 27
+ },
+ "end": {
+ "line": 107,
+ "column": 15
+ }
+ },
+ "line": 105
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 113,
+ "column": 14
+ },
+ "end": {
+ "line": 113,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 113,
+ "column": 27
+ },
+ "end": {
+ "line": 115,
+ "column": 15
+ }
+ },
+ "line": 113
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 124,
+ "column": 24
+ },
+ "end": {
+ "line": 124,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 34
+ },
+ "end": {
+ "line": 126,
+ "column": 17
+ }
+ },
+ "line": 124
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 128,
+ "column": 16
+ },
+ "end": {
+ "line": 128,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 128,
+ "column": 29
+ },
+ "end": {
+ "line": 139,
+ "column": 17
+ }
+ },
+ "line": 128
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 4,
+ "column": 30
+ },
+ "end": {
+ "line": 146,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 11,
+ "column": 16
+ },
+ "end": {
+ "line": 11,
+ "column": 32
+ }
+ },
+ "2": {
+ "start": {
+ "line": 12,
+ "column": 26
+ },
+ "end": {
+ "line": 55,
+ "column": 8
+ }
+ },
+ "3": {
+ "start": {
+ "line": 18,
+ "column": 12
+ },
+ "end": {
+ "line": 21,
+ "column": 14
+ }
+ },
+ "4": {
+ "start": {
+ "line": 26,
+ "column": 12
+ },
+ "end": {
+ "line": 46,
+ "column": 14
+ }
+ },
+ "5": {
+ "start": {
+ "line": 56,
+ "column": 2
+ },
+ "end": {
+ "line": 145,
+ "column": 4
+ }
+ },
+ "6": {
+ "start": {
+ "line": 82,
+ "column": 16
+ },
+ "end": {
+ "line": 98,
+ "column": 18
+ }
+ },
+ "7": {
+ "start": {
+ "line": 86,
+ "column": 22
+ },
+ "end": {
+ "line": 88,
+ "column": 25
+ }
+ },
+ "8": {
+ "start": {
+ "line": 106,
+ "column": 16
+ },
+ "end": {
+ "line": 106,
+ "column": 63
+ }
+ },
+ "9": {
+ "start": {
+ "line": 114,
+ "column": 16
+ },
+ "end": {
+ "line": 114,
+ "column": 67
+ }
+ },
+ "10": {
+ "start": {
+ "line": 125,
+ "column": 18
+ },
+ "end": {
+ "line": 125,
+ "column": 61
+ }
+ },
+ "11": {
+ "start": {
+ "line": 129,
+ "column": 18
+ },
+ "end": {
+ "line": 138,
+ "column": 20
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/Overview.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/Overview.tsx.js
new file mode 100644
index 00000000..22430521
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/Overview.tsx.js
@@ -0,0 +1,564 @@
+window["components/CanyonReport/Overview.tsx"] = {
+ "content": "import { CopyOutlined, ShareAltOutlined } from \"@ant-design/icons\";\n// @ts-ignore\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport { useSearchParams } from \"react-router-dom\";\n\nimport { getCOlor } from \"../../helpers/utils/common.ts\";\nimport { capitalizeFirstLetter } from \"./helper.tsx\";\nconst obj = {\n statements: 0,\n branches: 1,\n functions: 2,\n lines: 3,\n newlines: 4,\n};\nconst { Text } = Typography;\nconst CanyonReportOverview = ({\n activatedPath,\n pathWithNamespace,\n onSelect,\n summaryTreeItem,\n}) => {\n const [sprm] = useSearchParams();\n const { t } = useTranslation();\n return (\n \n {/*
{JSON.stringify(summaryTreeItem.summary)} */}\n
\n\n
\n {Object.entries(summaryTreeItem.summary)\n .sort((a, b) => {\n return obj[a[0]] - obj[b[0]];\n })\n .map(([key, value]) => {\n return (\n
\n \n {value.pct}%\n \n \n {t(\"projects.\" + key)}:\n \n \n {value.covered}/{value.total}\n \n
\n );\n })}\n
\n
\n
\n );\n};\n\nexport default CanyonReportOverview;\n",
+ "coverage": {
+ "path": "components/CanyonReport/Overview.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 40,
+ "column": 15
+ },
+ "end": {
+ "line": 40,
+ "column": 61
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 40,
+ "column": 38
+ },
+ "end": {
+ "line": 40,
+ "column": 54
+ }
+ },
+ {
+ "start": {
+ "line": 40,
+ "column": 57
+ },
+ "end": {
+ "line": 40,
+ "column": 61
+ }
+ }
+ ],
+ "line": 40
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 34
+ },
+ "end": {
+ "line": 47,
+ "column": 56
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 47,
+ "column": 48
+ },
+ "end": {
+ "line": 47,
+ "column": 50
+ }
+ },
+ {
+ "start": {
+ "line": 47,
+ "column": 53
+ },
+ "end": {
+ "line": 47,
+ "column": 56
+ }
+ }
+ ],
+ "line": 47
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 16
+ },
+ "end": {
+ "line": 59,
+ "column": 39
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 59,
+ "column": 16
+ },
+ "end": {
+ "line": 59,
+ "column": 29
+ }
+ },
+ {
+ "start": {
+ "line": 59,
+ "column": 33
+ },
+ "end": {
+ "line": 59,
+ "column": 39
+ }
+ }
+ ],
+ "line": 59
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 16,
+ "column": 29
+ },
+ "end": {
+ "line": 16,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 112,
+ "column": 1
+ }
+ },
+ "line": 21
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 30,
+ "column": 19
+ },
+ "end": {
+ "line": 30,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 25
+ },
+ "end": {
+ "line": 32,
+ "column": 11
+ }
+ },
+ "line": 30
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 37,
+ "column": 39
+ },
+ "end": {
+ "line": 37,
+ "column": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 58
+ },
+ "end": {
+ "line": 56,
+ "column": 9
+ }
+ },
+ "line": 37
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 43,
+ "column": 25
+ },
+ "end": {
+ "line": 43,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 31
+ },
+ "end": {
+ "line": 50,
+ "column": 17
+ }
+ },
+ "line": 43
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 45,
+ "column": 28
+ },
+ "end": {
+ "line": 45,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 43
+ },
+ "end": {
+ "line": 45,
+ "column": 61
+ }
+ },
+ "line": 45
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 46,
+ "column": 28
+ },
+ "end": {
+ "line": 46,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 45
+ },
+ "end": {
+ "line": 48,
+ "column": 21
+ }
+ },
+ "line": 46
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 60,
+ "column": 18
+ },
+ "end": {
+ "line": 60,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 24
+ },
+ "end": {
+ "line": 62,
+ "column": 11
+ }
+ },
+ "line": 60
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 18
+ },
+ "end": {
+ "line": 71,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 24
+ },
+ "end": {
+ "line": 73,
+ "column": 11
+ }
+ },
+ "line": 71
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 85,
+ "column": 16
+ },
+ "end": {
+ "line": 85,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 26
+ },
+ "end": {
+ "line": 87,
+ "column": 11
+ }
+ },
+ "line": 85
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 88,
+ "column": 15
+ },
+ "end": {
+ "line": 88,
+ "column": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 33
+ },
+ "end": {
+ "line": 102,
+ "column": 11
+ }
+ },
+ "line": 88
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 8,
+ "column": 12
+ },
+ "end": {
+ "line": 14,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 15,
+ "column": 17
+ },
+ "end": {
+ "line": 15,
+ "column": 27
+ }
+ },
+ "2": {
+ "start": {
+ "line": 16,
+ "column": 29
+ },
+ "end": {
+ "line": 112,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 22,
+ "column": 17
+ },
+ "end": {
+ "line": 22,
+ "column": 34
+ }
+ },
+ "4": {
+ "start": {
+ "line": 23,
+ "column": 16
+ },
+ "end": {
+ "line": 23,
+ "column": 32
+ }
+ },
+ "5": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 111,
+ "column": 4
+ }
+ },
+ "6": {
+ "start": {
+ "line": 31,
+ "column": 12
+ },
+ "end": {
+ "line": 31,
+ "column": 35
+ }
+ },
+ "7": {
+ "start": {
+ "line": 38,
+ "column": 10
+ },
+ "end": {
+ "line": 55,
+ "column": 12
+ }
+ },
+ "8": {
+ "start": {
+ "line": 44,
+ "column": 34
+ },
+ "end": {
+ "line": 48,
+ "column": 26
+ }
+ },
+ "9": {
+ "start": {
+ "line": 45,
+ "column": 43
+ },
+ "end": {
+ "line": 45,
+ "column": 61
+ }
+ },
+ "10": {
+ "start": {
+ "line": 47,
+ "column": 22
+ },
+ "end": {
+ "line": 47,
+ "column": 62
+ }
+ },
+ "11": {
+ "start": {
+ "line": 49,
+ "column": 18
+ },
+ "end": {
+ "line": 49,
+ "column": 46
+ }
+ },
+ "12": {
+ "start": {
+ "line": 61,
+ "column": 12
+ },
+ "end": {
+ "line": 61,
+ "column": 38
+ }
+ },
+ "13": {
+ "start": {
+ "line": 72,
+ "column": 12
+ },
+ "end": {
+ "line": 72,
+ "column": 40
+ }
+ },
+ "14": {
+ "start": {
+ "line": 86,
+ "column": 12
+ },
+ "end": {
+ "line": 86,
+ "column": 41
+ }
+ },
+ "15": {
+ "start": {
+ "line": 89,
+ "column": 12
+ },
+ "end": {
+ "line": 101,
+ "column": 14
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/PhTreeView.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/PhTreeView.tsx.js
new file mode 100644
index 00000000..59ff0935
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/PhTreeView.tsx.js
@@ -0,0 +1,52 @@
+window["components/CanyonReport/PhTreeView.tsx"] = {
+ "content": "import type { SVGProps } from \"react\";\n\nexport default function PhTreeView(props: SVGProps) {\n return (\n \n \n \n );\n}\n",
+ "coverage": {
+ "path": "components/CanyonReport/PhTreeView.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "PhTreeView",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 24
+ },
+ "end": {
+ "line": 3,
+ "column": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 67
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "line": 3
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 17,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/PrepareProdFn.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/PrepareProdFn.tsx.js
new file mode 100644
index 00000000..7825f203
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/PrepareProdFn.tsx.js
@@ -0,0 +1,606 @@
+window["components/CanyonReport/PrepareProdFn.tsx"] = {
+ "content": "import React, { useState } from \"react\";\nimport { Alert, Button, Drawer } from \"antd\";\nimport { Editor } from \"@monaco-editor/react\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\n\nconst PrepareProdFn: React.FC = () => {\n const [open, setOpen] = useState(false);\n const prm = useParams();\n const [spams] = useSearchParams();\n const { data, loading, run } = useRequest(\n () =>\n axios\n .post(\n atob(`aHR0cHM6Ly90cmlwY2FueW9uLmZ3cy5xYS5udC5jdHJpcGNvcnAuY29t`) +\n \"/api/coverage/prepareProdFn\",\n {\n projectID: prm.id,\n sha: prm.sha,\n username: localStorage.getItem(\"username\"),\n path: spams.get(\"path\"),\n },\n )\n .then(({ data }) => data),\n {\n manual: true,\n },\n );\n\n const {\n data: da1,\n run: run1,\n loading: loading1,\n } = useRequest(\n () =>\n axios\n .post(\n atob(`aHR0cHM6Ly90cmlwY2FueW9uLmZ3cy5xYS5udC5jdHJpcGNvcnAuY29t`) +\n \"/flytest-api-ctrip-coffeebean-transfer/api/task/triggerPullTrafficByFn\",\n data,\n )\n .then(({ data }) => data),\n {\n manual: true,\n onSuccess() {\n message.success(\"开始转换,请留意后续Flybirds消息推送\");\n },\n },\n );\n\n const showDrawer = () => {\n setOpen(true);\n };\n\n const onClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n if (open) {\n run();\n }\n }, [open]);\n\n return (\n <>\n {[\n \"tripgl-37885-auto\",\n \"tripgl-62594-auto\",\n \"tripgl-108960-auto\",\n ].includes(prm.id || \"\") && (\n \n 转换生产流量为测试用例\n \n )}\n\n \n \n \n 确认转换\n \n
\n \n
\n \n \n \n >\n );\n};\n\nexport default PrepareProdFn;\n",
+ "coverage": {
+ "path": "components/CanyonReport/PrepareProdFn.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 4
+ },
+ "end": {
+ "line": 62,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 60,
+ "column": 4
+ },
+ "end": {
+ "line": 62,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 60
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 7
+ },
+ "end": {
+ "line": 75,
+ "column": 7
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 67,
+ "column": 7
+ },
+ "end": {
+ "line": 71,
+ "column": 30
+ }
+ },
+ {
+ "start": {
+ "line": 72,
+ "column": 8
+ },
+ "end": {
+ "line": 74,
+ "column": 17
+ }
+ }
+ ],
+ "line": 67
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 17
+ },
+ "end": {
+ "line": 71,
+ "column": 29
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 71,
+ "column": 17
+ },
+ "end": {
+ "line": 71,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 71,
+ "column": 27
+ },
+ "end": {
+ "line": 71,
+ "column": 29
+ }
+ }
+ ],
+ "line": 71
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 34
+ },
+ "end": {
+ "line": 97,
+ "column": 44
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 97,
+ "column": 34
+ },
+ "end": {
+ "line": 97,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 97,
+ "column": 42
+ },
+ "end": {
+ "line": 97,
+ "column": 44
+ }
+ }
+ ],
+ "line": 97
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 7,
+ "column": 32
+ },
+ "end": {
+ "line": 7,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 38
+ },
+ "end": {
+ "line": 104,
+ "column": 1
+ }
+ },
+ "line": 7
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 4
+ },
+ "end": {
+ "line": 12,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 33
+ }
+ },
+ "line": 13
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 24,
+ "column": 14
+ },
+ "end": {
+ "line": 24,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 28
+ },
+ "end": {
+ "line": 24,
+ "column": 32
+ }
+ },
+ "line": 24
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 35,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 6
+ },
+ "end": {
+ "line": 42,
+ "column": 33
+ }
+ },
+ "line": 36
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 28
+ },
+ "end": {
+ "line": 42,
+ "column": 32
+ }
+ },
+ "line": 42
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 45,
+ "column": 6
+ },
+ "end": {
+ "line": 45,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 18
+ },
+ "end": {
+ "line": 47,
+ "column": 7
+ }
+ },
+ "line": 45
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 51,
+ "column": 21
+ },
+ "end": {
+ "line": 51,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 27
+ },
+ "end": {
+ "line": 53,
+ "column": 3
+ }
+ },
+ "line": 51
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 55,
+ "column": 18
+ },
+ "end": {
+ "line": 55,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 24
+ },
+ "end": {
+ "line": 57,
+ "column": 3
+ }
+ },
+ "line": 55
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 59,
+ "column": 12
+ },
+ "end": {
+ "line": 59,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 18
+ },
+ "end": {
+ "line": 63,
+ "column": 3
+ }
+ },
+ "line": 59
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 32
+ },
+ "end": {
+ "line": 104,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 8,
+ "column": 26
+ },
+ "end": {
+ "line": 8,
+ "column": 41
+ }
+ },
+ "2": {
+ "start": {
+ "line": 9,
+ "column": 14
+ },
+ "end": {
+ "line": 9,
+ "column": 25
+ }
+ },
+ "3": {
+ "start": {
+ "line": 10,
+ "column": 18
+ },
+ "end": {
+ "line": 10,
+ "column": 35
+ }
+ },
+ "4": {
+ "start": {
+ "line": 11,
+ "column": 33
+ },
+ "end": {
+ "line": 28,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 6
+ },
+ "end": {
+ "line": 24,
+ "column": 33
+ }
+ },
+ "6": {
+ "start": {
+ "line": 24,
+ "column": 28
+ },
+ "end": {
+ "line": 24,
+ "column": 32
+ }
+ },
+ "7": {
+ "start": {
+ "line": 34,
+ "column": 6
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 36,
+ "column": 6
+ },
+ "end": {
+ "line": 42,
+ "column": 33
+ }
+ },
+ "9": {
+ "start": {
+ "line": 42,
+ "column": 28
+ },
+ "end": {
+ "line": 42,
+ "column": 32
+ }
+ },
+ "10": {
+ "start": {
+ "line": 46,
+ "column": 8
+ },
+ "end": {
+ "line": 46,
+ "column": 50
+ }
+ },
+ "11": {
+ "start": {
+ "line": 51,
+ "column": 21
+ },
+ "end": {
+ "line": 53,
+ "column": 3
+ }
+ },
+ "12": {
+ "start": {
+ "line": 52,
+ "column": 4
+ },
+ "end": {
+ "line": 52,
+ "column": 18
+ }
+ },
+ "13": {
+ "start": {
+ "line": 55,
+ "column": 18
+ },
+ "end": {
+ "line": 57,
+ "column": 3
+ }
+ },
+ "14": {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 19
+ }
+ },
+ "15": {
+ "start": {
+ "line": 59,
+ "column": 2
+ },
+ "end": {
+ "line": 63,
+ "column": 13
+ }
+ },
+ "16": {
+ "start": {
+ "line": 60,
+ "column": 4
+ },
+ "end": {
+ "line": 62,
+ "column": 5
+ }
+ },
+ "17": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 12
+ }
+ },
+ "18": {
+ "start": {
+ "line": 65,
+ "column": 2
+ },
+ "end": {
+ "line": 103,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/ShikiDetail.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/ShikiDetail.tsx.js
new file mode 100644
index 00000000..1e0f8770
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/ShikiDetail.tsx.js
@@ -0,0 +1,1552 @@
+window["components/CanyonReport/ShikiDetail.tsx"] = {
+ "content": "import { mergeIntervals } from \"./helper.tsx\";\nimport { createHighlighterCoreInstance } from \"@/components/CanyonReport/loadShiki.ts\";\n\nconst ShikiDetail = ({ defaultValue, filecoverage, theme }) => {\n const [content, setContent] = useState(\"\");\n\n const statementStats = filecoverage.s;\n const statementMeta = filecoverage.statementMap;\n const structuredText = defaultValue\n .split(\"\\n\")\n .reduce((previousValue, currentValue, currentIndex) => {\n return {\n ...previousValue,\n [currentIndex]: currentValue,\n };\n }, {});\n const statementDecorations = [];\n\n Object.entries(statementStats).forEach(([stName, count]) => {\n const meta = statementMeta[stName];\n if (meta) {\n const type = count > 0 ? \"yes\" : \"no\";\n const startCol = meta.start.column;\n let endCol = meta.end.column + 1;\n const startLine = meta.start.line;\n const endLine = meta.end.line;\n\n if (type === \"no\" && structuredText[startLine]) {\n if (endLine !== startLine) {\n endCol = structuredText[startLine].length;\n }\n // 转化为字符的起始\n\n let start = 0;\n let end = 0;\n\n for (let i = 0; i < startLine - 1; i++) {\n start += structuredText[i].length + 1;\n }\n for (let i = 0; i < endLine - 1; i++) {\n end += structuredText[i].length + 1;\n }\n\n start += startCol;\n end += endCol;\n statementDecorations.push([start, end]);\n }\n }\n });\n\n const fnDecorations = [];\n const fnStats = filecoverage.f;\n const fnMeta = filecoverage.fnMap;\n Object.entries(fnStats).forEach(([fName, count]) => {\n const meta = fnMeta[fName];\n if (meta) {\n const type = count > 0 ? \"yes\" : \"no\";\n // Some versions of the instrumenter in the wild populate 'func'\n // but not 'decl':\n const decl = meta.decl || meta.loc;\n const startCol = decl.start.column;\n let endCol = decl.end.column + 1;\n const startLine = decl.start.line;\n const endLine = decl.end.line;\n\n if (type === \"no\" && structuredText[startLine]) {\n if (endLine !== startLine) {\n endCol = structuredText[startLine].length;\n }\n\n // 转化为字符的起始\n\n let start = 0;\n let end = 0;\n\n for (let i = 0; i < startLine - 1; i++) {\n start += structuredText[i].length + 1;\n }\n for (let i = 0; i < endLine - 1; i++) {\n end += structuredText[i].length + 1;\n }\n\n start += startCol;\n end += endCol;\n fnDecorations.push([start, end]);\n }\n }\n });\n\n useEffect(() => {\n createHighlighterCoreInstance().then(({ codeToHtml }) => {\n try {\n const res = codeToHtml(defaultValue, {\n lang: \"javascript\",\n theme: theme === \"light\" ? \"light-plus\" : \"tokyo-night\",\n decorations: mergeIntervals(\n [...statementDecorations, ...fnDecorations].filter((item) => {\n // defaultValue\n if (item[0] >= item[1]) {\n return false;\n } else if (item[1] > defaultValue.length) {\n return false;\n } else {\n return item[0] < item[1];\n }\n }),\n ).map(([start, end]) => {\n return {\n start,\n end,\n properties: { class: \"content-class-no-found\" },\n };\n }),\n });\n setContent(res);\n } catch (err) {\n console.log(\"覆盖率着色失败\", err);\n const r = codeToHtml(defaultValue, {\n lang: \"javascript\",\n theme: theme === \"light\" ? \"light-plus\" : \"tokyo-night\",\n });\n\n setContent(r);\n }\n });\n }, []);\n\n return (\n \n );\n};\n\nexport default ShikiDetail;\n",
+ "coverage": {
+ "path": "components/CanyonReport/ShikiDetail.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ],
+ "6": [
+ 0,
+ 0
+ ],
+ "7": [
+ 0,
+ 0
+ ],
+ "8": [
+ 0,
+ 0
+ ],
+ "9": [
+ 0,
+ 0
+ ],
+ "10": [
+ 0,
+ 0
+ ],
+ "11": [
+ 0,
+ 0
+ ],
+ "12": [
+ 0,
+ 0
+ ],
+ "13": [
+ 0,
+ 0
+ ],
+ "14": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0,
+ "25": 0,
+ "26": 0,
+ "27": 0,
+ "28": 0,
+ "29": 0,
+ "30": 0,
+ "31": 0,
+ "32": 0,
+ "33": 0,
+ "34": 0,
+ "35": 0,
+ "36": 0,
+ "37": 0,
+ "38": 0,
+ "39": 0,
+ "40": 0,
+ "41": 0,
+ "42": 0,
+ "43": 0,
+ "44": 0,
+ "45": 0,
+ "46": 0,
+ "47": 0,
+ "48": 0,
+ "49": 0,
+ "50": 0,
+ "51": 0,
+ "52": 0,
+ "53": 0,
+ "54": 0,
+ "55": 0,
+ "56": 0,
+ "57": 0,
+ "58": 0,
+ "59": 0,
+ "60": 0,
+ "61": 0,
+ "62": 0,
+ "63": 0,
+ "64": 0,
+ "65": 0,
+ "66": 0,
+ "67": 0,
+ "68": 0,
+ "69": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 4
+ },
+ "end": {
+ "line": 48,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 4
+ },
+ "end": {
+ "line": 48,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 19
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 22,
+ "column": 31
+ },
+ "end": {
+ "line": 22,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 22,
+ "column": 39
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ }
+ ],
+ "line": 22
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 47,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 47,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 28
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 10
+ },
+ "end": {
+ "line": 28,
+ "column": 52
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 10
+ },
+ "end": {
+ "line": 28,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 27
+ },
+ "end": {
+ "line": 28,
+ "column": 52
+ }
+ }
+ ],
+ "line": 28
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 8
+ },
+ "end": {
+ "line": 31,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 8
+ },
+ "end": {
+ "line": 31,
+ "column": 9
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 29
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 87,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 87,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 56
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 19
+ },
+ "end": {
+ "line": 57,
+ "column": 43
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 57,
+ "column": 31
+ },
+ "end": {
+ "line": 57,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 57,
+ "column": 39
+ },
+ "end": {
+ "line": 57,
+ "column": 43
+ }
+ }
+ ],
+ "line": 57
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 19
+ },
+ "end": {
+ "line": 60,
+ "column": 40
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 60,
+ "column": 19
+ },
+ "end": {
+ "line": 60,
+ "column": 28
+ }
+ },
+ {
+ "start": {
+ "line": 60,
+ "column": 32
+ },
+ "end": {
+ "line": 60,
+ "column": 40
+ }
+ }
+ ],
+ "line": 60
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 6
+ },
+ "end": {
+ "line": 86,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 66,
+ "column": 6
+ },
+ "end": {
+ "line": 86,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 66
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 10
+ },
+ "end": {
+ "line": 66,
+ "column": 52
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 66,
+ "column": 10
+ },
+ "end": {
+ "line": 66,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 66,
+ "column": 27
+ },
+ "end": {
+ "line": 66,
+ "column": 52
+ }
+ }
+ ],
+ "line": 66
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 9
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 67
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 17
+ },
+ "end": {
+ "line": 95,
+ "column": 65
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 95,
+ "column": 37
+ },
+ "end": {
+ "line": 95,
+ "column": 49
+ }
+ },
+ {
+ "start": {
+ "line": 95,
+ "column": 52
+ },
+ "end": {
+ "line": 95,
+ "column": 65
+ }
+ }
+ ],
+ "line": 95
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 99,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ {
+ "start": {
+ "line": 101,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ }
+ ],
+ "line": 99
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 101,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ {
+ "start": {
+ "line": 103,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ }
+ ],
+ "line": 101
+ },
+ "14": {
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 17
+ },
+ "end": {
+ "line": 120,
+ "column": 65
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 120,
+ "column": 37
+ },
+ "end": {
+ "line": 120,
+ "column": 49
+ }
+ },
+ {
+ "start": {
+ "line": 120,
+ "column": 52
+ },
+ "end": {
+ "line": 120,
+ "column": 65
+ }
+ }
+ ],
+ "line": 120
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 20
+ },
+ "end": {
+ "line": 4,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 63
+ },
+ "end": {
+ "line": 133,
+ "column": 1
+ }
+ },
+ "line": 4
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 11,
+ "column": 12
+ },
+ "end": {
+ "line": 11,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 59
+ },
+ "end": {
+ "line": 16,
+ "column": 5
+ }
+ },
+ "line": 11
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 19,
+ "column": 41
+ },
+ "end": {
+ "line": 19,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 62
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ },
+ "line": 19
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 54,
+ "column": 34
+ },
+ "end": {
+ "line": 54,
+ "column": 35
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 54
+ },
+ "end": {
+ "line": 88,
+ "column": 3
+ }
+ },
+ "line": 54
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 90,
+ "column": 12
+ },
+ "end": {
+ "line": 90,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 18
+ },
+ "end": {
+ "line": 126,
+ "column": 3
+ }
+ },
+ "line": 90
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 91,
+ "column": 41
+ },
+ "end": {
+ "line": 91,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 61
+ },
+ "end": {
+ "line": 125,
+ "column": 5
+ }
+ },
+ "line": 91
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 97,
+ "column": 63
+ },
+ "end": {
+ "line": 97,
+ "column": 64
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 73
+ },
+ "end": {
+ "line": 106,
+ "column": 13
+ }
+ },
+ "line": 97
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 107,
+ "column": 16
+ },
+ "end": {
+ "line": 107,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 34
+ },
+ "end": {
+ "line": 113,
+ "column": 11
+ }
+ },
+ "line": 107
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 4,
+ "column": 20
+ },
+ "end": {
+ "line": 133,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 5,
+ "column": 32
+ },
+ "end": {
+ "line": 5,
+ "column": 44
+ }
+ },
+ "2": {
+ "start": {
+ "line": 7,
+ "column": 25
+ },
+ "end": {
+ "line": 7,
+ "column": 39
+ }
+ },
+ "3": {
+ "start": {
+ "line": 8,
+ "column": 24
+ },
+ "end": {
+ "line": 8,
+ "column": 49
+ }
+ },
+ "4": {
+ "start": {
+ "line": 9,
+ "column": 25
+ },
+ "end": {
+ "line": 16,
+ "column": 10
+ }
+ },
+ "5": {
+ "start": {
+ "line": 12,
+ "column": 6
+ },
+ "end": {
+ "line": 15,
+ "column": 8
+ }
+ },
+ "6": {
+ "start": {
+ "line": 17,
+ "column": 31
+ },
+ "end": {
+ "line": 17,
+ "column": 33
+ }
+ },
+ "7": {
+ "start": {
+ "line": 19,
+ "column": 2
+ },
+ "end": {
+ "line": 49,
+ "column": 5
+ }
+ },
+ "8": {
+ "start": {
+ "line": 20,
+ "column": 17
+ },
+ "end": {
+ "line": 20,
+ "column": 38
+ }
+ },
+ "9": {
+ "start": {
+ "line": 21,
+ "column": 4
+ },
+ "end": {
+ "line": 48,
+ "column": 5
+ }
+ },
+ "10": {
+ "start": {
+ "line": 22,
+ "column": 19
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ },
+ "11": {
+ "start": {
+ "line": 23,
+ "column": 23
+ },
+ "end": {
+ "line": 23,
+ "column": 40
+ }
+ },
+ "12": {
+ "start": {
+ "line": 24,
+ "column": 19
+ },
+ "end": {
+ "line": 24,
+ "column": 38
+ }
+ },
+ "13": {
+ "start": {
+ "line": 25,
+ "column": 24
+ },
+ "end": {
+ "line": 25,
+ "column": 39
+ }
+ },
+ "14": {
+ "start": {
+ "line": 26,
+ "column": 22
+ },
+ "end": {
+ "line": 26,
+ "column": 35
+ }
+ },
+ "15": {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 47,
+ "column": 7
+ }
+ },
+ "16": {
+ "start": {
+ "line": 29,
+ "column": 8
+ },
+ "end": {
+ "line": 31,
+ "column": 9
+ }
+ },
+ "17": {
+ "start": {
+ "line": 30,
+ "column": 10
+ },
+ "end": {
+ "line": 30,
+ "column": 52
+ }
+ },
+ "18": {
+ "start": {
+ "line": 34,
+ "column": 20
+ },
+ "end": {
+ "line": 34,
+ "column": 21
+ }
+ },
+ "19": {
+ "start": {
+ "line": 35,
+ "column": 18
+ },
+ "end": {
+ "line": 35,
+ "column": 19
+ }
+ },
+ "20": {
+ "start": {
+ "line": 37,
+ "column": 8
+ },
+ "end": {
+ "line": 39,
+ "column": 9
+ }
+ },
+ "21": {
+ "start": {
+ "line": 37,
+ "column": 21
+ },
+ "end": {
+ "line": 37,
+ "column": 22
+ }
+ },
+ "22": {
+ "start": {
+ "line": 38,
+ "column": 10
+ },
+ "end": {
+ "line": 38,
+ "column": 48
+ }
+ },
+ "23": {
+ "start": {
+ "line": 40,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 9
+ }
+ },
+ "24": {
+ "start": {
+ "line": 40,
+ "column": 21
+ },
+ "end": {
+ "line": 40,
+ "column": 22
+ }
+ },
+ "25": {
+ "start": {
+ "line": 41,
+ "column": 10
+ },
+ "end": {
+ "line": 41,
+ "column": 46
+ }
+ },
+ "26": {
+ "start": {
+ "line": 44,
+ "column": 8
+ },
+ "end": {
+ "line": 44,
+ "column": 26
+ }
+ },
+ "27": {
+ "start": {
+ "line": 45,
+ "column": 8
+ },
+ "end": {
+ "line": 45,
+ "column": 22
+ }
+ },
+ "28": {
+ "start": {
+ "line": 46,
+ "column": 8
+ },
+ "end": {
+ "line": 46,
+ "column": 48
+ }
+ },
+ "29": {
+ "start": {
+ "line": 51,
+ "column": 24
+ },
+ "end": {
+ "line": 51,
+ "column": 26
+ }
+ },
+ "30": {
+ "start": {
+ "line": 52,
+ "column": 18
+ },
+ "end": {
+ "line": 52,
+ "column": 32
+ }
+ },
+ "31": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 35
+ }
+ },
+ "32": {
+ "start": {
+ "line": 54,
+ "column": 2
+ },
+ "end": {
+ "line": 88,
+ "column": 5
+ }
+ },
+ "33": {
+ "start": {
+ "line": 55,
+ "column": 17
+ },
+ "end": {
+ "line": 55,
+ "column": 30
+ }
+ },
+ "34": {
+ "start": {
+ "line": 56,
+ "column": 4
+ },
+ "end": {
+ "line": 87,
+ "column": 5
+ }
+ },
+ "35": {
+ "start": {
+ "line": 57,
+ "column": 19
+ },
+ "end": {
+ "line": 57,
+ "column": 43
+ }
+ },
+ "36": {
+ "start": {
+ "line": 60,
+ "column": 19
+ },
+ "end": {
+ "line": 60,
+ "column": 40
+ }
+ },
+ "37": {
+ "start": {
+ "line": 61,
+ "column": 23
+ },
+ "end": {
+ "line": 61,
+ "column": 40
+ }
+ },
+ "38": {
+ "start": {
+ "line": 62,
+ "column": 19
+ },
+ "end": {
+ "line": 62,
+ "column": 38
+ }
+ },
+ "39": {
+ "start": {
+ "line": 63,
+ "column": 24
+ },
+ "end": {
+ "line": 63,
+ "column": 39
+ }
+ },
+ "40": {
+ "start": {
+ "line": 64,
+ "column": 22
+ },
+ "end": {
+ "line": 64,
+ "column": 35
+ }
+ },
+ "41": {
+ "start": {
+ "line": 66,
+ "column": 6
+ },
+ "end": {
+ "line": 86,
+ "column": 7
+ }
+ },
+ "42": {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 9
+ }
+ },
+ "43": {
+ "start": {
+ "line": 68,
+ "column": 10
+ },
+ "end": {
+ "line": 68,
+ "column": 52
+ }
+ },
+ "44": {
+ "start": {
+ "line": 73,
+ "column": 20
+ },
+ "end": {
+ "line": 73,
+ "column": 21
+ }
+ },
+ "45": {
+ "start": {
+ "line": 74,
+ "column": 18
+ },
+ "end": {
+ "line": 74,
+ "column": 19
+ }
+ },
+ "46": {
+ "start": {
+ "line": 76,
+ "column": 8
+ },
+ "end": {
+ "line": 78,
+ "column": 9
+ }
+ },
+ "47": {
+ "start": {
+ "line": 76,
+ "column": 21
+ },
+ "end": {
+ "line": 76,
+ "column": 22
+ }
+ },
+ "48": {
+ "start": {
+ "line": 77,
+ "column": 10
+ },
+ "end": {
+ "line": 77,
+ "column": 48
+ }
+ },
+ "49": {
+ "start": {
+ "line": 79,
+ "column": 8
+ },
+ "end": {
+ "line": 81,
+ "column": 9
+ }
+ },
+ "50": {
+ "start": {
+ "line": 79,
+ "column": 21
+ },
+ "end": {
+ "line": 79,
+ "column": 22
+ }
+ },
+ "51": {
+ "start": {
+ "line": 80,
+ "column": 10
+ },
+ "end": {
+ "line": 80,
+ "column": 46
+ }
+ },
+ "52": {
+ "start": {
+ "line": 83,
+ "column": 8
+ },
+ "end": {
+ "line": 83,
+ "column": 26
+ }
+ },
+ "53": {
+ "start": {
+ "line": 84,
+ "column": 8
+ },
+ "end": {
+ "line": 84,
+ "column": 22
+ }
+ },
+ "54": {
+ "start": {
+ "line": 85,
+ "column": 8
+ },
+ "end": {
+ "line": 85,
+ "column": 41
+ }
+ },
+ "55": {
+ "start": {
+ "line": 90,
+ "column": 2
+ },
+ "end": {
+ "line": 126,
+ "column": 9
+ }
+ },
+ "56": {
+ "start": {
+ "line": 91,
+ "column": 4
+ },
+ "end": {
+ "line": 125,
+ "column": 7
+ }
+ },
+ "57": {
+ "start": {
+ "line": 92,
+ "column": 6
+ },
+ "end": {
+ "line": 124,
+ "column": 7
+ }
+ },
+ "58": {
+ "start": {
+ "line": 93,
+ "column": 20
+ },
+ "end": {
+ "line": 114,
+ "column": 10
+ }
+ },
+ "59": {
+ "start": {
+ "line": 99,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ "60": {
+ "start": {
+ "line": 100,
+ "column": 16
+ },
+ "end": {
+ "line": 100,
+ "column": 29
+ }
+ },
+ "61": {
+ "start": {
+ "line": 101,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ "62": {
+ "start": {
+ "line": 102,
+ "column": 16
+ },
+ "end": {
+ "line": 102,
+ "column": 29
+ }
+ },
+ "63": {
+ "start": {
+ "line": 104,
+ "column": 16
+ },
+ "end": {
+ "line": 104,
+ "column": 41
+ }
+ },
+ "64": {
+ "start": {
+ "line": 108,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 14
+ }
+ },
+ "65": {
+ "start": {
+ "line": 115,
+ "column": 8
+ },
+ "end": {
+ "line": 115,
+ "column": 24
+ }
+ },
+ "66": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 117,
+ "column": 36
+ }
+ },
+ "67": {
+ "start": {
+ "line": 118,
+ "column": 18
+ },
+ "end": {
+ "line": 121,
+ "column": 10
+ }
+ },
+ "68": {
+ "start": {
+ "line": 123,
+ "column": 8
+ },
+ "end": {
+ "line": 123,
+ "column": 22
+ }
+ },
+ "69": {
+ "start": {
+ "line": 128,
+ "column": 2
+ },
+ "end": {
+ "line": 132,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/TreeTable.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/TreeTable.tsx.js
new file mode 100644
index 00000000..64622d5f
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/TreeTable.tsx.js
@@ -0,0 +1,495 @@
+window["components/CanyonReport/TreeTable.tsx"] = {
+ "content": "import { FileOutlined, FolderFilled } from \"@ant-design/icons\";\n\nimport { getCOlor, percent } from \"../../helpers/utils/common.ts\";\nimport { checkSuffix } from \"./helper.tsx\";\n\nconst CanyonReportTreeTable = ({\n dataSource,\n loading,\n activatedPath,\n onSelect,\n onlyChange,\n}) => {\n const { t } = useTranslation();\n const newlinesColumns = onlyChange\n ? [\n {\n title: t(\"projects.newlines\"),\n width: \"200px\",\n sorter: (a, b) => {\n return a.summary.newlines.pct - b.summary.newlines.pct;\n },\n dataIndex: [\"summary\", \"newlines\", \"total\"],\n render(text, record) {\n return (\n \n \n \n ({record.summary.newlines.covered}/\n {record.summary.newlines.total})\n \n {/*{record.summary.newlines.covered}%*/}\n \n );\n },\n },\n ]\n : [];\n // const newlinesColumns = [];\n return (\n \n
\n {\n // return {\n // onClick: (event) => {\n // console.log(record);\n // onSelect(record);\n // }, // click row\n // };\n // }}\n columns={[\n {\n title: t(\"projects.detail.files\"),\n key: \"path\",\n dataIndex: \"path\",\n render(text, record) {\n return (\n {\n onSelect(record);\n }}\n >\n {text.includes(\".\") && checkSuffix(text) ? (\n \n ) : (\n \n )}\n {text.split(\"/\").at(-1)}\n \n );\n },\n },\n\n {\n title: t(\"common.total\"),\n key: \"total\",\n dataIndex: [\"summary\", \"statements\", \"total\"],\n sorter(a, b) {\n return a.summary.statements.total - b.summary.statements.total;\n },\n },\n {\n title: t(\"common.covered\"),\n key: \"covered\",\n dataIndex: [\"summary\", \"statements\", \"covered\"],\n sorter(a, b) {\n return (\n a.summary.statements.covered - b.summary.statements.covered\n );\n },\n },\n ]\n .concat(newlinesColumns)\n .concat([\n {\n title: t(\"projects.config.coverage\") + \" %\",\n width: \"300px\",\n key: \"c\",\n dataIndex: [\"summary\", \"statements\", \"pct\"],\n sorter(a, b) {\n return a.summary.statements.pct - b.summary.statements.pct;\n },\n render(text) {\n return (\n \n );\n },\n },\n ])}\n />\n \n \n );\n};\n\nexport default CanyonReportTreeTable;\n",
+ "coverage": {
+ "path": "components/CanyonReport/TreeTable.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 26
+ },
+ "end": {
+ "line": 45,
+ "column": 8
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 44,
+ "column": 7
+ }
+ },
+ {
+ "start": {
+ "line": 45,
+ "column": 6
+ },
+ "end": {
+ "line": 45,
+ "column": 8
+ }
+ }
+ ],
+ "line": 14
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 21
+ },
+ "end": {
+ "line": 88,
+ "column": 21
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 85,
+ "column": 22
+ },
+ "end": {
+ "line": 85,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 87,
+ "column": 22
+ },
+ "end": {
+ "line": 87,
+ "column": 67
+ }
+ }
+ ],
+ "line": 84
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 21
+ },
+ "end": {
+ "line": 84,
+ "column": 60
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 84,
+ "column": 21
+ },
+ "end": {
+ "line": 84,
+ "column": 39
+ }
+ },
+ {
+ "start": {
+ "line": 84,
+ "column": 43
+ },
+ "end": {
+ "line": 84,
+ "column": 60
+ }
+ }
+ ],
+ "line": 84
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 6,
+ "column": 30
+ },
+ "end": {
+ "line": 6,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 6
+ },
+ "end": {
+ "line": 142,
+ "column": 1
+ }
+ },
+ "line": 12
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 19,
+ "column": 18
+ },
+ "end": {
+ "line": 19,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 28
+ },
+ "end": {
+ "line": 21,
+ "column": 11
+ }
+ },
+ "line": 19
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 23,
+ "column": 10
+ },
+ "end": {
+ "line": 23,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 31
+ },
+ "end": {
+ "line": 42,
+ "column": 11
+ }
+ },
+ "line": 23
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 76,
+ "column": 14
+ },
+ "end": {
+ "line": 76,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 35
+ },
+ "end": {
+ "line": 92,
+ "column": 15
+ }
+ },
+ "line": 76
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 80,
+ "column": 29
+ },
+ "end": {
+ "line": 80,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 35
+ },
+ "end": {
+ "line": 82,
+ "column": 21
+ }
+ },
+ "line": 80
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 99,
+ "column": 14
+ },
+ "end": {
+ "line": 99,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 27
+ },
+ "end": {
+ "line": 101,
+ "column": 15
+ }
+ },
+ "line": 99
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 107,
+ "column": 14
+ },
+ "end": {
+ "line": 107,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 27
+ },
+ "end": {
+ "line": 111,
+ "column": 15
+ }
+ },
+ "line": 107
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 121,
+ "column": 16
+ },
+ "end": {
+ "line": 121,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 29
+ },
+ "end": {
+ "line": 123,
+ "column": 17
+ }
+ },
+ "line": 121
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 124,
+ "column": 16
+ },
+ "end": {
+ "line": 124,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 29
+ },
+ "end": {
+ "line": 135,
+ "column": 17
+ }
+ },
+ "line": 124
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 6,
+ "column": 30
+ },
+ "end": {
+ "line": 142,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 13,
+ "column": 16
+ },
+ "end": {
+ "line": 13,
+ "column": 32
+ }
+ },
+ "2": {
+ "start": {
+ "line": 14,
+ "column": 26
+ },
+ "end": {
+ "line": 45,
+ "column": 8
+ }
+ },
+ "3": {
+ "start": {
+ "line": 20,
+ "column": 12
+ },
+ "end": {
+ "line": 20,
+ "column": 67
+ }
+ },
+ "4": {
+ "start": {
+ "line": 24,
+ "column": 12
+ },
+ "end": {
+ "line": 41,
+ "column": 14
+ }
+ },
+ "5": {
+ "start": {
+ "line": 47,
+ "column": 2
+ },
+ "end": {
+ "line": 141,
+ "column": 4
+ }
+ },
+ "6": {
+ "start": {
+ "line": 77,
+ "column": 16
+ },
+ "end": {
+ "line": 91,
+ "column": 18
+ }
+ },
+ "7": {
+ "start": {
+ "line": 81,
+ "column": 22
+ },
+ "end": {
+ "line": 81,
+ "column": 39
+ }
+ },
+ "8": {
+ "start": {
+ "line": 100,
+ "column": 16
+ },
+ "end": {
+ "line": 100,
+ "column": 79
+ }
+ },
+ "9": {
+ "start": {
+ "line": 108,
+ "column": 16
+ },
+ "end": {
+ "line": 110,
+ "column": 18
+ }
+ },
+ "10": {
+ "start": {
+ "line": 122,
+ "column": 18
+ },
+ "end": {
+ "line": 122,
+ "column": 77
+ }
+ },
+ "11": {
+ "start": {
+ "line": 125,
+ "column": 18
+ },
+ "end": {
+ "line": 134,
+ "column": 20
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/helper.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/helper.tsx.js
new file mode 100644
index 00000000..6e6b7e79
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/helper.tsx.js
@@ -0,0 +1,2033 @@
+window["components/CanyonReport/helper.tsx"] = {
+ "content": "export function coreFn(\n fileCoverage: any,\n fileDetail: string,\n): {\n times: {\n lineNumber: number;\n count: number;\n }[];\n rows: string[];\n maxWidth: number;\n lines: {\n executionNumber: number;\n }[];\n} {\n const nullData = {\n times: [],\n rows: [],\n maxWidth: 0,\n lines: [],\n };\n if (!fileCoverage.s) {\n return nullData;\n }\n\n const content = fileDetail;\n // 1.转换成数组\n const rows = [\"\"];\n let index = 0;\n for (let i = 0; i < content.length; i++) {\n if (content[i] === \"\\n\") {\n index += 1;\n rows.push(\"\");\n } else {\n rows[index] += content[i];\n }\n }\n const maxWidth = JSON.parse(JSON.stringify(rows)).sort(\n (a: string, b: string) => -(a.length - b.length),\n )[0].length;\n\n // 获取numberOfRows\n // 获取行覆盖率\n function getLineCoverage(data: any) {\n const statementMap = data.statementMap;\n const statements = data.s;\n const lineMap = Object.create(null);\n Object.entries(statements).forEach(([st, count]: any) => {\n if (!statementMap[st]) {\n return;\n }\n const { line } = statementMap[st].start;\n const prevVal = lineMap[line];\n if (prevVal === undefined || prevVal < count) {\n lineMap[line] = count;\n }\n });\n return lineMap;\n }\n\n // 计算行\n const lineStats = getLineCoverage(fileCoverage);\n if (!lineStats) {\n return nullData;\n }\n // numberOfRows\n const numberOfRows: any[] = [];\n Object.entries(lineStats).forEach(([lineNumber, count]) => {\n numberOfRows.push({ lineNumber, count });\n // 这边计算出了行的次数!!!!!!\n });\n\n const lines = [];\n for (let i = 0; i < rows.length; i++) {\n if (numberOfRows.find((n) => Number(n.lineNumber) === i + 1)) {\n lines.push({\n executionNumber: numberOfRows.find(\n (n) => Number(n.lineNumber) === i + 1,\n ).count,\n });\n } else {\n lines.push({\n executionNumber: -1,\n });\n }\n }\n return {\n times: numberOfRows,\n rows,\n lines,\n maxWidth,\n };\n}\n\nexport function genDecorationsLv2Array(code, startends) {\n const lines = code.split(\"\\n\");\n function convertRanges(arr) {\n const result = [];\n arr.forEach((data) => {\n const start = data.start;\n const end = data.end;\n\n for (let i = start[0]; i <= end[0]; i++) {\n const intervalStart = i === start[0] ? start[1] : 0;\n const intervalEnd = lines[i].length;\n result.push([i, intervalStart, intervalEnd]);\n }\n });\n // 输出每一行的区间值\n return result;\n }\n\n const convertedData = convertRanges(startends);\n function mergeRanges(ranges) {\n // 对区间按照起始位置进行排序\n ranges.sort((a, b) => a[0] - b[0]);\n\n const merged = [];\n\n let currentRange = ranges[0];\n for (let i = 1; i < ranges.length; i++) {\n const nextRange = ranges[i];\n\n // 如果当前区间和下一个区间有重叠,则合并它们\n if (currentRange[1] >= nextRange[0]) {\n currentRange[1] = Math.max(currentRange[1], nextRange[1]);\n } else {\n merged.push(currentRange);\n currentRange = nextRange;\n }\n }\n\n merged.push(currentRange);\n\n return merged;\n }\n\n function mergeRows(array) {\n const groupedRows = {};\n\n // 将相同行的元素分组\n array.forEach(([row, col, value]) => {\n if (!groupedRows[row]) {\n groupedRows[row] = [];\n }\n groupedRows[row].push([col, value]);\n });\n\n const mergedArray = [];\n\n // 对每个分组合并区间\n for (const row in groupedRows) {\n const mergedRanges = mergeRanges(groupedRows[row]);\n mergedRanges.forEach((range) => {\n mergedArray.push([parseInt(row), range[0], range[1]]);\n });\n }\n\n return mergedArray;\n }\n\n const mergedArray = mergeRows(convertedData);\n return mergedArray;\n}\n\nexport function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport function checkSuffix(path) {\n // 只要path里含有vue、js、jsx等就返回true\n return (\n path.includes(\".vue\") ||\n path.includes(\".js\") ||\n path.includes(\".jsx\") ||\n path.includes(\".ts\") ||\n path.includes(\".tsx\")\n );\n}\n\nexport function mergeIntervals(intervals) {\n // 如果输入为空,直接返回空列表\n if (intervals.length === 0) {\n return [];\n }\n\n // 将所有线段按起始位置进行排序\n intervals.sort((a, b) => a[0] - b[0]);\n\n // 初始化结果列表\n const merged = [];\n let [currentStart, currentEnd] = intervals[0];\n\n for (const [start, end] of intervals.slice(1)) {\n if (start <= currentEnd) {\n // 当前线段与前一个线段有重叠\n currentEnd = Math.max(currentEnd, end); // 更新结束位置\n } else {\n // 当前线段与前一个线段没有重叠\n merged.push([currentStart, currentEnd]); // 将前一个线段加入结果列表\n [currentStart, currentEnd] = [start, end]; // 更新当前线段的起始和结束位置\n }\n }\n\n // 添加最后一个线段\n merged.push([currentStart, currentEnd]);\n\n return merged;\n}\n",
+ "coverage": {
+ "path": "components/CanyonReport/helper.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ],
+ "6": [
+ 0,
+ 0
+ ],
+ "7": [
+ 0,
+ 0
+ ],
+ "8": [
+ 0,
+ 0
+ ],
+ "9": [
+ 0,
+ 0
+ ],
+ "10": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "11": [
+ 0,
+ 0
+ ],
+ "12": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0,
+ "25": 0,
+ "26": 0,
+ "27": 0,
+ "28": 0,
+ "29": 0,
+ "30": 0,
+ "31": 0,
+ "32": 0,
+ "33": 0,
+ "34": 0,
+ "35": 0,
+ "36": 0,
+ "37": 0,
+ "38": 0,
+ "39": 0,
+ "40": 0,
+ "41": 0,
+ "42": 0,
+ "43": 0,
+ "44": 0,
+ "45": 0,
+ "46": 0,
+ "47": 0,
+ "48": 0,
+ "49": 0,
+ "50": 0,
+ "51": 0,
+ "52": 0,
+ "53": 0,
+ "54": 0,
+ "55": 0,
+ "56": 0,
+ "57": 0,
+ "58": 0,
+ "59": 0,
+ "60": 0,
+ "61": 0,
+ "62": 0,
+ "63": 0,
+ "64": 0,
+ "65": 0,
+ "66": 0,
+ "67": 0,
+ "68": 0,
+ "69": 0,
+ "70": 0,
+ "71": 0,
+ "72": 0,
+ "73": 0,
+ "74": 0,
+ "75": 0,
+ "76": 0,
+ "77": 0,
+ "78": 0,
+ "79": 0,
+ "80": 0,
+ "81": 0,
+ "82": 0,
+ "83": 0,
+ "84": 0,
+ "85": 0,
+ "86": 0,
+ "87": 0,
+ "88": 0,
+ "89": 0,
+ "90": 0,
+ "91": 0,
+ "92": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 23,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 23,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 30,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 33,
+ "column": 11
+ },
+ "end": {
+ "line": 35,
+ "column": 5
+ }
+ }
+ ],
+ "line": 30
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 6
+ },
+ "end": {
+ "line": 50,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 48,
+ "column": 6
+ },
+ "end": {
+ "line": 50,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 48
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 53,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 53
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 10
+ },
+ "end": {
+ "line": 53,
+ "column": 50
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 53,
+ "column": 10
+ },
+ "end": {
+ "line": 53,
+ "column": 31
+ }
+ },
+ {
+ "start": {
+ "line": 53,
+ "column": 35
+ },
+ "end": {
+ "line": 53,
+ "column": 50
+ }
+ }
+ ],
+ "line": 53
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 64,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 64,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 62
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 4
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 74,
+ "column": 4
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 80,
+ "column": 11
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ ],
+ "line": 74
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 30
+ },
+ "end": {
+ "line": 103,
+ "column": 59
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 103,
+ "column": 47
+ },
+ "end": {
+ "line": 103,
+ "column": 55
+ }
+ },
+ {
+ "start": {
+ "line": 103,
+ "column": 58
+ },
+ "end": {
+ "line": 103,
+ "column": 59
+ }
+ }
+ ],
+ "line": 103
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 124,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 7
+ }
+ },
+ {
+ "start": {
+ "line": 126,
+ "column": 13
+ },
+ "end": {
+ "line": 129,
+ "column": 7
+ }
+ }
+ ],
+ "line": 124
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 142,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 142
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 4
+ },
+ "end": {
+ "line": 176,
+ "column": 25
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 172,
+ "column": 4
+ },
+ "end": {
+ "line": 172,
+ "column": 25
+ }
+ },
+ {
+ "start": {
+ "line": 173,
+ "column": 4
+ },
+ "end": {
+ "line": 173,
+ "column": 24
+ }
+ },
+ {
+ "start": {
+ "line": 174,
+ "column": 4
+ },
+ "end": {
+ "line": 174,
+ "column": 25
+ }
+ },
+ {
+ "start": {
+ "line": 175,
+ "column": 4
+ },
+ "end": {
+ "line": 175,
+ "column": 24
+ }
+ },
+ {
+ "start": {
+ "line": 176,
+ "column": 4
+ },
+ "end": {
+ "line": 176,
+ "column": 25
+ }
+ }
+ ],
+ "line": 172
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 2
+ },
+ "end": {
+ "line": 184,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 182,
+ "column": 2
+ },
+ "end": {
+ "line": 184,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 182
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 194,
+ "column": 4
+ },
+ "end": {
+ "line": 201,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 194,
+ "column": 4
+ },
+ "end": {
+ "line": 201,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 197,
+ "column": 11
+ },
+ "end": {
+ "line": 201,
+ "column": 5
+ }
+ }
+ ],
+ "line": 194
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "coreFn",
+ "decl": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 2
+ },
+ "end": {
+ "line": 92,
+ "column": 1
+ }
+ },
+ "line": 14
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 38,
+ "column": 4
+ },
+ "end": {
+ "line": 38,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 30
+ },
+ "end": {
+ "line": 38,
+ "column": 52
+ }
+ },
+ "line": 38
+ },
+ "2": {
+ "name": "getLineCoverage",
+ "decl": {
+ "start": {
+ "line": 43,
+ "column": 11
+ },
+ "end": {
+ "line": 43,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 38
+ },
+ "end": {
+ "line": 58,
+ "column": 3
+ }
+ },
+ "line": 43
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 47,
+ "column": 39
+ },
+ "end": {
+ "line": 47,
+ "column": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 61
+ },
+ "end": {
+ "line": 56,
+ "column": 5
+ }
+ },
+ "line": 47
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 67,
+ "column": 36
+ },
+ "end": {
+ "line": 67,
+ "column": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 61
+ },
+ "end": {
+ "line": 70,
+ "column": 3
+ }
+ },
+ "line": 67
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 74,
+ "column": 26
+ },
+ "end": {
+ "line": 74,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 33
+ },
+ "end": {
+ "line": 74,
+ "column": 63
+ }
+ },
+ "line": 74
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 77,
+ "column": 10
+ },
+ "end": {
+ "line": 77,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 77,
+ "column": 17
+ },
+ "end": {
+ "line": 77,
+ "column": 47
+ }
+ },
+ "line": 77
+ },
+ "7": {
+ "name": "genDecorationsLv2Array",
+ "decl": {
+ "start": {
+ "line": 94,
+ "column": 16
+ },
+ "end": {
+ "line": 94,
+ "column": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 56
+ },
+ "end": {
+ "line": 163,
+ "column": 1
+ }
+ },
+ "line": 94
+ },
+ "8": {
+ "name": "convertRanges",
+ "decl": {
+ "start": {
+ "line": 96,
+ "column": 11
+ },
+ "end": {
+ "line": 96,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 30
+ },
+ "end": {
+ "line": 110,
+ "column": 3
+ }
+ },
+ "line": 96
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 98,
+ "column": 16
+ },
+ "end": {
+ "line": 98,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 26
+ },
+ "end": {
+ "line": 107,
+ "column": 5
+ }
+ },
+ "line": 98
+ },
+ "10": {
+ "name": "mergeRanges",
+ "decl": {
+ "start": {
+ "line": 113,
+ "column": 11
+ },
+ "end": {
+ "line": 113,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 113,
+ "column": 31
+ },
+ "end": {
+ "line": 135,
+ "column": 3
+ }
+ },
+ "line": 113
+ },
+ "11": {
+ "name": "(anonymous_11)",
+ "decl": {
+ "start": {
+ "line": 115,
+ "column": 16
+ },
+ "end": {
+ "line": 115,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 115,
+ "column": 26
+ },
+ "end": {
+ "line": 115,
+ "column": 37
+ }
+ },
+ "line": 115
+ },
+ "12": {
+ "name": "mergeRows",
+ "decl": {
+ "start": {
+ "line": 137,
+ "column": 11
+ },
+ "end": {
+ "line": 137,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 28
+ },
+ "end": {
+ "line": 159,
+ "column": 3
+ }
+ },
+ "line": 137
+ },
+ "13": {
+ "name": "(anonymous_13)",
+ "decl": {
+ "start": {
+ "line": 141,
+ "column": 18
+ },
+ "end": {
+ "line": 141,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 41
+ },
+ "end": {
+ "line": 146,
+ "column": 5
+ }
+ },
+ "line": 141
+ },
+ "14": {
+ "name": "(anonymous_14)",
+ "decl": {
+ "start": {
+ "line": 153,
+ "column": 27
+ },
+ "end": {
+ "line": 153,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 153,
+ "column": 38
+ },
+ "end": {
+ "line": 155,
+ "column": 7
+ }
+ },
+ "line": 153
+ },
+ "15": {
+ "name": "capitalizeFirstLetter",
+ "decl": {
+ "start": {
+ "line": 165,
+ "column": 16
+ },
+ "end": {
+ "line": 165,
+ "column": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 46
+ },
+ "end": {
+ "line": 167,
+ "column": 1
+ }
+ },
+ "line": 165
+ },
+ "16": {
+ "name": "checkSuffix",
+ "decl": {
+ "start": {
+ "line": 169,
+ "column": 16
+ },
+ "end": {
+ "line": 169,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 34
+ },
+ "end": {
+ "line": 178,
+ "column": 1
+ }
+ },
+ "line": 169
+ },
+ "17": {
+ "name": "mergeIntervals",
+ "decl": {
+ "start": {
+ "line": 180,
+ "column": 16
+ },
+ "end": {
+ "line": 180,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 42
+ },
+ "end": {
+ "line": 208,
+ "column": 1
+ }
+ },
+ "line": 180
+ },
+ "18": {
+ "name": "(anonymous_18)",
+ "decl": {
+ "start": {
+ "line": 187,
+ "column": 17
+ },
+ "end": {
+ "line": 187,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 27
+ },
+ "end": {
+ "line": 187,
+ "column": 38
+ }
+ },
+ "line": 187
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 15,
+ "column": 19
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "1": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 23,
+ "column": 3
+ }
+ },
+ "2": {
+ "start": {
+ "line": 22,
+ "column": 4
+ },
+ "end": {
+ "line": 22,
+ "column": 20
+ }
+ },
+ "3": {
+ "start": {
+ "line": 25,
+ "column": 18
+ },
+ "end": {
+ "line": 25,
+ "column": 28
+ }
+ },
+ "4": {
+ "start": {
+ "line": 27,
+ "column": 15
+ },
+ "end": {
+ "line": 27,
+ "column": 19
+ }
+ },
+ "5": {
+ "start": {
+ "line": 28,
+ "column": 14
+ },
+ "end": {
+ "line": 28,
+ "column": 15
+ }
+ },
+ "6": {
+ "start": {
+ "line": 29,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 3
+ }
+ },
+ "7": {
+ "start": {
+ "line": 29,
+ "column": 15
+ },
+ "end": {
+ "line": 29,
+ "column": 16
+ }
+ },
+ "8": {
+ "start": {
+ "line": 30,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 5
+ }
+ },
+ "9": {
+ "start": {
+ "line": 31,
+ "column": 6
+ },
+ "end": {
+ "line": 31,
+ "column": 17
+ }
+ },
+ "10": {
+ "start": {
+ "line": 32,
+ "column": 6
+ },
+ "end": {
+ "line": 32,
+ "column": 20
+ }
+ },
+ "11": {
+ "start": {
+ "line": 34,
+ "column": 6
+ },
+ "end": {
+ "line": 34,
+ "column": 32
+ }
+ },
+ "12": {
+ "start": {
+ "line": 37,
+ "column": 19
+ },
+ "end": {
+ "line": 39,
+ "column": 13
+ }
+ },
+ "13": {
+ "start": {
+ "line": 38,
+ "column": 30
+ },
+ "end": {
+ "line": 38,
+ "column": 52
+ }
+ },
+ "14": {
+ "start": {
+ "line": 44,
+ "column": 25
+ },
+ "end": {
+ "line": 44,
+ "column": 42
+ }
+ },
+ "15": {
+ "start": {
+ "line": 45,
+ "column": 23
+ },
+ "end": {
+ "line": 45,
+ "column": 29
+ }
+ },
+ "16": {
+ "start": {
+ "line": 46,
+ "column": 20
+ },
+ "end": {
+ "line": 46,
+ "column": 39
+ }
+ },
+ "17": {
+ "start": {
+ "line": 47,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 7
+ }
+ },
+ "18": {
+ "start": {
+ "line": 48,
+ "column": 6
+ },
+ "end": {
+ "line": 50,
+ "column": 7
+ }
+ },
+ "19": {
+ "start": {
+ "line": 49,
+ "column": 8
+ },
+ "end": {
+ "line": 49,
+ "column": 15
+ }
+ },
+ "20": {
+ "start": {
+ "line": 51,
+ "column": 23
+ },
+ "end": {
+ "line": 51,
+ "column": 45
+ }
+ },
+ "21": {
+ "start": {
+ "line": 52,
+ "column": 22
+ },
+ "end": {
+ "line": 52,
+ "column": 35
+ }
+ },
+ "22": {
+ "start": {
+ "line": 53,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 7
+ }
+ },
+ "23": {
+ "start": {
+ "line": 54,
+ "column": 8
+ },
+ "end": {
+ "line": 54,
+ "column": 30
+ }
+ },
+ "24": {
+ "start": {
+ "line": 57,
+ "column": 4
+ },
+ "end": {
+ "line": 57,
+ "column": 19
+ }
+ },
+ "25": {
+ "start": {
+ "line": 61,
+ "column": 20
+ },
+ "end": {
+ "line": 61,
+ "column": 49
+ }
+ },
+ "26": {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 64,
+ "column": 3
+ }
+ },
+ "27": {
+ "start": {
+ "line": 63,
+ "column": 4
+ },
+ "end": {
+ "line": 63,
+ "column": 20
+ }
+ },
+ "28": {
+ "start": {
+ "line": 66,
+ "column": 30
+ },
+ "end": {
+ "line": 66,
+ "column": 32
+ }
+ },
+ "29": {
+ "start": {
+ "line": 67,
+ "column": 2
+ },
+ "end": {
+ "line": 70,
+ "column": 5
+ }
+ },
+ "30": {
+ "start": {
+ "line": 68,
+ "column": 4
+ },
+ "end": {
+ "line": 68,
+ "column": 45
+ }
+ },
+ "31": {
+ "start": {
+ "line": 72,
+ "column": 16
+ },
+ "end": {
+ "line": 72,
+ "column": 18
+ }
+ },
+ "32": {
+ "start": {
+ "line": 73,
+ "column": 2
+ },
+ "end": {
+ "line": 85,
+ "column": 3
+ }
+ },
+ "33": {
+ "start": {
+ "line": 73,
+ "column": 15
+ },
+ "end": {
+ "line": 73,
+ "column": 16
+ }
+ },
+ "34": {
+ "start": {
+ "line": 74,
+ "column": 4
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ },
+ "35": {
+ "start": {
+ "line": 74,
+ "column": 33
+ },
+ "end": {
+ "line": 74,
+ "column": 63
+ }
+ },
+ "36": {
+ "start": {
+ "line": 75,
+ "column": 6
+ },
+ "end": {
+ "line": 79,
+ "column": 9
+ }
+ },
+ "37": {
+ "start": {
+ "line": 77,
+ "column": 17
+ },
+ "end": {
+ "line": 77,
+ "column": 47
+ }
+ },
+ "38": {
+ "start": {
+ "line": 81,
+ "column": 6
+ },
+ "end": {
+ "line": 83,
+ "column": 9
+ }
+ },
+ "39": {
+ "start": {
+ "line": 86,
+ "column": 2
+ },
+ "end": {
+ "line": 91,
+ "column": 4
+ }
+ },
+ "40": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 32
+ }
+ },
+ "41": {
+ "start": {
+ "line": 97,
+ "column": 19
+ },
+ "end": {
+ "line": 97,
+ "column": 21
+ }
+ },
+ "42": {
+ "start": {
+ "line": 98,
+ "column": 4
+ },
+ "end": {
+ "line": 107,
+ "column": 7
+ }
+ },
+ "43": {
+ "start": {
+ "line": 99,
+ "column": 20
+ },
+ "end": {
+ "line": 99,
+ "column": 30
+ }
+ },
+ "44": {
+ "start": {
+ "line": 100,
+ "column": 18
+ },
+ "end": {
+ "line": 100,
+ "column": 26
+ }
+ },
+ "45": {
+ "start": {
+ "line": 102,
+ "column": 6
+ },
+ "end": {
+ "line": 106,
+ "column": 7
+ }
+ },
+ "46": {
+ "start": {
+ "line": 102,
+ "column": 19
+ },
+ "end": {
+ "line": 102,
+ "column": 27
+ }
+ },
+ "47": {
+ "start": {
+ "line": 103,
+ "column": 30
+ },
+ "end": {
+ "line": 103,
+ "column": 59
+ }
+ },
+ "48": {
+ "start": {
+ "line": 104,
+ "column": 28
+ },
+ "end": {
+ "line": 104,
+ "column": 43
+ }
+ },
+ "49": {
+ "start": {
+ "line": 105,
+ "column": 8
+ },
+ "end": {
+ "line": 105,
+ "column": 53
+ }
+ },
+ "50": {
+ "start": {
+ "line": 109,
+ "column": 4
+ },
+ "end": {
+ "line": 109,
+ "column": 18
+ }
+ },
+ "51": {
+ "start": {
+ "line": 112,
+ "column": 24
+ },
+ "end": {
+ "line": 112,
+ "column": 48
+ }
+ },
+ "52": {
+ "start": {
+ "line": 115,
+ "column": 4
+ },
+ "end": {
+ "line": 115,
+ "column": 39
+ }
+ },
+ "53": {
+ "start": {
+ "line": 115,
+ "column": 26
+ },
+ "end": {
+ "line": 115,
+ "column": 37
+ }
+ },
+ "54": {
+ "start": {
+ "line": 117,
+ "column": 19
+ },
+ "end": {
+ "line": 117,
+ "column": 21
+ }
+ },
+ "55": {
+ "start": {
+ "line": 119,
+ "column": 23
+ },
+ "end": {
+ "line": 119,
+ "column": 32
+ }
+ },
+ "56": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 130,
+ "column": 5
+ }
+ },
+ "57": {
+ "start": {
+ "line": 120,
+ "column": 17
+ },
+ "end": {
+ "line": 120,
+ "column": 18
+ }
+ },
+ "58": {
+ "start": {
+ "line": 121,
+ "column": 24
+ },
+ "end": {
+ "line": 121,
+ "column": 33
+ }
+ },
+ "59": {
+ "start": {
+ "line": 124,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 7
+ }
+ },
+ "60": {
+ "start": {
+ "line": 125,
+ "column": 8
+ },
+ "end": {
+ "line": 125,
+ "column": 66
+ }
+ },
+ "61": {
+ "start": {
+ "line": 127,
+ "column": 8
+ },
+ "end": {
+ "line": 127,
+ "column": 34
+ }
+ },
+ "62": {
+ "start": {
+ "line": 128,
+ "column": 8
+ },
+ "end": {
+ "line": 128,
+ "column": 33
+ }
+ },
+ "63": {
+ "start": {
+ "line": 132,
+ "column": 4
+ },
+ "end": {
+ "line": 132,
+ "column": 30
+ }
+ },
+ "64": {
+ "start": {
+ "line": 134,
+ "column": 4
+ },
+ "end": {
+ "line": 134,
+ "column": 18
+ }
+ },
+ "65": {
+ "start": {
+ "line": 138,
+ "column": 24
+ },
+ "end": {
+ "line": 138,
+ "column": 26
+ }
+ },
+ "66": {
+ "start": {
+ "line": 141,
+ "column": 4
+ },
+ "end": {
+ "line": 146,
+ "column": 7
+ }
+ },
+ "67": {
+ "start": {
+ "line": 142,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ },
+ "68": {
+ "start": {
+ "line": 143,
+ "column": 8
+ },
+ "end": {
+ "line": 143,
+ "column": 30
+ }
+ },
+ "69": {
+ "start": {
+ "line": 145,
+ "column": 6
+ },
+ "end": {
+ "line": 145,
+ "column": 42
+ }
+ },
+ "70": {
+ "start": {
+ "line": 148,
+ "column": 24
+ },
+ "end": {
+ "line": 148,
+ "column": 26
+ }
+ },
+ "71": {
+ "start": {
+ "line": 151,
+ "column": 4
+ },
+ "end": {
+ "line": 156,
+ "column": 5
+ }
+ },
+ "72": {
+ "start": {
+ "line": 152,
+ "column": 27
+ },
+ "end": {
+ "line": 152,
+ "column": 56
+ }
+ },
+ "73": {
+ "start": {
+ "line": 153,
+ "column": 6
+ },
+ "end": {
+ "line": 155,
+ "column": 9
+ }
+ },
+ "74": {
+ "start": {
+ "line": 154,
+ "column": 8
+ },
+ "end": {
+ "line": 154,
+ "column": 62
+ }
+ },
+ "75": {
+ "start": {
+ "line": 158,
+ "column": 4
+ },
+ "end": {
+ "line": 158,
+ "column": 23
+ }
+ },
+ "76": {
+ "start": {
+ "line": 161,
+ "column": 22
+ },
+ "end": {
+ "line": 161,
+ "column": 46
+ }
+ },
+ "77": {
+ "start": {
+ "line": 162,
+ "column": 2
+ },
+ "end": {
+ "line": 162,
+ "column": 21
+ }
+ },
+ "78": {
+ "start": {
+ "line": 166,
+ "column": 2
+ },
+ "end": {
+ "line": 166,
+ "column": 58
+ }
+ },
+ "79": {
+ "start": {
+ "line": 171,
+ "column": 2
+ },
+ "end": {
+ "line": 177,
+ "column": 4
+ }
+ },
+ "80": {
+ "start": {
+ "line": 182,
+ "column": 2
+ },
+ "end": {
+ "line": 184,
+ "column": 3
+ }
+ },
+ "81": {
+ "start": {
+ "line": 183,
+ "column": 4
+ },
+ "end": {
+ "line": 183,
+ "column": 14
+ }
+ },
+ "82": {
+ "start": {
+ "line": 187,
+ "column": 2
+ },
+ "end": {
+ "line": 187,
+ "column": 40
+ }
+ },
+ "83": {
+ "start": {
+ "line": 187,
+ "column": 27
+ },
+ "end": {
+ "line": 187,
+ "column": 38
+ }
+ },
+ "84": {
+ "start": {
+ "line": 190,
+ "column": 17
+ },
+ "end": {
+ "line": 190,
+ "column": 19
+ }
+ },
+ "85": {
+ "start": {
+ "line": 191,
+ "column": 35
+ },
+ "end": {
+ "line": 191,
+ "column": 47
+ }
+ },
+ "86": {
+ "start": {
+ "line": 193,
+ "column": 2
+ },
+ "end": {
+ "line": 202,
+ "column": 3
+ }
+ },
+ "87": {
+ "start": {
+ "line": 194,
+ "column": 4
+ },
+ "end": {
+ "line": 201,
+ "column": 5
+ }
+ },
+ "88": {
+ "start": {
+ "line": 196,
+ "column": 6
+ },
+ "end": {
+ "line": 196,
+ "column": 45
+ }
+ },
+ "89": {
+ "start": {
+ "line": 199,
+ "column": 6
+ },
+ "end": {
+ "line": 199,
+ "column": 46
+ }
+ },
+ "90": {
+ "start": {
+ "line": 200,
+ "column": 6
+ },
+ "end": {
+ "line": 200,
+ "column": 48
+ }
+ },
+ "91": {
+ "start": {
+ "line": 205,
+ "column": 2
+ },
+ "end": {
+ "line": 205,
+ "column": 42
+ }
+ },
+ "92": {
+ "start": {
+ "line": 207,
+ "column": 2
+ },
+ "end": {
+ "line": 207,
+ "column": 16
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/index.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/index.tsx.js
new file mode 100644
index 00000000..6c5ca59a
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/index.tsx.js
@@ -0,0 +1,1165 @@
+window["components/CanyonReport/index.tsx"] = {
+ "content": "import { genSummaryTreeItem } from \"canyon-data\";\n\nimport CanyonReportControl from \"./Control.tsx\";\nimport CanyonReportCoverageDetail from \"./CoverageDetail.tsx\";\nimport { checkSuffix } from \"./helper.tsx\";\nimport CanyonReportListTable from \"./ListTable.tsx\";\nimport CanyonReportOverview from \"./Overview.tsx\";\nimport CanyonReportTreeTable from \"./TreeTable.tsx\";\n\nfunction checkSummaryOnlyChange(item, onlyChange) {\n // 如果只看改变的为false,就返回全部\n if (onlyChange === false) {\n return true;\n }\n // 不然就检查item.change\n if (onlyChange && item.change) {\n return true;\n } else {\n return false;\n }\n}\nfunction checkSummaryKeywords(item, keywords) {\n return item.path.toLowerCase().includes(keywords.toLowerCase());\n}\nfunction checkSummaryRange(item, range) {\n const pct = item.statements.pct;\n return pct >= range[0] && pct <= range[1];\n}\n\n// 1.summary最主要的数据,有外面传入\n// 2.当前默认defaultPath = sprm.get('path'),锚点\nconst CanyonReport = ({\n // summary,\n activatedPath,\n pathWithNamespace,\n coverageSummaryMapData,\n loading,\n onSelect,\n mainData,\n theme,\n}) => {\n // 几个状态\n // 1.展示模式//tree||list\n const [showMode, setShowMode] = useState(\"tree\");\n // 2.当前是文件还是文件夹\n const fMode = useMemo(() => {\n // return 获取当前path,判断是否含有 .\n return activatedPath.includes(\".\") && checkSuffix(activatedPath)\n ? \"file\"\n : \"folder\";\n }, [activatedPath]);\n // 3.是否只展示变更文件\n // 4.其他的放在各自的状态里\n\n // 5.文件路径关键字搜索\n const [keywords, setKeywords] = useState(\"\");\n const [onlyChange, setOnlyChange] = useState(false);\n const [range, setRange] = useState([0, 100]);\n\n // useEffect(()=>{\n // document.querySelector(\"#nihao\").scrollIntoView(true);\n // },[])\n\n const coverageSummaryMapDataFiltered = useMemo(() => {\n return coverageSummaryMapData.filter(\n (item) =>\n checkSummaryOnlyChange(item, onlyChange) &&\n checkSummaryKeywords(item, keywords) &&\n checkSummaryRange(item, range),\n );\n }, [coverageSummaryMapData, onlyChange, keywords, range]);\n\n const summary = coverageSummaryMapDataFiltered.reduce(\n (acc: any, cur: any) => {\n acc[cur.path] = cur;\n return acc;\n },\n {},\n );\n const summaryTreeItem = genSummaryTreeItem(activatedPath, summary);\n function onChangeOnlyChangeKeywords(v) {\n setKeywords(v.target.value);\n }\n\n function onChangeOnlyChange(v) {\n // console.log(v,'v')\n setOnlyChange(v);\n }\n function onChangeShowMode(mode) {\n setShowMode(mode);\n }\n function onChangeRange(va) {\n setRange(va);\n }\n return (\n \n
\n item.path.includes(activatedPath),\n ).length\n }\n keywords={keywords}\n range={range}\n onlyChange={onlyChange}\n onChangeOnlyChange={onChangeOnlyChange}\n onChangeOnlyChangeKeywords={onChangeOnlyChangeKeywords}\n onChangeShowMode={onChangeShowMode}\n onChangeRange={onChangeRange}\n />\n \n \n {showMode === \"tree\" && fMode === \"folder\" && (\n \n )}\n {showMode === \"list\" && fMode === \"folder\" && (\n \n item.path.includes(activatedPath),\n )}\n />\n )}\n \n {fMode === \"file\" && mainData && (\n \n )}\n \n\n \n \n );\n};\n\nexport default CanyonReport;\n",
+ "coverage": {
+ "path": "components/CanyonReport/index.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ],
+ "6": [
+ 0,
+ 0,
+ 0
+ ],
+ "7": [
+ 0,
+ 0,
+ 0
+ ],
+ "8": [
+ 0,
+ 0,
+ 0
+ ],
+ "9": [
+ 0,
+ 0
+ ],
+ "10": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 8,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0,
+ "25": 0,
+ "26": 0,
+ "27": 0,
+ "28": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 12,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 12
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 16,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 18,
+ "column": 9
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ }
+ ],
+ "line": 16
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 6
+ },
+ "end": {
+ "line": 16,
+ "column": 31
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 16,
+ "column": 6
+ },
+ "end": {
+ "line": 16,
+ "column": 16
+ }
+ },
+ {
+ "start": {
+ "line": 16,
+ "column": 20
+ },
+ "end": {
+ "line": 16,
+ "column": 31
+ }
+ }
+ ],
+ "line": 16
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 9
+ },
+ "end": {
+ "line": 27,
+ "column": 43
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 27,
+ "column": 9
+ },
+ "end": {
+ "line": 27,
+ "column": 24
+ }
+ },
+ {
+ "start": {
+ "line": 27,
+ "column": 28
+ },
+ "end": {
+ "line": 27,
+ "column": 43
+ }
+ }
+ ],
+ "line": 27
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 11
+ },
+ "end": {
+ "line": 50,
+ "column": 16
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 49,
+ "column": 8
+ },
+ "end": {
+ "line": 49,
+ "column": 14
+ }
+ },
+ {
+ "start": {
+ "line": 50,
+ "column": 8
+ },
+ "end": {
+ "line": 50,
+ "column": 16
+ }
+ }
+ ],
+ "line": 48
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 11
+ },
+ "end": {
+ "line": 48,
+ "column": 68
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 48,
+ "column": 11
+ },
+ "end": {
+ "line": 48,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 48,
+ "column": 42
+ },
+ "end": {
+ "line": 48,
+ "column": 68
+ }
+ }
+ ],
+ "line": 48
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 38
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 67,
+ "column": 48
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 8
+ },
+ "end": {
+ "line": 68,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 69,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 38
+ }
+ }
+ ],
+ "line": 67
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 7
+ },
+ "end": {
+ "line": 127,
+ "column": 7
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 119,
+ "column": 7
+ },
+ "end": {
+ "line": 119,
+ "column": 26
+ }
+ },
+ {
+ "start": {
+ "line": 119,
+ "column": 30
+ },
+ "end": {
+ "line": 119,
+ "column": 48
+ }
+ },
+ {
+ "start": {
+ "line": 120,
+ "column": 8
+ },
+ "end": {
+ "line": 126,
+ "column": 10
+ }
+ }
+ ],
+ "line": 119
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 128,
+ "column": 7
+ },
+ "end": {
+ "line": 138,
+ "column": 7
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 128,
+ "column": 7
+ },
+ "end": {
+ "line": 128,
+ "column": 26
+ }
+ },
+ {
+ "start": {
+ "line": 128,
+ "column": 30
+ },
+ "end": {
+ "line": 128,
+ "column": 48
+ }
+ },
+ {
+ "start": {
+ "line": 129,
+ "column": 8
+ },
+ "end": {
+ "line": 137,
+ "column": 10
+ }
+ }
+ ],
+ "line": 128
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 22
+ },
+ "end": {
+ "line": 139,
+ "column": 51
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 139,
+ "column": 22
+ },
+ "end": {
+ "line": 139,
+ "column": 31
+ }
+ },
+ {
+ "start": {
+ "line": 139,
+ "column": 35
+ },
+ "end": {
+ "line": 139,
+ "column": 51
+ }
+ }
+ ],
+ "line": 139
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 9
+ },
+ "end": {
+ "line": 149,
+ "column": 9
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 140,
+ "column": 9
+ },
+ "end": {
+ "line": 140,
+ "column": 25
+ }
+ },
+ {
+ "start": {
+ "line": 140,
+ "column": 29
+ },
+ "end": {
+ "line": 140,
+ "column": 37
+ }
+ },
+ {
+ "start": {
+ "line": 141,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 12
+ }
+ }
+ ],
+ "line": 140
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "checkSummaryOnlyChange",
+ "decl": {
+ "start": {
+ "line": 10,
+ "column": 9
+ },
+ "end": {
+ "line": 10,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 50
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "line": 10
+ },
+ "1": {
+ "name": "checkSummaryKeywords",
+ "decl": {
+ "start": {
+ "line": 22,
+ "column": 9
+ },
+ "end": {
+ "line": 22,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 46
+ },
+ "end": {
+ "line": 24,
+ "column": 1
+ }
+ },
+ "line": 22
+ },
+ "2": {
+ "name": "checkSummaryRange",
+ "decl": {
+ "start": {
+ "line": 25,
+ "column": 9
+ },
+ "end": {
+ "line": 25,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 40
+ },
+ "end": {
+ "line": 28,
+ "column": 1
+ }
+ },
+ "line": 25
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 32,
+ "column": 21
+ },
+ "end": {
+ "line": 32,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 155,
+ "column": 1
+ }
+ },
+ "line": 41
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 46,
+ "column": 24
+ },
+ "end": {
+ "line": 46,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 30
+ },
+ "end": {
+ "line": 51,
+ "column": 3
+ }
+ },
+ "line": 46
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 64,
+ "column": 49
+ },
+ "end": {
+ "line": 64,
+ "column": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 55
+ },
+ "end": {
+ "line": 71,
+ "column": 3
+ }
+ },
+ "line": 64
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 66,
+ "column": 6
+ },
+ "end": {
+ "line": 66,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 38
+ }
+ },
+ "line": 67
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 74,
+ "column": 4
+ },
+ "end": {
+ "line": 74,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 28
+ },
+ "end": {
+ "line": 77,
+ "column": 5
+ }
+ },
+ "line": 74
+ },
+ "8": {
+ "name": "onChangeOnlyChangeKeywords",
+ "decl": {
+ "start": {
+ "line": 81,
+ "column": 11
+ },
+ "end": {
+ "line": 81,
+ "column": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 41
+ },
+ "end": {
+ "line": 83,
+ "column": 3
+ }
+ },
+ "line": 81
+ },
+ "9": {
+ "name": "onChangeOnlyChange",
+ "decl": {
+ "start": {
+ "line": 85,
+ "column": 11
+ },
+ "end": {
+ "line": 85,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 33
+ },
+ "end": {
+ "line": 88,
+ "column": 3
+ }
+ },
+ "line": 85
+ },
+ "10": {
+ "name": "onChangeShowMode",
+ "decl": {
+ "start": {
+ "line": 89,
+ "column": 11
+ },
+ "end": {
+ "line": 89,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 34
+ },
+ "end": {
+ "line": 91,
+ "column": 3
+ }
+ },
+ "line": 89
+ },
+ "11": {
+ "name": "onChangeRange",
+ "decl": {
+ "start": {
+ "line": 92,
+ "column": 11
+ },
+ "end": {
+ "line": 92,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 29
+ },
+ "end": {
+ "line": 94,
+ "column": 3
+ }
+ },
+ "line": 92
+ },
+ "12": {
+ "name": "(anonymous_12)",
+ "decl": {
+ "start": {
+ "line": 100,
+ "column": 48
+ },
+ "end": {
+ "line": 100,
+ "column": 49
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 12
+ },
+ "end": {
+ "line": 101,
+ "column": 45
+ }
+ },
+ "line": 101
+ },
+ "13": {
+ "name": "(anonymous_13)",
+ "decl": {
+ "start": {
+ "line": 134,
+ "column": 60
+ },
+ "end": {
+ "line": 134,
+ "column": 61
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 12
+ },
+ "end": {
+ "line": 135,
+ "column": 45
+ }
+ },
+ "line": 135
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 12,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "1": {
+ "start": {
+ "line": 13,
+ "column": 4
+ },
+ "end": {
+ "line": 13,
+ "column": 16
+ }
+ },
+ "2": {
+ "start": {
+ "line": 16,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "3": {
+ "start": {
+ "line": 17,
+ "column": 4
+ },
+ "end": {
+ "line": 17,
+ "column": 16
+ }
+ },
+ "4": {
+ "start": {
+ "line": 19,
+ "column": 4
+ },
+ "end": {
+ "line": 19,
+ "column": 17
+ }
+ },
+ "5": {
+ "start": {
+ "line": 23,
+ "column": 2
+ },
+ "end": {
+ "line": 23,
+ "column": 66
+ }
+ },
+ "6": {
+ "start": {
+ "line": 26,
+ "column": 14
+ },
+ "end": {
+ "line": 26,
+ "column": 33
+ }
+ },
+ "7": {
+ "start": {
+ "line": 27,
+ "column": 2
+ },
+ "end": {
+ "line": 27,
+ "column": 44
+ }
+ },
+ "8": {
+ "start": {
+ "line": 32,
+ "column": 21
+ },
+ "end": {
+ "line": 155,
+ "column": 1
+ }
+ },
+ "9": {
+ "start": {
+ "line": 44,
+ "column": 34
+ },
+ "end": {
+ "line": 44,
+ "column": 50
+ }
+ },
+ "10": {
+ "start": {
+ "line": 46,
+ "column": 16
+ },
+ "end": {
+ "line": 51,
+ "column": 21
+ }
+ },
+ "11": {
+ "start": {
+ "line": 48,
+ "column": 4
+ },
+ "end": {
+ "line": 50,
+ "column": 17
+ }
+ },
+ "12": {
+ "start": {
+ "line": 56,
+ "column": 34
+ },
+ "end": {
+ "line": 56,
+ "column": 46
+ }
+ },
+ "13": {
+ "start": {
+ "line": 57,
+ "column": 38
+ },
+ "end": {
+ "line": 57,
+ "column": 53
+ }
+ },
+ "14": {
+ "start": {
+ "line": 58,
+ "column": 28
+ },
+ "end": {
+ "line": 58,
+ "column": 46
+ }
+ },
+ "15": {
+ "start": {
+ "line": 64,
+ "column": 41
+ },
+ "end": {
+ "line": 71,
+ "column": 59
+ }
+ },
+ "16": {
+ "start": {
+ "line": 65,
+ "column": 4
+ },
+ "end": {
+ "line": 70,
+ "column": 6
+ }
+ },
+ "17": {
+ "start": {
+ "line": 67,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 38
+ }
+ },
+ "18": {
+ "start": {
+ "line": 73,
+ "column": 18
+ },
+ "end": {
+ "line": 79,
+ "column": 3
+ }
+ },
+ "19": {
+ "start": {
+ "line": 75,
+ "column": 6
+ },
+ "end": {
+ "line": 75,
+ "column": 26
+ }
+ },
+ "20": {
+ "start": {
+ "line": 76,
+ "column": 6
+ },
+ "end": {
+ "line": 76,
+ "column": 17
+ }
+ },
+ "21": {
+ "start": {
+ "line": 80,
+ "column": 26
+ },
+ "end": {
+ "line": 80,
+ "column": 68
+ }
+ },
+ "22": {
+ "start": {
+ "line": 82,
+ "column": 4
+ },
+ "end": {
+ "line": 82,
+ "column": 32
+ }
+ },
+ "23": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 87,
+ "column": 21
+ }
+ },
+ "24": {
+ "start": {
+ "line": 90,
+ "column": 4
+ },
+ "end": {
+ "line": 90,
+ "column": 22
+ }
+ },
+ "25": {
+ "start": {
+ "line": 93,
+ "column": 4
+ },
+ "end": {
+ "line": 93,
+ "column": 17
+ }
+ },
+ "26": {
+ "start": {
+ "line": 95,
+ "column": 2
+ },
+ "end": {
+ "line": 154,
+ "column": 4
+ }
+ },
+ "27": {
+ "start": {
+ "line": 101,
+ "column": 12
+ },
+ "end": {
+ "line": 101,
+ "column": 45
+ }
+ },
+ "28": {
+ "start": {
+ "line": 135,
+ "column": 12
+ },
+ "end": {
+ "line": 135,
+ "column": 45
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/coverage.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/coverage.tsx.js
new file mode 100644
index 00000000..8e828364
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/coverage.tsx.js
@@ -0,0 +1,476 @@
+window["components/CanyonReport/line/coverage.tsx"] = {
+ "content": "// import { CSSProperties } from 'react';\n\nimport { getViewLineHeight } from \"../../../helpers/utils/getViewLineHeight.tsx\";\n\nconst LineCoverage = ({ covers, theme }) => {\n const viewLineHeight = getViewLineHeight();\n return (\n \n {covers.map(({ covered, hits }, index) => {\n if (covered === \"yes\") {\n return (\n
\n {hits}x\n
\n );\n } else if (covered === \"no\") {\n return (\n
\n );\n } else {\n return (\n
\n );\n }\n })}\n
\n );\n};\n\nexport default LineCoverage;\n",
+ "coverage": {
+ "path": "components/CanyonReport/line/coverage.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ],
+ "6": [
+ 0,
+ 0
+ ],
+ "7": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 8
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 10,
+ "column": 8
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ },
+ {
+ "start": {
+ "line": 26,
+ "column": 15
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ }
+ ],
+ "line": 10
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 18
+ },
+ "end": {
+ "line": 16,
+ "column": 68
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 16,
+ "column": 38
+ },
+ "end": {
+ "line": 16,
+ "column": 56
+ }
+ },
+ {
+ "start": {
+ "line": 16,
+ "column": 59
+ },
+ "end": {
+ "line": 16,
+ "column": 68
+ }
+ }
+ ],
+ "line": 16
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 23
+ },
+ "end": {
+ "line": 17,
+ "column": 72
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 17,
+ "column": 43
+ },
+ "end": {
+ "line": 17,
+ "column": 60
+ }
+ },
+ {
+ "start": {
+ "line": 17,
+ "column": 63
+ },
+ "end": {
+ "line": 17,
+ "column": 72
+ }
+ }
+ ],
+ "line": 17
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 15
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 26,
+ "column": 15
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ },
+ {
+ "start": {
+ "line": 38,
+ "column": 15
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ }
+ ],
+ "line": 26
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 33
+ },
+ "end": {
+ "line": 31,
+ "column": 74
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 31,
+ "column": 53
+ },
+ "end": {
+ "line": 31,
+ "column": 62
+ }
+ },
+ {
+ "start": {
+ "line": 31,
+ "column": 65
+ },
+ "end": {
+ "line": 31,
+ "column": 74
+ }
+ }
+ ],
+ "line": 31
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 23
+ },
+ "end": {
+ "line": 32,
+ "column": 72
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 43
+ },
+ "end": {
+ "line": 32,
+ "column": 60
+ }
+ },
+ {
+ "start": {
+ "line": 32,
+ "column": 63
+ },
+ "end": {
+ "line": 32,
+ "column": 72
+ }
+ }
+ ],
+ "line": 32
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 18
+ },
+ "end": {
+ "line": 44,
+ "column": 76
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 44,
+ "column": 38
+ },
+ "end": {
+ "line": 44,
+ "column": 56
+ }
+ },
+ {
+ "start": {
+ "line": 44,
+ "column": 59
+ },
+ "end": {
+ "line": 44,
+ "column": 76
+ }
+ }
+ ],
+ "line": 44
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 23
+ },
+ "end": {
+ "line": 45,
+ "column": 72
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 45,
+ "column": 43
+ },
+ "end": {
+ "line": 45,
+ "column": 60
+ }
+ },
+ {
+ "start": {
+ "line": 45,
+ "column": 63
+ },
+ "end": {
+ "line": 45,
+ "column": 72
+ }
+ }
+ ],
+ "line": 45
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 5,
+ "column": 21
+ },
+ "end": {
+ "line": 5,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 44
+ },
+ "end": {
+ "line": 55,
+ "column": 1
+ }
+ },
+ "line": 5
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 9,
+ "column": 18
+ },
+ "end": {
+ "line": 9,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 48
+ },
+ "end": {
+ "line": 52,
+ "column": 7
+ }
+ },
+ "line": 9
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 5,
+ "column": 21
+ },
+ "end": {
+ "line": 55,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 6,
+ "column": 25
+ },
+ "end": {
+ "line": 6,
+ "column": 44
+ }
+ },
+ "2": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 54,
+ "column": 4
+ }
+ },
+ "3": {
+ "start": {
+ "line": 10,
+ "column": 8
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ },
+ "4": {
+ "start": {
+ "line": 11,
+ "column": 10
+ },
+ "end": {
+ "line": 25,
+ "column": 12
+ }
+ },
+ "5": {
+ "start": {
+ "line": 26,
+ "column": 15
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ },
+ "6": {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 37,
+ "column": 12
+ }
+ },
+ "7": {
+ "start": {
+ "line": 39,
+ "column": 10
+ },
+ "end": {
+ "line": 50,
+ "column": 12
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/new.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/new.tsx.js
new file mode 100644
index 00000000..1ca3e276
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/new.tsx.js
@@ -0,0 +1,152 @@
+window["components/CanyonReport/line/new.tsx"] = {
+ "content": "import { getViewLineHeight } from \"../../../helpers/utils/getViewLineHeight.tsx\";\n\nconst LineNew = ({ news, count }) => {\n const viewLineHeight = getViewLineHeight();\n return (\n \n {[...Array(count)].map((line, index) => {\n return (\n
\n {/*{news.includes(index + 1) ? '+' : ''}*/}\n
\n );\n })}\n
\n );\n};\n\nexport default LineNew;\n",
+ "coverage": {
+ "path": "components/CanyonReport/line/new.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 31
+ },
+ "end": {
+ "line": 14,
+ "column": 33
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 13,
+ "column": 18
+ },
+ "end": {
+ "line": 13,
+ "column": 34
+ }
+ },
+ {
+ "start": {
+ "line": 14,
+ "column": 18
+ },
+ "end": {
+ "line": 14,
+ "column": 33
+ }
+ }
+ ],
+ "line": 12
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 16
+ },
+ "end": {
+ "line": 3,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 37
+ },
+ "end": {
+ "line": 24,
+ "column": 1
+ }
+ },
+ "line": 3
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 7,
+ "column": 29
+ },
+ "end": {
+ "line": 7,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 46
+ },
+ "end": {
+ "line": 21,
+ "column": 7
+ }
+ },
+ "line": 7
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 16
+ },
+ "end": {
+ "line": 24,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 4,
+ "column": 25
+ },
+ "end": {
+ "line": 4,
+ "column": 44
+ }
+ },
+ "2": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 23,
+ "column": 4
+ }
+ },
+ "3": {
+ "start": {
+ "line": 8,
+ "column": 8
+ },
+ "end": {
+ "line": 20,
+ "column": 10
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/number.tsx.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/number.tsx.js
new file mode 100644
index 00000000..5ffb4801
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/line/number.tsx.js
@@ -0,0 +1,323 @@
+window["components/CanyonReport/line/number.tsx"] = {
+ "content": "import { getViewLineHeight } from \"../../../helpers/utils/getViewLineHeight.tsx\";\n\nconst LineNumber = ({ count, theme }) => {\n const viewLineHeight = getViewLineHeight();\n const style: any = {\n color: theme === \"light\" ? \"#0074D9\" : \"#0074D9\",\n textAlign: \"right\",\n padding: \"0 5px 0 20px\",\n };\n setTimeout(() => {\n try {\n document\n .getElementById(`${window.location.hash.replace(\"#\", \"\")}`)\n .scrollIntoView();\n window.scrollBy(0, -160); // 向上滚动160px\n } catch (e) {\n // console.error(e);\n }\n }, 0);\n\n const activeLine = Number(window.location.hash.replace(\"#L\", \"\")) - 1;\n return (\n \n {[...Array(count)].map((i, index) => {\n return (\n
\n {index + 1}\n \n );\n })}\n
\n );\n};\n\nexport default LineNumber;\n",
+ "coverage": {
+ "path": "components/CanyonReport/line/number.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 11
+ },
+ "end": {
+ "line": 6,
+ "column": 52
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 6,
+ "column": 31
+ },
+ "end": {
+ "line": 6,
+ "column": 40
+ }
+ },
+ {
+ "start": {
+ "line": 6,
+ "column": 43
+ },
+ "end": {
+ "line": 6,
+ "column": 52
+ }
+ }
+ ],
+ "line": 6
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 21
+ },
+ "end": {
+ "line": 33,
+ "column": 59
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 33,
+ "column": 44
+ },
+ "end": {
+ "line": 33,
+ "column": 49
+ }
+ },
+ {
+ "start": {
+ "line": 33,
+ "column": 52
+ },
+ "end": {
+ "line": 33,
+ "column": 59
+ }
+ }
+ ],
+ "line": 33
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 30
+ },
+ "end": {
+ "line": 34,
+ "column": 74
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 34,
+ "column": 53
+ },
+ "end": {
+ "line": 34,
+ "column": 64
+ }
+ },
+ {
+ "start": {
+ "line": 34,
+ "column": 67
+ },
+ "end": {
+ "line": 34,
+ "column": 74
+ }
+ }
+ ],
+ "line": 34
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 41
+ },
+ "end": {
+ "line": 44,
+ "column": 1
+ }
+ },
+ "line": 3
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 10,
+ "column": 13
+ },
+ "end": {
+ "line": 10,
+ "column": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 19
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "line": 10
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 24,
+ "column": 29
+ },
+ "end": {
+ "line": 24,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 43
+ },
+ "end": {
+ "line": 41,
+ "column": 7
+ }
+ },
+ "line": 24
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 4,
+ "column": 25
+ },
+ "end": {
+ "line": 4,
+ "column": 44
+ }
+ },
+ "2": {
+ "start": {
+ "line": 5,
+ "column": 21
+ },
+ "end": {
+ "line": 9,
+ "column": 3
+ }
+ },
+ "3": {
+ "start": {
+ "line": 10,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 8
+ }
+ },
+ "4": {
+ "start": {
+ "line": 11,
+ "column": 4
+ },
+ "end": {
+ "line": 18,
+ "column": 5
+ }
+ },
+ "5": {
+ "start": {
+ "line": 12,
+ "column": 6
+ },
+ "end": {
+ "line": 14,
+ "column": 26
+ }
+ },
+ "6": {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 15,
+ "column": 31
+ }
+ },
+ "7": {
+ "start": {
+ "line": 21,
+ "column": 21
+ },
+ "end": {
+ "line": 21,
+ "column": 71
+ }
+ },
+ "8": {
+ "start": {
+ "line": 22,
+ "column": 2
+ },
+ "end": {
+ "line": 43,
+ "column": 4
+ }
+ },
+ "9": {
+ "start": {
+ "line": 25,
+ "column": 8
+ },
+ "end": {
+ "line": 40,
+ "column": 10
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/CanyonReport/loadShiki.ts.js b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/loadShiki.ts.js
new file mode 100644
index 00000000..28d9b822
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/CanyonReport/loadShiki.ts.js
@@ -0,0 +1,63 @@
+window["components/CanyonReport/loadShiki.ts"] = {
+ "content": "import { createHighlighterCore } from \"shiki/core\";\nimport getWasm from \"shiki/wasm\";\nimport lightplus from \"shiki/themes/light-plus.mjs\";\nimport css from \"shiki/langs/css.mjs\";\nimport jscss from \"shiki/langs/javascript.mjs\";\nimport { createOnigurumaEngine } from \"shiki/engine/oniguruma\";\n\nexport const createHighlighterCoreInstance = async () => {\n return await createHighlighterCore({\n themes: [\n // 传入导入的包,而不是字符串\n lightplus,\n ],\n langs: [css, jscss],\n // `shiki/wasm` contains the wasm binary inlined as base64 string.\n engine: createOnigurumaEngine(getWasm),\n });\n};\n",
+ "coverage": {
+ "path": "components/CanyonReport/loadShiki.ts",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 45
+ },
+ "end": {
+ "line": 8,
+ "column": 46
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 57
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "line": 8
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 8,
+ "column": 45
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 9,
+ "column": 2
+ },
+ "end": {
+ "line": 17,
+ "column": 5
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/LineChart.tsx.js b/packages/canyon-report/mock/dynamic-data/components/LineChart.tsx.js
new file mode 100644
index 00000000..fc967cf9
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/LineChart.tsx.js
@@ -0,0 +1,392 @@
+window["components/LineChart.tsx"] = {
+ "content": "import EChartsReact from \"echarts-for-react\";\nimport { CanyonCardPrimary } from \"@/components/old-ui\";\n\nconst coreData = [\n {\n month: 0,\n year: 2024,\n uiTestBranchCoverage: 50.59,\n uiTestLineCoverage: 56.08,\n uiTestChangedLineCoverage: 100,\n utBranchCoverage: 64.96,\n utLineCoverage: 62.56,\n },\n {\n month: 1,\n year: 2024,\n uiTestBranchCoverage: 51.45,\n uiTestLineCoverage: 59.19,\n uiTestChangedLineCoverage: 93.76,\n utBranchCoverage: 64.74,\n utLineCoverage: 64,\n },\n {\n month: 2,\n year: 2024,\n uiTestBranchCoverage: 50.05,\n uiTestLineCoverage: 63.23,\n uiTestChangedLineCoverage: 93.95,\n utBranchCoverage: 64.68,\n utLineCoverage: 64.38,\n },\n {\n month: 3,\n year: 2024,\n uiTestBranchCoverage: 55.15,\n uiTestLineCoverage: 66.47,\n uiTestChangedLineCoverage: 95.49,\n utBranchCoverage: 64.62,\n utLineCoverage: 65.61,\n },\n {\n month: 4,\n year: 2024,\n uiTestBranchCoverage: 57.84,\n uiTestLineCoverage: 71.61,\n uiTestChangedLineCoverage: 95.1,\n utBranchCoverage: 64.69,\n utLineCoverage: 66.15,\n },\n {\n month: 5,\n year: 2024,\n uiTestBranchCoverage: 62.84,\n uiTestLineCoverage: 77.23,\n uiTestChangedLineCoverage: 96.13,\n utBranchCoverage: 65.21,\n utLineCoverage: 68.91,\n },\n {\n month: 6,\n year: 2024,\n uiTestBranchCoverage: 63.22,\n uiTestLineCoverage: 77.66,\n uiTestChangedLineCoverage: 95.35,\n utBranchCoverage: 66.81,\n utLineCoverage: 69.34,\n },\n {\n month: 7,\n year: 2024,\n uiTestBranchCoverage: 63.43,\n uiTestLineCoverage: 77.92,\n uiTestChangedLineCoverage: 95.61,\n utBranchCoverage: 67.1,\n utLineCoverage: 69.83,\n },\n];\n\nconst data = {\n Month: coreData.map((item) => `${item.month + 1}月`),\n \"Branch Coverage (%)\": coreData.map((item) => item.uiTestBranchCoverage),\n \"Line Coverage (%)\": coreData.map((item) => item.uiTestLineCoverage),\n \"Changed Line Coverage (%)\": coreData.map(\n (item) => item.uiTestChangedLineCoverage,\n ),\n};\nconst d1 = coreData.map((item) => item.utBranchCoverage);\nconst d2 = coreData.map((item) => item.utLineCoverage);\nconst data1 = {\n Month: coreData.map((item) => `${item.month + 1}月`),\n \"Branch Coverage (%)\": d1,\n \"Line Coverage (%)\": d2,\n};\n\nconst option = {\n title: {\n text: \"UI自动化覆盖率\",\n },\n tooltip: {\n trigger: \"axis\",\n },\n legend: {\n data: [\n \"Branch Coverage (%)\",\n \"Line Coverage (%)\",\n \"Changed Line Coverage (%)\",\n ],\n right: 10,\n },\n grid: {\n left: \"3%\",\n right: \"4%\",\n bottom: \"3%\",\n containLabel: true,\n },\n // toolbox: {\n // feature: {\n // saveAsImage: {},\n // },\n // },\n xAxis: {\n type: \"category\",\n boundaryGap: true,\n data: data.Month,\n },\n yAxis: {\n type: \"value\",\n max: 100,\n },\n series: [\n {\n name: \"Branch Coverage (%)\",\n type: \"line\",\n data: data[\"Branch Coverage (%)\"],\n // 线上加文字\n label: {\n show: true,\n position: \"bottom\",\n },\n },\n {\n name: \"Line Coverage (%)\",\n type: \"line\",\n data: data[\"Line Coverage (%)\"],\n // 线上加文字\n label: {\n show: true,\n position: \"top\",\n },\n },\n {\n name: \"Changed Line Coverage (%)\",\n type: \"line\",\n data: data[\"Changed Line Coverage (%)\"],\n // 线上加文字\n label: {\n show: true,\n position: \"top\",\n },\n },\n ],\n};\n\nconst option1 = {\n title: {\n text: \"UT覆盖率\",\n },\n tooltip: {\n trigger: \"axis\",\n },\n legend: {\n data: [\n \"Branch Coverage (%)\",\n \"Line Coverage (%)\",\n \"Changed Line Coverage (%)\",\n ],\n right: 10,\n },\n grid: {\n left: \"3%\",\n right: \"4%\",\n bottom: \"3%\",\n containLabel: true,\n },\n // toolbox: {\n // feature: {\n // saveAsImage: {},\n // },\n // },\n xAxis: {\n type: \"category\",\n boundaryGap: true,\n data: data.Month,\n },\n yAxis: {\n type: \"value\",\n max: 100,\n },\n series: [\n {\n name: \"Branch Coverage (%)\",\n type: \"line\",\n data: data1[\"Branch Coverage (%)\"],\n label: {\n show: true,\n position: \"top\",\n color: \"blue\",\n },\n },\n {\n name: \"Line Coverage (%)\",\n type: \"line\",\n data: data1[\"Line Coverage (%)\"],\n label: {\n show: true,\n position: \"bottom\",\n color: \"green\",\n },\n },\n ],\n};\nconst LineChart = () => {\n return (\n \n \n \n \n
\n \n );\n};\n\nexport default LineChart;\n",
+ "coverage": {
+ "path": "components/LineChart.tsx",
+ "b": {},
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 80,
+ "column": 22
+ },
+ "end": {
+ "line": 80,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 32
+ },
+ "end": {
+ "line": 80,
+ "column": 52
+ }
+ },
+ "line": 80
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 81,
+ "column": 38
+ },
+ "end": {
+ "line": 81,
+ "column": 39
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 48
+ },
+ "end": {
+ "line": 81,
+ "column": 73
+ }
+ },
+ "line": 81
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 82,
+ "column": 36
+ },
+ "end": {
+ "line": 82,
+ "column": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 82,
+ "column": 46
+ },
+ "end": {
+ "line": 82,
+ "column": 69
+ }
+ },
+ "line": 82
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 4
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 14
+ },
+ "end": {
+ "line": 84,
+ "column": 44
+ }
+ },
+ "line": 84
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 87,
+ "column": 24
+ },
+ "end": {
+ "line": 87,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 34
+ },
+ "end": {
+ "line": 87,
+ "column": 55
+ }
+ },
+ "line": 87
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 88,
+ "column": 24
+ },
+ "end": {
+ "line": 88,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 34
+ },
+ "end": {
+ "line": 88,
+ "column": 53
+ }
+ },
+ "line": 88
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 90,
+ "column": 22
+ },
+ "end": {
+ "line": 90,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 32
+ },
+ "end": {
+ "line": 90,
+ "column": 52
+ }
+ },
+ "line": 90
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 222,
+ "column": 18
+ },
+ "end": {
+ "line": 222,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 222,
+ "column": 24
+ },
+ "end": {
+ "line": 239,
+ "column": 1
+ }
+ },
+ "line": 222
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 4,
+ "column": 17
+ },
+ "end": {
+ "line": 77,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 79,
+ "column": 13
+ },
+ "end": {
+ "line": 86,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 80,
+ "column": 32
+ },
+ "end": {
+ "line": 80,
+ "column": 52
+ }
+ },
+ "3": {
+ "start": {
+ "line": 81,
+ "column": 48
+ },
+ "end": {
+ "line": 81,
+ "column": 73
+ }
+ },
+ "4": {
+ "start": {
+ "line": 82,
+ "column": 46
+ },
+ "end": {
+ "line": 82,
+ "column": 69
+ }
+ },
+ "5": {
+ "start": {
+ "line": 84,
+ "column": 14
+ },
+ "end": {
+ "line": 84,
+ "column": 44
+ }
+ },
+ "6": {
+ "start": {
+ "line": 87,
+ "column": 11
+ },
+ "end": {
+ "line": 87,
+ "column": 56
+ }
+ },
+ "7": {
+ "start": {
+ "line": 87,
+ "column": 34
+ },
+ "end": {
+ "line": 87,
+ "column": 55
+ }
+ },
+ "8": {
+ "start": {
+ "line": 88,
+ "column": 11
+ },
+ "end": {
+ "line": 88,
+ "column": 54
+ }
+ },
+ "9": {
+ "start": {
+ "line": 88,
+ "column": 34
+ },
+ "end": {
+ "line": 88,
+ "column": 53
+ }
+ },
+ "10": {
+ "start": {
+ "line": 89,
+ "column": 14
+ },
+ "end": {
+ "line": 93,
+ "column": 1
+ }
+ },
+ "11": {
+ "start": {
+ "line": 90,
+ "column": 32
+ },
+ "end": {
+ "line": 90,
+ "column": 52
+ }
+ },
+ "12": {
+ "start": {
+ "line": 95,
+ "column": 15
+ },
+ "end": {
+ "line": 162,
+ "column": 1
+ }
+ },
+ "13": {
+ "start": {
+ "line": 164,
+ "column": 16
+ },
+ "end": {
+ "line": 221,
+ "column": 1
+ }
+ },
+ "14": {
+ "start": {
+ "line": 222,
+ "column": 18
+ },
+ "end": {
+ "line": 239,
+ "column": 1
+ }
+ },
+ "15": {
+ "start": {
+ "line": 223,
+ "column": 2
+ },
+ "end": {
+ "line": 238,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/app/CopyCode.tsx.js b/packages/canyon-report/mock/dynamic-data/components/app/CopyCode.tsx.js
new file mode 100644
index 00000000..64d5bb0f
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/app/CopyCode.tsx.js
@@ -0,0 +1,226 @@
+window["components/app/CopyCode.tsx"] = {
+ "content": "import \"./CopyCode.css\";\n\nimport { CopyOutlined } from \"@ant-design/icons\";\nimport { FC, useEffect } from \"react\";\n// @ts-ignore\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport { createHighlighterCoreInstance } from \"@/components/CanyonReport/loadShiki.ts\";\n\nconst CopyCode: FC<{ code: string }> = ({ code }) => {\n const fileContent = code;\n const [content, setContent] = useState(\"\");\n\n useEffect(() => {\n if (fileContent) {\n createHighlighterCoreInstance().then(({ codeToHtml }) => {\n const html = codeToHtml(fileContent, {\n lang: \"json\",\n theme: \"tokyo-night\",\n });\n setContent(html);\n });\n }\n }, [fileContent]);\n return (\n \n
\n \n }\n />\n \n
\n\n
\n
\n );\n};\n\nexport default CopyCode;\n",
+ "coverage": {
+ "path": "components/app/CopyCode.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 4
+ },
+ "end": {
+ "line": 22,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 14,
+ "column": 4
+ },
+ "end": {
+ "line": 22,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 14
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 9,
+ "column": 39
+ },
+ "end": {
+ "line": 9,
+ "column": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 53
+ },
+ "end": {
+ "line": 41,
+ "column": 1
+ }
+ },
+ "line": 9
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 12
+ },
+ "end": {
+ "line": 13,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 18
+ },
+ "end": {
+ "line": 23,
+ "column": 3
+ }
+ },
+ "line": 13
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 15,
+ "column": 43
+ },
+ "end": {
+ "line": 15,
+ "column": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 63
+ },
+ "end": {
+ "line": 21,
+ "column": 7
+ }
+ },
+ "line": 15
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 9,
+ "column": 39
+ },
+ "end": {
+ "line": 41,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 10,
+ "column": 22
+ },
+ "end": {
+ "line": 10,
+ "column": 26
+ }
+ },
+ "2": {
+ "start": {
+ "line": 11,
+ "column": 32
+ },
+ "end": {
+ "line": 11,
+ "column": 44
+ }
+ },
+ "3": {
+ "start": {
+ "line": 13,
+ "column": 2
+ },
+ "end": {
+ "line": 23,
+ "column": 20
+ }
+ },
+ "4": {
+ "start": {
+ "line": 14,
+ "column": 4
+ },
+ "end": {
+ "line": 22,
+ "column": 5
+ }
+ },
+ "5": {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 21,
+ "column": 9
+ }
+ },
+ "6": {
+ "start": {
+ "line": 16,
+ "column": 21
+ },
+ "end": {
+ "line": 19,
+ "column": 10
+ }
+ },
+ "7": {
+ "start": {
+ "line": 20,
+ "column": 8
+ },
+ "end": {
+ "line": 20,
+ "column": 25
+ }
+ },
+ "8": {
+ "start": {
+ "line": 24,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/app/ProjectRecordDetailDrawer.tsx.js b/packages/canyon-report/mock/dynamic-data/components/app/ProjectRecordDetailDrawer.tsx.js
new file mode 100644
index 00000000..71f75447
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/app/ProjectRecordDetailDrawer.tsx.js
@@ -0,0 +1,624 @@
+window["components/app/ProjectRecordDetailDrawer.tsx"] = {
+ "content": "import { useQuery } from \"@apollo/client\";\nimport dayjs from \"dayjs\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useParams } from \"react-router-dom\";\n\nimport { GetProjectRecordDetailByShaDocument } from \"../../helpers/backend/gen/graphql.ts\";\nconst { Text } = Typography;\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nconsole.log(useRequest, axios);\nconst ProjectRecordDetailDrawer = ({ open, onClose, sha }: any) => {\n const pam = useParams();\n const { data, loading } = useQuery(GetProjectRecordDetailByShaDocument, {\n variables: {\n projectID: pam.id as string,\n sha: sha,\n },\n });\n\n const { t } = useTranslation();\n // const pam = useParams();\n const columns = [\n {\n title: t(\"projects.report_id\"),\n dataIndex: \"reportID\",\n render(_: any): JSX.Element {\n // 标识位(勿动)\n return {_}
;\n },\n },\n {\n title: t(\"projects.statements\"),\n dataIndex: \"statements\",\n render(_: any): JSX.Element {\n return {_}% ;\n },\n },\n {\n title: t(\"projects.newlines\"),\n dataIndex: \"newlines\",\n render(_: any): JSX.Element {\n return {_}% ;\n },\n },\n {\n title: t(\"projects.reporter\"),\n dataIndex: \"reporterUsername\",\n render(_: any, t: any): any {\n return (\n \n
\n
{t.reporterUsername} \n
\n );\n },\n },\n {\n title: t(\"projects.report_time\"),\n dataIndex: \"lastReportTime\",\n render(_: any) {\n return dayjs(_).format(\"MM-DD HH:mm\");\n },\n },\n {\n title: t(\"common.option\"),\n render(_: any) {\n return (\n \n \n {t(\"common.detail\")}\n \n
\n );\n },\n },\n ];\n\n return (\n <>\n \n \n \n >\n );\n};\n\nexport default ProjectRecordDetailDrawer;\n",
+ "coverage": {
+ "path": "components/app/ProjectRecordDetailDrawer.tsx",
+ "b": {
+ "0": [
+ 0,
+ 10
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 54,
+ 27
+ ]
+ },
+ "f": {
+ "0": 54,
+ "1": 10,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 10,
+ "6": 10,
+ "7": 10,
+ "8": 10,
+ "9": 10
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 54,
+ "4": 54,
+ "5": 54,
+ "6": 54,
+ "7": 10,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 10,
+ "16": 10,
+ "17": 10,
+ "18": 10,
+ "19": 10,
+ "20": 10,
+ "21": 54
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 16
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 27,
+ "column": 16
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 27
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 7
+ },
+ "end": {
+ "line": 61,
+ "column": 13
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 54,
+ "column": 7
+ },
+ "end": {
+ "line": 54,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 8
+ },
+ "end": {
+ "line": 61,
+ "column": 13
+ }
+ }
+ ],
+ "line": 54
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 22
+ },
+ "end": {
+ "line": 140,
+ "column": 61
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 140,
+ "column": 22
+ },
+ "end": {
+ "line": 140,
+ "column": 55
+ }
+ },
+ {
+ "start": {
+ "line": 140,
+ "column": 59
+ },
+ "end": {
+ "line": 140,
+ "column": 61
+ }
+ }
+ ],
+ "line": 140
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 11,
+ "column": 34
+ },
+ "end": {
+ "line": 11,
+ "column": 35
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 67
+ },
+ "end": {
+ "line": 145,
+ "column": 1
+ }
+ },
+ "line": 11
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 6
+ },
+ "end": {
+ "line": 26,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 34
+ },
+ "end": {
+ "line": 72,
+ "column": 7
+ }
+ },
+ "line": 26
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 30,
+ "column": 26
+ },
+ "end": {
+ "line": 30,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 44
+ },
+ "end": {
+ "line": 64,
+ "column": 1
+ }
+ },
+ "line": 30
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 32,
+ "column": 30
+ },
+ "end": {
+ "line": 32,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 8
+ }
+ },
+ "line": 33
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 37,
+ "column": 12
+ },
+ "end": {
+ "line": 37,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 19
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ },
+ "line": 37
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 77,
+ "column": 6
+ },
+ "end": {
+ "line": 77,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 77,
+ "column": 34
+ },
+ "end": {
+ "line": 79,
+ "column": 7
+ }
+ },
+ "line": 77
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 6
+ },
+ "end": {
+ "line": 84,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 34
+ },
+ "end": {
+ "line": 86,
+ "column": 7
+ }
+ },
+ "line": 84
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 34
+ },
+ "end": {
+ "line": 98,
+ "column": 7
+ }
+ },
+ "line": 91
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 7
+ }
+ },
+ "line": 103
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 109,
+ "column": 6
+ },
+ "end": {
+ "line": 109,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 109,
+ "column": 21
+ },
+ "end": {
+ "line": 122,
+ "column": 7
+ }
+ },
+ "line": 109
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 17
+ },
+ "end": {
+ "line": 7,
+ "column": 27
+ }
+ },
+ "1": {
+ "start": {
+ "line": 10,
+ "column": 0
+ },
+ "end": {
+ "line": 10,
+ "column": 31
+ }
+ },
+ "2": {
+ "start": {
+ "line": 11,
+ "column": 34
+ },
+ "end": {
+ "line": 145,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 12,
+ "column": 14
+ },
+ "end": {
+ "line": 12,
+ "column": 25
+ }
+ },
+ "4": {
+ "start": {
+ "line": 13,
+ "column": 28
+ },
+ "end": {
+ "line": 18,
+ "column": 4
+ }
+ },
+ "5": {
+ "start": {
+ "line": 20,
+ "column": 16
+ },
+ "end": {
+ "line": 20,
+ "column": 32
+ }
+ },
+ "6": {
+ "start": {
+ "line": 22,
+ "column": 18
+ },
+ "end": {
+ "line": 124,
+ "column": 3
+ }
+ },
+ "7": {
+ "start": {
+ "line": 27,
+ "column": 16
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ },
+ "8": {
+ "start": {
+ "line": 30,
+ "column": 26
+ },
+ "end": {
+ "line": 64,
+ "column": 1
+ }
+ },
+ "9": {
+ "start": {
+ "line": 31,
+ "column": 17
+ },
+ "end": {
+ "line": 31,
+ "column": 39
+ }
+ },
+ "10": {
+ "start": {
+ "line": 32,
+ "column": 19
+ },
+ "end": {
+ "line": 40,
+ "column": 3
+ }
+ },
+ "11": {
+ "start": {
+ "line": 33,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 8
+ }
+ },
+ "12": {
+ "start": {
+ "line": 38,
+ "column": 8
+ },
+ "end": {
+ "line": 38,
+ "column": 41
+ }
+ },
+ "13": {
+ "start": {
+ "line": 41,
+ "column": 2
+ },
+ "end": {
+ "line": 63,
+ "column": 4
+ }
+ },
+ "14": {
+ "start": {
+ "line": 67,
+ "column": 10
+ },
+ "end": {
+ "line": 69,
+ "column": 12
+ }
+ },
+ "15": {
+ "start": {
+ "line": 71,
+ "column": 8
+ },
+ "end": {
+ "line": 71,
+ "column": 68
+ }
+ },
+ "16": {
+ "start": {
+ "line": 78,
+ "column": 8
+ },
+ "end": {
+ "line": 78,
+ "column": 33
+ }
+ },
+ "17": {
+ "start": {
+ "line": 85,
+ "column": 8
+ },
+ "end": {
+ "line": 85,
+ "column": 33
+ }
+ },
+ "18": {
+ "start": {
+ "line": 92,
+ "column": 8
+ },
+ "end": {
+ "line": 97,
+ "column": 10
+ }
+ },
+ "19": {
+ "start": {
+ "line": 104,
+ "column": 8
+ },
+ "end": {
+ "line": 104,
+ "column": 46
+ }
+ },
+ "20": {
+ "start": {
+ "line": 110,
+ "column": 8
+ },
+ "end": {
+ "line": 121,
+ "column": 10
+ }
+ },
+ "21": {
+ "start": {
+ "line": 126,
+ "column": 2
+ },
+ "end": {
+ "line": 144,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/app/getting-started-content.ts.js b/packages/canyon-report/mock/dynamic-data/components/app/getting-started-content.ts.js
new file mode 100644
index 00000000..a5f43be7
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/app/getting-started-content.ts.js
@@ -0,0 +1,25 @@
+window["components/app/getting-started-content.ts"] = {
+ "content": "export const gettingStartedContent = {\n babel: `npm i babel-plugin-istanbul babel-plugin-canyon -D `,\n webpack: `{\n \"plugins\": [\n \"istanbul\",\n \"canyon\"\n ]\n} `,\n};\n",
+ "coverage": {
+ "path": "components/app/getting-started-content.ts",
+ "b": {},
+ "f": {},
+ "s": {
+ "0": 8
+ },
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 1,
+ "column": 37
+ },
+ "end": {
+ "line": 9,
+ "column": 1
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/icons/MaterialSymbolsCommitSharp.tsx.js b/packages/canyon-report/mock/dynamic-data/components/icons/MaterialSymbolsCommitSharp.tsx.js
new file mode 100644
index 00000000..b1ca0e22
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/icons/MaterialSymbolsCommitSharp.tsx.js
@@ -0,0 +1,52 @@
+window["components/icons/MaterialSymbolsCommitSharp.tsx"] = {
+ "content": "import type { SVGProps } from \"react\";\n\nexport default function MaterialSymbolsCommitSharp(\n props: SVGProps,\n) {\n return (\n \n \n \n );\n}\n",
+ "coverage": {
+ "path": "components/icons/MaterialSymbolsCommitSharp.tsx",
+ "b": {},
+ "f": {
+ "0": 40
+ },
+ "s": {
+ "0": 40
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "MaterialSymbolsCommitSharp",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 24
+ },
+ "end": {
+ "line": 3,
+ "column": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 1
+ }
+ },
+ "line": 5
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/card/Primary.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/card/Primary.tsx.js
new file mode 100644
index 00000000..10535bf9
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/card/Primary.tsx.js
@@ -0,0 +1,85 @@
+window["components/old-ui/components/card/Primary.tsx"] = {
+ "content": "import { FC } from \"react\";\n\nconst { useToken } = theme;\nconst CanyonCardPrimary: FC<{\n theme?: any;\n language?: any;\n children: any;\n}> = ({ theme, language, children }) => {\n const { token } = useToken();\n return (\n \n {children}\n
\n );\n};\n\nexport default CanyonCardPrimary;\n",
+ "coverage": {
+ "path": "components/old-ui/components/card/Primary.tsx",
+ "b": {},
+ "f": {
+ "0": 89
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 89,
+ "3": 89
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 8,
+ "column": 6
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 40
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "line": 8
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 21
+ },
+ "end": {
+ "line": 3,
+ "column": 26
+ }
+ },
+ "1": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 9,
+ "column": 20
+ },
+ "end": {
+ "line": 9,
+ "column": 30
+ }
+ },
+ "3": {
+ "start": {
+ "line": 10,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/card/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/card/index.ts.js
new file mode 100644
index 00000000..b3578d8b
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/card/index.ts.js
@@ -0,0 +1,12 @@
+window["components/old-ui/components/card/index.ts"] = {
+ "content": "export { default as CanyonCardPrimary } from \"./Primary\";\n",
+ "coverage": {
+ "path": "components/old-ui/components/card/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/index.ts.js
new file mode 100644
index 00000000..ab2c5519
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/index.ts.js
@@ -0,0 +1,12 @@
+window["components/old-ui/components/index.ts"] = {
+ "content": "export * from \"./card\";\nexport * from \"./layout\";\nexport * from \"./modal\";\nexport * from \"./page\";\n",
+ "coverage": {
+ "path": "components/old-ui/components/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/Base.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/Base.tsx.js
new file mode 100644
index 00000000..d4b7fa61
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/Base.tsx.js
@@ -0,0 +1,438 @@
+window["components/old-ui/components/layout/Base.tsx"] = {
+ "content": "import { MoreOutlined, SearchOutlined } from \"@ant-design/icons\";\nimport { FC, ReactNode } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { CanyonCardPrimary } from \"../card\";\nimport Footer from \"./footer.tsx\";\nimport ScrollBasedLayout from \"./ScrollBasedLayout.tsx\";\n\nconst { useToken } = theme;\nconst { Text, Title } = Typography;\ninterface CanyonLayoutBaseProps {\n title?: string;\n logo?: ReactNode;\n mainTitleRightNode?: ReactNode;\n menuSelectedKey?: string;\n onSelectMenu?: (selectInfo: { key: string }) => void;\n menuItems: MenuProps[\"items\"];\n renderMainContent?: ReactNode;\n onClickGlobalSearch?: () => void;\n MeData: any;\n itemsDropdown: any;\n search: any;\n account: any;\n breadcrumb: any;\n footerName?: string;\n}\nconst CanyonLayoutBase: FC = ({\n title = \"Canyon\",\n logo,\n mainTitleRightNode,\n menuSelectedKey = \"\",\n onSelectMenu,\n menuItems,\n renderMainContent,\n onClickGlobalSearch,\n MeData,\n itemsDropdown,\n search,\n account,\n breadcrumb,\n footerName = \"CANYON\",\n}) => {\n const { token } = useToken();\n\n return (\n \n <>\n
\n \n
\n
{\n window.location.href = \"/\";\n }}\n >\n {logo}\n \n {title}\n \n
\n\n
{mainTitleRightNode}
\n
\n
\n {search && (\n \n
\n {\n onClickGlobalSearch?.();\n }}\n >\n \n
\n
Search \n\n
\n \n ⌘\n \n \n K\n \n
\n
\n \n \n
\n )}\n\n {account && (\n \n \n Account\n \n \n \n \n
\n )}\n\n
\n\n {\n onSelectMenu?.(selectInfo);\n }}\n selectedKeys={[menuSelectedKey]}\n items={menuItems}\n className={\"dark:bg-[#151718] px-1\"}\n style={{ flex: \"1\" }}\n />\n\n {},\n }}\n >\n \n
\n
\n \n {MeData?.me.nickname}\n \n \n {MeData?.me.email || \"\"}\n \n
\n
\n
\n \n \n }\n mainContent={\n \n
\n {breadcrumb}\n
\n
\n ⚠️Something went wrong}>\n {renderMainContent}\n \n
\n
\n }\n footer={}\n />\n >\n \n );\n};\n\nexport default CanyonLayoutBase;\n",
+ "coverage": {
+ "path": "components/old-ui/components/layout/Base.tsx",
+ "b": {
+ "0": [
+ 0
+ ],
+ "1": [
+ 0
+ ],
+ "2": [
+ 57
+ ],
+ "3": [
+ 57,
+ 0
+ ],
+ "4": [
+ 57,
+ 0
+ ],
+ "5": [
+ 57,
+ 25
+ ]
+ },
+ "f": {
+ "0": 57,
+ "1": 0,
+ "2": 0,
+ "3": 18,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 57,
+ "4": 57,
+ "5": 0,
+ "6": 0,
+ "7": 18
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 2
+ },
+ "end": {
+ "line": 27,
+ "column": 18
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 27,
+ "column": 18
+ }
+ }
+ ],
+ "line": 27
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 22
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 30,
+ "column": 20
+ },
+ "end": {
+ "line": 30,
+ "column": 22
+ }
+ }
+ ],
+ "line": 30
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 40,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 23
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 40,
+ "column": 15
+ },
+ "end": {
+ "line": 40,
+ "column": 23
+ }
+ }
+ ],
+ "line": 40
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 15
+ },
+ "end": {
+ "line": 100,
+ "column": 15
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 74,
+ "column": 15
+ },
+ "end": {
+ "line": 74,
+ "column": 21
+ }
+ },
+ {
+ "start": {
+ "line": 75,
+ "column": 16
+ },
+ "end": {
+ "line": 99,
+ "column": 22
+ }
+ }
+ ],
+ "line": 74
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 102,
+ "column": 15
+ },
+ "end": {
+ "line": 128,
+ "column": 15
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 102,
+ "column": 15
+ },
+ "end": {
+ "line": 102,
+ "column": 22
+ }
+ },
+ {
+ "start": {
+ "line": 103,
+ "column": 16
+ },
+ "end": {
+ "line": 127,
+ "column": 22
+ }
+ }
+ ],
+ "line": 102
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 23
+ },
+ "end": {
+ "line": 165,
+ "column": 45
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 165,
+ "column": 23
+ },
+ "end": {
+ "line": 165,
+ "column": 39
+ }
+ },
+ {
+ "start": {
+ "line": 165,
+ "column": 43
+ },
+ "end": {
+ "line": 165,
+ "column": 45
+ }
+ }
+ ],
+ "line": 165
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 52
+ },
+ "end": {
+ "line": 26,
+ "column": 53
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 192,
+ "column": 1
+ }
+ },
+ "line": 41
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 58,
+ "column": 29
+ },
+ "end": {
+ "line": 58,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 35
+ },
+ "end": {
+ "line": 60,
+ "column": 21
+ }
+ },
+ "line": 58
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 80,
+ "column": 31
+ },
+ "end": {
+ "line": 80,
+ "column": 32
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 37
+ },
+ "end": {
+ "line": 82,
+ "column": 23
+ }
+ },
+ "line": 80
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 138,
+ "column": 26
+ },
+ "end": {
+ "line": 138,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 42
+ },
+ "end": {
+ "line": 140,
+ "column": 17
+ }
+ },
+ "line": 138
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 150,
+ "column": 27
+ },
+ "end": {
+ "line": 150,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 150,
+ "column": 33
+ },
+ "end": {
+ "line": 150,
+ "column": 35
+ }
+ },
+ "line": 150
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 8,
+ "column": 21
+ },
+ "end": {
+ "line": 8,
+ "column": 26
+ }
+ },
+ "1": {
+ "start": {
+ "line": 9,
+ "column": 24
+ },
+ "end": {
+ "line": 9,
+ "column": 34
+ }
+ },
+ "2": {
+ "start": {
+ "line": 26,
+ "column": 52
+ },
+ "end": {
+ "line": 192,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 42,
+ "column": 20
+ },
+ "end": {
+ "line": 42,
+ "column": 30
+ }
+ },
+ "4": {
+ "start": {
+ "line": 44,
+ "column": 2
+ },
+ "end": {
+ "line": 191,
+ "column": 4
+ }
+ },
+ "5": {
+ "start": {
+ "line": 59,
+ "column": 22
+ },
+ "end": {
+ "line": 59,
+ "column": 49
+ }
+ },
+ "6": {
+ "start": {
+ "line": 81,
+ "column": 24
+ },
+ "end": {
+ "line": 81,
+ "column": 48
+ }
+ },
+ "7": {
+ "start": {
+ "line": 139,
+ "column": 18
+ },
+ "end": {
+ "line": 139,
+ "column": 45
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/ScrollBasedLayout.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/ScrollBasedLayout.tsx.js
new file mode 100644
index 00000000..ec2c625d
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/ScrollBasedLayout.tsx.js
@@ -0,0 +1,468 @@
+window["components/old-ui/components/layout/ScrollBasedLayout.tsx"] = {
+ "content": "import { FC, ReactNode, useEffect, useState } from \"react\";\nconst { useToken } = theme;\n\nconst ScrollBasedLayout: FC<{\n sideBar: ReactNode;\n mainContent: ReactNode;\n footer: ReactNode;\n}> = ({ sideBar, mainContent, footer }) => {\n const { token } = useToken();\n const [isScrolled, setIsScrolled] = useState(false);\n\n useEffect(() => {\n const handleScroll = () => {\n const scrollY = window.scrollY || document.documentElement.scrollTop;\n const footer = document.getElementById(\"footer\");\n\n // 检查滚动是否超过100vh\n setIsScrolled(scrollY + window.innerHeight > footer.offsetTop);\n };\n\n // 添加滚动事件监听器\n window.addEventListener(\"scroll\", handleScroll);\n\n setTimeout(() => {\n document.documentElement.scrollTop += 0.5;\n }, 1000);\n\n // 在组件卸载时移除监听器,以防止内存泄漏\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n };\n }, []); // 仅在组件挂载和卸载时运行\n\n return (\n \n
\n
\n\n
\n {mainContent}\n
\n
\n \n
\n );\n};\n\nexport default ScrollBasedLayout;\n",
+ "coverage": {
+ "path": "components/old-ui/components/layout/ScrollBasedLayout.tsx",
+ "b": {
+ "0": [
+ 704,
+ 5
+ ],
+ "1": [
+ 27,
+ 72
+ ],
+ "2": [
+ 72,
+ 27
+ ],
+ "3": [
+ 72,
+ 27
+ ]
+ },
+ "f": {
+ "0": 99,
+ "1": 8,
+ "2": 704,
+ "3": 8,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 99,
+ "3": 99,
+ "4": 99,
+ "5": 8,
+ "6": 704,
+ "7": 704,
+ "8": 704,
+ "9": 8,
+ "10": 8,
+ "11": 8,
+ "12": 8,
+ "13": 0,
+ "14": 99
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 22
+ },
+ "end": {
+ "line": 14,
+ "column": 74
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 14,
+ "column": 22
+ },
+ "end": {
+ "line": 14,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 14,
+ "column": 40
+ },
+ "end": {
+ "line": 14,
+ "column": 74
+ }
+ }
+ ],
+ "line": 14
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 25
+ },
+ "end": {
+ "line": 46,
+ "column": 55
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 46,
+ "column": 38
+ },
+ "end": {
+ "line": 46,
+ "column": 45
+ }
+ },
+ {
+ "start": {
+ "line": 46,
+ "column": 48
+ },
+ "end": {
+ "line": 46,
+ "column": 55
+ }
+ }
+ ],
+ "line": 46
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 24
+ },
+ "end": {
+ "line": 47,
+ "column": 54
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 47,
+ "column": 38
+ },
+ "end": {
+ "line": 47,
+ "column": 45
+ }
+ },
+ {
+ "start": {
+ "line": 47,
+ "column": 48
+ },
+ "end": {
+ "line": 47,
+ "column": 54
+ }
+ }
+ ],
+ "line": 47
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 27
+ },
+ "end": {
+ "line": 59,
+ "column": 54
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 59,
+ "column": 41
+ },
+ "end": {
+ "line": 59,
+ "column": 48
+ }
+ },
+ {
+ "start": {
+ "line": 59,
+ "column": 51
+ },
+ "end": {
+ "line": 59,
+ "column": 54
+ }
+ }
+ ],
+ "line": 59
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 8,
+ "column": 6
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 43
+ },
+ "end": {
+ "line": 71,
+ "column": 1
+ }
+ },
+ "line": 8
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 18
+ },
+ "end": {
+ "line": 32,
+ "column": 3
+ }
+ },
+ "line": 12
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 25
+ },
+ "end": {
+ "line": 13,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 31
+ },
+ "end": {
+ "line": 19,
+ "column": 5
+ }
+ },
+ "line": 13
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 24,
+ "column": 15
+ },
+ "end": {
+ "line": 24,
+ "column": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 21
+ },
+ "end": {
+ "line": 26,
+ "column": 5
+ }
+ },
+ "line": 24
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 29,
+ "column": 11
+ },
+ "end": {
+ "line": 29,
+ "column": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 17
+ },
+ "end": {
+ "line": 31,
+ "column": 5
+ }
+ },
+ "line": 29
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 2,
+ "column": 21
+ },
+ "end": {
+ "line": 2,
+ "column": 26
+ }
+ },
+ "1": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 71,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 9,
+ "column": 20
+ },
+ "end": {
+ "line": 9,
+ "column": 30
+ }
+ },
+ "3": {
+ "start": {
+ "line": 10,
+ "column": 38
+ },
+ "end": {
+ "line": 10,
+ "column": 53
+ }
+ },
+ "4": {
+ "start": {
+ "line": 12,
+ "column": 2
+ },
+ "end": {
+ "line": 32,
+ "column": 9
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 25
+ },
+ "end": {
+ "line": 19,
+ "column": 5
+ }
+ },
+ "6": {
+ "start": {
+ "line": 14,
+ "column": 22
+ },
+ "end": {
+ "line": 14,
+ "column": 74
+ }
+ },
+ "7": {
+ "start": {
+ "line": 15,
+ "column": 21
+ },
+ "end": {
+ "line": 15,
+ "column": 54
+ }
+ },
+ "8": {
+ "start": {
+ "line": 18,
+ "column": 6
+ },
+ "end": {
+ "line": 18,
+ "column": 69
+ }
+ },
+ "9": {
+ "start": {
+ "line": 22,
+ "column": 4
+ },
+ "end": {
+ "line": 22,
+ "column": 52
+ }
+ },
+ "10": {
+ "start": {
+ "line": 24,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 13
+ }
+ },
+ "11": {
+ "start": {
+ "line": 25,
+ "column": 6
+ },
+ "end": {
+ "line": 25,
+ "column": 48
+ }
+ },
+ "12": {
+ "start": {
+ "line": 29,
+ "column": 4
+ },
+ "end": {
+ "line": 31,
+ "column": 6
+ }
+ },
+ "13": {
+ "start": {
+ "line": 30,
+ "column": 6
+ },
+ "end": {
+ "line": 30,
+ "column": 57
+ }
+ },
+ "14": {
+ "start": {
+ "line": 34,
+ "column": 2
+ },
+ "end": {
+ "line": 70,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/footer.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/footer.tsx.js
new file mode 100644
index 00000000..c37ee8fd
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/footer.tsx.js
@@ -0,0 +1,63 @@
+window["components/old-ui/components/layout/footer.tsx"] = {
+ "content": "const AppFooter = ({ name, corp }) => {\n return (\n \n \n {name}\n
\n Copyright © 2024 {corp}, Inc. All rights reserved.\n \n );\n};\n\nexport default AppFooter;\n",
+ "coverage": {
+ "path": "components/old-ui/components/layout/footer.tsx",
+ "b": {},
+ "f": {
+ "0": 57
+ },
+ "s": {
+ "0": 8,
+ "1": 57
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 1,
+ "column": 18
+ },
+ "end": {
+ "line": 1,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 38
+ },
+ "end": {
+ "line": 12,
+ "column": 1
+ }
+ },
+ "line": 1
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 1,
+ "column": 18
+ },
+ "end": {
+ "line": 12,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 11,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/index.ts.js
new file mode 100644
index 00000000..ccd73932
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/layout/index.ts.js
@@ -0,0 +1,12 @@
+window["components/old-ui/components/layout/index.ts"] = {
+ "content": "export { default as CanyonLayoutBase } from \"./Base.tsx\";\n",
+ "coverage": {
+ "path": "components/old-ui/components/layout/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/modal/GlobalSearch.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/modal/GlobalSearch.tsx.js
new file mode 100644
index 00000000..44ecc887
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/modal/GlobalSearch.tsx.js
@@ -0,0 +1,240 @@
+window["components/old-ui/components/modal/GlobalSearch.tsx"] = {
+ "content": "import { forwardRef, useImperativeHandle, useState } from \"react\";\n\nconst { Search } = Input;\nconst CanyonModalGlobalSearch = (props, ref) => {\n const [open, setOpen] = useState(false);\n\n useImperativeHandle(ref, () => ({\n report: () => {\n setOpen(true);\n },\n }));\n\n return (\n {\n setOpen(false);\n }}\n onOk={() => {\n setOpen(false);\n }}\n footer={false}\n >\n \n \n );\n};\n\nexport default forwardRef(CanyonModalGlobalSearch);\n",
+ "coverage": {
+ "path": "components/old-ui/components/modal/GlobalSearch.tsx",
+ "b": {},
+ "f": {
+ "0": 57,
+ "1": 57,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 57,
+ "3": 57,
+ "4": 57,
+ "5": 0,
+ "6": 57,
+ "7": 0,
+ "8": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 32
+ },
+ "end": {
+ "line": 4,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 48
+ },
+ "end": {
+ "line": 29,
+ "column": 1
+ }
+ },
+ "line": 4
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 7,
+ "column": 27
+ },
+ "end": {
+ "line": 7,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 34
+ },
+ "end": {
+ "line": 11,
+ "column": 3
+ }
+ },
+ "line": 7
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 12
+ },
+ "end": {
+ "line": 8,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 18
+ },
+ "end": {
+ "line": 10,
+ "column": 5
+ }
+ },
+ "line": 8
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 18,
+ "column": 16
+ },
+ "end": {
+ "line": 18,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 22
+ },
+ "end": {
+ "line": 20,
+ "column": 7
+ }
+ },
+ "line": 18
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 21,
+ "column": 12
+ },
+ "end": {
+ "line": 21,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 18
+ },
+ "end": {
+ "line": 23,
+ "column": 7
+ }
+ },
+ "line": 21
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 24
+ }
+ },
+ "1": {
+ "start": {
+ "line": 4,
+ "column": 32
+ },
+ "end": {
+ "line": 29,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 5,
+ "column": 26
+ },
+ "end": {
+ "line": 5,
+ "column": 41
+ }
+ },
+ "3": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 11,
+ "column": 6
+ }
+ },
+ "4": {
+ "start": {
+ "line": 7,
+ "column": 34
+ },
+ "end": {
+ "line": 11,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 9,
+ "column": 6
+ },
+ "end": {
+ "line": 9,
+ "column": 20
+ }
+ },
+ "6": {
+ "start": {
+ "line": 13,
+ "column": 2
+ },
+ "end": {
+ "line": 28,
+ "column": 4
+ }
+ },
+ "7": {
+ "start": {
+ "line": 19,
+ "column": 8
+ },
+ "end": {
+ "line": 19,
+ "column": 23
+ }
+ },
+ "8": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 22,
+ "column": 23
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/modal/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/modal/index.ts.js
new file mode 100644
index 00000000..5e0bb7ac
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/modal/index.ts.js
@@ -0,0 +1,12 @@
+window["components/old-ui/components/modal/index.ts"] = {
+ "content": "export { default as CanyonModalGlobalSearch } from \"./GlobalSearch.tsx\";\n",
+ "coverage": {
+ "path": "components/old-ui/components/modal/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/Oauth.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/Oauth.tsx.js
new file mode 100644
index 00000000..a436cc28
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/Oauth.tsx.js
@@ -0,0 +1,366 @@
+window["components/old-ui/components/page/Oauth.tsx"] = {
+ "content": "import { useEffect } from \"react\";\n\nconst CanyonPageOauth = ({ URLSearchParams, onOauthFail }) => {\n const fetcher = (url: string) =>\n fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code: URLSearchParams.get(\"code\"),\n redirectUri: location.origin + \"/oauth\",\n }),\n })\n .then((res) => res.json())\n .then((res) => {\n if (res.statusCode >= 400) {\n message.error(res.message);\n localStorage.clear();\n onOauthFail();\n } else {\n localStorage.setItem(\"token\", res.token);\n window.location.href = localStorage.getItem(\"callback\") || \"/\";\n }\n });\n useEffect(() => {\n fetcher(\"/api/oauth/token\");\n }, []);\n\n return logging in... ;\n};\n\nexport default CanyonPageOauth;\n",
+ "coverage": {
+ "path": "components/old-ui/components/page/Oauth.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 8
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 17,
+ "column": 8
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 15
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ }
+ ],
+ "line": 17
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 33
+ },
+ "end": {
+ "line": 23,
+ "column": 72
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 23,
+ "column": 33
+ },
+ "end": {
+ "line": 23,
+ "column": 65
+ }
+ },
+ {
+ "start": {
+ "line": 23,
+ "column": 69
+ },
+ "end": {
+ "line": 23,
+ "column": 72
+ }
+ }
+ ],
+ "line": 23
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 24
+ },
+ "end": {
+ "line": 3,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 62
+ },
+ "end": {
+ "line": 31,
+ "column": 1
+ }
+ },
+ "line": 3
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 18
+ },
+ "end": {
+ "line": 4,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 8
+ }
+ },
+ "line": 5
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 15,
+ "column": 12
+ },
+ "end": {
+ "line": 15,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 21
+ },
+ "end": {
+ "line": 15,
+ "column": 31
+ }
+ },
+ "line": 15
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 16,
+ "column": 12
+ },
+ "end": {
+ "line": 16,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 21
+ },
+ "end": {
+ "line": 25,
+ "column": 7
+ }
+ },
+ "line": 16
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 12
+ },
+ "end": {
+ "line": 26,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 18
+ },
+ "end": {
+ "line": 28,
+ "column": 3
+ }
+ },
+ "line": 26
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 24
+ },
+ "end": {
+ "line": 31,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 4,
+ "column": 18
+ },
+ "end": {
+ "line": 25,
+ "column": 8
+ }
+ },
+ "2": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 8
+ }
+ },
+ "3": {
+ "start": {
+ "line": 15,
+ "column": 21
+ },
+ "end": {
+ "line": 15,
+ "column": 31
+ }
+ },
+ "4": {
+ "start": {
+ "line": 17,
+ "column": 8
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ },
+ "5": {
+ "start": {
+ "line": 18,
+ "column": 10
+ },
+ "end": {
+ "line": 18,
+ "column": 37
+ }
+ },
+ "6": {
+ "start": {
+ "line": 19,
+ "column": 10
+ },
+ "end": {
+ "line": 19,
+ "column": 31
+ }
+ },
+ "7": {
+ "start": {
+ "line": 20,
+ "column": 10
+ },
+ "end": {
+ "line": 20,
+ "column": 24
+ }
+ },
+ "8": {
+ "start": {
+ "line": 22,
+ "column": 10
+ },
+ "end": {
+ "line": 22,
+ "column": 51
+ }
+ },
+ "9": {
+ "start": {
+ "line": 23,
+ "column": 10
+ },
+ "end": {
+ "line": 23,
+ "column": 73
+ }
+ },
+ "10": {
+ "start": {
+ "line": 26,
+ "column": 2
+ },
+ "end": {
+ "line": 28,
+ "column": 9
+ }
+ },
+ "11": {
+ "start": {
+ "line": 27,
+ "column": 4
+ },
+ "end": {
+ "line": 27,
+ "column": 32
+ }
+ },
+ "12": {
+ "start": {
+ "line": 30,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 52
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/index.ts.js
new file mode 100644
index 00000000..9dc87663
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/index.ts.js
@@ -0,0 +1,12 @@
+window["components/old-ui/components/page/index.ts"] = {
+ "content": "export { default as CanyonPageLogin } from \"./login/index.tsx\";\nexport { default as CanyonPageOauth } from \"./Oauth.tsx\";\n",
+ "coverage": {
+ "path": "components/old-ui/components/page/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/LoginBtn.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/LoginBtn.tsx.js
new file mode 100644
index 00000000..7975846a
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/LoginBtn.tsx.js
@@ -0,0 +1,63 @@
+window["components/old-ui/components/page/login/LoginBtn.tsx"] = {
+ "content": "import { FC } from \"react\";\n\nimport github from \"../../../../../assets/img/github.svg\";\nimport gitlab from \"../../../../../assets/img/gitlab.svg\";\nimport google from \"../../../../../assets/img/google.svg\";\n// import img from '../../../../../assets/img/img.png';\n\nconst LoginBtn: FC<{\n oauthUrl: { google?: string; github?: string; gitlab?: string };\n}> = ({ oauthUrl }) => {\n return (\n \n
\n \n Sign in with Google\n \n
\n \n Sign in with Github\n \n\n
\n \n Sign in with Gitlab\n \n
\n );\n};\nexport default LoginBtn;\n",
+ "coverage": {
+ "path": "components/old-ui/components/page/login/LoginBtn.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 10,
+ "column": 5
+ },
+ "end": {
+ "line": 10,
+ "column": 6
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 23
+ },
+ "end": {
+ "line": 45,
+ "column": 1
+ }
+ },
+ "line": 10
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 10,
+ "column": 5
+ },
+ "end": {
+ "line": 45,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 44,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/LoginForm.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/LoginForm.tsx.js
new file mode 100644
index 00000000..f5f10e6e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/LoginForm.tsx.js
@@ -0,0 +1,467 @@
+window["components/old-ui/components/page/login/LoginForm.tsx"] = {
+ "content": "import { useRequest } from \"ahooks\";\nimport { FC } from \"react\";\nconst onFinishFailed = (errorInfo: any) => {\n console.log(\"Failed:\", errorInfo);\n};\n\ntype FieldType = {\n companyname?: string;\n username?: string;\n password?: string;\n};\n\nconst LoginForm: FC<{\n onLoginSuccess: () => void;\n}> = ({ onLoginSuccess }) => {\n const { run } = useRequest(\n ({ username, password, companyname }) =>\n fetch(`/api/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n username: username,\n password: password,\n companyname: companyname,\n }),\n })\n .then((res) => res.json())\n .then((res) => {\n if (res.statusCode >= 400) {\n return Promise.reject(res);\n } else {\n return res;\n }\n }),\n {\n onSuccess: (data) => {\n message.success(\"登录成功\");\n onLoginSuccess();\n localStorage.setItem(\"token\", data.token);\n },\n onError: (error) => {\n console.log(error);\n message.error(error.message);\n },\n manual: true,\n },\n );\n const [form] = Form.useForm();\n const onFinish = (values: any) => {\n console.log(\"Success:\", values);\n run({\n companyname: String(values.companyname),\n username: String(values.username),\n password: String(values.password),\n });\n };\n return (\n \n label=\"Username\"\n name=\"username\"\n rules={[{ required: true, message: \"Please input your username!\" }]}\n >\n \n \n\n \n label=\"Password\"\n name=\"password\"\n rules={[{ required: true, message: \"Please input your password!\" }]}\n >\n \n \n\n \n \n Continue\n \n \n \n );\n};\n\nexport default LoginForm;\n",
+ "coverage": {
+ "path": "components/old-ui/components/page/login/LoginForm.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 8,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 10
+ },
+ "end": {
+ "line": 35,
+ "column": 11
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 31,
+ "column": 10
+ },
+ "end": {
+ "line": 35,
+ "column": 11
+ }
+ },
+ {
+ "start": {
+ "line": 33,
+ "column": 17
+ },
+ "end": {
+ "line": 35,
+ "column": 11
+ }
+ }
+ ],
+ "line": 31
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 23
+ },
+ "end": {
+ "line": 3,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 43
+ },
+ "end": {
+ "line": 5,
+ "column": 1
+ }
+ },
+ "line": 3
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 15,
+ "column": 5
+ },
+ "end": {
+ "line": 15,
+ "column": 6
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 29
+ },
+ "end": {
+ "line": 91,
+ "column": 1
+ }
+ },
+ "line": 15
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 17,
+ "column": 4
+ },
+ "end": {
+ "line": 17,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 6
+ },
+ "end": {
+ "line": 36,
+ "column": 10
+ }
+ },
+ "line": 18
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 29,
+ "column": 14
+ },
+ "end": {
+ "line": 29,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 23
+ },
+ "end": {
+ "line": 29,
+ "column": 33
+ }
+ },
+ "line": 29
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 30,
+ "column": 14
+ },
+ "end": {
+ "line": 30,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 23
+ },
+ "end": {
+ "line": 36,
+ "column": 9
+ }
+ },
+ "line": 30
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 38,
+ "column": 17
+ },
+ "end": {
+ "line": 38,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 27
+ },
+ "end": {
+ "line": 42,
+ "column": 7
+ }
+ },
+ "line": 38
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 43,
+ "column": 15
+ },
+ "end": {
+ "line": 43,
+ "column": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 26
+ },
+ "end": {
+ "line": 46,
+ "column": 7
+ }
+ },
+ "line": 43
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 51,
+ "column": 19
+ },
+ "end": {
+ "line": 51,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 36
+ },
+ "end": {
+ "line": 58,
+ "column": 3
+ }
+ },
+ "line": 51
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 23
+ },
+ "end": {
+ "line": 5,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 4,
+ "column": 36
+ }
+ },
+ "2": {
+ "start": {
+ "line": 15,
+ "column": 5
+ },
+ "end": {
+ "line": 91,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 16,
+ "column": 18
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ },
+ "4": {
+ "start": {
+ "line": 18,
+ "column": 6
+ },
+ "end": {
+ "line": 36,
+ "column": 10
+ }
+ },
+ "5": {
+ "start": {
+ "line": 29,
+ "column": 23
+ },
+ "end": {
+ "line": 29,
+ "column": 33
+ }
+ },
+ "6": {
+ "start": {
+ "line": 31,
+ "column": 10
+ },
+ "end": {
+ "line": 35,
+ "column": 11
+ }
+ },
+ "7": {
+ "start": {
+ "line": 32,
+ "column": 12
+ },
+ "end": {
+ "line": 32,
+ "column": 39
+ }
+ },
+ "8": {
+ "start": {
+ "line": 34,
+ "column": 12
+ },
+ "end": {
+ "line": 34,
+ "column": 23
+ }
+ },
+ "9": {
+ "start": {
+ "line": 39,
+ "column": 8
+ },
+ "end": {
+ "line": 39,
+ "column": 32
+ }
+ },
+ "10": {
+ "start": {
+ "line": 40,
+ "column": 8
+ },
+ "end": {
+ "line": 40,
+ "column": 25
+ }
+ },
+ "11": {
+ "start": {
+ "line": 41,
+ "column": 8
+ },
+ "end": {
+ "line": 41,
+ "column": 50
+ }
+ },
+ "12": {
+ "start": {
+ "line": 44,
+ "column": 8
+ },
+ "end": {
+ "line": 44,
+ "column": 27
+ }
+ },
+ "13": {
+ "start": {
+ "line": 45,
+ "column": 8
+ },
+ "end": {
+ "line": 45,
+ "column": 37
+ }
+ },
+ "14": {
+ "start": {
+ "line": 50,
+ "column": 17
+ },
+ "end": {
+ "line": 50,
+ "column": 31
+ }
+ },
+ "15": {
+ "start": {
+ "line": 51,
+ "column": 19
+ },
+ "end": {
+ "line": 58,
+ "column": 3
+ }
+ },
+ "16": {
+ "start": {
+ "line": 52,
+ "column": 4
+ },
+ "end": {
+ "line": 52,
+ "column": 36
+ }
+ },
+ "17": {
+ "start": {
+ "line": 53,
+ "column": 4
+ },
+ "end": {
+ "line": 57,
+ "column": 7
+ }
+ },
+ "18": {
+ "start": {
+ "line": 59,
+ "column": 2
+ },
+ "end": {
+ "line": 90,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/index.tsx.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/index.tsx.js
new file mode 100644
index 00000000..4fde3e6d
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/components/page/login/index.tsx.js
@@ -0,0 +1,116 @@
+window["components/old-ui/components/page/login/index.tsx"] = {
+ "content": "import Icon from \"@ant-design/icons\";\nimport { FC } from \"react\";\n\nimport { EpTopRight } from \"../../../../../assets/icons/EpTopRight.tsx\";\nimport img from \"../../../../../assets/img/img.png\";\nimport { CanyonCardPrimary } from \"../../card\";\nimport LoginBtn from \"./LoginBtn.tsx\";\nimport LoginForm from \"./LoginForm.tsx\";\n\nconst { Title } = Typography;\n\nconst CanyonPageLogin: FC<{\n onLoginSuccess: () => void;\n oauthUrl: { gitlab: string };\n logo: React.ReactNode;\n register?: string;\n}> = ({ onLoginSuccess, oauthUrl, logo, register }) => {\n return (\n \n
\n
\n \n
\n
\n {logo}\n \n \n\n
\n )\n }\n items={[\n {\n label: \"Sign In\",\n key: \"login\",\n children: (\n
\n ),\n },\n ]}\n />\n
\n \n \n
\n\n
\n \n );\n};\n\nexport default CanyonPageLogin;\n",
+ "coverage": {
+ "path": "components/old-ui/components/page/login/index.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 18
+ },
+ "end": {
+ "line": 42,
+ "column": 19
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 35,
+ "column": 18
+ },
+ "end": {
+ "line": 35,
+ "column": 26
+ }
+ },
+ {
+ "start": {
+ "line": 36,
+ "column": 20
+ },
+ "end": {
+ "line": 41,
+ "column": 26
+ }
+ }
+ ],
+ "line": 35
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 17,
+ "column": 5
+ },
+ "end": {
+ "line": 17,
+ "column": 6
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 55
+ },
+ "end": {
+ "line": 77,
+ "column": 1
+ }
+ },
+ "line": 17
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 10,
+ "column": 18
+ },
+ "end": {
+ "line": 10,
+ "column": 28
+ }
+ },
+ "1": {
+ "start": {
+ "line": 17,
+ "column": 5
+ },
+ "end": {
+ "line": 77,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 18,
+ "column": 2
+ },
+ "end": {
+ "line": 76,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/old-ui/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/old-ui/index.ts.js
new file mode 100644
index 00000000..78e24bfe
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/old-ui/index.ts.js
@@ -0,0 +1,12 @@
+window["components/old-ui/index.ts"] = {
+ "content": "export * from \"./components\";\n",
+ "coverage": {
+ "path": "components/old-ui/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/ui/components/form/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/ui/components/form/index.ts.js
new file mode 100644
index 00000000..ec22be6b
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/ui/components/form/index.ts.js
@@ -0,0 +1,12 @@
+window["components/ui/components/form/index.ts"] = {
+ "content": "export { default as FormRegion } from \"./region\";\n",
+ "coverage": {
+ "path": "components/ui/components/form/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/ui/components/form/region.tsx.js b/packages/canyon-report/mock/dynamic-data/components/ui/components/form/region.tsx.js
new file mode 100644
index 00000000..1f206f5f
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/ui/components/form/region.tsx.js
@@ -0,0 +1,105 @@
+window["components/ui/components/form/region.tsx"] = {
+ "content": "import { PlusOutlined } from \"@ant-design/icons\";\nimport { Button, Card, Space } from \"antd\";\nimport type { FC, ReactNode } from \"react\";\n\nconst RegionForm: FC<{\n title: string;\n icon: ReactNode;\n onSave?: () => void;\n onAdd?: () => void;\n children: ReactNode;\n}> = ({ title, icon, onSave, onAdd, children }) => {\n return (\n \n {icon}
\n {title} \n \n }\n >\n \n {children}
\n \n \n 保存更改\n \n {onAdd && (\n } onClick={onAdd}>\n 添加\n \n )}\n \n \n \n );\n};\n\nexport default RegionForm;\n",
+ "coverage": {
+ "path": "components/ui/components/form/region.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 11
+ },
+ "end": {
+ "line": 32,
+ "column": 11
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 11
+ },
+ "end": {
+ "line": 28,
+ "column": 16
+ }
+ },
+ {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 31,
+ "column": 21
+ }
+ }
+ ],
+ "line": 28
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 11,
+ "column": 6
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 51
+ },
+ "end": {
+ "line": 37,
+ "column": 1
+ }
+ },
+ "line": 11
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 37,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 12,
+ "column": 2
+ },
+ "end": {
+ "line": 36,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/ui/components/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/ui/components/index.ts.js
new file mode 100644
index 00000000..86f4abe3
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/ui/components/index.ts.js
@@ -0,0 +1,12 @@
+window["components/ui/components/index.ts"] = {
+ "content": "export * from \"./form\";\nexport * from \"./typography\";\n",
+ "coverage": {
+ "path": "components/ui/components/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/ui/components/typography/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/ui/components/typography/index.ts.js
new file mode 100644
index 00000000..0e83667e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/ui/components/typography/index.ts.js
@@ -0,0 +1,12 @@
+window["components/ui/components/typography/index.ts"] = {
+ "content": "export { default as TextTypography } from \"./text\";\n",
+ "coverage": {
+ "path": "components/ui/components/typography/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/ui/components/typography/text.tsx.js b/packages/canyon-report/mock/dynamic-data/components/ui/components/typography/text.tsx.js
new file mode 100644
index 00000000..17f6573c
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/ui/components/typography/text.tsx.js
@@ -0,0 +1,63 @@
+window["components/ui/components/typography/text.tsx"] = {
+ "content": "import { Space } from \"antd\";\nimport type { CSSProperties, FC, ReactNode } from \"react\";\nimport { cn } from \"@/lib/utils.ts\";\ninterface TextTypographyProps {\n title: string;\n icon: ReactNode;\n right?: ReactNode;\n style?: CSSProperties;\n}\nconst TextTypography: FC = ({\n title,\n icon,\n right,\n style,\n}) => {\n return (\n \n
\n {icon} \n {title}\n \n
{right}
\n
\n );\n};\n\nexport default TextTypography;\n",
+ "coverage": {
+ "path": "components/ui/components/typography/text.tsx",
+ "b": {},
+ "f": {
+ "0": 48
+ },
+ "s": {
+ "0": 8,
+ "1": 48
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 10,
+ "column": 48
+ },
+ "end": {
+ "line": 10,
+ "column": 49
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 1
+ }
+ },
+ "line": 15
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 10,
+ "column": 48
+ },
+ "end": {
+ "line": 28,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 16,
+ "column": 2
+ },
+ "end": {
+ "line": 27,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/components/ui/index.ts.js b/packages/canyon-report/mock/dynamic-data/components/ui/index.ts.js
new file mode 100644
index 00000000..e16b8089
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/components/ui/index.ts.js
@@ -0,0 +1,12 @@
+window["components/ui/index.ts"] = {
+ "content": "export * from \"./components\";\n",
+ "coverage": {
+ "path": "components/ui/index.ts",
+ "b": {},
+ "f": {},
+ "s": {},
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {}
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/helpers/backend/gen/graphql.ts.js b/packages/canyon-report/mock/dynamic-data/helpers/backend/gen/graphql.ts.js
new file mode 100644
index 00000000..44368a41
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/helpers/backend/gen/graphql.ts.js
@@ -0,0 +1,201 @@
+window["helpers/backend/gen/graphql.ts"] = {
+ "content": "/* eslint-disable */\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe = T | null;\nexport type InputMaybe = Maybe;\nexport type Exact = { [K in keyof T]: T[K] };\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\nexport type MakeEmpty = { [_ in K]?: never };\nexport type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n /** A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format. */\n DateTime: { input: any; output: any; }\n};\n\nexport type BuOption = {\n __typename?: 'BuOption';\n bu: Scalars['String']['output'];\n count: Scalars['Float']['output'];\n};\n\nexport type CoverageLogTag = {\n __typename?: 'CoverageLogTag';\n label: Scalars['String']['output'];\n value: Scalars['String']['output'];\n};\n\nexport type DeleModel = {\n __typename?: 'DeleModel';\n /** 删除数量 */\n count: Scalars['Float']['output'];\n};\n\nexport type GetCoverageLogsPageModel = {\n __typename?: 'GetCoverageLogsPageModel';\n data: Array;\n total: Scalars['Float']['output'];\n};\n\nexport type GetCoverageLogsResponseModel = {\n __typename?: 'GetCoverageLogsResponseModel';\n id: Scalars['String']['output'];\n projectID: Scalars['String']['output'];\n reportID: Scalars['String']['output'];\n sha: Scalars['String']['output'];\n size: Scalars['Float']['output'];\n tags: Array;\n};\n\nexport type Log = {\n __typename?: 'Log';\n /** Commit Sha */\n commitSha: Scalars['String']['output'];\n /** 创建时间 */\n createdAt: Scalars['DateTime']['output'];\n /** ID */\n id: Scalars['String']['output'];\n /** 新增 */\n newlines: Scalars['Float']['output'];\n /** 关系ID */\n relationID: Scalars['String']['output'];\n /** 上报ID */\n reportID: Scalars['String']['output'];\n /** 上报人头像 */\n reporterAvatar: Scalars['String']['output'];\n /** 上报人 */\n reporterUsername: Scalars['String']['output'];\n /** 全量 */\n statements: Scalars['Float']['output'];\n};\n\nexport type Member = {\n __typename?: 'Member';\n role: Scalars['String']['output'];\n userID: Scalars['String']['output'];\n};\n\nexport type MemberInput = {\n role: Scalars['String']['input'];\n userID: Scalars['String']['input'];\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n /** 检查输入的gitlab链接 */\n checkProjectUrl: Project2;\n /** 创建项目 */\n createProject: Project2;\n /** 删除项目 */\n deleteProject: Project2;\n /** 删除sha记录 */\n deleteProjectRecord: DeleModel;\n /** 关注项目 */\n favorProject: User;\n /** 更新项目 */\n updateProject: Project2;\n};\n\n\nexport type MutationCheckProjectUrlArgs = {\n projectUrl: Scalars['String']['input'];\n};\n\n\nexport type MutationCreateProjectArgs = {\n language: Scalars['String']['input'];\n projectID: Scalars['String']['input'];\n};\n\n\nexport type MutationDeleteProjectArgs = {\n projectID: Scalars['String']['input'];\n};\n\n\nexport type MutationDeleteProjectRecordArgs = {\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n};\n\n\nexport type MutationFavorProjectArgs = {\n favored: Scalars['Boolean']['input'];\n projectID: Scalars['ID']['input'];\n};\n\n\nexport type MutationUpdateProjectArgs = {\n coverage?: InputMaybe;\n defaultBranch?: InputMaybe;\n description?: InputMaybe;\n instrumentCwd?: InputMaybe;\n members?: InputMaybe>;\n projectID: Scalars['ID']['input'];\n tags?: InputMaybe>;\n};\n\nexport type Project = {\n __typename?: 'Project';\n branchOptions: Array;\n bu: Scalars['String']['output'];\n coverage: Scalars['String']['output'];\n createdAt: Scalars['DateTime']['output'];\n defaultBranch: Scalars['String']['output'];\n description: Scalars['String']['output'];\n favored: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n instrumentCwd: Scalars['String']['output'];\n language: Scalars['String']['output'];\n lastReportTime: Scalars['DateTime']['output'];\n maxCoverage: Scalars['Float']['output'];\n members: Array;\n name: Scalars['String']['output'];\n pathWithNamespace: Scalars['String']['output'];\n reportTimes: Scalars['Float']['output'];\n tags: Array;\n};\n\nexport type Project2 = {\n __typename?: 'Project2';\n description: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n pathWithNamespace: Scalars['String']['output'];\n};\n\nexport type ProjectChartDataModel = {\n __typename?: 'ProjectChartDataModel';\n /** New Lines */\n newlines: Scalars['Float']['output'];\n /** sha */\n sha: Scalars['String']['output'];\n /** 整体覆盖率 */\n statements: Scalars['Float']['output'];\n};\n\nexport type ProjectCompartmentDataModel = {\n __typename?: 'ProjectCompartmentDataModel';\n /** label */\n label: Scalars['String']['output'];\n /** value */\n value: Scalars['String']['output'];\n};\n\nexport type ProjectPagesModel = {\n __typename?: 'ProjectPagesModel';\n data: Array;\n total: Scalars['Float']['output'];\n};\n\nexport type ProjectRecordDetailModel = {\n __typename?: 'ProjectRecordDetailModel';\n /** 创建时间 */\n createdAt: Scalars['DateTime']['output'];\n /** ID */\n id: Scalars['String']['output'];\n /** 最近一次上报时间 */\n lastReportTime: Scalars['DateTime']['output'];\n /** 新增 */\n newlines: Scalars['Float']['output'];\n /** 关系ID */\n relationID: Scalars['String']['output'];\n /** 上报ID */\n reportID: Scalars['String']['output'];\n /** 上报人头像 */\n reporterAvatar: Scalars['String']['output'];\n /** 上报人 */\n reporterUsername: Scalars['String']['output'];\n /** Commit Sha */\n sha: Scalars['String']['output'];\n /** 全量 */\n statements: Scalars['Float']['output'];\n};\n\nexport type ProjectRecordsModel = {\n __typename?: 'ProjectRecordsModel';\n /** branch */\n branch: Scalars['String']['output'];\n /** 分支覆盖率 */\n branches: Scalars['Float']['output'];\n /** buildID */\n buildID: Scalars['String']['output'];\n /** buildProvider */\n buildProvider: Scalars['String']['output'];\n /** buildURL */\n buildURL: Scalars['String']['output'];\n /** Compare Target */\n compareTarget: Scalars['String']['output'];\n /** Compare Url */\n compareUrl: Scalars['String']['output'];\n /** 函数覆盖率 */\n functions: Scalars['Float']['output'];\n /** 最近一次上报 */\n lastReportTime: Scalars['DateTime']['output'];\n /** 行覆盖率 */\n lines: Scalars['Float']['output'];\n /** 上报日志 */\n logs: Array;\n /** commit信息 */\n message: Scalars['String']['output'];\n /** 新增 */\n newlines: Scalars['Float']['output'];\n /** commit sha */\n sha: Scalars['String']['output'];\n /** 全量 */\n statements: Scalars['Float']['output'];\n /** 上报次数 */\n times: Scalars['Float']['output'];\n /** web url */\n webUrl: Scalars['String']['output'];\n};\n\nexport type ProjectRecordsPagesModel = {\n __typename?: 'ProjectRecordsPagesModel';\n data: Array;\n total: Scalars['Float']['output'];\n};\n\nexport type Query = {\n __typename?: 'Query';\n /** 查询覆盖率上报日志 */\n getCoverageLogs: GetCoverageLogsPageModel;\n getProjectByID: Project;\n /** 获取Project图表 */\n getProjectChartData: Array;\n /** 获取Project宫格 */\n getProjectCompartmentData: Array;\n /** 获取Project记录的详细通过sha */\n getProjectRecordDetailBySha: Array;\n /** 获取Project记录 */\n getProjectRecords: ProjectRecordsPagesModel;\n /** 获取Project */\n getProjects: ProjectPagesModel;\n /** 获取Projects部门选项 */\n getProjectsBuOptions: Array;\n /** 获取Projects标签选项 */\n getProjectsTagOptions: Array;\n /** 列出所有用户 */\n listUser: Array;\n /** 提供执行此查询的用户的详细信息(通过授权 Bearer 标头) */\n me: User;\n};\n\n\nexport type QueryGetProjectByIdArgs = {\n projectID: Scalars['ID']['input'];\n};\n\n\nexport type QueryGetProjectChartDataArgs = {\n branch: Scalars['String']['input'];\n projectID: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectCompartmentDataArgs = {\n projectID: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectRecordDetailByShaArgs = {\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectRecordsArgs = {\n current: Scalars['Int']['input'];\n keyword: Scalars['String']['input'];\n onlyDefault?: InputMaybe;\n pageSize: Scalars['Int']['input'];\n projectID: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectsArgs = {\n bu: Array;\n current: Scalars['Int']['input'];\n favorOnly: Scalars['Boolean']['input'];\n field: Scalars['String']['input'];\n keyword: Scalars['String']['input'];\n lang: Array;\n order: Scalars['String']['input'];\n pageSize: Scalars['Int']['input'];\n tag: Scalars['String']['input'];\n};\n\nexport type Tag = {\n __typename?: 'Tag';\n color: Scalars['String']['output'];\n id: Scalars['String']['output'];\n link: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type TagInput = {\n color: Scalars['String']['input'];\n id: Scalars['String']['input'];\n link: Scalars['String']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type TagOption = {\n __typename?: 'TagOption';\n name: Scalars['String']['output'];\n};\n\nexport type User = {\n __typename?: 'User';\n accessToken: Scalars['String']['output'];\n avatar: Scalars['String']['output'];\n createdAt: Scalars['DateTime']['output'];\n email: Scalars['String']['output'];\n favor: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n nickname: Scalars['String']['output'];\n password: Scalars['String']['output'];\n refreshToken: Scalars['String']['output'];\n username: Scalars['String']['output'];\n};\n\nexport type CreateProjectMutationVariables = Exact<{\n projectID: Scalars['String']['input'];\n language: Scalars['String']['input'];\n}>;\n\n\nexport type CreateProjectMutation = { __typename?: 'Mutation', createProject: { __typename?: 'Project2', id: string, name: string, pathWithNamespace: string, description: string } };\n\nexport type DeleteProjectMutationVariables = Exact<{\n projectID: Scalars['String']['input'];\n}>;\n\n\nexport type DeleteProjectMutation = { __typename?: 'Mutation', deleteProject: { __typename?: 'Project2', id: string, name: string, pathWithNamespace: string, description: string } };\n\nexport type DeleteProjectRecordMutationVariables = Exact<{\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n}>;\n\n\nexport type DeleteProjectRecordMutation = { __typename?: 'Mutation', deleteProjectRecord: { __typename?: 'DeleModel', count: number } };\n\nexport type FavorProjectMutationVariables = Exact<{\n projectID: Scalars['ID']['input'];\n favored: Scalars['Boolean']['input'];\n}>;\n\n\nexport type FavorProjectMutation = { __typename?: 'Mutation', favorProject: { __typename?: 'User', id: string, username: string, password: string, nickname: string, avatar: string, refreshToken: string, accessToken: string, email: string, favor: string, createdAt: any } };\n\nexport type UpdateProjectMutationVariables = Exact<{\n projectID: Scalars['ID']['input'];\n description?: InputMaybe;\n coverage?: InputMaybe;\n instrumentCwd?: InputMaybe;\n defaultBranch?: InputMaybe;\n tags?: InputMaybe | TagInput>;\n members?: InputMaybe | MemberInput>;\n}>;\n\n\nexport type UpdateProjectMutation = { __typename?: 'Mutation', updateProject: { __typename?: 'Project2', id: string } };\n\nexport type CheckProjectUrlMutationVariables = Exact<{\n projectUrl: Scalars['String']['input'];\n}>;\n\n\nexport type CheckProjectUrlMutation = { __typename?: 'Mutation', checkProjectUrl: { __typename?: 'Project2', id: string, name: string, pathWithNamespace: string, description: string } };\n\nexport type GetCoverageLogsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetCoverageLogsQuery = { __typename?: 'Query', getCoverageLogs: { __typename?: 'GetCoverageLogsPageModel', total: number, data: Array<{ __typename?: 'GetCoverageLogsResponseModel', id: string, projectID: string, reportID: string, sha: string, size: number, tags: Array<{ __typename?: 'CoverageLogTag', label: string, value: string }> }> } };\n\nexport type GetProjectByIdQueryVariables = Exact<{\n projectID: Scalars['ID']['input'];\n}>;\n\n\nexport type GetProjectByIdQuery = { __typename?: 'Query', getProjectByID: { __typename?: 'Project', id: string, name: string, pathWithNamespace: string, description: string, reportTimes: number, lastReportTime: any, coverage: string, branchOptions: Array, defaultBranch: string, language: string, instrumentCwd: string, tags: Array<{ __typename?: 'Tag', id: string, name: string, link: string, color: string }>, members: Array<{ __typename?: 'Member', userID: string, role: string }> } };\n\nexport type GetProjectChartDataQueryVariables = Exact<{\n projectID: Scalars['String']['input'];\n branch: Scalars['String']['input'];\n}>;\n\n\nexport type GetProjectChartDataQuery = { __typename?: 'Query', getProjectChartData: Array<{ __typename?: 'ProjectChartDataModel', sha: string, newlines: number, statements: number }> };\n\nexport type GetProjectCompartmentDataQueryVariables = Exact<{\n projectID: Scalars['String']['input'];\n}>;\n\n\nexport type GetProjectCompartmentDataQuery = { __typename?: 'Query', getProjectCompartmentData: Array<{ __typename?: 'ProjectCompartmentDataModel', value: string, label: string }> };\n\nexport type GetProjectRecordDetailByShaQueryVariables = Exact<{\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n}>;\n\n\nexport type GetProjectRecordDetailByShaQuery = { __typename?: 'Query', getProjectRecordDetailBySha: Array<{ __typename?: 'ProjectRecordDetailModel', id: string, sha: string, relationID: string, reportID: string, reporterAvatar: string, reporterUsername: string, createdAt: any, lastReportTime: any, newlines: number, statements: number }> };\n\nexport type GetProjectRecordsQueryVariables = Exact<{\n projectID: Scalars['String']['input'];\n current: Scalars['Int']['input'];\n pageSize: Scalars['Int']['input'];\n keyword: Scalars['String']['input'];\n onlyDefault?: InputMaybe;\n}>;\n\n\nexport type GetProjectRecordsQuery = { __typename?: 'Query', getProjectRecords: { __typename?: 'ProjectRecordsPagesModel', total: number, data: Array<{ __typename?: 'ProjectRecordsModel', message: string, sha: string, compareTarget: string, branch: string, branches: number, lines: number, functions: number, compareUrl: string, webUrl: string, newlines: number, statements: number, lastReportTime: any, times: number, buildProvider: string, buildURL: string, buildID: string }> } };\n\nexport type GetProjectsQueryVariables = Exact<{\n current: Scalars['Int']['input'];\n pageSize: Scalars['Int']['input'];\n keyword: Scalars['String']['input'];\n lang: Array | Scalars['String']['input'];\n bu: Array | Scalars['String']['input'];\n tag: Scalars['String']['input'];\n field: Scalars['String']['input'];\n order: Scalars['String']['input'];\n favorOnly: Scalars['Boolean']['input'];\n}>;\n\n\nexport type GetProjectsQuery = { __typename?: 'Query', getProjects: { __typename?: 'ProjectPagesModel', total: number, data: Array<{ __typename?: 'Project', id: string, pathWithNamespace: string, description: string, bu: string, reportTimes: number, lastReportTime: any, maxCoverage: number, favored: boolean, language: string }> } };\n\nexport type GetProjectsBuOptionsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetProjectsBuOptionsQuery = { __typename?: 'Query', getProjectsBuOptions: Array<{ __typename?: 'BuOption', bu: string, count: number }> };\n\nexport type GetProjectsTagOptionsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetProjectsTagOptionsQuery = { __typename?: 'Query', getProjectsTagOptions: Array<{ __typename?: 'TagOption', name: string }> };\n\nexport type ListUserQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type ListUserQuery = { __typename?: 'Query', listUser: Array<{ __typename?: 'User', email: string, id: string, nickname: string }> };\n\nexport type MeQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type MeQuery = { __typename?: 'Query', me: { __typename?: 'User', id: string, username: string, password: string, nickname: string, avatar: string, refreshToken: string, accessToken: string, email: string, favor: string, createdAt: any } };\n\n\nexport const CreateProjectDocument = {\"__meta__\":{\"hash\":\"fded068584241a235d49e9dcc582753a52c2373d\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}]}}]}}]} as unknown as DocumentNode;\nexport const DeleteProjectDocument = {\"__meta__\":{\"hash\":\"8aa7f80c969ffb06062e74e4ac34a24d9a1762f4\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}]}}]}}]} as unknown as DocumentNode;\nexport const DeleteProjectRecordDocument = {\"__meta__\":{\"hash\":\"578b12259bea19b9acbb4de014d09f5b32aa7a0d\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteProjectRecord\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteProjectRecord\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"}}]}}]}}]} as unknown as DocumentNode;\nexport const FavorProjectDocument = {\"__meta__\":{\"hash\":\"eaafc4b90ce27c5059b878eceff1201eef8a27dd\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"FavorProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favorProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refreshToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}}]}}]}}]} as unknown as DocumentNode;\nexport const UpdateProjectDocument = {\"__meta__\":{\"hash\":\"8be64e23d411178e4fd4623666d7d92a14717bab\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"TagInput\"}}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MemberInput\"}}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]} as unknown as DocumentNode;\nexport const CheckProjectUrlDocument = {\"__meta__\":{\"hash\":\"d71c02418f692df91af471cfdf0de74c1cb50bac\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckProjectUrl\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectUrl\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkProjectUrl\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectUrl\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectUrl\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetCoverageLogsDocument = {\"__meta__\":{\"hash\":\"1cee9405219ea7d6e337a24b20536429a1bb01a5\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetCoverageLogs\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getCoverageLogs\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"size\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectByIdDocument = {\"__meta__\":{\"hash\":\"1bdcfb08ad01794a4e09d41d8adeee96da56f51c\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectByID\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectByID\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportTimes\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branchOptions\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"role\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectChartDataDocument = {\"__meta__\":{\"hash\":\"28f093070a3601d3a77a17e7f2b793483a56fee4\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectChartData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectChartData\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newlines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statements\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectCompartmentDataDocument = {\"__meta__\":{\"hash\":\"1a66aefaddd6560971262cd36ecb74ba8bc30dd5\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectCompartmentData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectCompartmentData\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectRecordDetailByShaDocument = {\"__meta__\":{\"hash\":\"14ab3a71425a867152ae07c287fdb0af68d4c9cf\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectRecordDetailBySha\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectRecordDetailBySha\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relationID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reporterAvatar\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reporterUsername\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newlines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statements\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectRecordsDocument = {\"__meta__\":{\"hash\":\"822472a6c429322a0172164f1437e780dc3ded0d\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectRecords\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"onlyDefault\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectRecords\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"onlyDefault\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"onlyDefault\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"compareTarget\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branches\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"functions\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"compareUrl\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newlines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statements\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"times\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buildProvider\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buildURL\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buildID\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectsDocument = {\"__meta__\":{\"hash\":\"5cd87e418733f41e65401724f3423d9331160c2f\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjects\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorOnly\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjects\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"favorOnly\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorOnly\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportTimes\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxCoverage\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectsBuOptionsDocument = {\"__meta__\":{\"hash\":\"e355132cb9b6286080443dead4cc55468d4c9a0e\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectsBuOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectsBuOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectsTagOptionsDocument = {\"__meta__\":{\"hash\":\"05db3a11e1452d6568cb431950315d7a1dce6487\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectsTagOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectsTagOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const ListUserDocument = {\"__meta__\":{\"hash\":\"77b080a51c056e7eff6619d07d32a333de39fc4c\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ListUser\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"listUser\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"}}]}}]}}]} as unknown as DocumentNode;\nexport const MeDocument = {\"__meta__\":{\"hash\":\"b54ac0162bb424eaf1c3224827a9c2f1ba912220\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Me\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"me\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refreshToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}}]}}]}}]} as unknown as DocumentNode;",
+ "coverage": {
+ "path": "helpers/backend/gen/graphql.ts",
+ "b": {},
+ "f": {},
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 8,
+ "4": 8,
+ "5": 8,
+ "6": 8,
+ "7": 8,
+ "8": 8,
+ "9": 8,
+ "10": 8,
+ "11": 8,
+ "12": 8,
+ "13": 8,
+ "14": 8,
+ "15": 8,
+ "16": 8
+ },
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 500,
+ "column": 37
+ },
+ "end": {
+ "line": 500,
+ "column": 1435
+ }
+ },
+ "1": {
+ "start": {
+ "line": 501,
+ "column": 37
+ },
+ "end": {
+ "line": 501,
+ "column": 1102
+ }
+ },
+ "2": {
+ "start": {
+ "line": 502,
+ "column": 43
+ },
+ "end": {
+ "line": 502,
+ "column": 1264
+ }
+ },
+ "3": {
+ "start": {
+ "line": 503,
+ "column": 36
+ },
+ "end": {
+ "line": 503,
+ "column": 1770
+ }
+ },
+ "4": {
+ "start": {
+ "line": 504,
+ "column": 37
+ },
+ "end": {
+ "line": 504,
+ "column": 2876
+ }
+ },
+ "5": {
+ "start": {
+ "line": 505,
+ "column": 39
+ },
+ "end": {
+ "line": 505,
+ "column": 1115
+ }
+ },
+ "6": {
+ "start": {
+ "line": 506,
+ "column": 39
+ },
+ "end": {
+ "line": 506,
+ "column": 1158
+ }
+ },
+ "7": {
+ "start": {
+ "line": 507,
+ "column": 38
+ },
+ "end": {
+ "line": 507,
+ "column": 2083
+ }
+ },
+ "8": {
+ "start": {
+ "line": 508,
+ "column": 43
+ },
+ "end": {
+ "line": 508,
+ "column": 1386
+ }
+ },
+ "9": {
+ "start": {
+ "line": 509,
+ "column": 49
+ },
+ "end": {
+ "line": 509,
+ "column": 1027
+ }
+ },
+ "10": {
+ "start": {
+ "line": 510,
+ "column": 51
+ },
+ "end": {
+ "line": 510,
+ "column": 1843
+ }
+ },
+ "11": {
+ "start": {
+ "line": 511,
+ "column": 41
+ },
+ "end": {
+ "line": 511,
+ "column": 3288
+ }
+ },
+ "12": {
+ "start": {
+ "line": 512,
+ "column": 35
+ },
+ "end": {
+ "line": 512,
+ "column": 4256
+ }
+ },
+ "13": {
+ "start": {
+ "line": 513,
+ "column": 44
+ },
+ "end": {
+ "line": 513,
+ "column": 625
+ }
+ },
+ "14": {
+ "start": {
+ "line": 514,
+ "column": 45
+ },
+ "end": {
+ "line": 514,
+ "column": 576
+ }
+ },
+ "15": {
+ "start": {
+ "line": 515,
+ "column": 32
+ },
+ "end": {
+ "line": 515,
+ "column": 624
+ }
+ },
+ "16": {
+ "start": {
+ "line": 516,
+ "column": 26
+ },
+ "end": {
+ "line": 516,
+ "column": 1010
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/helpers/gitprovider/genOAuthUrl.ts.js b/packages/canyon-report/mock/dynamic-data/helpers/gitprovider/genOAuthUrl.ts.js
new file mode 100644
index 00000000..f63fc8c5
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/helpers/gitprovider/genOAuthUrl.ts.js
@@ -0,0 +1,287 @@
+window["helpers/gitprovider/genOAuthUrl.ts"] = {
+ "content": "function redirect_uri(type) {\n return `${window.location.origin}/${type}/oauth`;\n}\nexport const genOAuthUrl = ({ url, type, clientID }) => {\n // TODO 暂时还不知道state干嘛的\n if (type === \"github\") {\n return `${url}/login/oauth/authorize?client_id=${clientID}&redirect_uri=${redirect_uri(type)}&response_type=code&scope=user&state=STATE`;\n } else if (type === \"gitlab\") {\n return `https://gitlab.com/oauth/authorize?client_id=${clientID}&redirect_uri=${redirect_uri(type)}&response_type=code&state=STATE`;\n } else if (type === \"gitee\") {\n return `https://gitee.com/oauth/authorize?client_id=${clientID}&redirect_uri=${redirect_uri(type)}&response_type=code`;\n } else {\n return \"\";\n }\n};\n",
+ "coverage": {
+ "path": "helpers/gitprovider/genOAuthUrl.ts",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 8,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ }
+ ],
+ "line": 6
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 10,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ }
+ ],
+ "line": 8
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 10,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 12,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ }
+ ],
+ "line": 10
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "redirect_uri",
+ "decl": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 1,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 28
+ },
+ "end": {
+ "line": 3,
+ "column": 1
+ }
+ },
+ "line": 1
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 27
+ },
+ "end": {
+ "line": 4,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 56
+ },
+ "end": {
+ "line": 15,
+ "column": 1
+ }
+ },
+ "line": 4
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 51
+ }
+ },
+ "1": {
+ "start": {
+ "line": 4,
+ "column": 27
+ },
+ "end": {
+ "line": 15,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "3": {
+ "start": {
+ "line": 7,
+ "column": 4
+ },
+ "end": {
+ "line": 7,
+ "column": 141
+ }
+ },
+ "4": {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 9,
+ "column": 136
+ }
+ },
+ "6": {
+ "start": {
+ "line": 10,
+ "column": 9
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "7": {
+ "start": {
+ "line": 11,
+ "column": 4
+ },
+ "end": {
+ "line": 11,
+ "column": 123
+ }
+ },
+ "8": {
+ "start": {
+ "line": 13,
+ "column": 4
+ },
+ "end": {
+ "line": 13,
+ "column": 14
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/helpers/utils/common.ts.js b/packages/canyon-report/mock/dynamic-data/helpers/utils/common.ts.js
new file mode 100644
index 00000000..fe426f86
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/helpers/utils/common.ts.js
@@ -0,0 +1,359 @@
+window["helpers/utils/common.ts"] = {
+ "content": "// 用于文件base64解码后的格式化\nexport function getDecode(str: string) {\n return decodeURIComponent(\n atob(str)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\"),\n );\n}\n\nexport function getCOlor(num) {\n if (num >= 80) {\n return \"rgb(33,181,119)\";\n } else if (num >= 50) {\n return \"rgb(244,176,27)\";\n } else {\n return \"rgb(245,32,32)\";\n }\n}\n\nexport function percent(covered, total) {\n let tmp;\n if (total > 0) {\n tmp = (1000 * 100 * covered) / total;\n return Math.floor(tmp / 10) / 100;\n } else {\n return 100.0;\n }\n}\n",
+ "coverage": {
+ "path": "helpers/utils/common.ts",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 14,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 16,
+ "column": 9
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ }
+ ],
+ "line": 14
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 9
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 16,
+ "column": 9
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 18,
+ "column": 9
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ }
+ ],
+ "line": 16
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 25,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 28,
+ "column": 9
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ }
+ ],
+ "line": 25
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "getDecode",
+ "decl": {
+ "start": {
+ "line": 2,
+ "column": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 39
+ },
+ "end": {
+ "line": 11,
+ "column": 1
+ }
+ },
+ "line": 2
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 6,
+ "column": 11
+ },
+ "end": {
+ "line": 6,
+ "column": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 24
+ },
+ "end": {
+ "line": 8,
+ "column": 7
+ }
+ },
+ "line": 6
+ },
+ "2": {
+ "name": "getCOlor",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 16
+ },
+ "end": {
+ "line": 13,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 30
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "line": 13
+ },
+ "3": {
+ "name": "percent",
+ "decl": {
+ "start": {
+ "line": 23,
+ "column": 16
+ },
+ "end": {
+ "line": 23,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 40
+ },
+ "end": {
+ "line": 31,
+ "column": 1
+ }
+ },
+ "line": 23
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 10,
+ "column": 4
+ }
+ },
+ "1": {
+ "start": {
+ "line": 7,
+ "column": 8
+ },
+ "end": {
+ "line": 7,
+ "column": 69
+ }
+ },
+ "2": {
+ "start": {
+ "line": 14,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "3": {
+ "start": {
+ "line": 15,
+ "column": 4
+ },
+ "end": {
+ "line": 15,
+ "column": 29
+ }
+ },
+ "4": {
+ "start": {
+ "line": 16,
+ "column": 9
+ },
+ "end": {
+ "line": 20,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 17,
+ "column": 4
+ },
+ "end": {
+ "line": 17,
+ "column": 29
+ }
+ },
+ "6": {
+ "start": {
+ "line": 19,
+ "column": 4
+ },
+ "end": {
+ "line": 19,
+ "column": 28
+ }
+ },
+ "7": {
+ "start": {
+ "line": 25,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 41
+ }
+ },
+ "9": {
+ "start": {
+ "line": 27,
+ "column": 4
+ },
+ "end": {
+ "line": 27,
+ "column": 38
+ }
+ },
+ "10": {
+ "start": {
+ "line": 29,
+ "column": 4
+ },
+ "end": {
+ "line": 29,
+ "column": 17
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/helpers/utils/getViewLineHeight.tsx.js b/packages/canyon-report/mock/dynamic-data/helpers/utils/getViewLineHeight.tsx.js
new file mode 100644
index 00000000..426f154e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/helpers/utils/getViewLineHeight.tsx.js
@@ -0,0 +1,63 @@
+window["helpers/utils/getViewLineHeight.tsx"] = {
+ "content": "export const getViewLineHeight = () => {\n return 20;\n};\n",
+ "coverage": {
+ "path": "helpers/utils/getViewLineHeight.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 1,
+ "column": 33
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 39
+ },
+ "end": {
+ "line": 3,
+ "column": 1
+ }
+ },
+ "line": 1
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 1,
+ "column": 33
+ },
+ "end": {
+ "line": 3,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 12
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/i18n.ts.js b/packages/canyon-report/mock/dynamic-data/i18n.ts.js
new file mode 100644
index 00000000..0a104c28
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/i18n.ts.js
@@ -0,0 +1,78 @@
+window["i18n.ts"] = {
+ "content": "import i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\nimport cn from \"../locales/cn.json\";\nimport en from \"../locales/en.json\";\nimport ja from \"../locales/ja.json\";\n\nconst resources = {\n cn: {\n translation: cn,\n },\n en: {\n translation: en,\n },\n ja: {\n translation: ja,\n },\n};\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n fallbackLng: \"en\",\n interpolation: {\n escapeValue: false,\n },\n resources: resources,\n lng: localStorage.getItem(\"language\") || \"cn\",\n });\n\nexport default i18n;\n",
+ "coverage": {
+ "path": "i18n.ts",
+ "b": {
+ "0": [
+ 8,
+ 8
+ ]
+ },
+ "f": {},
+ "s": {
+ "0": 8,
+ "1": 8
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 9
+ },
+ "end": {
+ "line": 29,
+ "column": 49
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 9
+ },
+ "end": {
+ "line": 29,
+ "column": 41
+ }
+ },
+ {
+ "start": {
+ "line": 29,
+ "column": 45
+ },
+ "end": {
+ "line": 29,
+ "column": 49
+ }
+ }
+ ],
+ "line": 29
+ }
+ },
+ "fnMap": {},
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 8,
+ "column": 18
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 20,
+ "column": 0
+ },
+ "end": {
+ "line": 30,
+ "column": 5
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/layouts/genBreadcrumbItems.tsx.js b/packages/canyon-report/mock/dynamic-data/layouts/genBreadcrumbItems.tsx.js
new file mode 100644
index 00000000..d7d4cea8
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/layouts/genBreadcrumbItems.tsx.js
@@ -0,0 +1,764 @@
+window["layouts/genBreadcrumbItems.tsx"] = {
+ "content": "import { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nfunction matchPattern(str: string) {\n if (\n str.includes(\"projects\") &&\n str.split(\"/\").length === 3 &&\n ![\"new\"].includes(str.split(\"/\")[2])\n ) {\n return true;\n }\n}\n\nexport function genBreadcrumbItems(pathname: string) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { t } = useTranslation();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const nav = useNavigate();\n if (matchPattern(pathname)) {\n return [\n {\n title: {t(\"menus.projects\")} ,\n onClick() {\n nav(\"/projects\");\n },\n },\n {\n title: t(\"projects.overview\"),\n },\n ];\n } else if (pathname.includes(\"commits\")) {\n return [\n {\n title: {t(\"menus.projects\")} ,\n onClick() {\n nav(\"/projects\");\n },\n },\n {\n title: (\n {t(\"projects.overview\")} \n ),\n onClick() {\n const regex = /\\/projects\\/(.+?)\\//;\n // const regex = /\\/projects\\/(\\d+)\\//;\n const match = pathname.match(regex);\n if (match) {\n const projectId = match[1];\n nav(`/projects/${projectId}`);\n } else {\n console.log(\"未找到匹配的项目ID\");\n }\n },\n },\n {\n title: t(\"projects.coverage_details\"),\n // title: 'Coverage Details',\n },\n ];\n } else if (pathname.includes(\"configure\")) {\n return [\n {\n title: {t(\"menus.projects\")} ,\n onClick() {\n nav(\"/projects\");\n },\n },\n {\n title: (\n {t(\"projects.overview\")} \n ),\n onClick() {\n const regex = /\\/projects\\/(.+?)\\//;\n // const regex = /\\/projects\\/(\\d+)\\//;\n const match = pathname.match(regex);\n if (match) {\n const projectId = match[1];\n nav(`/projects/${projectId}`);\n } else {\n console.log(\"未找到匹配的项目ID\");\n }\n },\n },\n {\n title: \"项目配置\",\n // title: 'Coverage Details',\n },\n ];\n } else {\n return [];\n }\n}\n",
+ "coverage": {
+ "path": "layouts/genBreadcrumbItems.tsx",
+ "b": {
+ "0": [
+ 29,
+ 42
+ ],
+ "1": [
+ 71,
+ 52,
+ 29
+ ],
+ "2": [
+ 29,
+ 42
+ ],
+ "3": [
+ 1,
+ 41
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 41
+ ],
+ "6": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 71,
+ "1": 71,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0
+ },
+ "s": {
+ "0": 71,
+ "1": 29,
+ "2": 71,
+ "3": 71,
+ "4": 71,
+ "5": 29,
+ "6": 0,
+ "7": 42,
+ "8": 1,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 41,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0,
+ "25": 41
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 10,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 10,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 4
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 7,
+ "column": 40
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 28
+ }
+ },
+ {
+ "start": {
+ "line": 6,
+ "column": 4
+ },
+ "end": {
+ "line": 6,
+ "column": 31
+ }
+ },
+ {
+ "start": {
+ "line": 7,
+ "column": 4
+ },
+ "end": {
+ "line": 7,
+ "column": 40
+ }
+ }
+ ],
+ "line": 5
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 2
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 18,
+ "column": 2
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 30,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ }
+ ],
+ "line": 18
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 30,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 59,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ }
+ ],
+ "line": 30
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 11
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 46,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 11
+ }
+ },
+ {
+ "start": {
+ "line": 49,
+ "column": 17
+ },
+ "end": {
+ "line": 51,
+ "column": 11
+ }
+ }
+ ],
+ "line": 46
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 59,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 88,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ }
+ ],
+ "line": 59
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 10
+ },
+ "end": {
+ "line": 80,
+ "column": 11
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 75,
+ "column": 10
+ },
+ "end": {
+ "line": 80,
+ "column": 11
+ }
+ },
+ {
+ "start": {
+ "line": 78,
+ "column": 17
+ },
+ "end": {
+ "line": 80,
+ "column": 11
+ }
+ }
+ ],
+ "line": 75
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "matchPattern",
+ "decl": {
+ "start": {
+ "line": 3,
+ "column": 9
+ },
+ "end": {
+ "line": 3,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 35
+ },
+ "end": {
+ "line": 11,
+ "column": 1
+ }
+ },
+ "line": 3
+ },
+ "1": {
+ "name": "genBreadcrumbItems",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 16
+ },
+ "end": {
+ "line": 13,
+ "column": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 53
+ },
+ "end": {
+ "line": 91,
+ "column": 1
+ }
+ },
+ "line": 13
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 22,
+ "column": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 18
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ },
+ "line": 22
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 34,
+ "column": 8
+ },
+ "end": {
+ "line": 34,
+ "column": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 18
+ },
+ "end": {
+ "line": 36,
+ "column": 9
+ }
+ },
+ "line": 34
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 18
+ },
+ "end": {
+ "line": 52,
+ "column": 9
+ }
+ },
+ "line": 42
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 63,
+ "column": 8
+ },
+ "end": {
+ "line": 63,
+ "column": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 18
+ },
+ "end": {
+ "line": 65,
+ "column": 9
+ }
+ },
+ "line": 63
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 8
+ },
+ "end": {
+ "line": 71,
+ "column": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 18
+ },
+ "end": {
+ "line": 81,
+ "column": 9
+ }
+ },
+ "line": 71
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 10,
+ "column": 3
+ }
+ },
+ "1": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 9,
+ "column": 16
+ }
+ },
+ "2": {
+ "start": {
+ "line": 15,
+ "column": 16
+ },
+ "end": {
+ "line": 15,
+ "column": 32
+ }
+ },
+ "3": {
+ "start": {
+ "line": 17,
+ "column": 14
+ },
+ "end": {
+ "line": 17,
+ "column": 27
+ }
+ },
+ "4": {
+ "start": {
+ "line": 18,
+ "column": 2
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 19,
+ "column": 4
+ },
+ "end": {
+ "line": 29,
+ "column": 6
+ }
+ },
+ "6": {
+ "start": {
+ "line": 23,
+ "column": 10
+ },
+ "end": {
+ "line": 23,
+ "column": 27
+ }
+ },
+ "7": {
+ "start": {
+ "line": 30,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 31,
+ "column": 4
+ },
+ "end": {
+ "line": 58,
+ "column": 6
+ }
+ },
+ "9": {
+ "start": {
+ "line": 35,
+ "column": 10
+ },
+ "end": {
+ "line": 35,
+ "column": 27
+ }
+ },
+ "10": {
+ "start": {
+ "line": 43,
+ "column": 24
+ },
+ "end": {
+ "line": 43,
+ "column": 45
+ }
+ },
+ "11": {
+ "start": {
+ "line": 45,
+ "column": 24
+ },
+ "end": {
+ "line": 45,
+ "column": 45
+ }
+ },
+ "12": {
+ "start": {
+ "line": 46,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 11
+ }
+ },
+ "13": {
+ "start": {
+ "line": 47,
+ "column": 30
+ },
+ "end": {
+ "line": 47,
+ "column": 38
+ }
+ },
+ "14": {
+ "start": {
+ "line": 48,
+ "column": 12
+ },
+ "end": {
+ "line": 48,
+ "column": 42
+ }
+ },
+ "15": {
+ "start": {
+ "line": 50,
+ "column": 12
+ },
+ "end": {
+ "line": 50,
+ "column": 38
+ }
+ },
+ "16": {
+ "start": {
+ "line": 59,
+ "column": 9
+ },
+ "end": {
+ "line": 90,
+ "column": 3
+ }
+ },
+ "17": {
+ "start": {
+ "line": 60,
+ "column": 4
+ },
+ "end": {
+ "line": 87,
+ "column": 6
+ }
+ },
+ "18": {
+ "start": {
+ "line": 64,
+ "column": 10
+ },
+ "end": {
+ "line": 64,
+ "column": 27
+ }
+ },
+ "19": {
+ "start": {
+ "line": 72,
+ "column": 24
+ },
+ "end": {
+ "line": 72,
+ "column": 45
+ }
+ },
+ "20": {
+ "start": {
+ "line": 74,
+ "column": 24
+ },
+ "end": {
+ "line": 74,
+ "column": 45
+ }
+ },
+ "21": {
+ "start": {
+ "line": 75,
+ "column": 10
+ },
+ "end": {
+ "line": 80,
+ "column": 11
+ }
+ },
+ "22": {
+ "start": {
+ "line": 76,
+ "column": 30
+ },
+ "end": {
+ "line": 76,
+ "column": 38
+ }
+ },
+ "23": {
+ "start": {
+ "line": 77,
+ "column": 12
+ },
+ "end": {
+ "line": 77,
+ "column": 42
+ }
+ },
+ "24": {
+ "start": {
+ "line": 79,
+ "column": 12
+ },
+ "end": {
+ "line": 79,
+ "column": 38
+ }
+ },
+ "25": {
+ "start": {
+ "line": 89,
+ "column": 4
+ },
+ "end": {
+ "line": 89,
+ "column": 14
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/layouts/genTitle.ts.js b/packages/canyon-report/mock/dynamic-data/layouts/genTitle.ts.js
new file mode 100644
index 00000000..961b661e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/layouts/genTitle.ts.js
@@ -0,0 +1,439 @@
+window["layouts/genTitle.ts"] = {
+ "content": "function matchPattern(str: string) {\n if (\n str.includes(\"projects\") &&\n str.split(\"/\").length === 3 &&\n ![\"new\"].includes(str.split(\"/\")[2])\n ) {\n return true;\n }\n}\nexport const genTitle = (pathname: string) => {\n if (matchPattern(pathname)) {\n return `${pathname.split(\"/\")[2].split(\"-\")[1]} | Overview | Canyon`;\n } else if (pathname.includes(\"commits\")) {\n return `${pathname.split(\"/\")[2].split(\"-\")[1]} | Coverage Details | Canyon`;\n } else if (pathname.includes(\"configure\")) {\n return `${pathname.split(\"/\")[2].split(\"-\")[1]} | Configure | Canyon`;\n } else if (pathname.includes(\"settings\")) {\n return `Settings | Canyon`;\n }\n return `Canyon`;\n};\n",
+ "coverage": {
+ "path": "layouts/genTitle.ts",
+ "b": {
+ "0": [
+ 10,
+ 22
+ ],
+ "1": [
+ 32,
+ 21,
+ 10
+ ],
+ "2": [
+ 10,
+ 22
+ ],
+ "3": [
+ 1,
+ 21
+ ],
+ "4": [
+ 0,
+ 21
+ ],
+ "5": [
+ 4,
+ 17
+ ]
+ },
+ "f": {
+ "0": 32,
+ "1": 32
+ },
+ "s": {
+ "0": 32,
+ "1": 10,
+ "2": 8,
+ "3": 32,
+ "4": 10,
+ "5": 22,
+ "6": 1,
+ "7": 21,
+ "8": 0,
+ "9": 21,
+ "10": 4,
+ "11": 17
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 8,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 8,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 2
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 40
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 3,
+ "column": 28
+ }
+ },
+ {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 31
+ }
+ },
+ {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 40
+ }
+ }
+ ],
+ "line": 3
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 13,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ }
+ ],
+ "line": 11
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 13,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 15,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ }
+ ],
+ "line": 13
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 15,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 17,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ }
+ ],
+ "line": 15
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 17,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 17
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "matchPattern",
+ "decl": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 1,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 35
+ },
+ "end": {
+ "line": 9,
+ "column": 1
+ }
+ },
+ "line": 1
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 10,
+ "column": 24
+ },
+ "end": {
+ "line": 10,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 46
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "line": 10
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 8,
+ "column": 3
+ }
+ },
+ "1": {
+ "start": {
+ "line": 7,
+ "column": 4
+ },
+ "end": {
+ "line": 7,
+ "column": 16
+ }
+ },
+ "2": {
+ "start": {
+ "line": 10,
+ "column": 24
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "4": {
+ "start": {
+ "line": 12,
+ "column": 4
+ },
+ "end": {
+ "line": 12,
+ "column": 73
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "6": {
+ "start": {
+ "line": 14,
+ "column": 4
+ },
+ "end": {
+ "line": 14,
+ "column": 81
+ }
+ },
+ "7": {
+ "start": {
+ "line": 15,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 16,
+ "column": 4
+ },
+ "end": {
+ "line": 16,
+ "column": 74
+ }
+ },
+ "9": {
+ "start": {
+ "line": 17,
+ "column": 9
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "10": {
+ "start": {
+ "line": 18,
+ "column": 4
+ },
+ "end": {
+ "line": 18,
+ "column": 31
+ }
+ },
+ "11": {
+ "start": {
+ "line": 20,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 18
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/lib/utils.ts.js b/packages/canyon-report/mock/dynamic-data/lib/utils.ts.js
new file mode 100644
index 00000000..f7f9a944
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/lib/utils.ts.js
@@ -0,0 +1,52 @@
+window["lib/utils.ts"] = {
+ "content": "import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n",
+ "coverage": {
+ "path": "lib/utils.ts",
+ "b": {},
+ "f": {
+ "0": 48
+ },
+ "s": {
+ "0": 48
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "cn",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 16
+ },
+ "end": {
+ "line": 4,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 44
+ },
+ "end": {
+ "line": 6,
+ "column": 1
+ }
+ },
+ "line": 4
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 5,
+ "column": 31
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/main.tsx.js b/packages/canyon-report/mock/dynamic-data/main.tsx.js
new file mode 100644
index 00000000..552fc864
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/main.tsx.js
@@ -0,0 +1,477 @@
+window["main.tsx"] = {
+ "content": "import \"dayjs/locale/zh-cn.js\";\nimport \"./useWorker.ts\";\nimport \"./i18n.ts\";\nimport \"antd/dist/reset.css\";\nimport \"./index.css\";\n\nimport {\n ApolloClient,\n ApolloProvider,\n createHttpLink,\n InMemoryCache,\n} from \"@apollo/client\";\nimport { onError } from \"@apollo/client/link/error\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter } from \"react-router-dom\";\n\nimport App from \"./App.tsx\";\n\n// 创建一个error link来处理错误\nconst errorLink = onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors) {\n graphQLErrors.forEach(({ message: msg, locations, path }) => {\n console.error(\n `[GraphQL error]: msg: ${msg}, Location: ${locations}, Path: ${path}`,\n );\n message.error(`[GraphQL error]: msg: ${msg}, Path: ${path}`);\n if (\n msg === \"Unauthorized\" &&\n window.location.pathname !== \"/oauth\" &&\n window.location.pathname !== \"/login\"\n ) {\n localStorage.clear();\n window.location.href = \"/login\";\n }\n // 在这里你可以执行自定义的操作,比如显示错误提示\n });\n }\n if (networkError) {\n console.error(`[Network error]: ${networkError}`);\n // 在这里你可以执行自定义的操作,比如显示网络错误提示\n }\n});\n\n// 创建一个http link来发送GraphQL请求\nconst httpLink = createHttpLink({\n uri: \"/graphql\", // 你的GraphQL API的URL\n\n headers: {\n Authorization: `Bearer ` + (localStorage.getItem(\"token\") || \"\"),\n },\n});\n\n// 创建Apollo Client实例\nconst client = new ApolloClient({\n link: errorLink.concat(httpLink), // 将error link和http link组合起来\n cache: new InMemoryCache(),\n});\n\nif (localStorage.getItem(\"theme\") === \"dark\") {\n document.documentElement.classList.add(\"dark\");\n} else {\n document.documentElement.classList.remove(\"dark\");\n}\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n \n \n \n \n ,\n);\n",
+ "coverage": {
+ "path": "main.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 8,
+ 0
+ ],
+ "5": [
+ 0,
+ 8
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 8,
+ "11": 8,
+ "12": 8,
+ "13": 0,
+ "14": 8,
+ "15": 8
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 37,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 37,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 6
+ },
+ "end": {
+ "line": 34,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 27,
+ "column": 6
+ },
+ "end": {
+ "line": 34,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 27
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 8
+ },
+ "end": {
+ "line": 30,
+ "column": 45
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 28,
+ "column": 8
+ },
+ "end": {
+ "line": 28,
+ "column": 30
+ }
+ },
+ {
+ "start": {
+ "line": 29,
+ "column": 8
+ },
+ "end": {
+ "line": 29,
+ "column": 45
+ }
+ },
+ {
+ "start": {
+ "line": 30,
+ "column": 8
+ },
+ "end": {
+ "line": 30,
+ "column": 45
+ }
+ }
+ ],
+ "line": 28
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 41,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 41,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 38
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 32
+ },
+ "end": {
+ "line": 49,
+ "column": 67
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 49,
+ "column": 32
+ },
+ "end": {
+ "line": 49,
+ "column": 61
+ }
+ },
+ {
+ "start": {
+ "line": 49,
+ "column": 65
+ },
+ "end": {
+ "line": 49,
+ "column": 67
+ }
+ }
+ ],
+ "line": 49
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 0
+ },
+ "end": {
+ "line": 63,
+ "column": 1
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 59,
+ "column": 0
+ },
+ "end": {
+ "line": 63,
+ "column": 1
+ }
+ },
+ {
+ "start": {
+ "line": 61,
+ "column": 7
+ },
+ "end": {
+ "line": 63,
+ "column": 1
+ }
+ }
+ ],
+ "line": 59
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 20,
+ "column": 26
+ },
+ "end": {
+ "line": 20,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 63
+ },
+ "end": {
+ "line": 42,
+ "column": 1
+ }
+ },
+ "line": 20
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 22,
+ "column": 26
+ },
+ "end": {
+ "line": 22,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 65
+ },
+ "end": {
+ "line": 36,
+ "column": 5
+ }
+ },
+ "line": 22
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 20,
+ "column": 18
+ },
+ "end": {
+ "line": 42,
+ "column": 2
+ }
+ },
+ "1": {
+ "start": {
+ "line": 21,
+ "column": 2
+ },
+ "end": {
+ "line": 37,
+ "column": 3
+ }
+ },
+ "2": {
+ "start": {
+ "line": 22,
+ "column": 4
+ },
+ "end": {
+ "line": 36,
+ "column": 7
+ }
+ },
+ "3": {
+ "start": {
+ "line": 23,
+ "column": 6
+ },
+ "end": {
+ "line": 25,
+ "column": 8
+ }
+ },
+ "4": {
+ "start": {
+ "line": 26,
+ "column": 6
+ },
+ "end": {
+ "line": 26,
+ "column": 67
+ }
+ },
+ "5": {
+ "start": {
+ "line": 27,
+ "column": 6
+ },
+ "end": {
+ "line": 34,
+ "column": 7
+ }
+ },
+ "6": {
+ "start": {
+ "line": 32,
+ "column": 8
+ },
+ "end": {
+ "line": 32,
+ "column": 29
+ }
+ },
+ "7": {
+ "start": {
+ "line": 33,
+ "column": 8
+ },
+ "end": {
+ "line": 33,
+ "column": 40
+ }
+ },
+ "8": {
+ "start": {
+ "line": 38,
+ "column": 2
+ },
+ "end": {
+ "line": 41,
+ "column": 3
+ }
+ },
+ "9": {
+ "start": {
+ "line": 39,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 54
+ }
+ },
+ "10": {
+ "start": {
+ "line": 45,
+ "column": 17
+ },
+ "end": {
+ "line": 51,
+ "column": 2
+ }
+ },
+ "11": {
+ "start": {
+ "line": 54,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 2
+ }
+ },
+ "12": {
+ "start": {
+ "line": 59,
+ "column": 0
+ },
+ "end": {
+ "line": 63,
+ "column": 1
+ }
+ },
+ "13": {
+ "start": {
+ "line": 60,
+ "column": 2
+ },
+ "end": {
+ "line": 60,
+ "column": 49
+ }
+ },
+ "14": {
+ "start": {
+ "line": 62,
+ "column": 2
+ },
+ "end": {
+ "line": 62,
+ "column": 52
+ }
+ },
+ "15": {
+ "start": {
+ "line": 65,
+ "column": 0
+ },
+ "end": {
+ "line": 71,
+ "column": 2
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/App.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/App.tsx.js
deleted file mode 100644
index 3edcb78e..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/App.tsx.js
+++ /dev/null
@@ -1,8 +0,0 @@
-window["packages/canyon-platform/src/App.tsx"] = {
- content:
- 'import enUS from "antd/es/locale/en_US";\nimport jaJP from "antd/es/locale/ja_JP";\nimport zhCN from "antd/es/locale/zh_CN";\nimport { useRoutes } from "react-router-dom";\n\nimport routes from "~react-pages";\n\nconst languages = {\n cn: zhCN,\n en: enUS,\n ja: jaJP,\n};\n\nconst lng = (localStorage.getItem("language") ||\n "cn") as keyof typeof languages;\n\nconst { darkAlgorithm } = theme;\nconst App = () => {\n const isDark = localStorage.getItem("theme")\n ? localStorage.getItem("theme") === "dark"\n : false;\n return (\n \n \n {useRoutes(routes)}\n \n
\n );\n};\n\nexport default App;\n',
- coverage: { name: "zt" },
-};
-
-
-console.log('????')
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/assets/icons/EpTopRight.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/assets/icons/EpTopRight.tsx.js
deleted file mode 100644
index 96fae2de..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/assets/icons/EpTopRight.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/assets/icons/EpTopRight.tsx"] = {"content":"// import React from 'react';\nimport type { SVGProps } from \"react\";\n\nexport function EpTopRight(props: SVGProps) {\n return (\n \n \n \n \n );\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/Control.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/Control.tsx.js
deleted file mode 100644
index 58fea96c..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/Control.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/Control.tsx"] = {"content":"import { SearchOutlined } from \"@ant-design/icons\";\nimport { useParams } from \"react-router-dom\";\nimport PrepareProdFn from \"@/components/CanyonReport/PrepareProdFn.tsx\";\n\nconst { useToken } = theme;\n\nconst CanyonReportControl = ({\n numberFiles,\n onChangeOnlyChange,\n onChangeOnlyChangeKeywords,\n keywords,\n onlyChange,\n onChangeShowMode,\n showMode,\n}) => {\n const { token } = useToken();\n const prm = useParams();\n const { t } = useTranslation();\n return (\n <>\n \n
\n
\n {\n onChangeShowMode(v.target.value);\n }}\n >\n \n {t(\"projects.detail.code.tree\")}\n \n \n {t(\"projects.detail.file.list\")}\n \n \n \n {/*{numberFiles} */}\n {t(\"projects.detail.total.files\", { msg: numberFiles })}\n {/*覆盖率提升优先级列表*/}\n {/*转换生产流量为测试用例*/}\n \n \n \n
\n\n
\n \n {t(\"projects.detail.only.changed\")}:{\" \"}\n \n }\n />\n }\n placeholder={t(\"projects.detail.search.placeholder\")}\n className={\"w-[240px]\"}\n size={\"small\"}\n onChange={onChangeOnlyChangeKeywords}\n />\n
\n
\n >\n );\n};\n\nexport default CanyonReportControl;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/CoverageDetail.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/CoverageDetail.tsx.js
deleted file mode 100644
index b0d5b1fd..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/CoverageDetail.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/CoverageDetail.tsx"] = {"content":"import { coreFn } from \"./helper.tsx\";\nimport LineCoverage from \"./line/coverage.tsx\";\nimport LineNew from \"./line/new.tsx\";\nimport LineNumber from \"./line/number.tsx\";\nimport ShikiDetail from \"./ShikiDetail.tsx\";\n\nconst CanyonReportCoverageDetail = ({ data, theme }: any) => {\n const code = data.sourcecode;\n const { lines } = coreFn(data.coverage, code);\n return (\n <>\n \n \n \n {\n if (i.executionNumber > 0) {\n return {\n covered: \"yes\",\n hits: i.executionNumber,\n };\n } else if (i.executionNumber === 0) {\n return {\n covered: \"no\",\n hits: i.executionNumber,\n };\n } else {\n return {\n covered: \"neutral\",\n hits: 0,\n };\n }\n })}\n />\n \n
\n >\n );\n};\n\nexport default CanyonReportCoverageDetail;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/ListTable.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/ListTable.tsx.js
deleted file mode 100644
index a1be8f69..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/ListTable.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/ListTable.tsx"] = {"content":"import Highlighter from \"react-highlight-words\";\n\nimport { getCOlor, percent } from \"../../helpers/utils/common.ts\";\nconst CanyonReportListTable = ({\n dataSource,\n loading,\n keywords,\n onSelect,\n onlyChange,\n}) => {\n const { t } = useTranslation();\n const newlinesColumns = onlyChange\n ? [\n {\n title: t(\"projects.newlines\"),\n width: \"240px\",\n sorter: (a, b) => {\n return (\n percent(a.newlines.covered, a.newlines.total) -\n percent(b.newlines.covered, b.newlines.total)\n );\n },\n // key: 'total',\n dataIndex: [\"newlines\", \"total\"],\n render(text, record) {\n return (\n \n \n \n ({record.newlines.covered}/{record.newlines.total})\n \n \n );\n },\n },\n // {\n // title: 'covered',\n // key: 'covered',\n // dataIndex: ['summary', 'newlines', 'covered'],\n // },\n ]\n : [];\n return (\n \n
\n {\" \"}\n {\n onSelect({\n path: text,\n });\n }}\n >\n \n \n );\n },\n },\n {\n title: t(\"common.total\"),\n key: \"total\",\n dataIndex: [\"statements\", \"total\"],\n sorter(a, b) {\n return a.statements.total - b.statements.total;\n },\n },\n {\n title: t(\"common.covered\"),\n key: \"covered\",\n dataIndex: [\"statements\", \"covered\"],\n sorter(a, b) {\n return a.statements.covered - b.statements.covered;\n },\n },\n ]\n .concat(newlinesColumns)\n .concat([\n {\n title: t(\"projects.config.coverage\") + \" %\",\n width: \"300px\",\n key: \"c\",\n sorter: (a, b) => {\n return a.statements.pct - b.statements.pct;\n },\n dataIndex: [\"statements\", \"pct\"],\n render(text) {\n return (\n \n );\n },\n },\n ])}\n />\n \n \n );\n};\n\nexport default CanyonReportListTable;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/Overview.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/Overview.tsx.js
deleted file mode 100644
index 9128cd86..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/Overview.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/Overview.tsx"] = {"content":"import { CopyOutlined, ShareAltOutlined } from \"@ant-design/icons\";\n// @ts-ignore\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport { useSearchParams } from \"react-router-dom\";\n\nimport { getCOlor } from \"../../helpers/utils/common.ts\";\nimport { capitalizeFirstLetter } from \"./helper.tsx\";\nconst obj = {\n statements: 0,\n branches: 1,\n functions: 2,\n lines: 3,\n newlines: 4,\n};\nconst { Text } = Typography;\nconst CanyonReportOverview = ({\n activatedPath,\n pathWithNamespace,\n onSelect,\n summaryTreeItem,\n}) => {\n const [sprm] = useSearchParams();\n const { t } = useTranslation();\n return (\n \n {/*
{JSON.stringify(summaryTreeItem.summary)} */}\n
\n\n
\n {Object.entries(summaryTreeItem.summary)\n .sort((a, b) => {\n return obj[a[0]] - obj[b[0]];\n })\n .map(([key, value]) => {\n return (\n
\n \n {value.pct}%\n \n \n {t(\"projects.\" + key)}:\n \n \n {value.covered}/{value.total}\n \n
\n );\n })}\n
\n
\n
\n );\n};\n\nexport default CanyonReportOverview;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/PrepareProdFn.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/PrepareProdFn.tsx.js
deleted file mode 100644
index f9e3fd32..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/PrepareProdFn.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/PrepareProdFn.tsx"] = {"content":"import React, { useState } from \"react\";\nimport { Alert, Button, Drawer } from \"antd\";\nimport { Editor } from \"@monaco-editor/react\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\n\nconst PrepareProdFn: React.FC = () => {\n const [open, setOpen] = useState(false);\n const prm = useParams();\n const { data, loading, run } = useRequest(\n () =>\n axios\n .post(\n atob(`aHR0cHM6Ly90cmlwY2FueW9uLmZ3cy5xYS5udC5jdHJpcGNvcnAuY29t`) +\n \"/api/coverage/prepareProdFn\",\n {\n projectID: prm.id,\n sha: prm.sha,\n username: localStorage.getItem(\"username\"),\n },\n )\n .then(({ data }) => data),\n {\n manual: true,\n },\n );\n\n const {\n data: da1,\n run: run1,\n loading: loading1,\n } = useRequest(\n () =>\n axios\n .post(\n atob(`aHR0cHM6Ly90cmlwY2FueW9uLmZ3cy5xYS5udC5jdHJpcGNvcnAuY29t`) +\n \"/flytest-api-ctrip-coffeebean-transfer/api/task/triggerPullTrafficByFn\",\n data,\n )\n .then(({ data }) => data),\n {\n manual: true,\n onSuccess() {\n message.success(\"开始转换,请留意后续Flybirds消息推送\");\n },\n },\n );\n\n const showDrawer = () => {\n setOpen(true);\n };\n\n const onClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n if (open) {\n run();\n }\n }, [open]);\n\n return (\n <>\n {[\n \"tripgl-37885-auto\",\n \"tripgl-62594-auto\",\n // \"tripgl-108960-auto\",\n ].includes(prm.id || \"\") && (\n \n 转换生产流量为测试用例\n \n )}\n\n \n \n \n 确认转换\n \n
\n \n
\n \n \n \n >\n );\n};\n\nexport default PrepareProdFn;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/ShikiDetail.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/ShikiDetail.tsx.js
deleted file mode 100644
index 0fee3a8c..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/ShikiDetail.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/ShikiDetail.tsx"] = {"content":"import { codeToHtml } from \"shiki\";\nimport { mergeIntervals } from \"./helper.tsx\";\n\nconst ShikiDetail = ({ defaultValue, filecoverage, theme }) => {\n const [content, setContent] = useState(\"\");\n\n const statementStats = filecoverage.s;\n const statementMeta = filecoverage.statementMap;\n const structuredText = defaultValue\n .split(\"\\n\")\n .reduce((previousValue, currentValue, currentIndex) => {\n return {\n ...previousValue,\n [currentIndex]: currentValue,\n };\n }, {});\n const statementDecorations = [];\n\n Object.entries(statementStats).forEach(([stName, count]) => {\n const meta = statementMeta[stName];\n if (meta) {\n const type = count > 0 ? \"yes\" : \"no\";\n const startCol = meta.start.column;\n let endCol = meta.end.column + 1;\n const startLine = meta.start.line;\n const endLine = meta.end.line;\n\n if (type === \"no\" && structuredText[startLine]) {\n if (endLine !== startLine) {\n endCol = structuredText[startLine].length;\n }\n // 转化为字符的起始\n\n let start = 0;\n let end = 0;\n\n for (let i = 0; i < startLine - 1; i++) {\n start += structuredText[i].length + 1;\n }\n for (let i = 0; i < endLine - 1; i++) {\n end += structuredText[i].length + 1;\n }\n\n start += startCol;\n end += endCol;\n statementDecorations.push([start, end]);\n }\n }\n });\n\n const fnDecorations = [];\n const fnStats = filecoverage.f;\n const fnMeta = filecoverage.fnMap;\n Object.entries(fnStats).forEach(([fName, count]) => {\n const meta = fnMeta[fName];\n if (meta) {\n const type = count > 0 ? \"yes\" : \"no\";\n // Some versions of the instrumenter in the wild populate 'func'\n // but not 'decl':\n const decl = meta.decl || meta.loc;\n const startCol = decl.start.column;\n let endCol = decl.end.column + 1;\n const startLine = decl.start.line;\n const endLine = decl.end.line;\n\n if (type === \"no\" && structuredText[startLine]) {\n if (endLine !== startLine) {\n endCol = structuredText[startLine].length;\n }\n\n // 转化为字符的起始\n\n let start = 0;\n let end = 0;\n\n for (let i = 0; i < startLine - 1; i++) {\n start += structuredText[i].length + 1;\n }\n for (let i = 0; i < endLine - 1; i++) {\n end += structuredText[i].length + 1;\n }\n\n start += startCol;\n end += endCol;\n fnDecorations.push([start, end]);\n }\n }\n });\n\n codeToHtml(defaultValue, {\n lang: \"javascript\",\n theme: theme === \"light\" ? \"light-plus\" : \"tokyo-night\",\n decorations: mergeIntervals(\n [...statementDecorations, ...fnDecorations].filter((item) => {\n // defaultValue\n if (item[0] >= item[1]) {\n return false;\n } else if (item[1] > defaultValue.length) {\n return false;\n } else {\n return item[0] < item[1];\n }\n }),\n ).map(([start, end]) => {\n return {\n start,\n end,\n properties: { class: \"content-class-no-found\" },\n };\n }),\n })\n .then((res) => {\n setContent(res);\n })\n .catch((err) => {\n console.log(\"覆盖率着色失败\", err);\n codeToHtml(defaultValue, {\n lang: \"javascript\",\n theme: theme === \"light\" ? \"light-plus\" : \"tokyo-night\",\n }).then((r) => {\n setContent(r);\n });\n });\n return (\n \n );\n};\n\nexport default ShikiDetail;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/TreeTable.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/TreeTable.tsx.js
deleted file mode 100644
index a9fdc828..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/TreeTable.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/TreeTable.tsx"] = {"content":"import { FileOutlined, FolderFilled } from \"@ant-design/icons\";\n\nimport { getCOlor, percent } from \"../../helpers/utils/common.ts\";\nimport { checkSuffix } from \"./helper.tsx\";\n\nconst CanyonReportTreeTable = ({\n dataSource,\n loading,\n activatedPath,\n onSelect,\n onlyChange,\n}) => {\n const { t } = useTranslation();\n const newlinesColumns = onlyChange\n ? [\n {\n title: t(\"projects.newlines\"),\n width: \"200px\",\n sorter: (a, b) => {\n return a.summary.newlines.pct - b.summary.newlines.pct;\n },\n dataIndex: [\"summary\", \"newlines\", \"total\"],\n render(text, record) {\n return (\n \n \n \n ({record.summary.newlines.covered}/\n {record.summary.newlines.total})\n \n {/*{record.summary.newlines.covered}%*/}\n \n );\n },\n },\n ]\n : [];\n // const newlinesColumns = [];\n return (\n \n
\n {\n // return {\n // onClick: (event) => {\n // console.log(record);\n // onSelect(record);\n // }, // click row\n // };\n // }}\n columns={[\n {\n title: t(\"projects.detail.files\"),\n key: \"path\",\n dataIndex: \"path\",\n render(text, record) {\n return (\n {\n onSelect(record);\n }}\n >\n {text.includes(\".\") && checkSuffix(text) ? (\n \n ) : (\n \n )}\n {text.split(\"/\").at(-1)}\n \n );\n },\n },\n\n {\n title: t(\"common.total\"),\n key: \"total\",\n dataIndex: [\"summary\", \"statements\", \"total\"],\n sorter(a, b) {\n return a.summary.statements.total - b.summary.statements.total;\n },\n },\n {\n title: t(\"common.covered\"),\n key: \"covered\",\n dataIndex: [\"summary\", \"statements\", \"covered\"],\n sorter(a, b) {\n return (\n a.summary.statements.covered - b.summary.statements.covered\n );\n },\n },\n ]\n .concat(newlinesColumns)\n .concat([\n {\n title: t(\"projects.config.coverage\") + \" %\",\n width: \"300px\",\n key: \"c\",\n dataIndex: [\"summary\", \"statements\", \"pct\"],\n sorter(a, b) {\n return a.summary.statements.pct - b.summary.statements.pct;\n },\n render(text) {\n return (\n \n );\n },\n },\n ])}\n />\n \n \n );\n};\n\nexport default CanyonReportTreeTable;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/helper.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/helper.tsx.js
deleted file mode 100644
index 8b9b3bbf..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/helper.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/helper.tsx"] = {"content":"export function coreFn(\n fileCoverage: any,\n fileDetail: string,\n): {\n times: {\n lineNumber: number;\n count: number;\n }[];\n rows: string[];\n maxWidth: number;\n lines: {\n executionNumber: number;\n }[];\n} {\n const nullData = {\n times: [],\n rows: [],\n maxWidth: 0,\n lines: [],\n };\n if (!fileCoverage.s) {\n return nullData;\n }\n\n const content = fileDetail;\n // 1.转换成数组\n const rows = [\"\"];\n let index = 0;\n for (let i = 0; i < content.length; i++) {\n if (content[i] === \"\\n\") {\n index += 1;\n rows.push(\"\");\n } else {\n rows[index] += content[i];\n }\n }\n const maxWidth = JSON.parse(JSON.stringify(rows)).sort(\n (a: string, b: string) => -(a.length - b.length),\n )[0].length;\n\n // 获取numberOfRows\n // 获取行覆盖率\n function getLineCoverage(data: any) {\n const statementMap = data.statementMap;\n const statements = data.s;\n const lineMap = Object.create(null);\n Object.entries(statements).forEach(([st, count]: any) => {\n if (!statementMap[st]) {\n return;\n }\n const { line } = statementMap[st].start;\n const prevVal = lineMap[line];\n if (prevVal === undefined || prevVal < count) {\n lineMap[line] = count;\n }\n });\n return lineMap;\n }\n\n // 计算行\n const lineStats = getLineCoverage(fileCoverage);\n if (!lineStats) {\n return nullData;\n }\n // numberOfRows\n const numberOfRows: any[] = [];\n Object.entries(lineStats).forEach(([lineNumber, count]) => {\n numberOfRows.push({ lineNumber, count });\n // 这边计算出了行的次数!!!!!!\n });\n\n const lines = [];\n for (let i = 0; i < rows.length; i++) {\n if (numberOfRows.find((n) => Number(n.lineNumber) === i + 1)) {\n lines.push({\n executionNumber: numberOfRows.find(\n (n) => Number(n.lineNumber) === i + 1,\n ).count,\n });\n } else {\n lines.push({\n executionNumber: -1,\n });\n }\n }\n return {\n times: numberOfRows,\n rows,\n lines,\n maxWidth,\n };\n}\n\nexport function genDecorationsLv2Array(code, startends) {\n const lines = code.split(\"\\n\");\n function convertRanges(arr) {\n const result = [];\n arr.forEach((data) => {\n const start = data.start;\n const end = data.end;\n\n for (let i = start[0]; i <= end[0]; i++) {\n const intervalStart = i === start[0] ? start[1] : 0;\n const intervalEnd = lines[i].length;\n result.push([i, intervalStart, intervalEnd]);\n }\n });\n // 输出每一行的区间值\n return result;\n }\n\n const convertedData = convertRanges(startends);\n function mergeRanges(ranges) {\n // 对区间按照起始位置进行排序\n ranges.sort((a, b) => a[0] - b[0]);\n\n const merged = [];\n\n let currentRange = ranges[0];\n for (let i = 1; i < ranges.length; i++) {\n const nextRange = ranges[i];\n\n // 如果当前区间和下一个区间有重叠,则合并它们\n if (currentRange[1] >= nextRange[0]) {\n currentRange[1] = Math.max(currentRange[1], nextRange[1]);\n } else {\n merged.push(currentRange);\n currentRange = nextRange;\n }\n }\n\n merged.push(currentRange);\n\n return merged;\n }\n\n function mergeRows(array) {\n const groupedRows = {};\n\n // 将相同行的元素分组\n array.forEach(([row, col, value]) => {\n if (!groupedRows[row]) {\n groupedRows[row] = [];\n }\n groupedRows[row].push([col, value]);\n });\n\n const mergedArray = [];\n\n // 对每个分组合并区间\n for (const row in groupedRows) {\n const mergedRanges = mergeRanges(groupedRows[row]);\n mergedRanges.forEach((range) => {\n mergedArray.push([parseInt(row), range[0], range[1]]);\n });\n }\n\n return mergedArray;\n }\n\n const mergedArray = mergeRows(convertedData);\n return mergedArray;\n}\n\nexport function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport function checkSuffix(path) {\n // 只要path里含有vue、js、jsx等就返回true\n return (\n path.includes(\".vue\") ||\n path.includes(\".js\") ||\n path.includes(\".jsx\") ||\n path.includes(\".ts\") ||\n path.includes(\".tsx\")\n );\n}\n\nexport function mergeIntervals(intervals) {\n // 如果输入为空,直接返回空列表\n if (intervals.length === 0) {\n return [];\n }\n\n // 将所有线段按起始位置进行排序\n intervals.sort((a, b) => a[0] - b[0]);\n\n // 初始化结果列表\n const merged = [];\n let [currentStart, currentEnd] = intervals[0];\n\n for (const [start, end] of intervals.slice(1)) {\n if (start <= currentEnd) {\n // 当前线段与前一个线段有重叠\n currentEnd = Math.max(currentEnd, end); // 更新结束位置\n } else {\n // 当前线段与前一个线段没有重叠\n merged.push([currentStart, currentEnd]); // 将前一个线段加入结果列表\n [currentStart, currentEnd] = [start, end]; // 更新当前线段的起始和结束位置\n }\n }\n\n // 添加最后一个线段\n merged.push([currentStart, currentEnd]);\n\n return merged;\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/index.tsx.js
deleted file mode 100644
index 417812e6..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/index.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/index.tsx"] = {"content":"import { genSummaryTreeItem } from \"canyon-data\";\n\nimport CanyonReportControl from \"./Control.tsx\";\nimport CanyonReportCoverageDetail from \"./CoverageDetail.tsx\";\nimport { checkSuffix } from \"./helper.tsx\";\nimport CanyonReportListTable from \"./ListTable.tsx\";\nimport CanyonReportOverview from \"./Overview.tsx\";\nimport CanyonReportTreeTable from \"./TreeTable.tsx\";\n\nfunction checkSummaryOnlyChange(item, onlyChange) {\n // 如果只看改变的为false,就返回全部\n if (onlyChange === false) {\n return true;\n }\n // 不然就检查item.change\n if (onlyChange && item.change) {\n return true;\n } else {\n return false;\n }\n}\nfunction checkSummaryKeywords(item, keywords) {\n return item.path.toLowerCase().includes(keywords.toLowerCase());\n}\n\n// 1.summary最主要的数据,有外面传入\n// 2.当前默认defaultPath = sprm.get('path'),锚点\nconst CanyonReport = ({\n // summary,\n activatedPath,\n pathWithNamespace,\n coverageSummaryMapData,\n loading,\n onSelect,\n mainData,\n theme,\n}) => {\n console.log(mainData, \"mainData\", theme);\n // 几个状态\n // 1.展示模式//tree||list\n const [showMode, setShowMode] = useState(\"tree\");\n // 2.当前是文件还是文件夹\n const fMode = useMemo(() => {\n // return 获取当前path,判断是否含有 .\n return activatedPath.includes(\".\") && checkSuffix(activatedPath)\n ? \"file\"\n : \"folder\";\n }, [activatedPath]);\n // 3.是否只展示变更文件\n // 4.其他的放在各自的状态里\n\n // 5.文件路径关键字搜索\n const [keywords, setKeywords] = useState(\"\");\n const [onlyChange, setOnlyChange] = useState(false);\n\n // useEffect(()=>{\n // document.querySelector(\"#nihao\").scrollIntoView(true);\n // },[])\n\n const coverageSummaryMapDataFiltered = useMemo(() => {\n return coverageSummaryMapData.filter(\n (item) =>\n checkSummaryOnlyChange(item, onlyChange) &&\n checkSummaryKeywords(item, keywords),\n );\n }, [coverageSummaryMapData, onlyChange, keywords]);\n\n const summary = coverageSummaryMapDataFiltered.reduce(\n (acc: any, cur: any) => {\n acc[cur.path] = cur;\n return acc;\n },\n {},\n );\n const summaryTreeItem = genSummaryTreeItem(activatedPath, summary);\n console.log(summaryTreeItem, \"summaryTreeItem\");\n function onChangeOnlyChangeKeywords(v) {\n setKeywords(v.target.value);\n }\n\n function onChangeOnlyChange(v) {\n // console.log(v,'v')\n setOnlyChange(v);\n }\n function onChangeShowMode(mode) {\n setShowMode(mode);\n }\n return (\n \n
\n item.path.includes(activatedPath),\n ).length\n }\n keywords={keywords}\n onlyChange={onlyChange}\n onChangeOnlyChange={onChangeOnlyChange}\n onChangeOnlyChangeKeywords={onChangeOnlyChangeKeywords}\n onChangeShowMode={onChangeShowMode}\n />\n \n \n {showMode === \"tree\" && fMode === \"folder\" && (\n \n )}\n {showMode === \"list\" && fMode === \"folder\" && (\n \n item.path.includes(activatedPath),\n )}\n />\n )}\n \n {fMode === \"file\" && mainData && (\n \n )}\n \n\n \n \n );\n};\n\nexport default CanyonReport;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/coverage.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/coverage.tsx.js
deleted file mode 100644
index 552a4762..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/coverage.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/line/coverage.tsx"] = {"content":"// import { CSSProperties } from 'react';\n\nimport { getViewLineHeight } from \"../../../helpers/utils/getViewLineHeight.tsx\";\n\nconst LineCoverage = ({ covers, theme }) => {\n const viewLineHeight = getViewLineHeight();\n return (\n \n {covers.map(({ covered, hits }, index) => {\n if (covered === \"yes\") {\n return (\n
\n {hits}x\n
\n );\n } else if (covered === \"no\") {\n return (\n
\n );\n } else {\n return (\n
\n );\n }\n })}\n
\n );\n};\n\nexport default LineCoverage;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/new.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/new.tsx.js
deleted file mode 100644
index 4209255a..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/new.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/line/new.tsx"] = {"content":"import { getViewLineHeight } from \"../../../helpers/utils/getViewLineHeight.tsx\";\n\nconst LineNew = ({ news, count }) => {\n const viewLineHeight = getViewLineHeight();\n return (\n \n {[...Array(count)].map((line, index) => {\n return (\n
\n {/*{news.includes(index + 1) ? '+' : ''}*/}\n
\n );\n })}\n
\n );\n};\n\nexport default LineNew;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/number.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/number.tsx.js
deleted file mode 100644
index 589f4518..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/CanyonReport/line/number.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/CanyonReport/line/number.tsx"] = {"content":"import { getViewLineHeight } from \"../../../helpers/utils/getViewLineHeight.tsx\";\n\nconst LineNumber = ({ count, theme }) => {\n const viewLineHeight = getViewLineHeight();\n const style: any = {\n color: theme === \"light\" ? \"#0074D9\" : \"#0074D9\",\n textAlign: \"right\",\n padding: \"0 5px 0 20px\",\n };\n setTimeout(() => {\n try {\n document\n .getElementById(`${window.location.hash.replace(\"#\", \"\")}`)\n .scrollIntoView();\n window.scrollBy(0, -160); // 向上滚动160px\n } catch (e) {\n // console.error(e);\n }\n }, 0);\n\n const activeLine = Number(window.location.hash.replace(\"#L\", \"\")) - 1;\n return (\n \n {[...Array(count)].map((i, index) => {\n return (\n
\n {index + 1}\n \n );\n })}\n
\n );\n};\n\nexport default LineNumber;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/CopyCode.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/CopyCode.tsx.js
deleted file mode 100644
index 3bbac3ab..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/CopyCode.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/app/CopyCode.tsx"] = {"content":"import \"./CopyCode.css\";\n\nimport { CopyOutlined } from \"@ant-design/icons\";\nimport { codeToHtml } from \"shiki\";\nimport { FC, useEffect } from \"react\";\n// @ts-ignore\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\n\nconst CopyCode: FC<{ code: string }> = ({ code }) => {\n const fileContent = code;\n const [content, setContent] = useState(\"\");\n\n useEffect(() => {\n if (fileContent) {\n codeToHtml(fileContent, {\n lang: \"json\",\n theme: \"tokyo-night\",\n }).then((r) => {\n setContent(r);\n });\n }\n }, [fileContent]);\n return (\n \n
\n \n }\n />\n \n
\n\n
\n
\n );\n};\n\nexport default CopyCode;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/ProjectRecordDetailDrawer.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/ProjectRecordDetailDrawer.tsx.js
deleted file mode 100644
index 071a4d4f..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/ProjectRecordDetailDrawer.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/app/ProjectRecordDetailDrawer.tsx"] = {"content":"import { useQuery } from \"@apollo/client\";\nimport dayjs from \"dayjs\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useParams } from \"react-router-dom\";\n\nimport { GetProjectRecordDetailByShaDocument } from \"../../helpers/backend/gen/graphql.ts\";\nconst { Text } = Typography;\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nconsole.log(useRequest, axios);\nconst ProjectRecordDetailDrawer = ({ open, onClose, sha }: any) => {\n const pam = useParams();\n const { data, loading } = useQuery(GetProjectRecordDetailByShaDocument, {\n variables: {\n projectID: pam.id as string,\n sha: sha,\n },\n });\n\n const { t } = useTranslation();\n // const pam = useParams();\n const columns = [\n {\n title: t(\"projects.report_id\"),\n dataIndex: \"reportID\",\n render(_: any): JSX.Element {\n // 标识位(勿动)\n return {_}
;\n },\n },\n {\n title: t(\"projects.statements\"),\n dataIndex: \"statements\",\n render(_: any): JSX.Element {\n return {_}% ;\n },\n },\n {\n title: t(\"projects.newlines\"),\n dataIndex: \"newlines\",\n render(_: any): JSX.Element {\n return {_}% ;\n },\n },\n {\n title: t(\"projects.reporter\"),\n dataIndex: \"reporterUsername\",\n render(_: any, t: any): any {\n return (\n \n
\n
{t.reporterUsername} \n
\n );\n },\n },\n {\n title: t(\"projects.report_time\"),\n dataIndex: \"lastReportTime\",\n render(_: any) {\n return dayjs(_).format(\"MM-DD HH:mm\");\n },\n },\n {\n title: t(\"common.option\"),\n render(_: any) {\n return (\n \n \n {t(\"common.detail\")}\n \n
\n );\n },\n },\n ];\n\n return (\n <>\n \n \n \n >\n );\n};\n\nexport default ProjectRecordDetailDrawer;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/getting-started-content.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/getting-started-content.ts.js
deleted file mode 100644
index 0a075eb1..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/app/getting-started-content.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/app/getting-started-content.ts"] = {"content":"export const gettingStartedContent = {\n babel: `npm i babel-plugin-istanbul babel-plugin-canyon -D `,\n webpack: `{\n \"plugins\": [\n \"istanbul\",\n \"canyon\"\n ]\n} `,\n};\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/icons/MaterialSymbolsCommitSharp.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/icons/MaterialSymbolsCommitSharp.tsx.js
deleted file mode 100644
index 66250973..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/icons/MaterialSymbolsCommitSharp.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/icons/MaterialSymbolsCommitSharp.tsx"] = {"content":"import type { SVGProps } from \"react\";\n\nexport default function MaterialSymbolsCommitSharp(\n props: SVGProps,\n) {\n return (\n \n \n \n );\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/card/Primary.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/card/Primary.tsx.js
deleted file mode 100644
index 7496d80b..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/card/Primary.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/card/Primary.tsx"] = {"content":"import { FC } from \"react\";\n\nconst { useToken } = theme;\nconst CanyonCardPrimary: FC<{\n theme?: any;\n language?: any;\n children: any;\n}> = ({ theme, language, children }) => {\n const { token } = useToken();\n return (\n \n {children}\n
\n );\n};\n\nexport default CanyonCardPrimary;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/card/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/card/index.ts.js
deleted file mode 100644
index 54bf8211..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/card/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/card/index.ts"] = {"content":"export { default as CanyonCardPrimary } from \"./Primary\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/index.ts.js
deleted file mode 100644
index 691cce03..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/index.ts"] = {"content":"export * from \"./card\";\nexport * from \"./layout\";\nexport * from \"./modal\";\nexport * from \"./page\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/Base.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/Base.tsx.js
deleted file mode 100644
index e018a2b7..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/Base.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/layout/Base.tsx"] = {"content":"import { MoreOutlined, SearchOutlined } from \"@ant-design/icons\";\nimport { FC, ReactNode } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { CanyonCardPrimary } from \"../card\";\nimport Footer from \"./footer.tsx\";\nimport ScrollBasedLayout from \"./ScrollBasedLayout.tsx\";\n\nconst { useToken } = theme;\nconst { Text, Title } = Typography;\ninterface CanyonLayoutBaseProps {\n title?: string;\n logo?: ReactNode;\n mainTitleRightNode?: ReactNode;\n menuSelectedKey?: string;\n onSelectMenu?: (selectInfo: { key: string }) => void;\n menuItems: MenuProps[\"items\"];\n renderMainContent?: ReactNode;\n onClickGlobalSearch?: () => void;\n MeData: any;\n itemsDropdown: any;\n search: any;\n account: any;\n breadcrumb: any;\n footerName?: string;\n}\nconst CanyonLayoutBase: FC = ({\n title = \"Canyon\",\n logo,\n mainTitleRightNode,\n menuSelectedKey = \"\",\n onSelectMenu,\n menuItems,\n renderMainContent,\n onClickGlobalSearch,\n MeData,\n itemsDropdown,\n search,\n account,\n breadcrumb,\n footerName = \"CANYON\",\n}) => {\n const { token } = useToken();\n\n return (\n \n <>\n
\n \n
\n
{\n window.location.href = \"/\";\n }}\n >\n {logo}\n \n {title}\n \n
\n\n
{mainTitleRightNode}
\n
\n
\n {search && (\n \n
\n {\n onClickGlobalSearch?.();\n }}\n >\n \n
\n
Search \n\n
\n \n ⌘\n \n \n K\n \n
\n
\n \n \n
\n )}\n\n {account && (\n \n \n Account\n \n \n \n \n
\n )}\n\n
\n\n {\n onSelectMenu?.(selectInfo);\n }}\n selectedKeys={[menuSelectedKey]}\n items={menuItems}\n className={\"dark:bg-[#151718] px-1\"}\n style={{ flex: \"1\" }}\n />\n\n {},\n }}\n >\n \n
\n
\n \n {MeData?.me.nickname}\n \n \n {MeData?.me.email || \"\"}\n \n
\n
\n
\n \n \n }\n mainContent={\n \n
\n {breadcrumb}\n
\n
\n ⚠️Something went wrong}>\n {renderMainContent}\n \n
\n
\n }\n footer={}\n />\n >\n \n );\n};\n\nexport default CanyonLayoutBase;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/ScrollBasedLayout.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/ScrollBasedLayout.tsx.js
deleted file mode 100644
index e6178abd..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/ScrollBasedLayout.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/layout/ScrollBasedLayout.tsx"] = {"content":"import { FC, ReactNode, useEffect, useState } from \"react\";\nconst { useToken } = theme;\n\nconst ScrollBasedLayout: FC<{\n sideBar: ReactNode;\n mainContent: ReactNode;\n footer: ReactNode;\n}> = ({ sideBar, mainContent, footer }) => {\n const { token } = useToken();\n const [isScrolled, setIsScrolled] = useState(false);\n\n useEffect(() => {\n const handleScroll = () => {\n const scrollY = window.scrollY || document.documentElement.scrollTop;\n const footer = document.getElementById(\"footer\");\n\n // 检查滚动是否超过100vh\n setIsScrolled(scrollY + window.innerHeight > footer.offsetTop);\n };\n\n // 添加滚动事件监听器\n window.addEventListener(\"scroll\", handleScroll);\n\n setTimeout(() => {\n document.documentElement.scrollTop += 0.5;\n }, 1000);\n\n // 在组件卸载时移除监听器,以防止内存泄漏\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n };\n }, []); // 仅在组件挂载和卸载时运行\n\n return (\n \n
\n
\n\n
\n {mainContent}\n
\n
\n \n
\n );\n};\n\nexport default ScrollBasedLayout;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/footer.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/footer.tsx.js
deleted file mode 100644
index 5e229a2a..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/footer.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/layout/footer.tsx"] = {"content":"const AppFooter = ({ name, corp }) => {\n return (\n \n \n {name}\n
\n Copyright © 2024 {corp}, Inc. All rights reserved.\n \n );\n};\n\nexport default AppFooter;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/index.ts.js
deleted file mode 100644
index 31fb6e4f..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/layout/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/layout/index.ts"] = {"content":"export { default as CanyonLayoutBase } from \"./Base.tsx\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/modal/GlobalSearch.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/modal/GlobalSearch.tsx.js
deleted file mode 100644
index 5cb7ba2c..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/modal/GlobalSearch.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/modal/GlobalSearch.tsx"] = {"content":"import { forwardRef, useImperativeHandle, useState } from \"react\";\n\nconst { Search } = Input;\nconst CanyonModalGlobalSearch = (props, ref) => {\n const [open, setOpen] = useState(false);\n\n useImperativeHandle(ref, () => ({\n report: () => {\n setOpen(true);\n },\n }));\n\n return (\n {\n setOpen(false);\n }}\n onOk={() => {\n setOpen(false);\n }}\n footer={false}\n >\n \n \n );\n};\n\nexport default forwardRef(CanyonModalGlobalSearch);\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/modal/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/modal/index.ts.js
deleted file mode 100644
index 2b533604..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/modal/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/modal/index.ts"] = {"content":"export { default as CanyonModalGlobalSearch } from \"./GlobalSearch.tsx\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/Oauth.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/Oauth.tsx.js
deleted file mode 100644
index ef8a5a9a..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/Oauth.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/page/Oauth.tsx"] = {"content":"import { useEffect } from \"react\";\n\nconst CanyonPageOauth = ({ URLSearchParams, onOauthFail }) => {\n const fetcher = (url: string) =>\n fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n code: URLSearchParams.get(\"code\"),\n redirectUri: location.origin + \"/oauth\",\n }),\n })\n .then((res) => res.json())\n .then((res) => {\n if (res.statusCode >= 400) {\n message.error(res.message);\n localStorage.clear();\n onOauthFail();\n } else {\n localStorage.setItem(\"token\", res.token);\n window.location.href = localStorage.getItem(\"callback\") || \"/\";\n }\n });\n useEffect(() => {\n fetcher(\"/api/oauth/token\");\n }, []);\n\n return logging in... ;\n};\n\nexport default CanyonPageOauth;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/index.ts.js
deleted file mode 100644
index 175df403..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/page/index.ts"] = {"content":"export { default as CanyonPageLogin } from \"./login/index.tsx\";\nexport { default as CanyonPageOauth } from \"./Oauth.tsx\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/LoginBtn.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/LoginBtn.tsx.js
deleted file mode 100644
index 14cd3599..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/LoginBtn.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/page/login/LoginBtn.tsx"] = {"content":"import { FC } from \"react\";\n\nimport github from \"../../../../../assets/img/github.svg\";\nimport gitlab from \"../../../../../assets/img/gitlab.svg\";\nimport google from \"../../../../../assets/img/google.svg\";\n// import img from '../../../../../assets/img/img.png';\n\nconst LoginBtn: FC<{\n oauthUrl: { google?: string; github?: string; gitlab?: string };\n}> = ({ oauthUrl }) => {\n return (\n \n
\n \n Sign in with Google\n \n
\n \n Sign in with Github\n \n\n
\n \n Sign in with Gitlab\n \n
\n );\n};\nexport default LoginBtn;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/LoginForm.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/LoginForm.tsx.js
deleted file mode 100644
index d67bfa16..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/LoginForm.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/page/login/LoginForm.tsx"] = {"content":"import { useRequest } from \"ahooks\";\nimport { FC } from \"react\";\nconst onFinishFailed = (errorInfo: any) => {\n console.log(\"Failed:\", errorInfo);\n};\n\ntype FieldType = {\n companyname?: string;\n username?: string;\n password?: string;\n};\n\nconst LoginForm: FC<{\n onLoginSuccess: () => void;\n}> = ({ onLoginSuccess }) => {\n const { run } = useRequest(\n ({ username, password, companyname }) =>\n fetch(`/api/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n username: username,\n password: password,\n companyname: companyname,\n }),\n })\n .then((res) => res.json())\n .then((res) => {\n if (res.statusCode >= 400) {\n return Promise.reject(res);\n } else {\n return res;\n }\n }),\n {\n onSuccess: (data) => {\n message.success(\"登录成功\");\n onLoginSuccess();\n localStorage.setItem(\"token\", data.token);\n },\n onError: (error) => {\n console.log(error);\n message.error(error.message);\n },\n manual: true,\n },\n );\n const [form] = Form.useForm();\n const onFinish = (values: any) => {\n console.log(\"Success:\", values);\n run({\n companyname: String(values.companyname),\n username: String(values.username),\n password: String(values.password),\n });\n };\n return (\n \n label=\"Username\"\n name=\"username\"\n rules={[{ required: true, message: \"Please input your username!\" }]}\n >\n \n \n\n \n label=\"Password\"\n name=\"password\"\n rules={[{ required: true, message: \"Please input your password!\" }]}\n >\n \n \n\n \n \n Continue\n \n \n \n );\n};\n\nexport default LoginForm;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/index.tsx.js
deleted file mode 100644
index 5bb03c52..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/components/page/login/index.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/components/page/login/index.tsx"] = {"content":"import Icon from \"@ant-design/icons\";\nimport { FC } from \"react\";\n\nimport { EpTopRight } from \"../../../../../assets/icons/EpTopRight.tsx\";\nimport img from \"../../../../../assets/img/img.png\";\nimport { CanyonCardPrimary } from \"../../card\";\nimport LoginBtn from \"./LoginBtn.tsx\";\nimport LoginForm from \"./LoginForm.tsx\";\n\nconst { Title } = Typography;\n\nconst CanyonPageLogin: FC<{\n onLoginSuccess: () => void;\n oauthUrl: { gitlab: string };\n logo: React.ReactNode;\n register?: string;\n}> = ({ onLoginSuccess, oauthUrl, logo, register }) => {\n return (\n \n
\n
\n \n
\n
\n {logo}\n \n \n\n
\n )\n }\n items={[\n {\n label: \"Sign In\",\n key: \"login\",\n children: (\n
\n ),\n },\n ]}\n />\n
\n \n \n
\n\n
\n \n );\n};\n\nexport default CanyonPageLogin;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/index.ts.js
deleted file mode 100644
index 35a8c44e..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/old-ui/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/old-ui/index.ts"] = {"content":"export * from \"./components\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/form/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/form/index.ts.js
deleted file mode 100644
index 753f00c9..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/form/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/ui/components/form/index.ts"] = {"content":"export { default as FormRegion } from \"./region\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/form/region.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/form/region.tsx.js
deleted file mode 100644
index d0560ca1..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/form/region.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/ui/components/form/region.tsx"] = {"content":"import { PlusOutlined } from \"@ant-design/icons\";\nimport { Button, Card, Space } from \"antd\";\nimport type { FC, ReactNode } from \"react\";\n\nconst RegionForm: FC<{\n title: string;\n icon: ReactNode;\n onSave?: () => void;\n onAdd?: () => void;\n children: ReactNode;\n}> = ({ title, icon, onSave, onAdd, children }) => {\n return (\n \n {icon}
\n {title} \n \n }\n >\n \n {children}
\n \n \n 保存更改\n \n {onAdd && (\n } onClick={onAdd}>\n 添加\n \n )}\n \n \n \n );\n};\n\nexport default RegionForm;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/index.ts.js
deleted file mode 100644
index 33897681..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/ui/components/index.ts"] = {"content":"export * from \"./form\";\nexport * from \"./typography\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/typography/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/typography/index.ts.js
deleted file mode 100644
index f38478a6..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/typography/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/ui/components/typography/index.ts"] = {"content":"export { default as TextTypography } from \"./text\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/typography/text.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/typography/text.tsx.js
deleted file mode 100644
index d1c4455d..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/components/typography/text.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/ui/components/typography/text.tsx"] = {"content":"import { Space } from \"antd\";\nimport type { CSSProperties, FC, ReactNode } from \"react\";\nimport { cn } from \"@/lib/utils.ts\";\ninterface TextTypographyProps {\n title: string;\n icon: ReactNode;\n right?: ReactNode;\n style?: CSSProperties;\n}\nconst TextTypography: FC = ({\n title,\n icon,\n right,\n style,\n}) => {\n return (\n \n
\n {icon} \n {title}\n \n
{right}
\n
\n );\n};\n\nexport default TextTypography;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/index.ts.js
deleted file mode 100644
index b5f8bae6..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/components/ui/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/components/ui/index.ts"] = {"content":"export * from \"./components\";\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/backend/gen/graphql.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/backend/gen/graphql.ts.js
deleted file mode 100644
index b5ce6ac2..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/backend/gen/graphql.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/helpers/backend/gen/graphql.ts"] = {"content":"/* eslint-disable */\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\nexport type Maybe = T | null;\nexport type InputMaybe = Maybe;\nexport type Exact = { [K in keyof T]: T[K] };\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\nexport type MakeEmpty = { [_ in K]?: never };\nexport type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n /** A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format. */\n DateTime: { input: any; output: any; }\n};\n\nexport type BuOption = {\n __typename?: 'BuOption';\n bu: Scalars['String']['output'];\n count: Scalars['Float']['output'];\n};\n\nexport type DeleModel = {\n __typename?: 'DeleModel';\n /** 删除数量 */\n count: Scalars['Float']['output'];\n};\n\nexport type Log = {\n __typename?: 'Log';\n /** Commit Sha */\n commitSha: Scalars['String']['output'];\n /** 创建时间 */\n createdAt: Scalars['DateTime']['output'];\n /** ID */\n id: Scalars['String']['output'];\n /** 新增 */\n newlines: Scalars['Float']['output'];\n /** 关系ID */\n relationID: Scalars['String']['output'];\n /** 上报ID */\n reportID: Scalars['String']['output'];\n /** 上报人头像 */\n reporterAvatar: Scalars['String']['output'];\n /** 上报人 */\n reporterUsername: Scalars['String']['output'];\n /** 全量 */\n statements: Scalars['Float']['output'];\n};\n\nexport type Member = {\n __typename?: 'Member';\n role: Scalars['String']['output'];\n userID: Scalars['String']['output'];\n};\n\nexport type MemberInput = {\n role: Scalars['String']['input'];\n userID: Scalars['String']['input'];\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n /** 检查输入的gitlab链接 */\n checkProjectUrl: Project2;\n /** 创建项目 */\n createProject: Project2;\n /** 删除项目 */\n deleteProject: Project2;\n /** 删除sha记录 */\n deleteProjectRecord: DeleModel;\n /** 关注项目 */\n favorProject: User;\n /** 更新项目 */\n updateProject: Project2;\n};\n\n\nexport type MutationCheckProjectUrlArgs = {\n projectUrl: Scalars['String']['input'];\n};\n\n\nexport type MutationCreateProjectArgs = {\n language: Scalars['String']['input'];\n projectID: Scalars['String']['input'];\n};\n\n\nexport type MutationDeleteProjectArgs = {\n projectID: Scalars['String']['input'];\n};\n\n\nexport type MutationDeleteProjectRecordArgs = {\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n};\n\n\nexport type MutationFavorProjectArgs = {\n favored: Scalars['Boolean']['input'];\n projectID: Scalars['ID']['input'];\n};\n\n\nexport type MutationUpdateProjectArgs = {\n coverage?: InputMaybe;\n defaultBranch?: InputMaybe;\n description?: InputMaybe;\n instrumentCwd?: InputMaybe;\n members?: InputMaybe>;\n projectID: Scalars['ID']['input'];\n tags?: InputMaybe>;\n};\n\nexport type Project = {\n __typename?: 'Project';\n branchOptions: Array;\n bu: Scalars['String']['output'];\n coverage: Scalars['String']['output'];\n createdAt: Scalars['DateTime']['output'];\n defaultBranch: Scalars['String']['output'];\n description: Scalars['String']['output'];\n favored: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n instrumentCwd: Scalars['String']['output'];\n language: Scalars['String']['output'];\n lastReportTime: Scalars['DateTime']['output'];\n maxCoverage: Scalars['Float']['output'];\n members: Array;\n name: Scalars['String']['output'];\n pathWithNamespace: Scalars['String']['output'];\n reportTimes: Scalars['Float']['output'];\n tags: Array;\n};\n\nexport type Project2 = {\n __typename?: 'Project2';\n description: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n pathWithNamespace: Scalars['String']['output'];\n};\n\nexport type ProjectChartDataModel = {\n __typename?: 'ProjectChartDataModel';\n /** New Lines */\n newlines: Scalars['Float']['output'];\n /** sha */\n sha: Scalars['String']['output'];\n /** 整体覆盖率 */\n statements: Scalars['Float']['output'];\n};\n\nexport type ProjectCompartmentDataModel = {\n __typename?: 'ProjectCompartmentDataModel';\n /** label */\n label: Scalars['String']['output'];\n /** value */\n value: Scalars['String']['output'];\n};\n\nexport type ProjectPagesModel = {\n __typename?: 'ProjectPagesModel';\n data: Array;\n total: Scalars['Float']['output'];\n};\n\nexport type ProjectRecordDetailModel = {\n __typename?: 'ProjectRecordDetailModel';\n /** 创建时间 */\n createdAt: Scalars['DateTime']['output'];\n /** ID */\n id: Scalars['String']['output'];\n /** 最近一次上报时间 */\n lastReportTime: Scalars['DateTime']['output'];\n /** 新增 */\n newlines: Scalars['Float']['output'];\n /** 关系ID */\n relationID: Scalars['String']['output'];\n /** 上报ID */\n reportID: Scalars['String']['output'];\n /** 上报人头像 */\n reporterAvatar: Scalars['String']['output'];\n /** 上报人 */\n reporterUsername: Scalars['String']['output'];\n /** Commit Sha */\n sha: Scalars['String']['output'];\n /** 全量 */\n statements: Scalars['Float']['output'];\n};\n\nexport type ProjectRecordsModel = {\n __typename?: 'ProjectRecordsModel';\n /** branch */\n branch: Scalars['String']['output'];\n /** 分支覆盖率 */\n branches: Scalars['Float']['output'];\n /** buildID */\n buildID: Scalars['String']['output'];\n /** buildProvider */\n buildProvider: Scalars['String']['output'];\n /** buildURL */\n buildURL: Scalars['String']['output'];\n /** Compare Target */\n compareTarget: Scalars['String']['output'];\n /** Compare Url */\n compareUrl: Scalars['String']['output'];\n /** 函数覆盖率 */\n functions: Scalars['Float']['output'];\n /** 最近一次上报 */\n lastReportTime: Scalars['DateTime']['output'];\n /** 行覆盖率 */\n lines: Scalars['Float']['output'];\n /** 上报日志 */\n logs: Array;\n /** commit信息 */\n message: Scalars['String']['output'];\n /** 新增 */\n newlines: Scalars['Float']['output'];\n /** commit sha */\n sha: Scalars['String']['output'];\n /** 全量 */\n statements: Scalars['Float']['output'];\n /** 上报次数 */\n times: Scalars['Float']['output'];\n /** web url */\n webUrl: Scalars['String']['output'];\n};\n\nexport type ProjectRecordsPagesModel = {\n __typename?: 'ProjectRecordsPagesModel';\n data: Array;\n total: Scalars['Float']['output'];\n};\n\nexport type Query = {\n __typename?: 'Query';\n getProjectByID: Project;\n /** 获取Project图表 */\n getProjectChartData: Array;\n /** 获取Project宫格 */\n getProjectCompartmentData: Array;\n /** 获取Project记录的详细通过sha */\n getProjectRecordDetailBySha: Array;\n /** 获取Project记录 */\n getProjectRecords: ProjectRecordsPagesModel;\n /** 获取Project */\n getProjects: ProjectPagesModel;\n /** 获取Projects部门选项 */\n getProjectsBuOptions: Array;\n /** 获取Projects标签选项 */\n getProjectsTagOptions: Array;\n /** 列出所有用户 */\n listUser: Array;\n /** 提供执行此查询的用户的详细信息(通过授权 Bearer 标头) */\n me: User;\n};\n\n\nexport type QueryGetProjectByIdArgs = {\n projectID: Scalars['ID']['input'];\n};\n\n\nexport type QueryGetProjectChartDataArgs = {\n branch: Scalars['String']['input'];\n projectID: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectCompartmentDataArgs = {\n projectID: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectRecordDetailByShaArgs = {\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectRecordsArgs = {\n current: Scalars['Int']['input'];\n keyword: Scalars['String']['input'];\n onlyDefault?: InputMaybe;\n pageSize: Scalars['Int']['input'];\n projectID: Scalars['String']['input'];\n};\n\n\nexport type QueryGetProjectsArgs = {\n bu: Array;\n current: Scalars['Int']['input'];\n favorOnly: Scalars['Boolean']['input'];\n field: Scalars['String']['input'];\n keyword: Scalars['String']['input'];\n lang: Array;\n order: Scalars['String']['input'];\n pageSize: Scalars['Int']['input'];\n tag: Scalars['String']['input'];\n};\n\nexport type Tag = {\n __typename?: 'Tag';\n color: Scalars['String']['output'];\n id: Scalars['String']['output'];\n link: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type TagInput = {\n color: Scalars['String']['input'];\n id: Scalars['String']['input'];\n link: Scalars['String']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type TagOption = {\n __typename?: 'TagOption';\n name: Scalars['String']['output'];\n};\n\nexport type User = {\n __typename?: 'User';\n accessToken: Scalars['String']['output'];\n avatar: Scalars['String']['output'];\n createdAt: Scalars['DateTime']['output'];\n email: Scalars['String']['output'];\n favor: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n nickname: Scalars['String']['output'];\n password: Scalars['String']['output'];\n refreshToken: Scalars['String']['output'];\n username: Scalars['String']['output'];\n};\n\nexport type CreateProjectMutationVariables = Exact<{\n projectID: Scalars['String']['input'];\n language: Scalars['String']['input'];\n}>;\n\n\nexport type CreateProjectMutation = { __typename?: 'Mutation', createProject: { __typename?: 'Project2', id: string, name: string, pathWithNamespace: string, description: string } };\n\nexport type DeleteProjectMutationVariables = Exact<{\n projectID: Scalars['String']['input'];\n}>;\n\n\nexport type DeleteProjectMutation = { __typename?: 'Mutation', deleteProject: { __typename?: 'Project2', id: string, name: string, pathWithNamespace: string, description: string } };\n\nexport type DeleteProjectRecordMutationVariables = Exact<{\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n}>;\n\n\nexport type DeleteProjectRecordMutation = { __typename?: 'Mutation', deleteProjectRecord: { __typename?: 'DeleModel', count: number } };\n\nexport type FavorProjectMutationVariables = Exact<{\n projectID: Scalars['ID']['input'];\n favored: Scalars['Boolean']['input'];\n}>;\n\n\nexport type FavorProjectMutation = { __typename?: 'Mutation', favorProject: { __typename?: 'User', id: string, username: string, password: string, nickname: string, avatar: string, refreshToken: string, accessToken: string, email: string, favor: string, createdAt: any } };\n\nexport type UpdateProjectMutationVariables = Exact<{\n projectID: Scalars['ID']['input'];\n description?: InputMaybe;\n coverage?: InputMaybe;\n instrumentCwd?: InputMaybe;\n defaultBranch?: InputMaybe;\n tags?: InputMaybe | TagInput>;\n members?: InputMaybe | MemberInput>;\n}>;\n\n\nexport type UpdateProjectMutation = { __typename?: 'Mutation', updateProject: { __typename?: 'Project2', id: string } };\n\nexport type CheckProjectUrlMutationVariables = Exact<{\n projectUrl: Scalars['String']['input'];\n}>;\n\n\nexport type CheckProjectUrlMutation = { __typename?: 'Mutation', checkProjectUrl: { __typename?: 'Project2', id: string, name: string, pathWithNamespace: string, description: string } };\n\nexport type GetProjectByIdQueryVariables = Exact<{\n projectID: Scalars['ID']['input'];\n}>;\n\n\nexport type GetProjectByIdQuery = { __typename?: 'Query', getProjectByID: { __typename?: 'Project', id: string, name: string, pathWithNamespace: string, description: string, reportTimes: number, lastReportTime: any, coverage: string, branchOptions: Array, defaultBranch: string, language: string, instrumentCwd: string, tags: Array<{ __typename?: 'Tag', id: string, name: string, link: string, color: string }>, members: Array<{ __typename?: 'Member', userID: string, role: string }> } };\n\nexport type GetProjectChartDataQueryVariables = Exact<{\n projectID: Scalars['String']['input'];\n branch: Scalars['String']['input'];\n}>;\n\n\nexport type GetProjectChartDataQuery = { __typename?: 'Query', getProjectChartData: Array<{ __typename?: 'ProjectChartDataModel', sha: string, newlines: number, statements: number }> };\n\nexport type GetProjectCompartmentDataQueryVariables = Exact<{\n projectID: Scalars['String']['input'];\n}>;\n\n\nexport type GetProjectCompartmentDataQuery = { __typename?: 'Query', getProjectCompartmentData: Array<{ __typename?: 'ProjectCompartmentDataModel', value: string, label: string }> };\n\nexport type GetProjectRecordDetailByShaQueryVariables = Exact<{\n projectID: Scalars['ID']['input'];\n sha: Scalars['String']['input'];\n}>;\n\n\nexport type GetProjectRecordDetailByShaQuery = { __typename?: 'Query', getProjectRecordDetailBySha: Array<{ __typename?: 'ProjectRecordDetailModel', id: string, sha: string, relationID: string, reportID: string, reporterAvatar: string, reporterUsername: string, createdAt: any, lastReportTime: any, newlines: number, statements: number }> };\n\nexport type GetProjectRecordsQueryVariables = Exact<{\n projectID: Scalars['String']['input'];\n current: Scalars['Int']['input'];\n pageSize: Scalars['Int']['input'];\n keyword: Scalars['String']['input'];\n onlyDefault?: InputMaybe;\n}>;\n\n\nexport type GetProjectRecordsQuery = { __typename?: 'Query', getProjectRecords: { __typename?: 'ProjectRecordsPagesModel', total: number, data: Array<{ __typename?: 'ProjectRecordsModel', message: string, sha: string, compareTarget: string, branch: string, branches: number, lines: number, functions: number, compareUrl: string, webUrl: string, newlines: number, statements: number, lastReportTime: any, times: number, buildProvider: string, buildURL: string, buildID: string }> } };\n\nexport type GetProjectsQueryVariables = Exact<{\n current: Scalars['Int']['input'];\n pageSize: Scalars['Int']['input'];\n keyword: Scalars['String']['input'];\n lang: Array | Scalars['String']['input'];\n bu: Array | Scalars['String']['input'];\n tag: Scalars['String']['input'];\n field: Scalars['String']['input'];\n order: Scalars['String']['input'];\n favorOnly: Scalars['Boolean']['input'];\n}>;\n\n\nexport type GetProjectsQuery = { __typename?: 'Query', getProjects: { __typename?: 'ProjectPagesModel', total: number, data: Array<{ __typename?: 'Project', id: string, pathWithNamespace: string, description: string, bu: string, reportTimes: number, lastReportTime: any, maxCoverage: number, favored: boolean, language: string }> } };\n\nexport type GetProjectsBuOptionsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetProjectsBuOptionsQuery = { __typename?: 'Query', getProjectsBuOptions: Array<{ __typename?: 'BuOption', bu: string, count: number }> };\n\nexport type GetProjectsTagOptionsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type GetProjectsTagOptionsQuery = { __typename?: 'Query', getProjectsTagOptions: Array<{ __typename?: 'TagOption', name: string }> };\n\nexport type ListUserQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type ListUserQuery = { __typename?: 'Query', listUser: Array<{ __typename?: 'User', email: string, id: string, nickname: string }> };\n\nexport type MeQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type MeQuery = { __typename?: 'Query', me: { __typename?: 'User', id: string, username: string, password: string, nickname: string, avatar: string, refreshToken: string, accessToken: string, email: string, favor: string, createdAt: any } };\n\n\nexport const CreateProjectDocument = {\"__meta__\":{\"hash\":\"fded068584241a235d49e9dcc582753a52c2373d\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}]}}]}}]} as unknown as DocumentNode;\nexport const DeleteProjectDocument = {\"__meta__\":{\"hash\":\"8aa7f80c969ffb06062e74e4ac34a24d9a1762f4\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}]}}]}}]} as unknown as DocumentNode;\nexport const DeleteProjectRecordDocument = {\"__meta__\":{\"hash\":\"578b12259bea19b9acbb4de014d09f5b32aa7a0d\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteProjectRecord\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteProjectRecord\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"}}]}}]}}]} as unknown as DocumentNode;\nexport const FavorProjectDocument = {\"__meta__\":{\"hash\":\"eaafc4b90ce27c5059b878eceff1201eef8a27dd\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"FavorProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favorProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refreshToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}}]}}]}}]} as unknown as DocumentNode;\nexport const UpdateProjectDocument = {\"__meta__\":{\"hash\":\"8be64e23d411178e4fd4623666d7d92a14717bab\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateProject\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"TagInput\"}}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MemberInput\"}}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateProject\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}}]}}]} as unknown as DocumentNode;\nexport const CheckProjectUrlDocument = {\"__meta__\":{\"hash\":\"d71c02418f692df91af471cfdf0de74c1cb50bac\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"CheckProjectUrl\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectUrl\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkProjectUrl\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectUrl\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectUrl\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectByIdDocument = {\"__meta__\":{\"hash\":\"1bdcfb08ad01794a4e09d41d8adeee96da56f51c\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectByID\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectByID\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportTimes\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"coverage\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branchOptions\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultBranch\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"instrumentCwd\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tags\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"members\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"role\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectChartDataDocument = {\"__meta__\":{\"hash\":\"28f093070a3601d3a77a17e7f2b793483a56fee4\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectChartData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectChartData\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newlines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statements\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectCompartmentDataDocument = {\"__meta__\":{\"hash\":\"1a66aefaddd6560971262cd36ecb74ba8bc30dd5\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectCompartmentData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectCompartmentData\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectRecordDetailByShaDocument = {\"__meta__\":{\"hash\":\"14ab3a71425a867152ae07c287fdb0af68d4c9cf\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectRecordDetailBySha\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectRecordDetailBySha\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relationID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportID\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reporterAvatar\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reporterUsername\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newlines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statements\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectRecordsDocument = {\"__meta__\":{\"hash\":\"822472a6c429322a0172164f1437e780dc3ded0d\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectRecords\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"onlyDefault\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectRecords\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"projectID\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"onlyDefault\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"onlyDefault\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"message\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sha\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"compareTarget\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branch\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branches\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"functions\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"compareUrl\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUrl\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"newlines\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statements\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"times\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buildProvider\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buildURL\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buildID\"}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectsDocument = {\"__meta__\":{\"hash\":\"5cd87e418733f41e65401724f3423d9331160c2f\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjects\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorOnly\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjects\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"lang\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"field\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"favorOnly\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"favorOnly\"}}}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pathWithNamespace\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportTimes\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastReportTime\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxCoverage\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favored\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}]}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectsBuOptionsDocument = {\"__meta__\":{\"hash\":\"e355132cb9b6286080443dead4cc55468d4c9a0e\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectsBuOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectsBuOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bu\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"}}]}}]}}]} as unknown as DocumentNode;\nexport const GetProjectsTagOptionsDocument = {\"__meta__\":{\"hash\":\"05db3a11e1452d6568cb431950315d7a1dce6487\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetProjectsTagOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"getProjectsTagOptions\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"}}]}}]}}]} as unknown as DocumentNode;\nexport const ListUserDocument = {\"__meta__\":{\"hash\":\"77b080a51c056e7eff6619d07d32a333de39fc4c\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ListUser\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"listUser\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"}}]}}]}}]} as unknown as DocumentNode;\nexport const MeDocument = {\"__meta__\":{\"hash\":\"b54ac0162bb424eaf1c3224827a9c2f1ba912220\"},\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Me\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"me\"},\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatar\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refreshToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessToken\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"favor\"}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"}}]}}]}}]} as unknown as DocumentNode;","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/gitprovider/genOAuthUrl.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/gitprovider/genOAuthUrl.ts.js
deleted file mode 100644
index b49d9b09..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/gitprovider/genOAuthUrl.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/helpers/gitprovider/genOAuthUrl.ts"] = {"content":"function redirect_uri(type) {\n return `${window.location.origin}/${type}/oauth`;\n}\nexport const genOAuthUrl = ({ url, type, clientID }) => {\n // TODO 暂时还不知道state干嘛的\n if (type === \"github\") {\n return `${url}/login/oauth/authorize?client_id=${clientID}&redirect_uri=${redirect_uri(type)}&response_type=code&scope=user&state=STATE`;\n } else if (type === \"gitlab\") {\n return `https://gitlab.com/oauth/authorize?client_id=${clientID}&redirect_uri=${redirect_uri(type)}&response_type=code&state=STATE`;\n } else if (type === \"gitee\") {\n return `https://gitee.com/oauth/authorize?client_id=${clientID}&redirect_uri=${redirect_uri(type)}&response_type=code`;\n } else {\n return \"\";\n }\n};\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/utils/common.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/utils/common.ts.js
deleted file mode 100644
index ce71ddd7..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/utils/common.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/helpers/utils/common.ts"] = {"content":"// 用于文件base64解码后的格式化\nexport function getDecode(str: string) {\n return decodeURIComponent(\n atob(str)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\"),\n );\n}\n\nexport function getCOlor(num) {\n if (num >= 80) {\n return \"rgb(33,181,119)\";\n } else if (num >= 50) {\n return \"rgb(244,176,27)\";\n } else {\n return \"rgb(245,32,32)\";\n }\n}\n\nexport function percent(covered, total) {\n let tmp;\n if (total > 0) {\n tmp = (1000 * 100 * covered) / total;\n return Math.floor(tmp / 10) / 100;\n } else {\n return 100.0;\n }\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/utils/getViewLineHeight.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/utils/getViewLineHeight.tsx.js
deleted file mode 100644
index 2a615ac0..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/helpers/utils/getViewLineHeight.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/helpers/utils/getViewLineHeight.tsx"] = {"content":"export const getViewLineHeight = () => {\n return 20;\n};\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/i18n.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/i18n.ts.js
deleted file mode 100644
index c2f68622..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/i18n.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/i18n.ts"] = {"content":"import i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\nimport cn from \"../locales/cn.json\";\nimport en from \"../locales/en.json\";\nimport ja from \"../locales/ja.json\";\n\nconst resources = {\n cn: {\n translation: cn,\n },\n en: {\n translation: en,\n },\n ja: {\n translation: ja,\n },\n};\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n fallbackLng: \"en\",\n interpolation: {\n escapeValue: false,\n },\n resources: resources,\n lng: localStorage.getItem(\"language\") || \"cn\",\n });\n\nexport default i18n;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/layouts/genBreadcrumbItems.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/layouts/genBreadcrumbItems.tsx.js
deleted file mode 100644
index 287824c8..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/layouts/genBreadcrumbItems.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/layouts/genBreadcrumbItems.tsx"] = {"content":"import { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nfunction matchPattern(str: string) {\n if (\n str.includes(\"projects\") &&\n str.split(\"/\").length === 3 &&\n ![\"new\"].includes(str.split(\"/\")[2])\n ) {\n return true;\n }\n}\n\nexport function genBreadcrumbItems(pathname: string) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { t } = useTranslation();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const nav = useNavigate();\n if (matchPattern(pathname)) {\n return [\n {\n title: {t(\"menus.projects\")} ,\n onClick() {\n nav(\"/projects\");\n },\n },\n {\n title: t(\"projects.overview\"),\n },\n ];\n } else if (pathname.includes(\"commits\")) {\n return [\n {\n title: {t(\"menus.projects\")} ,\n onClick() {\n nav(\"/projects\");\n },\n },\n {\n title: (\n {t(\"projects.overview\")} \n ),\n onClick() {\n const regex = /\\/projects\\/(.+?)\\//;\n // const regex = /\\/projects\\/(\\d+)\\//;\n const match = pathname.match(regex);\n if (match) {\n const projectId = match[1];\n nav(`/projects/${projectId}`);\n } else {\n console.log(\"未找到匹配的项目ID\");\n }\n },\n },\n {\n title: t(\"projects.coverage_details\"),\n // title: 'Coverage Details',\n },\n ];\n } else if (pathname.includes(\"configure\")) {\n return [\n {\n title: {t(\"menus.projects\")} ,\n onClick() {\n nav(\"/projects\");\n },\n },\n {\n title: (\n {t(\"projects.overview\")} \n ),\n onClick() {\n const regex = /\\/projects\\/(.+?)\\//;\n // const regex = /\\/projects\\/(\\d+)\\//;\n const match = pathname.match(regex);\n if (match) {\n const projectId = match[1];\n nav(`/projects/${projectId}`);\n } else {\n console.log(\"未找到匹配的项目ID\");\n }\n },\n },\n {\n title: \"项目配置\",\n // title: 'Coverage Details',\n },\n ];\n } else {\n return [];\n }\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/layouts/genTitle.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/layouts/genTitle.ts.js
deleted file mode 100644
index c7193351..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/layouts/genTitle.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/layouts/genTitle.ts"] = {"content":"function matchPattern(str: string) {\n if (\n str.includes(\"projects\") &&\n str.split(\"/\").length === 3 &&\n ![\"new\"].includes(str.split(\"/\")[2])\n ) {\n return true;\n }\n}\nexport const genTitle = (pathname: string) => {\n if (matchPattern(pathname)) {\n return `${pathname.split(\"/\")[2].split(\"-\")[1]} | Overview | Canyon`;\n } else if (pathname.includes(\"commits\")) {\n return `${pathname.split(\"/\")[2].split(\"-\")[1]} | Coverage Details | Canyon`;\n } else if (pathname.includes(\"configure\")) {\n return `${pathname.split(\"/\")[2].split(\"-\")[1]} | Configure | Canyon`;\n } else if (pathname.includes(\"settings\")) {\n return `Settings | Canyon`;\n }\n return `Canyon`;\n};\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/lib/utils.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/lib/utils.ts.js
deleted file mode 100644
index 14a2164c..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/lib/utils.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/lib/utils.ts"] = {"content":"import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/main.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/main.tsx.js
deleted file mode 100644
index 9e0f7174..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/main.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/main.tsx"] = {"content":"import \"dayjs/locale/zh-cn.js\";\nimport \"./useWorker.ts\";\nimport \"./i18n.ts\";\nimport \"antd/dist/reset.css\";\nimport \"./index.css\";\n\nimport {\n ApolloClient,\n ApolloProvider,\n createHttpLink,\n InMemoryCache,\n} from \"@apollo/client\";\nimport { onError } from \"@apollo/client/link/error\";\nimport ReactDOM from \"react-dom/client\";\nimport { BrowserRouter } from \"react-router-dom\";\n\nimport App from \"./App.tsx\";\n\n// 创建一个error link来处理错误\nconst errorLink = onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors) {\n graphQLErrors.forEach(({ message: msg, locations, path }) => {\n console.error(\n `[GraphQL error]: msg: ${msg}, Location: ${locations}, Path: ${path}`,\n );\n message.error(`[GraphQL error]: msg: ${msg}, Path: ${path}`);\n if (\n msg === \"Unauthorized\" &&\n window.location.pathname !== \"/oauth\" &&\n window.location.pathname !== \"/login\"\n ) {\n localStorage.clear();\n window.location.href = \"/login\";\n }\n // 在这里你可以执行自定义的操作,比如显示错误提示\n });\n }\n if (networkError) {\n console.error(`[Network error]: ${networkError}`);\n // 在这里你可以执行自定义的操作,比如显示网络错误提示\n }\n});\n\n// 创建一个http link来发送GraphQL请求\nconst httpLink = createHttpLink({\n uri: \"/graphql\", // 你的GraphQL API的URL\n\n headers: {\n Authorization: `Bearer ` + (localStorage.getItem(\"token\") || \"\"),\n },\n});\n\n// 创建Apollo Client实例\nconst client = new ApolloClient({\n link: errorLink.concat(httpLink), // 将error link和http link组合起来\n cache: new InMemoryCache(),\n});\n\nif (localStorage.getItem(\"theme\") === \"dark\") {\n document.documentElement.classList.add(\"dark\");\n} else {\n document.documentElement.classList.remove(\"dark\");\n}\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n \n \n \n \n ,\n);\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index.tsx.js
deleted file mode 100644
index cd306f96..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index.tsx"] = {"content":"import {\n ArrowRightOutlined,\n BarChartOutlined,\n FolderOutlined,\n LogoutOutlined,\n SettingOutlined,\n} from \"@ant-design/icons\";\nimport { useQuery } from \"@apollo/client\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { useTranslation } from \"react-i18next\";\n\nimport book from \"../assets/book.svg\";\nimport {\n CanyonLayoutBase,\n CanyonModalGlobalSearch,\n} from \"../components/old-ui\";\nimport { MeDocument } from \"../helpers/backend/gen/graphql.ts\";\nimport { genBreadcrumbItems } from \"../layouts/genBreadcrumbItems.tsx\";\nimport { genTitle } from \"../layouts/genTitle.ts\";\nconst theme = localStorage.getItem(\"theme\") || \"light\";\n// console.log(theme, 'theme');\nfunction Index() {\n const { t } = useTranslation();\n useEffect(() => {\n if (localStorage.getItem(\"token\") === null) {\n localStorage.clear();\n localStorage.setItem(\"callback\", window.location.href);\n nav(\"/login\");\n }\n }, []);\n\n const loc = useLocation();\n const nav = useNavigate();\n\n useEffect(() => {\n if (loc.pathname === \"/\") {\n nav(\"/projects\");\n }\n document.title = genTitle(loc.pathname);\n\n try {\n // @ts-ignore\n if (meData?.me.username && meData?.me.username !== \"tzhangm\") {\n // @ts-ignore\n fetch(window.__canyon__.dsn, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\n },\n body: JSON.stringify({\n // @ts-ignore\n coverage: window.__coverage__,\n // @ts-ignore\n commitSha: window.__canyon__.commitSha,\n // @ts-ignore\n projectID: window.__canyon__.projectID,\n // @ts-ignore\n instrumentCwd: window.__canyon__.instrumentCwd,\n // @ts-ignore\n reportID: `${meData?.me.username}|${loc.pathname}`,\n // @ts-ignore\n branch: window.__canyon__.branch,\n }),\n });\n }\n } catch (e) {\n // console.log(e);\n }\n }, [loc.pathname]);\n\n useEffect(() => {\n setMenuSelectedKey(loc.pathname.replace(\"/\", \"\"));\n }, [loc.pathname]);\n const { data: meData } = useQuery(MeDocument);\n useEffect(() => {\n localStorage.setItem(\"username\", meData?.me.username || \"\");\n }, [meData]);\n const { data: baseData } = useRequest(\n () => axios.get(\"/api/base\").then(({ data }) => data),\n {\n onSuccess(data) {\n // @ts-ignore\n window.GITLAB_URL = data.GITLAB_URL;\n },\n },\n );\n const [menuSelectedKey, setMenuSelectedKey] = useState(\"projects\");\n // @ts-ignore\n window.canyonModalGlobalSearchRef = useRef(null);\n return (\n <>\n {/* */}\n \n {/*榜单mark*/}\n \n \n }\n itemsDropdown={[\n {\n label: (\n \n \n Logout\n
\n ),\n onClick: () => {\n localStorage.clear();\n window.location.href = \"/login\";\n },\n },\n ]}\n MeData={meData}\n onClickGlobalSearch={() => {\n // @ts-ignore\n window.canyonModalGlobalSearchRef.current.report();\n }}\n title={\"Canyon\"}\n logo={\n \n
\n
\n }\n mainTitleRightNode={\n \n
\n {t(\"menus.docs\")} \n \n \n }\n >\n \n {/* eslint-disable-next-line jsx-a11y/alt-text */}\n \n \n \n {/*marker position*/}\n \n }\n menuSelectedKey={menuSelectedKey}\n onSelectMenu={(selectInfo) => {\n setMenuSelectedKey(selectInfo.key);\n nav(`/${selectInfo.key}`);\n }}\n menuItems={[\n {\n label: t(\"menus.projects\"),\n key: \"projects\",\n icon: ,\n },\n {\n label: t(\"报表\"),\n key: \"reports\",\n icon: ,\n },\n {\n label: t(\"menus.settings\"),\n key: \"settings\",\n icon: ,\n },\n ]}\n renderMainContent={ }\n search={false}\n account={false}\n />\n {/*// @ts-ignore*/}\n \n >\n );\n}\n\nexport default Index;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/commits/[sha].tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/commits/[sha].tsx.js
deleted file mode 100644
index 96db7516..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/commits/[sha].tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/commits/[sha].tsx"] = {"content":"import { useQuery } from \"@apollo/client\";\nimport { useRequest } from \"ahooks\";\nimport {\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router-dom\";\n\nimport CanyonReport from \"../../../../../components/CanyonReport\";\nimport { GetProjectByIdDocument } from \"../../../../../helpers/backend/gen/graphql.ts\";\nimport { getCoverageSummaryMapService, handleSelectFile } from \"./helper\";\nconst { useToken } = theme;\n\nconst Sha = () => {\n const prm = useParams();\n const nav = useNavigate();\n const [sprm] = useSearchParams();\n // 在组件中\n const location = useLocation();\n const currentPathname = location.pathname;\n const { data: getProjectByIdDocumentData } = useQuery(\n GetProjectByIdDocument,\n {\n variables: {\n projectID: prm[\"id\"] as string,\n },\n },\n );\n const pathWithNamespace =\n getProjectByIdDocumentData?.getProjectByID.pathWithNamespace.split(\"/\")[1];\n const { token } = useToken();\n\n const { data: coverageSummaryMapData, loading } = useRequest(\n () =>\n getCoverageSummaryMapService({\n projectID: prm.id as string,\n reportID: sprm.get(\"report_id\"),\n sha: prm.sha,\n }),\n {\n onSuccess() {},\n },\n );\n\n const [activatedPath, setActivatedPath] = useState(sprm.get(\"path\") || \"\");\n const [mainData, setMainData] = useState(false);\n\n useEffect(() => {\n const params = new URLSearchParams();\n if (sprm.get(\"report_id\")) {\n params.append(\"report_id\", sprm.get(\"report_id\") || \"\");\n }\n if (sprm.get(\"mode\")) {\n params.append(\"mode\", sprm.get(\"mode\") || \"\");\n }\n params.append(\"path\", activatedPath);\n\n // 将参数拼接到路径中\n const pathWithParams = `${currentPathname}?${params.toString()}${location.hash}`;\n\n nav(pathWithParams);\n\n if (activatedPath.includes(\".\")) {\n handleSelectFile({\n filepath: activatedPath,\n reportID: sprm.get(\"report_id\") || \"\",\n sha: prm.sha || \"\",\n projectID: prm.id || \"\",\n mode: sprm.get(\"mode\") || \"\",\n }).then((r) => {\n if (r.fileCoverage) {\n // console.log(r)\n setMainData(r);\n } else {\n setMainData(false);\n }\n });\n } else {\n // console.log('设么也不做');\n setMainData(false);\n }\n }, [activatedPath]);\n\n return (\n <>\n \n
\n
Ant Design Title 1
\n
\n sign, a design language for background applications, is refined by\n
\n
\n
\n
\n
Ant Design Title 1
\n
\n sign, a design language for background applications, is refined by\n
\n
\n
\n
\n
Ant Design Title 1
\n
\n sign, a design language for background applications, is refined by\n
\n
\n
\n
\n \n <>\n {getProjectByIdDocumentData?.getProjectByID.language ===\n \"JavaScript\" && (\n {\n setActivatedPath(v.path);\n }}\n />\n )}\n >\n
\n >\n );\n};\n\nexport default Sha;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/commits/helper/index.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/commits/helper/index.ts.js
deleted file mode 100644
index 20db3a28..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/commits/helper/index.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/commits/helper/index.ts"] = {"content":"// import { data } from 'autoprefixer';\nimport axios from \"axios\";\n\nimport { getDecode } from \"../../../../../../helpers/utils/common.ts\";\n\ninterface HandleSelectFile {\n projectID: string;\n sha: string;\n filepath: string;\n reportID: string;\n mode: string;\n}\nexport function handleSelectFile({\n projectID,\n sha,\n filepath,\n reportID,\n}: HandleSelectFile) {\n // coverage/map\n // codechange\n // sourcecode\n\n const fileContentRequest = axios\n .get(`/api/sourcecode`, {\n params: {\n projectID: projectID,\n sha: sha,\n filepath: filepath,\n },\n })\n .then(({ data }) => data);\n const fileCoverageRequest = axios\n .get(`/api/coverage/map`, {\n params: {\n projectID,\n reportID: reportID,\n sha: sha,\n filepath: filepath,\n },\n })\n .then(({ data }) => data[filepath]);\n\n const fileCodeChangeRequest = axios\n .get(`/api/codechange`, {\n // operationName: 'GetCodeChange',\n params: {\n sha: sha,\n filepath: filepath,\n },\n })\n .then(({ data }) => data);\n // commitSha, reportID, filepath\n return Promise.all([\n fileContentRequest,\n fileCoverageRequest,\n fileCodeChangeRequest,\n ]).then(([fileContent, fileCoverage, fileCodeChange]) => {\n return {\n fileContent: getDecode(fileContent.content),\n fileCoverage: fileCoverage,\n fileCodeChange: fileCodeChange.additions || [],\n };\n });\n}\n\nexport const getCoverageSummaryMapService = ({ projectID, sha, reportID }) =>\n axios({\n url: \"/api/coverage/summary/map\",\n method: \"GET\",\n params: {\n reportID: reportID || \"\",\n sha: sha || \"\",\n projectID: projectID || \"\",\n },\n })\n .then(({ data }) => data)\n .then((r) =>\n r.map((i) => ({\n ...i,\n path: i.path.replace(\"~/\", \"\"),\n })),\n )\n .then((r) => {\n return r;\n });\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/BasicForms.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/BasicForms.tsx.js
deleted file mode 100644
index 914e8f34..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/BasicForms.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/BasicForms.tsx"] = {"content":"import { useMutation } from \"@apollo/client\";\nimport { useForm } from \"antd/es/form/Form\";\nimport { FC } from \"react\";\n\nimport { UpdateProjectDocument } from \"../../../../../../helpers/backend/gen/graphql.ts\";\n\nconst { TextArea } = Input;\n\nconst BasicForms: FC<{ data: any }> = ({ data }, ref) => {\n const [updateProject] = useMutation(UpdateProjectDocument);\n const prm: any = useParams();\n const { t } = useTranslation();\n const onFinish = (values: any) => {\n updateProject({\n variables: {\n projectID: prm.id,\n coverage: \"__null__\",\n description: values.description,\n defaultBranch: \"__null__\",\n instrumentCwd: values.instrumentCwd,\n },\n }).then(() => {\n message.success(\"成功\");\n });\n };\n const [form] = useForm();\n const onSubmit = () => {\n form.submit();\n };\n useImperativeHandle(ref, () => ({\n submit: onSubmit,\n }));\n // use\n if (data) {\n return (\n label={t(\"common.language\")} name=\"language\">\n \n \n\n \n label={t(\"projects.config.project.desc\")}\n name=\"description\"\n >\n \n \n \n );\n } else {\n return loading
;\n }\n};\n\nexport default forwardRef(BasicForms);\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/MemberTable.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/MemberTable.tsx.js
deleted file mode 100644
index f553d52e..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/MemberTable.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/MemberTable.tsx"] = {"content":"import { UsergroupAddOutlined } from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\n\nimport {\n ListUserDocument,\n UpdateProjectDocument,\n} from \"../../../../../../helpers/backend/gen/graphql.ts\";\nimport CrudTable from \"./crud.tsx\";\nconst { Text } = Typography;\nconst options = [\n {\n label: (\n \n 所有者 \n \n 所有者可以编辑和删除项目、上报记录及团队成员。\n \n
\n ),\n value: \"owner\",\n },\n {\n label: (\n \n 编辑者 \n \n 编辑者可以编辑和删除项目、上报记录。\n \n
\n ),\n value: \"editor\",\n },\n {\n label: (\n \n 查看者 \n \n 查看者只可查看项目、上报记录。\n \n
\n ),\n value: \"viewer\",\n },\n];\n\nconst roleMap = {\n owner: \"所有者\",\n editor: \"编辑者\",\n viewer: \"查看者\",\n};\n\n// Filter `option.label` match the user type `input`\nconst filterOption = (\n input: string,\n option?: { label: string; value: string },\n) => (option?.label ?? \"\").toLowerCase().includes(input.toLowerCase());\n\nconst MemberTable = ({ members }) => {\n const columns = [\n {\n title: \"成员\",\n dataIndex: \"userID\",\n key: \"userID\",\n render: (text) => {\n const find = (userOptions?.listUser || []).find((i) => i.id === text);\n if (find) {\n return `${find.nickname} <${find.email}>`;\n } else {\n return text;\n }\n },\n },\n {\n title: \"角色\",\n dataIndex: \"role\",\n key: \"role\",\n render: (text) => {\n return roleMap[text];\n },\n },\n ];\n\n // const dataSource = [];\n const [dataSource, setDataSource] = useState();\n\n useEffect(() => {\n setDataSource(members);\n }, [members]);\n\n const { data: userOptions } = useQuery(ListUserDocument);\n\n const [updateProject] = useMutation(UpdateProjectDocument);\n const prm = useParams();\n const onCreate = (v) => {\n setDataSource([\n ...dataSource,\n {\n ...v,\n },\n ]);\n };\n\n const onUpdate = (v) => {\n setDataSource(\n dataSource.map((i) => {\n if (i.userID === v.userID) {\n return v;\n }\n return i;\n }),\n );\n };\n\n const onDelete = ({ userID }) => {\n setDataSource(dataSource.filter((i) => i.userID !== userID));\n };\n\n const onSave = () => {\n updateProject({\n variables: {\n projectID: prm.id as string,\n members: dataSource.map(({ userID, role }) => ({\n userID,\n role,\n })),\n },\n }).then((res) => {\n message.success(\"保存成功\");\n });\n };\n\n return (\n \n \n \n 成员 \n
\n }\n >\n {/*{JSON.stringify(dataSource)}*/}\n (\n <>\n \n ({\n label: `${nickname} <${email}>`,\n value: id,\n }),\n )}\n />\n \n\n \n {\n return {roleMap[value]} ;\n }}\n />\n \n >\n )}\n />\n \n \n );\n};\n\nexport default MemberTable;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/TagTable.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/TagTable.tsx.js
deleted file mode 100644
index 8cc166ff..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/TagTable.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/TagTable.tsx"] = {"content":"import { PlusOutlined, TagOutlined } from \"@ant-design/icons\";\nimport { useMutation } from \"@apollo/client\";\nimport { useParams } from \"react-router-dom\";\n\nimport { UpdateProjectDocument } from \"../../../../../../helpers/backend/gen/graphql.ts\";\ntype FieldType = {\n id?: string;\n name?: string;\n link?: string;\n color?: string;\n};\n\nconst gridStyle: any = {\n width: \"100%\",\n};\nfunction setDByeky(key, item, list) {\n const newList = JSON.parse(JSON.stringify(list));\n\n const f = newList.findIndex((i) => i.id === key);\n if (f > -1) {\n newList[f] = {\n ...item,\n };\n } else {\n console.log(\"什么也不做\");\n }\n return newList;\n}\n\nconst CanyonColorPicker = ({ value, onChange }) => {\n return (\n \n {\n onChange(hex);\n }}\n />\n
\n );\n};\n\nconst TagTable = ({ tags }) => {\n const [activeID, setActiveID] = useState(\"\");\n const [dataSource, setDataSource] = useState([]);\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n useEffect(() => {\n if (tags !== undefined) {\n setDataSource(\n tags.map(({ id, name, link, color }) => ({\n id,\n name,\n link,\n color,\n })),\n );\n }\n }, [tags]);\n const columns = [\n {\n title: \"ID\",\n dataIndex: \"id\",\n key: \"id\",\n render(text) {\n return {text} ;\n },\n },\n {\n title: t(\"projects.config.name\"),\n dataIndex: \"name\",\n key: \"name\",\n },\n {\n title: t(\"projects.config.link\"),\n dataIndex: \"link\",\n key: \"link\",\n width: \"300px\",\n render(text) {\n return (\n \n {text}\n \n );\n },\n },\n {\n title: t(\"projects.config.color\"),\n dataIndex: \"color\",\n key: \"color\",\n render(text, record) {\n return {record.name} ;\n },\n },\n {\n title: t(\"common.option\"),\n render(text, record) {\n return (\n <>\n {\n setActiveID(record.id);\n setOpen(true);\n }}\n >\n {t(\"common.edit\")}\n \n\n \n {\n setDataSource(dataSource.filter((i) => i.id !== record.id));\n }}\n >\n {t(\"common.delete\")}\n \n >\n );\n },\n },\n ];\n\n function onFinish(values) {\n console.log(values);\n setDataSource(setDByeky(activeID, values, dataSource));\n }\n\n const [form] = Form.useForm();\n const [updateProject] = useMutation(UpdateProjectDocument);\n const prm = useParams();\n\n useEffect(() => {\n form.setFieldsValue(dataSource.find((i) => i.id === activeID));\n }, [activeID]);\n\n return (\n \n \n \n {t(\"projects.config.tag\")} \n
\n }\n >\n \n \n
\n \n {\n updateProject({\n variables: {\n projectID: prm.id as string,\n coverage: \"__null__\",\n description: \"__null__\",\n defaultBranch: \"__null__\",\n tags: dataSource,\n },\n }).then(() => {\n message.success(\"保存成功\");\n });\n }}\n >\n {t(\"projects.config.save.changes\")}\n \n }\n onClick={() => {\n setDataSource(\n dataSource.concat({\n id: String(Math.random()),\n name: \"tagname\",\n link: \"\",\n color: \"#0071c2\",\n }),\n );\n }}\n >\n {t(\"common.add\")}\n \n \n \n \n\n {\n setOpen(false);\n form.submit();\n }}\n >\n label=\"ID\" name=\"id\">\n \n \n\n label={t(\"projects.config.name\")} name=\"name\">\n \n \n\n label={t(\"projects.config.link\")} name=\"link\">\n \n \n\n label={t(\"projects.config.color\")} name=\"color\">\n \n \n \n \n \n );\n};\n\nexport default TagTable;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/crud.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/crud.tsx.js
deleted file mode 100644
index 42e6856f..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/crud.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/crud.tsx"] = {"content":"import { PlusOutlined } from \"@ant-design/icons\";\nimport { FC, useState } from \"react\";\n\n/**\n * noop is a helper function that does nothing\n * @returns undefined\n */\nfunction noop() {\n /** no-op */\n}\n\n// 注意多默认值\n// noob函数\n\ninterface CrudTableProps {\n dataSource: any[];\n loading: boolean;\n columns: any[];\n formItems: any;\n onCreate?: (values: any) => void;\n onDelete?: (values: any) => void;\n onUpdate?: (values: any) => void;\n onSave?: () => void;\n}\n\nconst CrudTable: FC = ({\n dataSource,\n loading,\n columns,\n formItems,\n /* === */\n onCreate = noop,\n onDelete = noop,\n onUpdate = noop,\n onSave = noop,\n}) => {\n const [visible, setVisible] = useState(false);\n const [form] = Form.useForm();\n function onFinish(values) {\n if (values.mode === \"create\") {\n if (values.userID && values.role) {\n onCreate(values);\n }\n } else {\n onUpdate(values);\n }\n setVisible(false);\n }\n function closeDrawer() {\n setVisible(false);\n // onFinish({ mode: 'create' });\n form.submit();\n setTimeout(() => {\n form.resetFields();\n }, 100);\n }\n\n function add() {\n setVisible(true);\n form.setFieldsValue({\n mode: \"create\",\n emails: [],\n });\n }\n\n function edit(record) {\n setVisible(true);\n form.setFieldsValue({\n ...record,\n mode: \"update\",\n });\n }\n\n return (\n \n
{\n return (\n \n );\n },\n })}\n loading={loading}\n />\n
\n\n \n \n 保存更改\n \n \n \n 添加\n \n \n \n \n \n \n {formItems(form.getFieldValue(\"mode\"))}\n \n \n \n );\n};\n\nexport default CrudTable;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx.js
deleted file mode 100644
index e01ca8eb..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx"] = {"content":"// import React from 'react';\nimport type { SVGProps } from \"react\";\n\nexport function SolarUserIdLinear(props: SVGProps) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/index.tsx.js
deleted file mode 100644
index 6a664ca1..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/configure/index.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/configure/index.tsx"] = {"content":"import Icon, { AppstoreOutlined, ExperimentOutlined } from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { Editor } from \"@monaco-editor/react\";\nimport { FormRegion, TextTypography } from \"../../../../../components/ui\";\n\nimport {\n GetProjectByIdDocument,\n UpdateProjectDocument,\n} from \"../../../../../helpers/backend/gen/graphql.ts\";\nimport BasicForms from \"./helper/BasicForms.tsx\";\nimport { SolarUserIdLinear } from \"./helper/icons/SolarUserIdLinear.tsx\";\nimport MemberTable from \"./helper/MemberTable.tsx\";\nimport TagTable from \"./helper/TagTable.tsx\";\nconst gridStyle: any = {\n width: \"100%\",\n};\nconst { Text } = Typography;\nconst { useToken } = theme;\nconst ProjectConfigure = () => {\n const prm: any = useParams();\n const { token } = useToken();\n const { t } = useTranslation();\n const { data: GetProjectByIdDocumentData } = useQuery(\n GetProjectByIdDocument,\n {\n variables: {\n projectID: prm.id,\n },\n fetchPolicy: \"no-cache\",\n },\n );\n const [updateProject] = useMutation(UpdateProjectDocument);\n const showMessage = () => {\n message.success(\"保存成功\");\n };\n const [coverage, setCoverage] = useState(\"\");\n\n const [defaultBranch, setDefaultBranch] = useState(\"\");\n\n const basicFormsRef = useRef(null);\n return (\n \n
}\n />\n
}\n onSave={() => {\n basicFormsRef.current?.submit();\n }}\n >\n
\n \n
\n
\n
\n
\n
\n
\n \n {t(\"projects.config.coverage\")} \n \n }\n >\n \n \n
\n
{t(\"projects.default.branch\")}
\n
\n {t(\"projects.config.default.branch.desc\")}\n \n
\n {GetProjectByIdDocumentData && (\n
({\n label: item,\n value: item,\n }))}\n onSelect={(value) => {\n setDefaultBranch(value as string);\n }}\n />\n )}\n \n\n \n
\n
\n {GetProjectByIdDocumentData?.getProjectByID && (\n {\n setCoverage(value || \"\");\n }}\n height={\"240px\"}\n language={\"json\"}\n options={{\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n wordWrap: \"wordWrapColumn\",\n automaticLayout: true,\n scrollBeyondLastLine: false,\n }}\n />\n )}\n
\n
\n {\n try {\n // coverage用户输入了才检测\n if (coverage !== \"\") {\n JSON.parse(coverage);\n }\n\n updateProject({\n variables: {\n projectID: prm.id,\n coverage:\n coverage ||\n GetProjectByIdDocumentData?.getProjectByID.coverage ||\n \"\",\n description: \"__null__\",\n defaultBranch:\n defaultBranch ||\n GetProjectByIdDocumentData?.getProjectByID\n .defaultBranch ||\n \"-\",\n },\n }).then(() => {\n showMessage();\n });\n } catch (e) {\n message.error(\"Invalid JSON\");\n }\n }}\n >\n {t(\"projects.config.save.changes\")}\n \n \n \n
\n \n );\n};\n\nexport default ProjectConfigure;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/getting-started.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/getting-started.tsx.js
deleted file mode 100644
index 5f0de266..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/getting-started.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/getting-started.tsx"] = {"content":"import { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport CopyCode from \"../../../../components/app/CopyCode.tsx\";\nimport { gettingStartedContent } from \"../../../../components/app/getting-started-content.ts\";\nconst { Title, Text } = Typography;\n// import CopyCode from '../components/CopyCode.tsx';\n// import { gettingStartedContent } from '../components/getting- started-content.ts';\nconst ProjectGettingStarted = () => {\n const nav = useNavigate();\n const { data } = useRequest(() =>\n axios.get(\"/api/base\").then(({ data }) => data),\n );\n return (\n \n
Configure Babel \n
\n
Install \n
\n Add the canyon and istanbul babel plugin as a dependency using npm:\n \n
\n
Configure Babel \n
Add the following configuration to babel: \n
\n
Next Steps \n
\n {\n window.open(data?.SYSTEM_QUESTION_LINK);\n }}\n >\n Take me to Report the first coverage\n \n {\n nav(`/projects`);\n }}\n >\n Take me to Projects\n \n \n
\n );\n};\n\nexport default ProjectGettingStarted;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/index.tsx.js
deleted file mode 100644
index f68e954b..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/[id]/index.tsx.js
+++ /dev/null
@@ -1,2185 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/[id]/index.tsx"] = {
- content:
- 'import Icon, {\n AimOutlined,\n BranchesOutlined,\n EditOutlined,\n QuestionCircleOutlined,\n} from "@ant-design/icons";\nimport { useMutation, useQuery } from "@apollo/client";\nimport { TourProps } from "antd";\nimport { ColumnsType } from "antd/es/table";\nimport dayjs from "dayjs";\nimport ReactECharts from "echarts-for-react";\nimport { useEffect, useRef, useState } from "react";\nimport { useTranslation } from "react-i18next";\nimport { Link, useNavigate, useParams } from "react-router-dom";\n\nimport ProjectRecordDetailDrawer from "../../../../components/app/ProjectRecordDetailDrawer.tsx";\nimport MaterialSymbolsCommitSharp from "../../../../components/icons/MaterialSymbolsCommitSharp.tsx";\nimport {\n DeleteProjectRecordDocument,\n GetProjectByIdDocument,\n GetProjectChartDataDocument,\n GetProjectCompartmentDataDocument,\n GetProjectRecordsDocument,\n ProjectRecordsModel,\n} from "../../../../helpers/backend/gen/graphql.ts";\n\nconst { useToken } = theme;\nconst { Title, Text } = Typography;\n// const content = ()=>{\n// return \n// nihao\n//
\n// }\nconst ProjectOverviewPage = () => {\n const { token } = useToken();\n const { t } = useTranslation();\n const [keyword, setKeyword] = useState("");\n const [current, setCurrent] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [open, setOpen] = useState(false);\n const [sha, setSha] = useState("");\n const initDefaultBranchOnly = Boolean(\n localStorage.getItem("defaultBranchOnly"),\n );\n const [defaultBranchOnly, setDefaultBranchOnly] = useState(\n initDefaultBranchOnly,\n );\n const onClose = () => {\n setOpen(false);\n };\n\n const pam = useParams();\n\n const { data: projectsData, loading } = useQuery(GetProjectRecordsDocument, {\n variables: {\n projectID: pam.id as string,\n current: current,\n pageSize: pageSize,\n keyword: keyword,\n onlyDefault: defaultBranchOnly,\n },\n fetchPolicy: "no-cache",\n });\n\n const { data: projectByIdData } = useQuery(GetProjectByIdDocument, {\n variables: {\n projectID: pam.id as string,\n },\n fetchPolicy: "no-cache",\n });\n\n const { data: projectChartData, loading: projectChartDataLoading } = useQuery(\n GetProjectChartDataDocument,\n {\n variables: {\n projectID: pam.id as string,\n branch: "-",\n },\n fetchPolicy: "no-cache",\n },\n );\n\n const {\n data: projectCompartmentDataData,\n loading: projectCompartmentDataLoading,\n } = useQuery(GetProjectCompartmentDataDocument, {\n variables: {\n projectID: pam.id as string,\n },\n fetchPolicy: "no-cache",\n });\n const [deleteProjectRecord] = useMutation(DeleteProjectRecordDocument);\n const ref1 = useRef(null);\n const ref2 = useRef(null);\n const [tourOpen, setTourOpen] = useState(false);\n const steps: TourProps["steps"] = [\n {\n title: t("projects.statements_tour_title"),\n description: t("projects.statements_tour_description"),\n target: () => ref1.current,\n },\n {\n title: t("projects.newlines_tour_title"),\n description: t("projects.newlines_tour_description"),\n target: () => ref2.current,\n },\n ];\n\n useEffect(() => {\n if (!localStorage.getItem("touropen")) {\n setTimeout(() => {\n setTourOpen(true);\n localStorage.setItem("touropen", "true");\n }, 2000);\n }\n }, []);\n\n const columns: ColumnsType = [\n {\n title: (\n \n \n Sha\n
\n ),\n dataIndex: "sha",\n width: "100px",\n render(_, { webUrl }): JSX.Element {\n return (\n \n {_?.slice(0, 7)}\n \n );\n },\n },\n {\n title: (\n <>\n \n {t("projects.branch")}\n >\n ),\n dataIndex: "branch",\n ellipsis: true,\n width: "120px",\n },\n {\n title: (\n <>\n \n {t("projects.compare_target")}\n >\n ),\n dataIndex: "compareTarget",\n width: "120px",\n render(_, { compareUrl }): JSX.Element {\n return (\n \n {_.length === 40 ? _.slice(0, 7) : _}\n \n );\n },\n },\n {\n title: <>{t("Build")}>,\n align: "center",\n width: "70px",\n render(_, record) {\n return (\n <>\n {record.buildID !== "-" ? (\n \n \n \n ) : (\n - \n )}\n >\n );\n },\n },\n {\n title: t("projects.message"),\n dataIndex: "message",\n width: "160px",\n ellipsis: true,\n },\n {\n title: (\n \n \n \n \n {t("projects.statements")}\n
\n ),\n dataIndex: "statements",\n // width: \'148px\',\n render(_, { sha }) {\n return (\n \n {_}%\n \n );\n },\n // width: \'150px\',\n // render(_, { sha }) {\n // return (\n // \n //
\n // {_}%\n // \n //
\n // \n // \n //\n //
\n // );\n // },\n },\n {\n title: (\n \n \n \n \n {t("projects.newlines")}\n
\n ),\n dataIndex: "newlines",\n // width: \'130px\',\n render(_, { sha }) {\n return (\n \n {_}%\n \n );\n },\n },\n {\n title: t("projects.report_times"),\n dataIndex: "times",\n width: "80px",\n },\n {\n title: t("projects.latest_report_time"),\n dataIndex: "lastReportTime",\n width: "135px",\n render(_) {\n return {dayjs(_).format("MM-DD HH:mm")} ;\n },\n },\n {\n title: t("common.option"),\n width: "125px",\n render(_): JSX.Element {\n return (\n \n );\n },\n },\n ];\n\n const option = {\n backgroundColor: "transparent",\n grid: {\n top: "30px",\n left: "30px",\n right: "10px",\n bottom: "20px",\n },\n tooltip: {\n trigger: "axis",\n },\n legend: {\n x: "right",\n data: [t("projects.statements"), t("projects.newlines")],\n },\n xAxis: {\n type: "category",\n data:\n projectChartData?.getProjectChartData.map(({ sha }) =>\n sha.slice(0, 7),\n ) || [],\n },\n yAxis: {\n type: "value",\n },\n series: [t("projects.statements"), t("projects.newlines")].map(\n (_, index) => ({\n name: _,\n data:\n projectChartData?.getProjectChartData.map(\n ({ statements, newlines }) => (index === 0 ? statements : newlines),\n ) || [],\n type: "line",\n }),\n ),\n };\n const nav = useNavigate();\n return (\n \n
\n
\n
\n {projectByIdData?.getProjectByID.pathWithNamespace}\n {\n nav(`/projects/${pam.id}/configure`);\n }}\n />\n \n \n\n
\n \n {t("projects.config.project.id")}:{" "}\n {projectByIdData?.getProjectByID.id}\n \n \n {t("projects.default.branch")}:{" "}\n {projectByIdData?.getProjectByID.defaultBranch}\n \n
\n {(projectByIdData?.getProjectByID.tags || []).length > 0 && (\n
\n \n {t("projects.config.tag")}:\n \n {projectByIdData?.getProjectByID.tags.map(\n ({ color, name, link }, index) => (\n {\n if (link) {\n window.open(link);\n }\n }}\n >\n {name}\n \n ),\n )}\n
\n )}\n
\n\n
\n {t("projects.overview")}\n \n
{\n setTourOpen(false);\n }}\n steps={steps}\n />\n \n
\n \n {(projectCompartmentDataData?.getProjectCompartmentData || []).map(\n (item, index) => {\n return (\n
\n {t(item.label)} \n {item.value} \n
\n );\n },\n )}\n
\n \n\n
\n
\n \n
\n
\n {t("projects.trends_in_coverage")}\n \n \n {t("projects.trends.tooltip")}\n \n \n
\n
\n \n
\n
\n\n \n {t("projects.records")}\n \n \n
\n {\n setKeyword(value);\n setCurrent(1);\n }}\n style={{ width: "600px" }}\n />\n \n \n {t("projects.only.default.branch")}:{" "}\n \n {\n if (v) {\n localStorage.setItem("defaultBranchOnly", "1");\n } else {\n localStorage.removeItem("defaultBranchOnly");\n }\n setDefaultBranchOnly(v);\n }}\n />\n \n
\n\n
\n {["#1f77b4", "#ff7f0e", "#2ca02c"].map((item, index) => {\n return (\n
\n \n \n {{\n 0: "手工测试",\n 1: "UI自动化测试",\n 2: "单元测试",\n }[index] || "unknown"}\n \n
\n );\n })}\n
\n
\n {/*div*/}\n t("common.total_items", { total }),\n total: projectsData?.getProjectRecords?.total,\n current,\n pageSize,\n // current: projectsData?.getProjects?.current,\n // pageSize: projectsData?.getProjects?.pageSize,\n }}\n dataSource={projectsData?.getProjectRecords?.data || []}\n onChange={(val) => {\n setCurrent(val.current || 1);\n setPageSize(val.pageSize || 10);\n // setKeyword(keyword);\n }}\n />\n\n {/*默太狂就共用一个*/}\n \n \n );\n};\n\nexport default ProjectOverviewPage;\n',
- coverage: {
- path: "packages/canyon-platform/src/pages/index/projects/[id]/index.tsx",
- b: {
- 0: [6, 604],
- 1: [6155, 0],
- 2: [5992, 163],
- 3: [0, 5992],
- 4: [3574, 1783],
- 5: [7148, 3566],
- 6: [55447, 55447],
- 7: [3574, 136],
- 8: [3574, 672],
- 9: [37, 289],
- 10: [0, 0],
- 11: [3574, 2295],
- 12: [0, 3574],
- 13: [0, 0],
- 14: [10722, 0],
- 15: [3574, 2954],
- 16: [0, 0],
- 17: [0, 0],
- },
- f: {
- 0: 3574,
- 1: 11,
- 2: 4750,
- 3: 0,
- 4: 610,
- 5: 4,
- 6: 6155,
- 7: 6155,
- 8: 6155,
- 9: 6155,
- 10: 6155,
- 11: 6155,
- 12: 6155,
- 13: 17,
- 14: 0,
- 15: 0,
- 16: 0,
- 17: 0,
- 18: 55447,
- 19: 7148,
- 20: 110894,
- 21: 4,
- 22: 326,
- 23: 0,
- 24: 4,
- 25: 5116,
- 26: 0,
- 27: 0,
- 28: 10722,
- 29: 1788,
- 30: 0,
- },
- s: {
- 0: 601,
- 1: 601,
- 2: 601,
- 3: 3574,
- 4: 3574,
- 5: 3574,
- 6: 3574,
- 7: 3574,
- 8: 3574,
- 9: 3574,
- 10: 3574,
- 11: 3574,
- 12: 3574,
- 13: 11,
- 14: 3574,
- 15: 3574,
- 16: 3574,
- 17: 3574,
- 18: 3574,
- 19: 3574,
- 20: 3574,
- 21: 3574,
- 22: 3574,
- 23: 3574,
- 24: 4750,
- 25: 0,
- 26: 3574,
- 27: 610,
- 28: 6,
- 29: 4,
- 30: 4,
- 31: 3574,
- 32: 6155,
- 33: 6155,
- 34: 6155,
- 35: 6155,
- 36: 6155,
- 37: 6155,
- 38: 6155,
- 39: 17,
- 40: 17,
- 41: 0,
- 42: 0,
- 43: 0,
- 44: 0,
- 45: 3574,
- 46: 55447,
- 47: 7148,
- 48: 110894,
- 49: 3574,
- 50: 3574,
- 51: 4,
- 52: 326,
- 53: 0,
- 54: 0,
- 55: 4,
- 56: 5116,
- 57: 0,
- 58: 0,
- 59: 0,
- 60: 0,
- 61: 0,
- 62: 0,
- 63: 10722,
- 64: 1788,
- 65: 0,
- 66: 0,
- },
- branchMap: {
- 0: {
- loc: {
- start: {
- line: 110,
- column: 4,
- },
- end: {
- line: 115,
- column: 5,
- },
- },
- type: "if",
- locations: [
- {
- start: {
- line: 110,
- column: 4,
- },
- end: {
- line: 115,
- column: 5,
- },
- },
- {
- start: {},
- end: {},
- },
- ],
- line: 110,
- },
- 1: {
- loc: {
- start: {
- line: 159,
- column: 13,
- },
- end: {
- line: 159,
- column: 48,
- },
- },
- type: "cond-expr",
- locations: [
- {
- start: {
- line: 159,
- column: 31,
- },
- end: {
- line: 159,
- column: 44,
- },
- },
- {
- start: {
- line: 159,
- column: 47,
- },
- end: {
- line: 159,
- column: 48,
- },
- },
- ],
- line: 159,
- },
- 2: {
- loc: {
- start: {
- line: 171,
- column: 13,
- },
- end: {
- line: 181,
- column: 13,
- },
- },
- type: "cond-expr",
- locations: [
- {
- start: {
- line: 172,
- column: 14,
- },
- end: {
- line: 178,
- column: 18,
- },
- },
- {
- start: {
- line: 180,
- column: 14,
- },
- end: {
- line: 180,
- column: 28,
- },
- },
- ],
- line: 171,
- },
- 3: {
- loc: {
- start: {
- line: 175,
- column: 40,
- },
- end: {
- line: 175,
- column: 102,
- },
- },
- type: "cond-expr",
- locations: [
- {
- start: {
- line: 175,
- column: 71,
- },
- end: {
- line: 175,
- column: 79,
- },
- },
- {
- start: {
- line: 175,
- column: 82,
- },
- end: {
- line: 175,
- column: 102,
- },
- },
- ],
- line: 175,
- },
- 4: {
- loc: {
- start: {
- line: 338,
- column: 8,
- },
- end: {
- line: 340,
- column: 15,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 338,
- column: 8,
- },
- end: {
- line: 340,
- column: 9,
- },
- },
- {
- start: {
- line: 340,
- column: 13,
- },
- end: {
- line: 340,
- column: 15,
- },
- },
- ],
- line: 338,
- },
- 5: {
- loc: {
- start: {
- line: 349,
- column: 10,
- },
- end: {
- line: 351,
- column: 17,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 349,
- column: 10,
- },
- end: {
- line: 351,
- column: 11,
- },
- },
- {
- start: {
- line: 351,
- column: 15,
- },
- end: {
- line: 351,
- column: 17,
- },
- },
- ],
- line: 349,
- },
- 6: {
- loc: {
- start: {
- line: 350,
- column: 43,
- },
- end: {
- line: 350,
- column: 78,
- },
- },
- type: "cond-expr",
- locations: [
- {
- start: {
- line: 350,
- column: 57,
- },
- end: {
- line: 350,
- column: 67,
- },
- },
- {
- start: {
- line: 350,
- column: 70,
- },
- end: {
- line: 350,
- column: 78,
- },
- },
- ],
- line: 350,
- },
- 7: {
- loc: {
- start: {
- line: 383,
- column: 9,
- },
- end: {
- line: 405,
- column: 9,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 383,
- column: 9,
- },
- end: {
- line: 383,
- column: 64,
- },
- },
- {
- start: {
- line: 384,
- column: 10,
- },
- end: {
- line: 404,
- column: 16,
- },
- },
- ],
- line: 383,
- },
- 8: {
- loc: {
- start: {
- line: 383,
- column: 10,
- },
- end: {
- line: 383,
- column: 52,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 383,
- column: 10,
- },
- end: {
- line: 383,
- column: 46,
- },
- },
- {
- start: {
- line: 383,
- column: 50,
- },
- end: {
- line: 383,
- column: 52,
- },
- },
- ],
- line: 383,
- },
- 9: {
- loc: {
- start: {
- line: 391,
- column: 35,
- },
- end: {
- line: 391,
- column: 63,
- },
- },
- type: "cond-expr",
- locations: [
- {
- start: {
- line: 391,
- column: 42,
- },
- end: {
- line: 391,
- column: 51,
- },
- },
- {
- start: {
- line: 391,
- column: 54,
- },
- end: {
- line: 391,
- column: 63,
- },
- },
- ],
- line: 391,
- },
- 10: {
- loc: {
- start: {
- line: 395,
- column: 20,
- },
- end: {
- line: 397,
- column: 21,
- },
- },
- type: "if",
- locations: [
- {
- start: {
- line: 395,
- column: 20,
- },
- end: {
- line: 397,
- column: 21,
- },
- },
- {
- start: {},
- end: {},
- },
- ],
- line: 395,
- },
- 11: {
- loc: {
- start: {
- line: 423,
- column: 14,
- },
- end: {
- line: 423,
- column: 73,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 423,
- column: 14,
- },
- end: {
- line: 423,
- column: 67,
- },
- },
- {
- start: {
- line: 423,
- column: 71,
- },
- end: {
- line: 423,
- column: 73,
- },
- },
- ],
- line: 423,
- },
- 12: {
- loc: {
- start: {
- line: 468,
- column: 18,
- },
- end: {
- line: 472,
- column: 23,
- },
- },
- type: "cond-expr",
- locations: [
- {
- start: {
- line: 469,
- column: 22,
- },
- end: {
- line: 469,
- column: 28,
- },
- },
- {
- start: {
- line: 470,
- column: 22,
- },
- end: {
- line: 472,
- column: 23,
- },
- },
- ],
- line: 468,
- },
- 13: {
- loc: {
- start: {
- line: 508,
- column: 16,
- },
- end: {
- line: 512,
- column: 17,
- },
- },
- type: "if",
- locations: [
- {
- start: {
- line: 508,
- column: 16,
- },
- end: {
- line: 512,
- column: 17,
- },
- },
- {
- start: {
- line: 510,
- column: 23,
- },
- end: {
- line: 512,
- column: 17,
- },
- },
- ],
- line: 508,
- },
- 14: {
- loc: {
- start: {
- line: 528,
- column: 19,
- },
- end: {
- line: 532,
- column: 39,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 528,
- column: 19,
- },
- end: {
- line: 532,
- column: 26,
- },
- },
- {
- start: {
- line: 532,
- column: 30,
- },
- end: {
- line: 532,
- column: 39,
- },
- },
- ],
- line: 528,
- },
- 15: {
- loc: {
- start: {
- line: 558,
- column: 20,
- },
- end: {
- line: 558,
- column: 63,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 558,
- column: 20,
- },
- end: {
- line: 558,
- column: 57,
- },
- },
- {
- start: {
- line: 558,
- column: 61,
- },
- end: {
- line: 558,
- column: 63,
- },
- },
- ],
- line: 558,
- },
- 16: {
- loc: {
- start: {
- line: 560,
- column: 21,
- },
- end: {
- line: 560,
- column: 37,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 560,
- column: 21,
- },
- end: {
- line: 560,
- column: 32,
- },
- },
- {
- start: {
- line: 560,
- column: 36,
- },
- end: {
- line: 560,
- column: 37,
- },
- },
- ],
- line: 560,
- },
- 17: {
- loc: {
- start: {
- line: 561,
- column: 22,
- },
- end: {
- line: 561,
- column: 40,
- },
- },
- type: "binary-expr",
- locations: [
- {
- start: {
- line: 561,
- column: 22,
- },
- end: {
- line: 561,
- column: 34,
- },
- },
- {
- start: {
- line: 561,
- column: 38,
- },
- end: {
- line: 561,
- column: 40,
- },
- },
- ],
- line: 561,
- },
- },
- fnMap: {
- 0: {
- name: "(anonymous_0)",
- decl: {
- start: {
- line: 34,
- column: 28,
- },
- end: {
- line: 34,
- column: 29,
- },
- },
- loc: {
- start: {
- line: 34,
- column: 34,
- },
- end: {
- line: 570,
- column: 1,
- },
- },
- line: 34,
- },
- 1: {
- name: "(anonymous_1)",
- decl: {
- start: {
- line: 48,
- column: 18,
- },
- end: {
- line: 48,
- column: 19,
- },
- },
- loc: {
- start: {
- line: 48,
- column: 24,
- },
- end: {
- line: 50,
- column: 3,
- },
- },
- line: 48,
- },
- 2: {
- name: "(anonymous_2)",
- decl: {
- start: {
- line: 100,
- column: 14,
- },
- end: {
- line: 100,
- column: 15,
- },
- },
- loc: {
- start: {
- line: 100,
- column: 20,
- },
- end: {
- line: 100,
- column: 32,
- },
- },
- line: 100,
- },
- 3: {
- name: "(anonymous_3)",
- decl: {
- start: {
- line: 105,
- column: 14,
- },
- end: {
- line: 105,
- column: 15,
- },
- },
- loc: {
- start: {
- line: 105,
- column: 20,
- },
- end: {
- line: 105,
- column: 32,
- },
- },
- line: 105,
- },
- 4: {
- name: "(anonymous_4)",
- decl: {
- start: {
- line: 109,
- column: 12,
- },
- end: {
- line: 109,
- column: 13,
- },
- },
- loc: {
- start: {
- line: 109,
- column: 18,
- },
- end: {
- line: 116,
- column: 3,
- },
- },
- line: 109,
- },
- 5: {
- name: "(anonymous_5)",
- decl: {
- start: {
- line: 111,
- column: 17,
- },
- end: {
- line: 111,
- column: 18,
- },
- },
- loc: {
- start: {
- line: 111,
- column: 23,
- },
- end: {
- line: 114,
- column: 7,
- },
- },
- line: 111,
- },
- 6: {
- name: "(anonymous_6)",
- decl: {
- start: {
- line: 128,
- column: 6,
- },
- end: {
- line: 128,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 128,
- column: 41,
- },
- end: {
- line: 134,
- column: 7,
- },
- },
- line: 128,
- },
- 7: {
- name: "(anonymous_7)",
- decl: {
- start: {
- line: 156,
- column: 6,
- },
- end: {
- line: 156,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 156,
- column: 45,
- },
- end: {
- line: 162,
- column: 7,
- },
- },
- line: 156,
- },
- 8: {
- name: "(anonymous_8)",
- decl: {
- start: {
- line: 168,
- column: 6,
- },
- end: {
- line: 168,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 168,
- column: 24,
- },
- end: {
- line: 184,
- column: 7,
- },
- },
- line: 168,
- },
- 9: {
- name: "(anonymous_9)",
- decl: {
- start: {
- line: 203,
- column: 6,
- },
- end: {
- line: 203,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 203,
- column: 25,
- },
- end: {
- line: 213,
- column: 7,
- },
- },
- line: 203,
- },
- 10: {
- name: "(anonymous_10)",
- decl: {
- start: {
- line: 246,
- column: 6,
- },
- end: {
- line: 246,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 246,
- column: 25,
- },
- end: {
- line: 256,
- column: 7,
- },
- },
- line: 246,
- },
- 11: {
- name: "(anonymous_11)",
- decl: {
- start: {
- line: 267,
- column: 6,
- },
- end: {
- line: 267,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 267,
- column: 16,
- },
- end: {
- line: 269,
- column: 7,
- },
- },
- line: 267,
- },
- 12: {
- name: "(anonymous_12)",
- decl: {
- start: {
- line: 274,
- column: 6,
- },
- end: {
- line: 274,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 274,
- column: 29,
- },
- end: {
- line: 316,
- column: 7,
- },
- },
- line: 274,
- },
- 13: {
- name: "(anonymous_13)",
- decl: {
- start: {
- line: 278,
- column: 23,
- },
- end: {
- line: 278,
- column: 24,
- },
- },
- loc: {
- start: {
- line: 278,
- column: 29,
- },
- end: {
- line: 281,
- column: 15,
- },
- },
- line: 278,
- },
- 14: {
- name: "(anonymous_14)",
- decl: {
- start: {
- line: 290,
- column: 25,
- },
- end: {
- line: 290,
- column: 26,
- },
- },
- loc: {
- start: {
- line: 290,
- column: 31,
- },
- end: {
- line: 303,
- column: 15,
- },
- },
- line: 290,
- },
- 15: {
- name: "(anonymous_15)",
- decl: {
- start: {
- line: 297,
- column: 24,
- },
- end: {
- line: 297,
- column: 25,
- },
- },
- loc: {
- start: {
- line: 297,
- column: 30,
- },
- end: {
- line: 299,
- column: 19,
- },
- },
- line: 297,
- },
- 16: {
- name: "(anonymous_16)",
- decl: {
- start: {
- line: 300,
- column: 25,
- },
- end: {
- line: 300,
- column: 26,
- },
- },
- loc: {
- start: {
- line: 300,
- column: 34,
- },
- end: {
- line: 302,
- column: 19,
- },
- },
- line: 300,
- },
- 17: {
- name: "(anonymous_17)",
- decl: {
- start: {
- line: 304,
- column: 24,
- },
- end: {
- line: 304,
- column: 25,
- },
- },
- loc: {
- start: {
- line: 304,
- column: 30,
- },
- end: {
- line: 306,
- column: 15,
- },
- },
- line: 304,
- },
- 18: {
- name: "(anonymous_18)",
- decl: {
- start: {
- line: 338,
- column: 50,
- },
- end: {
- line: 338,
- column: 51,
- },
- },
- loc: {
- start: {
- line: 339,
- column: 10,
- },
- end: {
- line: 339,
- column: 25,
- },
- },
- line: 339,
- },
- 19: {
- name: "(anonymous_19)",
- decl: {
- start: {
- line: 346,
- column: 6,
- },
- end: {
- line: 346,
- column: 7,
- },
- },
- loc: {
- start: {
- line: 346,
- column: 21,
- },
- end: {
- line: 353,
- column: 7,
- },
- },
- line: 346,
- },
- 20: {
- name: "(anonymous_20)",
- decl: {
- start: {
- line: 350,
- column: 12,
- },
- end: {
- line: 350,
- column: 13,
- },
- },
- loc: {
- start: {
- line: 350,
- column: 43,
- },
- end: {
- line: 350,
- column: 78,
- },
- },
- line: 350,
- },
- 21: {
- name: "(anonymous_21)",
- decl: {
- start: {
- line: 366,
- column: 23,
- },
- end: {
- line: 366,
- column: 24,
- },
- },
- loc: {
- start: {
- line: 366,
- column: 29,
- },
- end: {
- line: 368,
- column: 15,
- },
- },
- line: 366,
- },
- 22: {
- name: "(anonymous_22)",
- decl: {
- start: {
- line: 389,
- column: 14,
- },
- end: {
- line: 389,
- column: 15,
- },
- },
- loc: {
- start: {
- line: 390,
- column: 16,
- },
- end: {
- line: 401,
- column: 22,
- },
- },
- line: 390,
- },
- 23: {
- name: "(anonymous_23)",
- decl: {
- start: {
- line: 394,
- column: 27,
- },
- end: {
- line: 394,
- column: 28,
- },
- },
- loc: {
- start: {
- line: 394,
- column: 33,
- },
- end: {
- line: 398,
- column: 19,
- },
- },
- line: 394,
- },
- 24: {
- name: "(anonymous_24)",
- decl: {
- start: {
- line: 413,
- column: 17,
- },
- end: {
- line: 413,
- column: 18,
- },
- },
- loc: {
- start: {
- line: 413,
- column: 23,
- },
- end: {
- line: 415,
- column: 9,
- },
- },
- line: 413,
- },
- 25: {
- name: "(anonymous_25)",
- decl: {
- start: {
- line: 424,
- column: 14,
- },
- end: {
- line: 424,
- column: 15,
- },
- },
- loc: {
- start: {
- line: 424,
- column: 31,
- },
- end: {
- line: 440,
- column: 15,
- },
- },
- line: 424,
- },
- 26: {
- name: "(anonymous_26)",
- decl: {
- start: {
- line: 493,
- column: 22,
- },
- end: {
- line: 493,
- column: 23,
- },
- },
- loc: {
- start: {
- line: 493,
- column: 33,
- },
- end: {
- line: 496,
- column: 13,
- },
- },
- line: 493,
- },
- 27: {
- name: "(anonymous_27)",
- decl: {
- start: {
- line: 507,
- column: 24,
- },
- end: {
- line: 507,
- column: 25,
- },
- },
- loc: {
- start: {
- line: 507,
- column: 31,
- },
- end: {
- line: 514,
- column: 15,
- },
- },
- line: 507,
- },
- 28: {
- name: "(anonymous_28)",
- decl: {
- start: {
- line: 520,
- column: 49,
- },
- end: {
- line: 520,
- column: 50,
- },
- },
- loc: {
- start: {
- line: 520,
- column: 66,
- },
- end: {
- line: 536,
- column: 11,
- },
- },
- line: 520,
- },
- 29: {
- name: "(anonymous_29)",
- decl: {
- start: {
- line: 551,
- column: 21,
- },
- end: {
- line: 551,
- column: 22,
- },
- },
- loc: {
- start: {
- line: 551,
- column: 32,
- },
- end: {
- line: 551,
- column: 66,
- },
- },
- line: 551,
- },
- 30: {
- name: "(anonymous_30)",
- decl: {
- start: {
- line: 559,
- column: 18,
- },
- end: {
- line: 559,
- column: 19,
- },
- },
- loc: {
- start: {
- line: 559,
- column: 27,
- },
- end: {
- line: 563,
- column: 9,
- },
- },
- line: 559,
- },
- },
- statementMap: {
- 0: {
- start: {
- line: 27,
- column: 21,
- },
- end: {
- line: 27,
- column: 26,
- },
- },
- 1: {
- start: {
- line: 28,
- column: 24,
- },
- end: {
- line: 28,
- column: 34,
- },
- },
- 2: {
- start: {
- line: 34,
- column: 28,
- },
- end: {
- line: 570,
- column: 1,
- },
- },
- 3: {
- start: {
- line: 35,
- column: 20,
- },
- end: {
- line: 35,
- column: 30,
- },
- },
- 4: {
- start: {
- line: 36,
- column: 16,
- },
- end: {
- line: 36,
- column: 32,
- },
- },
- 5: {
- start: {
- line: 37,
- column: 32,
- },
- end: {
- line: 37,
- column: 44,
- },
- },
- 6: {
- start: {
- line: 38,
- column: 32,
- },
- end: {
- line: 38,
- column: 43,
- },
- },
- 7: {
- start: {
- line: 39,
- column: 34,
- },
- end: {
- line: 39,
- column: 46,
- },
- },
- 8: {
- start: {
- line: 40,
- column: 26,
- },
- end: {
- line: 40,
- column: 41,
- },
- },
- 9: {
- start: {
- line: 41,
- column: 24,
- },
- end: {
- line: 41,
- column: 36,
- },
- },
- 10: {
- start: {
- line: 42,
- column: 32,
- },
- end: {
- line: 44,
- column: 3,
- },
- },
- 11: {
- start: {
- line: 45,
- column: 52,
- },
- end: {
- line: 47,
- column: 3,
- },
- },
- 12: {
- start: {
- line: 48,
- column: 18,
- },
- end: {
- line: 50,
- column: 3,
- },
- },
- 13: {
- start: {
- line: 49,
- column: 4,
- },
- end: {
- line: 49,
- column: 19,
- },
- },
- 14: {
- start: {
- line: 52,
- column: 14,
- },
- end: {
- line: 52,
- column: 25,
- },
- },
- 15: {
- start: {
- line: 54,
- column: 42,
- },
- end: {
- line: 63,
- column: 4,
- },
- },
- 16: {
- start: {
- line: 65,
- column: 36,
- },
- end: {
- line: 70,
- column: 4,
- },
- },
- 17: {
- start: {
- line: 72,
- column: 71,
- },
- end: {
- line: 81,
- column: 3,
- },
- },
- 18: {
- start: {
- line: 86,
- column: 6,
- },
- end: {
- line: 91,
- column: 4,
- },
- },
- 19: {
- start: {
- line: 92,
- column: 32,
- },
- end: {
- line: 92,
- column: 72,
- },
- },
- 20: {
- start: {
- line: 93,
- column: 15,
- },
- end: {
- line: 93,
- column: 27,
- },
- },
- 21: {
- start: {
- line: 94,
- column: 15,
- },
- end: {
- line: 94,
- column: 27,
- },
- },
- 22: {
- start: {
- line: 95,
- column: 34,
- },
- end: {
- line: 95,
- column: 49,
- },
- },
- 23: {
- start: {
- line: 96,
- column: 36,
- },
- end: {
- line: 107,
- column: 3,
- },
- },
- 24: {
- start: {
- line: 100,
- column: 20,
- },
- end: {
- line: 100,
- column: 32,
- },
- },
- 25: {
- start: {
- line: 105,
- column: 20,
- },
- end: {
- line: 105,
- column: 32,
- },
- },
- 26: {
- start: {
- line: 109,
- column: 2,
- },
- end: {
- line: 116,
- column: 9,
- },
- },
- 27: {
- start: {
- line: 110,
- column: 4,
- },
- end: {
- line: 115,
- column: 5,
- },
- },
- 28: {
- start: {
- line: 111,
- column: 6,
- },
- end: {
- line: 114,
- column: 15,
- },
- },
- 29: {
- start: {
- line: 112,
- column: 8,
- },
- end: {
- line: 112,
- column: 26,
- },
- },
- 30: {
- start: {
- line: 113,
- column: 8,
- },
- end: {
- line: 113,
- column: 49,
- },
- },
- 31: {
- start: {
- line: 118,
- column: 52,
- },
- end: {
- line: 318,
- column: 3,
- },
- },
- 32: {
- start: {
- line: 129,
- column: 8,
- },
- end: {
- line: 133,
- column: 10,
- },
- },
- 33: {
- start: {
- line: 157,
- column: 8,
- },
- end: {
- line: 161,
- column: 10,
- },
- },
- 34: {
- start: {
- line: 169,
- column: 8,
- },
- end: {
- line: 183,
- column: 10,
- },
- },
- 35: {
- start: {
- line: 204,
- column: 8,
- },
- end: {
- line: 212,
- column: 10,
- },
- },
- 36: {
- start: {
- line: 247,
- column: 8,
- },
- end: {
- line: 255,
- column: 10,
- },
- },
- 37: {
- start: {
- line: 268,
- column: 8,
- },
- end: {
- line: 268,
- column: 61,
- },
- },
- 38: {
- start: {
- line: 275,
- column: 8,
- },
- end: {
- line: 315,
- column: 10,
- },
- },
- 39: {
- start: {
- line: 279,
- column: 16,
- },
- end: {
- line: 279,
- column: 30,
- },
- },
- 40: {
- start: {
- line: 280,
- column: 16,
- },
- end: {
- line: 280,
- column: 30,
- },
- },
- 41: {
- start: {
- line: 291,
- column: 16,
- },
- end: {
- line: 302,
- column: 21,
- },
- },
- 42: {
- start: {
- line: 298,
- column: 20,
- },
- end: {
- line: 298,
- column: 45,
- },
- },
- 43: {
- start: {
- line: 301,
- column: 20,
- },
- end: {
- line: 301,
- column: 37,
- },
- },
- 44: {
- start: {
- line: 305,
- column: 16,
- },
- end: {
- line: 305,
- column: 38,
- },
- },
- 45: {
- start: {
- line: 320,
- column: 17,
- },
- end: {
- line: 355,
- column: 3,
- },
- },
- 46: {
- start: {
- line: 339,
- column: 10,
- },
- end: {
- line: 339,
- column: 25,
- },
- },
- 47: {
- start: {
- line: 346,
- column: 21,
- },
- end: {
- line: 353,
- column: 7,
- },
- },
- 48: {
- start: {
- line: 350,
- column: 43,
- },
- end: {
- line: 350,
- column: 78,
- },
- },
- 49: {
- start: {
- line: 356,
- column: 14,
- },
- end: {
- line: 356,
- column: 27,
- },
- },
- 50: {
- start: {
- line: 357,
- column: 2,
- },
- end: {
- line: 569,
- column: 4,
- },
- },
- 51: {
- start: {
- line: 367,
- column: 16,
- },
- end: {
- line: 367,
- column: 53,
- },
- },
- 52: {
- start: {
- line: 390,
- column: 16,
- },
- end: {
- line: 401,
- column: 22,
- },
- },
- 53: {
- start: {
- line: 395,
- column: 20,
- },
- end: {
- line: 397,
- column: 21,
- },
- },
- 54: {
- start: {
- line: 396,
- column: 22,
- },
- end: {
- line: 396,
- column: 40,
- },
- },
- 55: {
- start: {
- line: 414,
- column: 10,
- },
- end: {
- line: 414,
- column: 29,
- },
- },
- 56: {
- start: {
- line: 425,
- column: 16,
- },
- end: {
- line: 439,
- column: 18,
- },
- },
- 57: {
- start: {
- line: 494,
- column: 14,
- },
- end: {
- line: 494,
- column: 32,
- },
- },
- 58: {
- start: {
- line: 495,
- column: 14,
- },
- end: {
- line: 495,
- column: 28,
- },
- },
- 59: {
- start: {
- line: 508,
- column: 16,
- },
- end: {
- line: 512,
- column: 17,
- },
- },
- 60: {
- start: {
- line: 509,
- column: 18,
- },
- end: {
- line: 509,
- column: 65,
- },
- },
- 61: {
- start: {
- line: 511,
- column: 18,
- },
- end: {
- line: 511,
- column: 63,
- },
- },
- 62: {
- start: {
- line: 513,
- column: 16,
- },
- end: {
- line: 513,
- column: 40,
- },
- },
- 63: {
- start: {
- line: 521,
- column: 12,
- },
- end: {
- line: 535,
- column: 14,
- },
- },
- 64: {
- start: {
- line: 551,
- column: 32,
- },
- end: {
- line: 551,
- column: 66,
- },
- },
- 65: {
- start: {
- line: 560,
- column: 10,
- },
- end: {
- line: 560,
- column: 39,
- },
- },
- 66: {
- start: {
- line: 561,
- column: 10,
- },
- end: {
- line: 561,
- column: 42,
- },
- },
- },
- },
-};
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/index.tsx.js
deleted file mode 100644
index bab1426a..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/index.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/index.tsx"] = {"content":"import {\n FolderOutlined,\n HeartFilled,\n HeartOutlined,\n PlusOutlined,\n QuestionCircleOutlined,\n} from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { ColumnsType } from \"antd/es/table\";\nimport { TextTypography } from \"../../../components/ui\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { CanyonCardPrimary } from \"../../../components/old-ui\";\nimport {\n DeleteProjectDocument,\n FavorProjectDocument,\n GetProjectsBuOptionsDocument,\n GetProjectsDocument,\n GetProjectsTagOptionsDocument,\n Project,\n} from \"../../../helpers/backend/gen/graphql.ts\";\n\nconst { Text } = Typography;\n\nfunction countingStars(num: any) {\n if (num >= 75 && num < 80) {\n return \"🌟\";\n } else if (num >= 80 && num < 85) {\n return \"🌟🌟\";\n } else if (num >= 85 && num < 90) {\n return \"🌟🌟🌟\";\n } else if (num >= 90 && num < 95) {\n return \"🌟🌟🌟🌟\";\n } else if (num >= 95 && num <= 100) {\n return \"🌟🌟🌟🌟🌟\";\n }\n}\nconst ProjectPage = () => {\n const { t } = useTranslation();\n const [deleteProject] = useMutation(DeleteProjectDocument);\n const [favorProject] = useMutation(FavorProjectDocument);\n const columns: ColumnsType = [\n {\n title: \"ID\",\n dataIndex: \"id\",\n key: \"id\",\n render(text, record) {\n return (\n \n {\n favorProject({\n variables: {\n projectID: record.id,\n favored: !record.favored,\n },\n }).then(() => {\n refetch().then(() => {\n message.success(\"success\");\n });\n });\n }}\n >\n {record.favored ? (\n \n ) : (\n \n )}\n
\n {text.split(\"-\")[1]}\n \n );\n },\n },\n {\n title: t(\"projects.slug\"),\n dataIndex: \"id\",\n key: \"slug\",\n render(text) {\n return (\n {text.split(\"-\")[2]} \n );\n },\n },\n {\n title: t(\"projects.name\"),\n dataIndex: \"pathWithNamespace\",\n key: \"pathWithNamespace\",\n render: (text, record) => {\n return (\n \n
\n
\n
\n\n
\n
\n
\n );\n },\n },\n {\n title: \"Bu\",\n dataIndex: \"bu\",\n sorter: true,\n },\n {\n title: t(\"projects.report_times\"),\n dataIndex: \"reportTimes\",\n sorter: true,\n },\n {\n title: (\n <>\n \n \n \n {t(\"projects.max_coverage\")}\n >\n ),\n dataIndex: \"maxCoverage\",\n key: \"maxCoverage\",\n sorter: true,\n render: (text) => {\n return (\n \n {text}%{countingStars(text)}\n \n );\n },\n },\n {\n title: t(\"projects.latest_report_time\"),\n dataIndex: \"lastReportTime\",\n sorter: true,\n render(_) {\n return {dayjs(_).format(\"MM-DD HH:mm\")} ;\n },\n },\n {\n title: t(\"common.option\"),\n key: \"option\",\n render: (_, { id }) => (\n <>\n \n {t(\"common.detail\")}\n \n \n {\n deleteProject({\n variables: {\n projectID: id,\n },\n }).then(() => {\n refetch();\n });\n }}\n onCancel={() => {\n console.log(\"cancel\");\n }}\n okText=\"Yes\"\n cancelText=\"No\"\n >\n \n {t(\"common.delete\")}\n \n \n >\n ),\n },\n ];\n const initBu = (() => {\n try {\n if (JSON.parse(localStorage.getItem(\"bu\") || \"[]\") instanceof Array) {\n return JSON.parse(localStorage.getItem(\"bu\") || \"[]\");\n } else {\n return [];\n }\n } catch (e) {\n return [];\n }\n })();\n\n const initTag = (() => {\n return localStorage.getItem(\"tag\") || \"\";\n })();\n const initFavorOnly = Boolean(localStorage.getItem(\"favorOnlyFilter\"));\n const [keyword, setKeyword] = useState(\"\");\n const [favorOnly, setFavorOnly] = useState(initFavorOnly);\n const [bu, setBu] = useState(initBu);\n const [tag, setTag] = useState(initTag);\n const [current, setCurrent] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [sorter, setSorter] = useState({});\n\n const { data: projectsBuOptionsData } = useQuery(\n GetProjectsBuOptionsDocument,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n const { data: projectsTagOptionsData } = useQuery(\n GetProjectsTagOptionsDocument,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n const {\n data: projectsData,\n loading,\n refetch,\n } = useQuery(GetProjectsDocument, {\n variables: {\n current: current,\n pageSize: pageSize,\n keyword: keyword,\n bu: bu,\n tag: tag,\n lang: [\"JavaScript\"],\n field: sorter.field || \"\",\n order: sorter.order || \"\",\n favorOnly: favorOnly,\n },\n fetchPolicy: \"no-cache\",\n });\n\n return (\n <>\n }\n right={\n \n }>\n {t(\"projects.create\")}\n \n \n }\n />\n\n \n
\n
\n {\n setBu(v);\n localStorage.setItem(\"bu\", JSON.stringify(v));\n }}\n placeholder={\"Bu\"}\n className={\"w-[200px] mr-2\"}\n options={(projectsBuOptionsData?.getProjectsBuOptions || []).map(\n ({ bu, count }) => ({\n label: bu + ` ${count}`,\n value: bu,\n }),\n )}\n />\n\n {\n setTag(v || \"\");\n localStorage.setItem(\"tag\", v || \"\");\n }}\n placeholder={\"Tag\"}\n className={\"w-[200px] mr-2\"}\n options={(\n projectsTagOptionsData?.getProjectsTagOptions || []\n ).map(({ name }) => ({\n label: name,\n value: name,\n }))}\n />\n\n {\n setKeyword(value);\n setCurrent(1);\n }}\n />\n \n {t(\"common.favor.only\")}: \n }\n defaultChecked={Boolean(\n localStorage.getItem(\"favorOnlyFilter\"),\n )}\n onChange={(v) => {\n if (v) {\n localStorage.setItem(\"favorOnlyFilter\", \"1\");\n } else {\n localStorage.removeItem(\"favorOnlyFilter\");\n }\n setFavorOnly(v);\n }}\n />\n \n
\n
\n\n
\n t(\"common.total_items\", { total }),\n current,\n pageSize,\n }}\n bordered={false}\n dataSource={projectsData?.getProjects?.data || []}\n // @ts-ignore\n columns={columns}\n onChange={(val, _, _sorter: any) => {\n setSorter({\n field: _sorter.field,\n order: _sorter.order,\n });\n setCurrent(val.current || 1);\n setPageSize(val.pageSize || 10);\n }}\n />\n \n \n >\n );\n};\n\nexport default ProjectPage;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/new.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/new.tsx.js
deleted file mode 100644
index 9dad741d..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/projects/new.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/projects/new.tsx"] = {"content":"import { useMutation } from \"@apollo/client\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport {\n CheckProjectUrlDocument,\n CreateProjectDocument,\n} from \"../../../helpers/backend/gen/graphql.ts\";\nconst { Text } = Typography;\n\nconst LabelTest = ({ type, name, url, disabled }) => {\n return (\n \n \n {name}\n {url} \n \n );\n};\n\nconst App: React.FC = () => {\n const { data: gitProviderList } = useRequest(() =>\n axios.get(`/api/gitprovider`).then(({ data }) => data),\n );\n const [form] = Form.useForm();\n const [createTodo, { data, loading }] = useMutation(CheckProjectUrlDocument);\n const [createProject] = useMutation(CreateProjectDocument);\n const [projectID, setProjectID] = useState(\"\");\n\n const onFinish = (values: any) => {\n const url = gitProviderList.find((i) => {\n return i.id === values.provider;\n }).url;\n\n createTodo({\n variables: {\n projectUrl: `${url}/${values.repository}`,\n },\n }).then((res) => {\n setProjectID(\n `${values.provider}-${res.data?.checkProjectUrl.id}-${values.slug}`,\n );\n });\n };\n\n const nav = useNavigate();\n const { t } = useTranslation();\n return (\n \n
{t(\"projects.create\")} \n\n
1. {t(\"new.step1\")} \n
\n ({\n label: (\n \n ),\n value: id,\n disabled: disabled,\n }),\n )}\n />\n \n
\n \n \n\n
{t(\"new.slug.tooltip\")}>}\n >\n \n \n\n
\n \n \n\n
\n {\n form.submit();\n }}\n >\n {t(\"new.check\")}\n \n \n \n\n
2. {t(\"new.step2\")} \n\n
\n \n projectID: \n {projectID} \n
\n \n pathWithNamespace: \n {data?.checkProjectUrl.pathWithNamespace} \n
\n \n description: \n {data?.checkProjectUrl.description} \n
\n \n
\n
{\n createProject({\n variables: {\n projectID: projectID,\n language: form.getFieldValue(\"language\"),\n },\n }).then((res) => {\n message.success(JSON.stringify(res.data?.createProject));\n nav(`/projects/${data?.checkProjectUrl.id}/getting-started`);\n });\n }}\n >\n {t(\"new.create\")}\n \n
\n );\n};\n\nexport default App;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/reports.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/reports.tsx.js
deleted file mode 100644
index 5ab7cffa..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/reports.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/reports.tsx"] = {"content":"import ReactECharts from \"echarts-for-react\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { Select, Space, Table } from \"antd\";\nimport { useQuery } from \"@apollo/client\";\nimport { GetProjectsBuOptionsDocument } from \"../../helpers/backend/gen/graphql.ts\";\nimport { CanyonCardPrimary } from \"../../components/old-ui\";\nimport dayjs from \"dayjs\";\n\nconst { RangePicker } = DatePicker;\nconst optionsWithDisabled = [\n { label: \"图表\", value: \"图表\" },\n { label: \"表格\", value: \"表格\" },\n // { label: 'Orange', value: 'Orange', disabled: true },\n];\n\nconst Reports = () => {\n const [showType, setShowType] = useState(\"图表\");\n const [bu, setBu] = useState(\"机票\");\n const [range, setRange] = useState([dayjs().subtract(30, \"days\"), dayjs()]);\n\n const { data: getProjectsBuOptionsDocumentData } = useQuery(\n GetProjectsBuOptionsDocument,\n );\n const { data: data = [], loading } = useRequest(\n () =>\n axios\n .get(`/api/coverage/reports`, {\n params: {\n bu,\n start: range[0].format(\"YYYY-MM-DD\"),\n end: range[1].format(\"YYYY-MM-DD\"),\n },\n })\n .then((res) => res.data),\n {\n refreshDeps: [bu, range],\n },\n );\n\n const columns = [\n {\n title: \"项目\",\n dataIndex: \"pathWithNamespace\",\n key: \"pathWithNamespace\",\n },\n {\n title: \"描述\",\n dataIndex: \"description\",\n key: \"description\",\n ellipsis: true,\n width: \"40%\",\n },\n {\n title: \"UI自动化\",\n dataIndex: \"auto\",\n key: \"auto\",\n sorter: (a, b) => a.auto - b.auto,\n defaultSortOrder: \"descend\",\n },\n {\n title: \"单元测试\",\n dataIndex: \"ut\",\n key: \"ut\",\n sorter: (a, b) => a.ut - b.ut,\n },\n ];\n\n const opppppp = useMemo(() => {\n const option = {\n // title: {\n // text: '各仓库覆盖率数据统计'\n // },\n tooltip: {\n trigger: \"axis\",\n axisPointer: {\n type: \"shadow\",\n },\n },\n legend: {},\n grid: {\n left: \"3%\",\n right: \"4%\",\n bottom: \"3%\",\n containLabel: true,\n },\n xAxis: {\n type: \"value\",\n boundaryGap: [0, 0.01],\n },\n yAxis: {\n type: \"category\",\n data: [\"Brazil\", \"Indonesia\", \"USA\", \"India\", \"China\", \"World\"],\n },\n series: [\n {\n name: \"UI自动化\",\n type: \"bar\",\n data: [],\n },\n {\n name: \"单元测试\",\n type: \"bar\",\n data: [],\n },\n ],\n };\n option.yAxis.data = data.map(\n (item) => item.pathWithNamespace.split(\"/\")[1],\n );\n option.series = [\n {\n name: \"UI自动化\",\n type: \"bar\",\n data: data.map((item) => item.auto),\n label: {\n show: true,\n position: \"right\",\n },\n },\n {\n name: \"单元测试\",\n type: \"bar\",\n data: data.map((item) => item.ut),\n label: {\n show: true,\n position: \"right\",\n },\n },\n ];\n return option;\n }, [data]);\n\n // 输出从\n return (\n \n \n
各仓库覆盖率数据统计 \n\n
\n {\n setShowType(v.target.value);\n }}\n value={showType}\n optionType=\"button\"\n buttonStyle=\"solid\"\n />\n ({\n label: `${bu}`,\n value: bu,\n }),\n ) || []\n }\n onChange={(v) => {\n setBu(v);\n }}\n />\n\n {\n setRange(v);\n }}\n presets={[\n {\n label: \"最近30天\",\n // text: '最近7天',\n value: [dayjs().subtract(30, \"days\"), dayjs()],\n },\n {\n label: \"6月份\",\n value: [dayjs(\"2024-06-01\"), dayjs(\"2024-06-30\")],\n },\n {\n label: \"5月份\",\n value: [dayjs(\"2024-05-01\"), dayjs(\"2024-05-31\")],\n },\n {\n label: \"4月份\",\n value: [dayjs(\"2024-04-01\"), dayjs(\"2024-04-30\")],\n },\n ]}\n />\n \n\n
\n {showType === \"图表\" ? (\n data.length > 0 ? (\n \n ) : (\n 暂无数据
\n )\n ) : (\n \n )}\n \n
\n \n );\n};\n\nexport default Reports;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/settings/components/BindGitProvider.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/settings/components/BindGitProvider.tsx.js
deleted file mode 100644
index e56b08c3..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/settings/components/BindGitProvider.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/settings/components/BindGitProvider.tsx"] = {"content":"import { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { CanyonCardPrimary } from \"../../../../components/old-ui\";\nimport { genOAuthUrl } from \"../../../../helpers/gitprovider/genOAuthUrl.ts\";\n// const gitProviderList = [\n// {\n// name: 'name',\n// url: 'dddddd',\n// client: 's',\n// },\n// ];\nconst ProviderOAuth = ({ name, type, url, clientID }) => {\n return (\n \n \n {name} \n \n );\n};\nconst Faa = () => {\n const { data: gitProviderList } = useRequest(() =>\n axios.get(`/api/gitprovider`).then(({ data }) => data),\n );\n return (\n \n
\n {/*{JSON.stringify(data || {})} */}\n \n \n \n \n
\n 你还可以绑定以下第三方帐号
\n \n {/*https://gitlab.com/oauth/authorize?client_id=0cf45ded30469aba3f014b06fb61526ca70098f2a0b22d51c5c3ee60fc18c4d8&redirect_uri=https%3A%2F%2Fgitee.com%2Fauth%2Fgitlab%2Fcallback&response_type=code&state=f25d4b0c10b6a742bde3eae8be273c7df1f54190014aed0c*/}\n {/*https://github.com/login/oauth/authorize?client_id=5a179b878a9f6ac42acd&redirect_uri=https%3A%2F%2Fgitee.com%2Fauth%2Fgithub%2Fcallback&response_type=code&scope=user&state=460a986d8070f3d30fb2a6eb0485de2bdd5c31382f915a40*/}\n {(gitProviderList || []).map(({ name, type, url, clientID }) => (\n
\n ))}\n
\n \n \n
\n );\n};\n\nexport default Faa;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/settings/index.tsx.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/settings/index.tsx.js
deleted file mode 100644
index 557394e9..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/pages/index/settings/index.tsx.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/pages/index/settings/index.tsx"] = {"content":"import { SettingOutlined } from \"@ant-design/icons\";\nimport { TextTypography } from \"../../../components/ui\";\nimport { CanyonCardPrimary } from \"../../../components/old-ui\";\nimport copy from \"copy-to-clipboard\";\nimport { useTranslation } from \"react-i18next\";\n\nimport languages from \"../../../../languages.json\";\nimport Faa from \"./components/BindGitProvider.tsx\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nconst TextArea = Input.TextArea;\nconst gridStyle: any = {\n width: \"100%\",\n};\nconst Settings = () => {\n const { t } = useTranslation();\n const { data } = useRequest(() =>\n axios.get(\"/api/base\").then(({ data }) => data),\n );\n return (\n <>\n } />\n \n \n \n \n
{t(\"common.language\")}
\n\n
\n {\n localStorage.setItem(\"language\", value);\n window.location.reload();\n }}\n options={languages.map((item) => {\n return {\n label: item.name,\n value: item.code,\n };\n })}\n className={\"w-[100%]\"}\n />\n
\n
\n \n\n \n \n
{t(\"common.theme\")}
\n\n
\n {\n localStorage.setItem(\"theme\", value);\n window.location.reload();\n }}\n options={[\n {\n label: t(\"common.light\"),\n value: \"light\",\n },\n {\n label: t(\"common.dark\"),\n value: \"dark\",\n },\n ]}\n className={\"w-[100%]\"}\n />\n
\n
\n \n \n \n
\n \n \n \n \n
\n \n \n {\n copy(data?.CANYON_SERVER || \"\");\n message.success(\"Copied to clipboard!\");\n }}\n value={data?.CANYON_SERVER || \"\"}\n readOnly\n />\n \n \n
\n {localStorage.getItem(\"debug\") === \"true\" && }\n >\n );\n};\n\nexport default Settings;\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/useWorker.ts.js b/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/useWorker.ts.js
deleted file mode 100644
index 9c0afe20..00000000
--- a/packages/canyon-report/mock/dynamic-data/packages/canyon-platform/src/useWorker.ts.js
+++ /dev/null
@@ -1 +0,0 @@
-window["packages/canyon-platform/src/useWorker.ts"] = {"content":"import { loader } from \"@monaco-editor/react\";\nimport * as monaco from \"monaco-editor\";\nloader.config({\n monaco: monaco,\n});\n","coverage":{"name":"zt"}}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index.tsx.js
new file mode 100644
index 00000000..2e3b9ae0
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index.tsx.js
@@ -0,0 +1,878 @@
+window["pages/index.tsx"] = {
+ "content": "import {\n ArrowRightOutlined,\n BarChartOutlined,\n FolderOutlined,\n LogoutOutlined,\n SettingOutlined,\n} from \"@ant-design/icons\";\nimport { useQuery } from \"@apollo/client\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { useTranslation } from \"react-i18next\";\n\nimport book from \"../assets/book.svg\";\nimport {\n CanyonLayoutBase,\n CanyonModalGlobalSearch,\n} from \"../components/old-ui\";\nimport { MeDocument } from \"../helpers/backend/gen/graphql.ts\";\nimport { genBreadcrumbItems } from \"../layouts/genBreadcrumbItems.tsx\";\nimport { genTitle } from \"../layouts/genTitle.ts\";\nconst theme = localStorage.getItem(\"theme\") || \"light\";\n// console.log(theme, 'theme');\nfunction Index() {\n const { t } = useTranslation();\n useEffect(() => {\n if (localStorage.getItem(\"token\") === null) {\n localStorage.clear();\n localStorage.setItem(\"callback\", window.location.href);\n nav(\"/login\");\n }\n }, []);\n\n const loc = useLocation();\n const nav = useNavigate();\n\n useEffect(() => {\n if (loc.pathname === \"/\") {\n nav(\"/projects\");\n }\n document.title = genTitle(loc.pathname);\n\n try {\n // @ts-ignore\n if (meData?.me.username && meData?.me.username !== \"tzhangm\") {\n // @ts-ignore\n fetch(window.__canyon__.dsn, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\n },\n body: JSON.stringify({\n // @ts-ignore\n coverage: window.__coverage__,\n // @ts-ignore\n commitSha: window.__canyon__.commitSha,\n // @ts-ignore\n projectID: window.__canyon__.projectID,\n // @ts-ignore\n instrumentCwd: window.__canyon__.instrumentCwd,\n // @ts-ignore\n reportID: `${meData?.me.username}|${loc.pathname}`,\n // @ts-ignore\n branch: window.__canyon__.branch,\n }),\n });\n }\n } catch (e) {\n // console.log(e);\n }\n }, [loc.pathname]);\n\n useEffect(() => {\n setMenuSelectedKey(loc.pathname.replace(\"/\", \"\"));\n }, [loc.pathname]);\n const { data: meData } = useQuery(MeDocument);\n useEffect(() => {\n localStorage.setItem(\"username\", meData?.me.username || \"\");\n }, [meData]);\n const { data: baseData } = useRequest(\n () => axios.get(\"/api/base\").then(({ data }) => data),\n {\n onSuccess(data) {\n // @ts-ignore\n window.GITLAB_URL = data.GITLAB_URL;\n },\n },\n );\n const [menuSelectedKey, setMenuSelectedKey] = useState(\"projects\");\n // @ts-ignore\n window.canyonModalGlobalSearchRef = useRef(null);\n return (\n <>\n {/* */}\n \n {/*榜单mark*/}\n \n \n }\n itemsDropdown={[\n {\n label: (\n \n \n Logout\n
\n ),\n onClick: () => {\n localStorage.clear();\n window.location.href = \"/login\";\n },\n },\n ]}\n MeData={meData}\n onClickGlobalSearch={() => {\n // @ts-ignore\n window.canyonModalGlobalSearchRef.current.report();\n }}\n title={\"Canyon\"}\n logo={\n \n
\n
\n }\n mainTitleRightNode={\n \n
\n {t(\"menus.docs\")} \n \n \n }\n >\n \n {/* eslint-disable-next-line jsx-a11y/alt-text */}\n \n \n \n {/*marker position*/}\n \n }\n menuSelectedKey={menuSelectedKey}\n onSelectMenu={(selectInfo) => {\n setMenuSelectedKey(selectInfo.key);\n nav(`/${selectInfo.key}`);\n }}\n menuItems={[\n {\n label: t(\"menus.projects\"),\n key: \"projects\",\n icon: ,\n },\n {\n label: t(\"报表\"),\n key: \"reports\",\n icon: ,\n },\n {\n label: t(\"menus.settings\"),\n key: \"settings\",\n icon: ,\n },\n ]}\n renderMainContent={ }\n search={false}\n account={false}\n />\n {/*// @ts-ignore*/}\n \n >\n );\n}\n\nexport default Index;\n",
+ "coverage": {
+ "path": "pages/index.tsx",
+ "b": {
+ "0": [
+ 8,
+ 8
+ ],
+ "1": [
+ 0,
+ 8
+ ],
+ "2": [
+ 1,
+ 31
+ ],
+ "3": [
+ 23,
+ 9
+ ],
+ "4": [
+ 32,
+ 23
+ ],
+ "5": [
+ 16,
+ 8
+ ]
+ },
+ "f": {
+ "0": 71,
+ "1": 8,
+ "2": 32,
+ "3": 24,
+ "4": 16,
+ "5": 8,
+ "6": 8,
+ "7": 8,
+ "8": 0,
+ "9": 0,
+ "10": 18
+ },
+ "s": {
+ "0": 8,
+ "1": 71,
+ "2": 71,
+ "3": 8,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 71,
+ "8": 71,
+ "9": 71,
+ "10": 32,
+ "11": 1,
+ "12": 32,
+ "13": 32,
+ "14": 32,
+ "15": 23,
+ "16": 71,
+ "17": 24,
+ "18": 71,
+ "19": 71,
+ "20": 16,
+ "21": 71,
+ "22": 8,
+ "23": 8,
+ "24": 8,
+ "25": 71,
+ "26": 71,
+ "27": 71,
+ "28": 0,
+ "29": 0,
+ "30": 0,
+ "31": 18,
+ "32": 18
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 14
+ },
+ "end": {
+ "line": 21,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 21,
+ "column": 14
+ },
+ "end": {
+ "line": 21,
+ "column": 43
+ }
+ },
+ {
+ "start": {
+ "line": 21,
+ "column": 47
+ },
+ "end": {
+ "line": 21,
+ "column": 54
+ }
+ }
+ ],
+ "line": 21
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 30,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 30,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 26
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 37,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 37
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 6
+ },
+ "end": {
+ "line": 67,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 44,
+ "column": 6
+ },
+ "end": {
+ "line": 67,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 44
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 10
+ },
+ "end": {
+ "line": 44,
+ "column": 66
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 44,
+ "column": 10
+ },
+ "end": {
+ "line": 44,
+ "column": 29
+ }
+ },
+ {
+ "start": {
+ "line": 44,
+ "column": 33
+ },
+ "end": {
+ "line": 44,
+ "column": 66
+ }
+ }
+ ],
+ "line": 44
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 78,
+ "column": 37
+ },
+ "end": {
+ "line": 78,
+ "column": 62
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 78,
+ "column": 37
+ },
+ "end": {
+ "line": 78,
+ "column": 56
+ }
+ },
+ {
+ "start": {
+ "line": 78,
+ "column": 60
+ },
+ "end": {
+ "line": 78,
+ "column": 62
+ }
+ }
+ ],
+ "line": 78
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "Index",
+ "decl": {
+ "start": {
+ "line": 23,
+ "column": 9
+ },
+ "end": {
+ "line": 23,
+ "column": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 17
+ },
+ "end": {
+ "line": 183,
+ "column": 1
+ }
+ },
+ "line": 23
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 18
+ },
+ "end": {
+ "line": 31,
+ "column": 3
+ }
+ },
+ "line": 25
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 18
+ },
+ "end": {
+ "line": 71,
+ "column": 3
+ }
+ },
+ "line": 36
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 18
+ },
+ "end": {
+ "line": 75,
+ "column": 3
+ }
+ },
+ "line": 73
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 77,
+ "column": 12
+ },
+ "end": {
+ "line": 77,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 77,
+ "column": 18
+ },
+ "end": {
+ "line": 79,
+ "column": 3
+ }
+ },
+ "line": 77
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 81,
+ "column": 4
+ },
+ "end": {
+ "line": 81,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 10
+ },
+ "end": {
+ "line": 81,
+ "column": 57
+ }
+ },
+ "line": 81
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 81,
+ "column": 38
+ },
+ "end": {
+ "line": 81,
+ "column": 39
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 52
+ },
+ "end": {
+ "line": 81,
+ "column": 56
+ }
+ },
+ "line": 81
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 83,
+ "column": 6
+ },
+ "end": {
+ "line": 83,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 22
+ },
+ "end": {
+ "line": 86,
+ "column": 7
+ }
+ },
+ "line": 83
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 113,
+ "column": 21
+ },
+ "end": {
+ "line": 113,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 113,
+ "column": 27
+ },
+ "end": {
+ "line": 116,
+ "column": 13
+ }
+ },
+ "line": 113
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 120,
+ "column": 29
+ },
+ "end": {
+ "line": 120,
+ "column": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 35
+ },
+ "end": {
+ "line": 123,
+ "column": 9
+ }
+ },
+ "line": 120
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 154,
+ "column": 22
+ },
+ "end": {
+ "line": 154,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 38
+ },
+ "end": {
+ "line": 157,
+ "column": 9
+ }
+ },
+ "line": 154
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 21,
+ "column": 14
+ },
+ "end": {
+ "line": 21,
+ "column": 54
+ }
+ },
+ "1": {
+ "start": {
+ "line": 24,
+ "column": 16
+ },
+ "end": {
+ "line": 24,
+ "column": 32
+ }
+ },
+ "2": {
+ "start": {
+ "line": 25,
+ "column": 2
+ },
+ "end": {
+ "line": 31,
+ "column": 9
+ }
+ },
+ "3": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 30,
+ "column": 5
+ }
+ },
+ "4": {
+ "start": {
+ "line": 27,
+ "column": 6
+ },
+ "end": {
+ "line": 27,
+ "column": 27
+ }
+ },
+ "5": {
+ "start": {
+ "line": 28,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 61
+ }
+ },
+ "6": {
+ "start": {
+ "line": 29,
+ "column": 6
+ },
+ "end": {
+ "line": 29,
+ "column": 20
+ }
+ },
+ "7": {
+ "start": {
+ "line": 33,
+ "column": 14
+ },
+ "end": {
+ "line": 33,
+ "column": 27
+ }
+ },
+ "8": {
+ "start": {
+ "line": 34,
+ "column": 14
+ },
+ "end": {
+ "line": 34,
+ "column": 27
+ }
+ },
+ "9": {
+ "start": {
+ "line": 36,
+ "column": 2
+ },
+ "end": {
+ "line": 71,
+ "column": 21
+ }
+ },
+ "10": {
+ "start": {
+ "line": 37,
+ "column": 4
+ },
+ "end": {
+ "line": 39,
+ "column": 5
+ }
+ },
+ "11": {
+ "start": {
+ "line": 38,
+ "column": 6
+ },
+ "end": {
+ "line": 38,
+ "column": 23
+ }
+ },
+ "12": {
+ "start": {
+ "line": 40,
+ "column": 4
+ },
+ "end": {
+ "line": 40,
+ "column": 44
+ }
+ },
+ "13": {
+ "start": {
+ "line": 42,
+ "column": 4
+ },
+ "end": {
+ "line": 70,
+ "column": 5
+ }
+ },
+ "14": {
+ "start": {
+ "line": 44,
+ "column": 6
+ },
+ "end": {
+ "line": 67,
+ "column": 7
+ }
+ },
+ "15": {
+ "start": {
+ "line": 46,
+ "column": 8
+ },
+ "end": {
+ "line": 66,
+ "column": 11
+ }
+ },
+ "16": {
+ "start": {
+ "line": 73,
+ "column": 2
+ },
+ "end": {
+ "line": 75,
+ "column": 21
+ }
+ },
+ "17": {
+ "start": {
+ "line": 74,
+ "column": 4
+ },
+ "end": {
+ "line": 74,
+ "column": 54
+ }
+ },
+ "18": {
+ "start": {
+ "line": 76,
+ "column": 27
+ },
+ "end": {
+ "line": 76,
+ "column": 47
+ }
+ },
+ "19": {
+ "start": {
+ "line": 77,
+ "column": 2
+ },
+ "end": {
+ "line": 79,
+ "column": 15
+ }
+ },
+ "20": {
+ "start": {
+ "line": 78,
+ "column": 4
+ },
+ "end": {
+ "line": 78,
+ "column": 64
+ }
+ },
+ "21": {
+ "start": {
+ "line": 80,
+ "column": 29
+ },
+ "end": {
+ "line": 88,
+ "column": 3
+ }
+ },
+ "22": {
+ "start": {
+ "line": 81,
+ "column": 10
+ },
+ "end": {
+ "line": 81,
+ "column": 57
+ }
+ },
+ "23": {
+ "start": {
+ "line": 81,
+ "column": 52
+ },
+ "end": {
+ "line": 81,
+ "column": 56
+ }
+ },
+ "24": {
+ "start": {
+ "line": 85,
+ "column": 8
+ },
+ "end": {
+ "line": 85,
+ "column": 44
+ }
+ },
+ "25": {
+ "start": {
+ "line": 89,
+ "column": 48
+ },
+ "end": {
+ "line": 89,
+ "column": 76
+ }
+ },
+ "26": {
+ "start": {
+ "line": 91,
+ "column": 2
+ },
+ "end": {
+ "line": 91,
+ "column": 51
+ }
+ },
+ "27": {
+ "start": {
+ "line": 92,
+ "column": 2
+ },
+ "end": {
+ "line": 182,
+ "column": 4
+ }
+ },
+ "28": {
+ "start": {
+ "line": 114,
+ "column": 14
+ },
+ "end": {
+ "line": 114,
+ "column": 35
+ }
+ },
+ "29": {
+ "start": {
+ "line": 115,
+ "column": 14
+ },
+ "end": {
+ "line": 115,
+ "column": 46
+ }
+ },
+ "30": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 61
+ }
+ },
+ "31": {
+ "start": {
+ "line": 155,
+ "column": 10
+ },
+ "end": {
+ "line": 155,
+ "column": 45
+ }
+ },
+ "32": {
+ "start": {
+ "line": 156,
+ "column": 10
+ },
+ "end": {
+ "line": 156,
+ "column": 36
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/commits/[sha].tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/commits/[sha].tsx.js
new file mode 100644
index 00000000..3d08314e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/commits/[sha].tsx.js
@@ -0,0 +1,1057 @@
+window["pages/index/projects/[id]/commits/[sha].tsx"] = {
+ "content": "import { useQuery } from \"@apollo/client\";\nimport { useRequest } from \"ahooks\";\nimport {\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router-dom\";\n\nimport CanyonReport from \"../../../../../components/CanyonReport\";\nimport { GetProjectByIdDocument } from \"../../../../../helpers/backend/gen/graphql.ts\";\nimport { getCoverageSummaryMapService, handleSelectFile } from \"./helper\";\nconst { useToken } = theme;\n\nconst Sha = () => {\n const prm = useParams();\n const nav = useNavigate();\n const [sprm] = useSearchParams();\n // 在组件中\n const location = useLocation();\n const currentPathname = location.pathname;\n const { data: getProjectByIdDocumentData } = useQuery(\n GetProjectByIdDocument,\n {\n variables: {\n projectID: prm[\"id\"] as string,\n },\n },\n );\n const pathWithNamespace =\n getProjectByIdDocumentData?.getProjectByID.pathWithNamespace.split(\"/\")[1];\n const { token } = useToken();\n\n const { data: coverageSummaryMapData, loading } = useRequest(\n () =>\n getCoverageSummaryMapService({\n projectID: prm.id as string,\n reportID: sprm.get(\"report_id\"),\n sha: prm.sha,\n }),\n {\n onSuccess() {},\n },\n );\n\n const [activatedPath, setActivatedPath] = useState(sprm.get(\"path\") || \"\");\n const [mainData, setMainData] = useState(false);\n\n useEffect(() => {\n const params = new URLSearchParams();\n if (sprm.get(\"report_id\")) {\n params.append(\"report_id\", sprm.get(\"report_id\") || \"\");\n }\n if (sprm.get(\"mode\")) {\n params.append(\"mode\", sprm.get(\"mode\") || \"\");\n }\n params.append(\"path\", activatedPath);\n\n // 将参数拼接到路径中\n const pathWithParams = `${currentPathname}?${params.toString()}${location.hash}`;\n\n nav(pathWithParams);\n\n if (activatedPath.includes(\".\")) {\n handleSelectFile({\n filepath: activatedPath,\n reportID: sprm.get(\"report_id\") || \"\",\n sha: prm.sha || \"\",\n projectID: prm.id || \"\",\n mode: sprm.get(\"mode\") || \"\",\n }).then((r) => {\n if (r.fileCoverage) {\n // console.log(r)\n setMainData(r);\n } else {\n setMainData(false);\n }\n });\n } else {\n // console.log('设么也不做');\n setMainData(false);\n }\n }, [activatedPath]);\n\n return (\n <>\n \n
\n
Ant Design Title 1
\n
\n sign, a design language for background applications, is refined by\n
\n
\n
\n
\n
Ant Design Title 1
\n
\n sign, a design language for background applications, is refined by\n
\n
\n
\n
\n
Ant Design Title 1
\n
\n sign, a design language for background applications, is refined by\n
\n
\n
\n
\n \n <>\n {getProjectByIdDocumentData?.getProjectByID.language ===\n \"JavaScript\" && (\n {\n setActivatedPath(v.path);\n }}\n />\n )}\n >\n
\n >\n );\n};\n\nexport default Sha;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/commits/[sha].tsx",
+ "b": {
+ "0": [
+ 1,
+ 1
+ ],
+ "1": [
+ 0,
+ 1
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 1
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 1
+ ],
+ "6": [
+ 0,
+ 0
+ ],
+ "7": [
+ 0,
+ 0
+ ],
+ "8": [
+ 0,
+ 0
+ ],
+ "9": [
+ 0,
+ 0
+ ],
+ "10": [
+ 0,
+ 0
+ ],
+ "11": [
+ 1,
+ 0
+ ],
+ "12": [
+ 0,
+ 0
+ ],
+ "13": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 1,
+ "1": 1,
+ "2": 0,
+ "3": 1,
+ "4": 0,
+ "5": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 1,
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 1,
+ "8": 1,
+ "9": 1,
+ "10": 1,
+ "11": 1,
+ "12": 1,
+ "13": 1,
+ "14": 1,
+ "15": 1,
+ "16": 1,
+ "17": 0,
+ "18": 1,
+ "19": 0,
+ "20": 1,
+ "21": 1,
+ "22": 1,
+ "23": 1,
+ "24": 0,
+ "25": 0,
+ "26": 0,
+ "27": 0,
+ "28": 1,
+ "29": 1,
+ "30": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 53
+ },
+ "end": {
+ "line": 46,
+ "column": 75
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 46,
+ "column": 53
+ },
+ "end": {
+ "line": 46,
+ "column": 69
+ }
+ },
+ {
+ "start": {
+ "line": 46,
+ "column": 73
+ },
+ "end": {
+ "line": 46,
+ "column": 75
+ }
+ }
+ ],
+ "line": 46
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 4
+ },
+ "end": {
+ "line": 53,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 51,
+ "column": 4
+ },
+ "end": {
+ "line": 53,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 51
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 33
+ },
+ "end": {
+ "line": 52,
+ "column": 60
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 52,
+ "column": 33
+ },
+ "end": {
+ "line": 52,
+ "column": 54
+ }
+ },
+ {
+ "start": {
+ "line": 52,
+ "column": 58
+ },
+ "end": {
+ "line": 52,
+ "column": 60
+ }
+ }
+ ],
+ "line": 52
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 54,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 54
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 28
+ },
+ "end": {
+ "line": 55,
+ "column": 50
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 55,
+ "column": 28
+ },
+ "end": {
+ "line": 55,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 48
+ },
+ "end": {
+ "line": 55,
+ "column": 50
+ }
+ }
+ ],
+ "line": 55
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 4
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 64,
+ "column": 4
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 79,
+ "column": 11
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ }
+ ],
+ "line": 64
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 18
+ },
+ "end": {
+ "line": 67,
+ "column": 45
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 67,
+ "column": 18
+ },
+ "end": {
+ "line": 67,
+ "column": 39
+ }
+ },
+ {
+ "start": {
+ "line": 67,
+ "column": 43
+ },
+ "end": {
+ "line": 67,
+ "column": 45
+ }
+ }
+ ],
+ "line": 67
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 13
+ },
+ "end": {
+ "line": 68,
+ "column": 26
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 68,
+ "column": 13
+ },
+ "end": {
+ "line": 68,
+ "column": 20
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 24
+ },
+ "end": {
+ "line": 68,
+ "column": 26
+ }
+ }
+ ],
+ "line": 68
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 19
+ },
+ "end": {
+ "line": 69,
+ "column": 31
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 69,
+ "column": 19
+ },
+ "end": {
+ "line": 69,
+ "column": 25
+ }
+ },
+ {
+ "start": {
+ "line": 69,
+ "column": 29
+ },
+ "end": {
+ "line": 69,
+ "column": 31
+ }
+ }
+ ],
+ "line": 69
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 36
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 30
+ }
+ },
+ {
+ "start": {
+ "line": 70,
+ "column": 34
+ },
+ "end": {
+ "line": 70,
+ "column": 36
+ }
+ }
+ ],
+ "line": 70
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 8
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 72,
+ "column": 8
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ },
+ {
+ "start": {
+ "line": 75,
+ "column": 15
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ ],
+ "line": 72
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 11
+ },
+ "end": {
+ "line": 137,
+ "column": 11
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 124,
+ "column": 11
+ },
+ "end": {
+ "line": 125,
+ "column": 24
+ }
+ },
+ {
+ "start": {
+ "line": 126,
+ "column": 12
+ },
+ "end": {
+ "line": 136,
+ "column": 14
+ }
+ }
+ ],
+ "line": 124
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 21
+ },
+ "end": {
+ "line": 127,
+ "column": 61
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 127,
+ "column": 21
+ },
+ "end": {
+ "line": 127,
+ "column": 50
+ }
+ },
+ {
+ "start": {
+ "line": 127,
+ "column": 54
+ },
+ "end": {
+ "line": 127,
+ "column": 61
+ }
+ }
+ ],
+ "line": 127
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 38
+ },
+ "end": {
+ "line": 131,
+ "column": 66
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 131,
+ "column": 38
+ },
+ "end": {
+ "line": 131,
+ "column": 60
+ }
+ },
+ {
+ "start": {
+ "line": 131,
+ "column": 64
+ },
+ "end": {
+ "line": 131,
+ "column": 66
+ }
+ }
+ ],
+ "line": 131
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 15,
+ "column": 12
+ },
+ "end": {
+ "line": 15,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 18
+ },
+ "end": {
+ "line": 142,
+ "column": 1
+ }
+ },
+ "line": 15
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 35,
+ "column": 4
+ },
+ "end": {
+ "line": 35,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 6
+ },
+ "end": {
+ "line": 40,
+ "column": 8
+ }
+ },
+ "line": 36
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 42,
+ "column": 6
+ },
+ "end": {
+ "line": 42,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 18
+ },
+ "end": {
+ "line": 42,
+ "column": 20
+ }
+ },
+ "line": 42
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 49,
+ "column": 12
+ },
+ "end": {
+ "line": 49,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 18
+ },
+ "end": {
+ "line": 83,
+ "column": 3
+ }
+ },
+ "line": 49
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 14
+ },
+ "end": {
+ "line": 71,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 21
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ },
+ "line": 71
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 133,
+ "column": 24
+ },
+ "end": {
+ "line": 133,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 36
+ },
+ "end": {
+ "line": 135,
+ "column": 15
+ }
+ },
+ "line": 133
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 13,
+ "column": 21
+ },
+ "end": {
+ "line": 13,
+ "column": 26
+ }
+ },
+ "1": {
+ "start": {
+ "line": 15,
+ "column": 12
+ },
+ "end": {
+ "line": 142,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 16,
+ "column": 14
+ },
+ "end": {
+ "line": 16,
+ "column": 25
+ }
+ },
+ "3": {
+ "start": {
+ "line": 17,
+ "column": 14
+ },
+ "end": {
+ "line": 17,
+ "column": 27
+ }
+ },
+ "4": {
+ "start": {
+ "line": 18,
+ "column": 17
+ },
+ "end": {
+ "line": 18,
+ "column": 34
+ }
+ },
+ "5": {
+ "start": {
+ "line": 20,
+ "column": 19
+ },
+ "end": {
+ "line": 20,
+ "column": 32
+ }
+ },
+ "6": {
+ "start": {
+ "line": 21,
+ "column": 26
+ },
+ "end": {
+ "line": 21,
+ "column": 43
+ }
+ },
+ "7": {
+ "start": {
+ "line": 22,
+ "column": 47
+ },
+ "end": {
+ "line": 29,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 31,
+ "column": 4
+ },
+ "end": {
+ "line": 31,
+ "column": 78
+ }
+ },
+ "9": {
+ "start": {
+ "line": 32,
+ "column": 20
+ },
+ "end": {
+ "line": 32,
+ "column": 30
+ }
+ },
+ "10": {
+ "start": {
+ "line": 34,
+ "column": 52
+ },
+ "end": {
+ "line": 44,
+ "column": 3
+ }
+ },
+ "11": {
+ "start": {
+ "line": 36,
+ "column": 6
+ },
+ "end": {
+ "line": 40,
+ "column": 8
+ }
+ },
+ "12": {
+ "start": {
+ "line": 46,
+ "column": 44
+ },
+ "end": {
+ "line": 46,
+ "column": 76
+ }
+ },
+ "13": {
+ "start": {
+ "line": 47,
+ "column": 34
+ },
+ "end": {
+ "line": 47,
+ "column": 54
+ }
+ },
+ "14": {
+ "start": {
+ "line": 49,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 22
+ }
+ },
+ "15": {
+ "start": {
+ "line": 50,
+ "column": 19
+ },
+ "end": {
+ "line": 50,
+ "column": 40
+ }
+ },
+ "16": {
+ "start": {
+ "line": 51,
+ "column": 4
+ },
+ "end": {
+ "line": 53,
+ "column": 5
+ }
+ },
+ "17": {
+ "start": {
+ "line": 52,
+ "column": 6
+ },
+ "end": {
+ "line": 52,
+ "column": 62
+ }
+ },
+ "18": {
+ "start": {
+ "line": 54,
+ "column": 4
+ },
+ "end": {
+ "line": 56,
+ "column": 5
+ }
+ },
+ "19": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 52
+ }
+ },
+ "20": {
+ "start": {
+ "line": 57,
+ "column": 4
+ },
+ "end": {
+ "line": 57,
+ "column": 41
+ }
+ },
+ "21": {
+ "start": {
+ "line": 60,
+ "column": 27
+ },
+ "end": {
+ "line": 60,
+ "column": 84
+ }
+ },
+ "22": {
+ "start": {
+ "line": 62,
+ "column": 4
+ },
+ "end": {
+ "line": 62,
+ "column": 24
+ }
+ },
+ "23": {
+ "start": {
+ "line": 64,
+ "column": 4
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ },
+ "24": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 78,
+ "column": 9
+ }
+ },
+ "25": {
+ "start": {
+ "line": 72,
+ "column": 8
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ },
+ "26": {
+ "start": {
+ "line": 74,
+ "column": 10
+ },
+ "end": {
+ "line": 74,
+ "column": 25
+ }
+ },
+ "27": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 29
+ }
+ },
+ "28": {
+ "start": {
+ "line": 81,
+ "column": 6
+ },
+ "end": {
+ "line": 81,
+ "column": 25
+ }
+ },
+ "29": {
+ "start": {
+ "line": 85,
+ "column": 2
+ },
+ "end": {
+ "line": 141,
+ "column": 4
+ }
+ },
+ "30": {
+ "start": {
+ "line": 134,
+ "column": 16
+ },
+ "end": {
+ "line": 134,
+ "column": 41
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/commits/helper/index.ts.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/commits/helper/index.ts.js
new file mode 100644
index 00000000..5ddfdc4e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/commits/helper/index.ts.js
@@ -0,0 +1,582 @@
+window["pages/index/projects/[id]/commits/helper/index.ts"] = {
+ "content": "// import { data } from 'autoprefixer';\nimport axios from \"axios\";\n\nimport { getDecode } from \"../../../../../../helpers/utils/common.ts\";\n\ninterface HandleSelectFile {\n projectID: string;\n sha: string;\n filepath: string;\n reportID: string;\n mode: string;\n}\nexport function handleSelectFile({\n projectID,\n sha,\n filepath,\n reportID,\n}: HandleSelectFile) {\n // coverage/map\n // codechange\n // sourcecode\n\n const fileContentRequest = axios\n .get(`/api/sourcecode`, {\n params: {\n projectID: projectID,\n sha: sha,\n filepath: filepath,\n },\n })\n .then(({ data }) => data);\n const fileCoverageRequest = axios\n .get(`/api/coverage/map`, {\n params: {\n projectID,\n reportID: reportID,\n sha: sha,\n filepath: filepath,\n },\n })\n .then(({ data }) => data[filepath]);\n\n const fileCodeChangeRequest = axios\n .get(`/api/codechange`, {\n // operationName: 'GetCodeChange',\n params: {\n sha: sha,\n filepath: filepath,\n },\n })\n .then(({ data }) => data);\n // commitSha, reportID, filepath\n return Promise.all([\n fileContentRequest,\n fileCoverageRequest,\n fileCodeChangeRequest,\n ]).then(([fileContent, fileCoverage, fileCodeChange]) => {\n return {\n fileContent: getDecode(fileContent.content),\n fileCoverage: fileCoverage,\n fileCodeChange: fileCodeChange.additions || [],\n };\n });\n}\n\nexport const getCoverageSummaryMapService = ({ projectID, sha, reportID }) =>\n axios({\n url: \"/api/coverage/summary/map\",\n method: \"GET\",\n params: {\n reportID: reportID || \"\",\n sha: sha || \"\",\n projectID: projectID || \"\",\n },\n })\n .then(({ data }) => data)\n .then((r) =>\n r.map((i) => ({\n ...i,\n path: i.path.replace(\"~/\", \"\"),\n })),\n )\n .then((r) => {\n return r;\n });\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/commits/helper/index.ts",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 1,
+ 1
+ ],
+ "2": [
+ 1,
+ 0
+ ],
+ "3": [
+ 1,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 1,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 8,
+ "9": 1,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 22
+ },
+ "end": {
+ "line": 61,
+ "column": 52
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 61,
+ "column": 22
+ },
+ "end": {
+ "line": 61,
+ "column": 46
+ }
+ },
+ {
+ "start": {
+ "line": 61,
+ "column": 50
+ },
+ "end": {
+ "line": 61,
+ "column": 52
+ }
+ }
+ ],
+ "line": 61
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 16
+ },
+ "end": {
+ "line": 71,
+ "column": 30
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 71,
+ "column": 16
+ },
+ "end": {
+ "line": 71,
+ "column": 24
+ }
+ },
+ {
+ "start": {
+ "line": 71,
+ "column": 28
+ },
+ "end": {
+ "line": 71,
+ "column": 30
+ }
+ }
+ ],
+ "line": 71
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 11
+ },
+ "end": {
+ "line": 72,
+ "column": 20
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 72,
+ "column": 11
+ },
+ "end": {
+ "line": 72,
+ "column": 14
+ }
+ },
+ {
+ "start": {
+ "line": 72,
+ "column": 18
+ },
+ "end": {
+ "line": 72,
+ "column": 20
+ }
+ }
+ ],
+ "line": 72
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 17
+ },
+ "end": {
+ "line": 73,
+ "column": 32
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 73,
+ "column": 17
+ },
+ "end": {
+ "line": 73,
+ "column": 26
+ }
+ },
+ {
+ "start": {
+ "line": 73,
+ "column": 30
+ },
+ "end": {
+ "line": 73,
+ "column": 32
+ }
+ }
+ ],
+ "line": 73
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "handleSelectFile",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 16
+ },
+ "end": {
+ "line": 13,
+ "column": 32
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 21
+ },
+ "end": {
+ "line": 64,
+ "column": 1
+ }
+ },
+ "line": 18
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 31,
+ "column": 10
+ },
+ "end": {
+ "line": 31,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 24
+ },
+ "end": {
+ "line": 31,
+ "column": 28
+ }
+ },
+ "line": 31
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 41,
+ "column": 10
+ },
+ "end": {
+ "line": 41,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 24
+ },
+ "end": {
+ "line": 41,
+ "column": 38
+ }
+ },
+ "line": 41
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 51,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 24
+ },
+ "end": {
+ "line": 51,
+ "column": 28
+ }
+ },
+ "line": 51
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 57,
+ "column": 10
+ },
+ "end": {
+ "line": 57,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 59
+ },
+ "end": {
+ "line": 63,
+ "column": 3
+ }
+ },
+ "line": 57
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 66,
+ "column": 44
+ },
+ "end": {
+ "line": 66,
+ "column": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 2
+ },
+ "end": {
+ "line": 85,
+ "column": 6
+ }
+ },
+ "line": 67
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 24
+ },
+ "end": {
+ "line": 76,
+ "column": 28
+ }
+ },
+ "line": 76
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 77,
+ "column": 10
+ },
+ "end": {
+ "line": 77,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 78,
+ "column": 6
+ },
+ "end": {
+ "line": 81,
+ "column": 9
+ }
+ },
+ "line": 78
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 78,
+ "column": 12
+ },
+ "end": {
+ "line": 78,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 78,
+ "column": 20
+ },
+ "end": {
+ "line": 81,
+ "column": 7
+ }
+ },
+ "line": 78
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 83,
+ "column": 10
+ },
+ "end": {
+ "line": 83,
+ "column": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 17
+ },
+ "end": {
+ "line": 85,
+ "column": 5
+ }
+ },
+ "line": 83
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 23,
+ "column": 29
+ },
+ "end": {
+ "line": 31,
+ "column": 29
+ }
+ },
+ "1": {
+ "start": {
+ "line": 31,
+ "column": 24
+ },
+ "end": {
+ "line": 31,
+ "column": 28
+ }
+ },
+ "2": {
+ "start": {
+ "line": 32,
+ "column": 30
+ },
+ "end": {
+ "line": 41,
+ "column": 39
+ }
+ },
+ "3": {
+ "start": {
+ "line": 41,
+ "column": 24
+ },
+ "end": {
+ "line": 41,
+ "column": 38
+ }
+ },
+ "4": {
+ "start": {
+ "line": 43,
+ "column": 32
+ },
+ "end": {
+ "line": 51,
+ "column": 29
+ }
+ },
+ "5": {
+ "start": {
+ "line": 51,
+ "column": 24
+ },
+ "end": {
+ "line": 51,
+ "column": 28
+ }
+ },
+ "6": {
+ "start": {
+ "line": 53,
+ "column": 2
+ },
+ "end": {
+ "line": 63,
+ "column": 5
+ }
+ },
+ "7": {
+ "start": {
+ "line": 58,
+ "column": 4
+ },
+ "end": {
+ "line": 62,
+ "column": 6
+ }
+ },
+ "8": {
+ "start": {
+ "line": 66,
+ "column": 44
+ },
+ "end": {
+ "line": 85,
+ "column": 6
+ }
+ },
+ "9": {
+ "start": {
+ "line": 67,
+ "column": 2
+ },
+ "end": {
+ "line": 85,
+ "column": 6
+ }
+ },
+ "10": {
+ "start": {
+ "line": 76,
+ "column": 24
+ },
+ "end": {
+ "line": 76,
+ "column": 28
+ }
+ },
+ "11": {
+ "start": {
+ "line": 78,
+ "column": 6
+ },
+ "end": {
+ "line": 81,
+ "column": 9
+ }
+ },
+ "12": {
+ "start": {
+ "line": 78,
+ "column": 20
+ },
+ "end": {
+ "line": 81,
+ "column": 7
+ }
+ },
+ "13": {
+ "start": {
+ "line": 84,
+ "column": 6
+ },
+ "end": {
+ "line": 84,
+ "column": 15
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/BasicForms.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/BasicForms.tsx.js
new file mode 100644
index 00000000..61cf3a46
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/BasicForms.tsx.js
@@ -0,0 +1,359 @@
+window["pages/index/projects/[id]/configure/helper/BasicForms.tsx"] = {
+ "content": "import { useMutation } from \"@apollo/client\";\nimport { useForm } from \"antd/es/form/Form\";\nimport { FC } from \"react\";\n\nimport { UpdateProjectDocument } from \"../../../../../../helpers/backend/gen/graphql.ts\";\n\nconst { TextArea } = Input;\n\nconst BasicForms: FC<{ data: any }> = ({ data }, ref) => {\n const [updateProject] = useMutation(UpdateProjectDocument);\n const prm: any = useParams();\n const { t } = useTranslation();\n const onFinish = (values: any) => {\n updateProject({\n variables: {\n projectID: prm.id,\n coverage: \"__null__\",\n description: values.description,\n defaultBranch: \"__null__\",\n instrumentCwd: values.instrumentCwd,\n },\n }).then(() => {\n message.success(\"成功\");\n });\n };\n const [form] = useForm();\n const onSubmit = () => {\n form.submit();\n };\n useImperativeHandle(ref, () => ({\n submit: onSubmit,\n }));\n // use\n if (data) {\n return (\n label={t(\"common.language\")} name=\"language\">\n \n \n\n \n label={t(\"projects.config.project.desc\")}\n name=\"description\"\n >\n \n \n \n );\n } else {\n return loading
;\n }\n};\n\nexport default forwardRef(BasicForms);\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/configure/helper/BasicForms.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 34,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 81,
+ "column": 9
+ },
+ "end": {
+ "line": 83,
+ "column": 3
+ }
+ }
+ ],
+ "line": 34
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 9,
+ "column": 38
+ },
+ "end": {
+ "line": 9,
+ "column": 39
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 57
+ },
+ "end": {
+ "line": 84,
+ "column": 1
+ }
+ },
+ "line": 9
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 19
+ },
+ "end": {
+ "line": 13,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 36
+ },
+ "end": {
+ "line": 25,
+ "column": 3
+ }
+ },
+ "line": 13
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 18
+ },
+ "end": {
+ "line": 24,
+ "column": 5
+ }
+ },
+ "line": 22
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 27,
+ "column": 19
+ },
+ "end": {
+ "line": 27,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 25
+ },
+ "end": {
+ "line": 29,
+ "column": 3
+ }
+ },
+ "line": 27
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 30,
+ "column": 27
+ },
+ "end": {
+ "line": 30,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 34
+ },
+ "end": {
+ "line": 32,
+ "column": 3
+ }
+ },
+ "line": 30
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 21
+ },
+ "end": {
+ "line": 7,
+ "column": 26
+ }
+ },
+ "1": {
+ "start": {
+ "line": 9,
+ "column": 38
+ },
+ "end": {
+ "line": 84,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 10,
+ "column": 26
+ },
+ "end": {
+ "line": 10,
+ "column": 60
+ }
+ },
+ "3": {
+ "start": {
+ "line": 11,
+ "column": 19
+ },
+ "end": {
+ "line": 11,
+ "column": 30
+ }
+ },
+ "4": {
+ "start": {
+ "line": 12,
+ "column": 16
+ },
+ "end": {
+ "line": 12,
+ "column": 32
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 19
+ },
+ "end": {
+ "line": 25,
+ "column": 3
+ }
+ },
+ "6": {
+ "start": {
+ "line": 14,
+ "column": 4
+ },
+ "end": {
+ "line": 24,
+ "column": 7
+ }
+ },
+ "7": {
+ "start": {
+ "line": 23,
+ "column": 6
+ },
+ "end": {
+ "line": 23,
+ "column": 28
+ }
+ },
+ "8": {
+ "start": {
+ "line": 26,
+ "column": 17
+ },
+ "end": {
+ "line": 26,
+ "column": 26
+ }
+ },
+ "9": {
+ "start": {
+ "line": 27,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 3
+ }
+ },
+ "10": {
+ "start": {
+ "line": 28,
+ "column": 4
+ },
+ "end": {
+ "line": 28,
+ "column": 18
+ }
+ },
+ "11": {
+ "start": {
+ "line": 30,
+ "column": 2
+ },
+ "end": {
+ "line": 32,
+ "column": 6
+ }
+ },
+ "12": {
+ "start": {
+ "line": 30,
+ "column": 34
+ },
+ "end": {
+ "line": 32,
+ "column": 3
+ }
+ },
+ "13": {
+ "start": {
+ "line": 34,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 3
+ }
+ },
+ "14": {
+ "start": {
+ "line": 35,
+ "column": 4
+ },
+ "end": {
+ "line": 80,
+ "column": 6
+ }
+ },
+ "15": {
+ "start": {
+ "line": 82,
+ "column": 4
+ },
+ "end": {
+ "line": 82,
+ "column": 30
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/MemberTable.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/MemberTable.tsx.js
new file mode 100644
index 00000000..77a697ee
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/MemberTable.tsx.js
@@ -0,0 +1,1084 @@
+window["pages/index/projects/[id]/configure/helper/MemberTable.tsx"] = {
+ "content": "import { UsergroupAddOutlined } from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\n\nimport {\n ListUserDocument,\n UpdateProjectDocument,\n} from \"../../../../../../helpers/backend/gen/graphql.ts\";\nimport CrudTable from \"./crud.tsx\";\nconst { Text } = Typography;\nconst options = [\n {\n label: (\n \n 所有者 \n \n 所有者可以编辑和删除项目、上报记录及团队成员。\n \n
\n ),\n value: \"owner\",\n },\n {\n label: (\n \n 编辑者 \n \n 编辑者可以编辑和删除项目、上报记录。\n \n
\n ),\n value: \"editor\",\n },\n {\n label: (\n \n 查看者 \n \n 查看者只可查看项目、上报记录。\n \n
\n ),\n value: \"viewer\",\n },\n];\n\nconst roleMap = {\n owner: \"所有者\",\n editor: \"编辑者\",\n viewer: \"查看者\",\n};\n\n// Filter `option.label` match the user type `input`\nconst filterOption = (\n input: string,\n option?: { label: string; value: string },\n) => (option?.label ?? \"\").toLowerCase().includes(input.toLowerCase());\n\nconst MemberTable = ({ members }) => {\n const columns = [\n {\n title: \"成员\",\n dataIndex: \"userID\",\n key: \"userID\",\n render: (text) => {\n const find = (userOptions?.listUser || []).find((i) => i.id === text);\n if (find) {\n return `${find.nickname} <${find.email}>`;\n } else {\n return text;\n }\n },\n },\n {\n title: \"角色\",\n dataIndex: \"role\",\n key: \"role\",\n render: (text) => {\n return roleMap[text];\n },\n },\n ];\n\n // const dataSource = [];\n const [dataSource, setDataSource] = useState();\n\n useEffect(() => {\n setDataSource(members);\n }, [members]);\n\n const { data: userOptions } = useQuery(ListUserDocument);\n\n const [updateProject] = useMutation(UpdateProjectDocument);\n const prm = useParams();\n const onCreate = (v) => {\n setDataSource([\n ...dataSource,\n {\n ...v,\n },\n ]);\n };\n\n const onUpdate = (v) => {\n setDataSource(\n dataSource.map((i) => {\n if (i.userID === v.userID) {\n return v;\n }\n return i;\n }),\n );\n };\n\n const onDelete = ({ userID }) => {\n setDataSource(dataSource.filter((i) => i.userID !== userID));\n };\n\n const onSave = () => {\n updateProject({\n variables: {\n projectID: prm.id as string,\n members: dataSource.map(({ userID, role }) => ({\n userID,\n role,\n })),\n },\n }).then((res) => {\n message.success(\"保存成功\");\n });\n };\n\n return (\n \n \n \n 成员 \n
\n }\n >\n {/*{JSON.stringify(dataSource)}*/}\n (\n <>\n \n ({\n label: `${nickname} <${email}>`,\n value: id,\n }),\n )}\n />\n \n\n \n {\n return {roleMap[value]} ;\n }}\n />\n \n >\n )}\n />\n \n \n );\n};\n\nexport default MemberTable;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/configure/helper/MemberTable.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 8,
+ "4": 0,
+ "5": 8,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0,
+ "25": 0,
+ "26": 0,
+ "27": 0,
+ "28": 0,
+ "29": 0,
+ "30": 0,
+ "31": 0,
+ "32": 0,
+ "33": 0,
+ "34": 0,
+ "35": 0,
+ "36": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 56,
+ "column": 6
+ },
+ "end": {
+ "line": 56,
+ "column": 25
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 56,
+ "column": 6
+ },
+ "end": {
+ "line": 56,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 56,
+ "column": 23
+ },
+ "end": {
+ "line": 56,
+ "column": 25
+ }
+ }
+ ],
+ "line": 56
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 22
+ },
+ "end": {
+ "line": 65,
+ "column": 49
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 65,
+ "column": 22
+ },
+ "end": {
+ "line": 65,
+ "column": 43
+ }
+ },
+ {
+ "start": {
+ "line": 65,
+ "column": 47
+ },
+ "end": {
+ "line": 65,
+ "column": 49
+ }
+ }
+ ],
+ "line": 65
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 8
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 66,
+ "column": 8
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ },
+ {
+ "start": {
+ "line": 68,
+ "column": 15
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ }
+ ],
+ "line": 66
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 8
+ },
+ "end": {
+ "line": 108,
+ "column": 9
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 106,
+ "column": 8
+ },
+ "end": {
+ "line": 108,
+ "column": 9
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 106
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 157,
+ "column": 28
+ },
+ "end": {
+ "line": 157,
+ "column": 60
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 157,
+ "column": 48
+ },
+ "end": {
+ "line": 157,
+ "column": 52
+ }
+ },
+ {
+ "start": {
+ "line": 157,
+ "column": 55
+ },
+ "end": {
+ "line": 157,
+ "column": 60
+ }
+ }
+ ],
+ "line": 157
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 161,
+ "column": 28
+ },
+ "end": {
+ "line": 161,
+ "column": 55
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 161,
+ "column": 28
+ },
+ "end": {
+ "line": 161,
+ "column": 49
+ }
+ },
+ {
+ "start": {
+ "line": 161,
+ "column": 53
+ },
+ "end": {
+ "line": 161,
+ "column": 55
+ }
+ }
+ ],
+ "line": 161
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 53,
+ "column": 21
+ },
+ "end": {
+ "line": 53,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 56,
+ "column": 5
+ },
+ "end": {
+ "line": 56,
+ "column": 70
+ }
+ },
+ "line": 56
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 58,
+ "column": 20
+ },
+ "end": {
+ "line": 58,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 37
+ },
+ "end": {
+ "line": 185,
+ "column": 1
+ }
+ },
+ "line": 58
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 64,
+ "column": 14
+ },
+ "end": {
+ "line": 64,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 24
+ },
+ "end": {
+ "line": 71,
+ "column": 7
+ }
+ },
+ "line": 64
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 65,
+ "column": 56
+ },
+ "end": {
+ "line": 65,
+ "column": 57
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 63
+ },
+ "end": {
+ "line": 65,
+ "column": 76
+ }
+ },
+ "line": 65
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 77,
+ "column": 14
+ },
+ "end": {
+ "line": 77,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 77,
+ "column": 24
+ },
+ "end": {
+ "line": 79,
+ "column": 7
+ }
+ },
+ "line": 77
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 86,
+ "column": 12
+ },
+ "end": {
+ "line": 86,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 18
+ },
+ "end": {
+ "line": 88,
+ "column": 3
+ }
+ },
+ "line": 86
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 94,
+ "column": 19
+ },
+ "end": {
+ "line": 94,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 101,
+ "column": 3
+ }
+ },
+ "line": 94
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 103,
+ "column": 19
+ },
+ "end": {
+ "line": 103,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 26
+ },
+ "end": {
+ "line": 112,
+ "column": 3
+ }
+ },
+ "line": 103
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 105,
+ "column": 21
+ },
+ "end": {
+ "line": 105,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 28
+ },
+ "end": {
+ "line": 110,
+ "column": 7
+ }
+ },
+ "line": 105
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 114,
+ "column": 19
+ },
+ "end": {
+ "line": 114,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 35
+ },
+ "end": {
+ "line": 116,
+ "column": 3
+ }
+ },
+ "line": 114
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 115,
+ "column": 36
+ },
+ "end": {
+ "line": 115,
+ "column": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 115,
+ "column": 43
+ },
+ "end": {
+ "line": 115,
+ "column": 62
+ }
+ },
+ "line": 115
+ },
+ "11": {
+ "name": "(anonymous_11)",
+ "decl": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 23
+ },
+ "end": {
+ "line": 130,
+ "column": 3
+ }
+ },
+ "line": 118
+ },
+ "12": {
+ "name": "(anonymous_12)",
+ "decl": {
+ "start": {
+ "line": 122,
+ "column": 32
+ },
+ "end": {
+ "line": 122,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 55
+ },
+ "end": {
+ "line": 125,
+ "column": 9
+ }
+ },
+ "line": 122
+ },
+ "13": {
+ "name": "(anonymous_13)",
+ "decl": {
+ "start": {
+ "line": 127,
+ "column": 12
+ },
+ "end": {
+ "line": 127,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 21
+ },
+ "end": {
+ "line": 129,
+ "column": 5
+ }
+ },
+ "line": 127
+ },
+ "14": {
+ "name": "(anonymous_14)",
+ "decl": {
+ "start": {
+ "line": 153,
+ "column": 21
+ },
+ "end": {
+ "line": 153,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 12
+ },
+ "end": {
+ "line": 179,
+ "column": 15
+ }
+ },
+ "line": 154
+ },
+ "15": {
+ "name": "(anonymous_15)",
+ "decl": {
+ "start": {
+ "line": 162,
+ "column": 20
+ },
+ "end": {
+ "line": 162,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 50
+ },
+ "end": {
+ "line": 165,
+ "column": 21
+ }
+ },
+ "line": 162
+ },
+ "16": {
+ "name": "(anonymous_16)",
+ "decl": {
+ "start": {
+ "line": 174,
+ "column": 31
+ },
+ "end": {
+ "line": 174,
+ "column": 32
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 46
+ },
+ "end": {
+ "line": 176,
+ "column": 19
+ }
+ },
+ "line": 174
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 9,
+ "column": 17
+ },
+ "end": {
+ "line": 9,
+ "column": 27
+ }
+ },
+ "1": {
+ "start": {
+ "line": 10,
+ "column": 16
+ },
+ "end": {
+ "line": 44,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 46,
+ "column": 16
+ },
+ "end": {
+ "line": 50,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 53,
+ "column": 21
+ },
+ "end": {
+ "line": 56,
+ "column": 70
+ }
+ },
+ "4": {
+ "start": {
+ "line": 56,
+ "column": 5
+ },
+ "end": {
+ "line": 56,
+ "column": 70
+ }
+ },
+ "5": {
+ "start": {
+ "line": 58,
+ "column": 20
+ },
+ "end": {
+ "line": 185,
+ "column": 1
+ }
+ },
+ "6": {
+ "start": {
+ "line": 59,
+ "column": 18
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "7": {
+ "start": {
+ "line": 65,
+ "column": 21
+ },
+ "end": {
+ "line": 65,
+ "column": 77
+ }
+ },
+ "8": {
+ "start": {
+ "line": 65,
+ "column": 63
+ },
+ "end": {
+ "line": 65,
+ "column": 76
+ }
+ },
+ "9": {
+ "start": {
+ "line": 66,
+ "column": 8
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ },
+ "10": {
+ "start": {
+ "line": 67,
+ "column": 10
+ },
+ "end": {
+ "line": 67,
+ "column": 52
+ }
+ },
+ "11": {
+ "start": {
+ "line": 69,
+ "column": 10
+ },
+ "end": {
+ "line": 69,
+ "column": 22
+ }
+ },
+ "12": {
+ "start": {
+ "line": 78,
+ "column": 8
+ },
+ "end": {
+ "line": 78,
+ "column": 29
+ }
+ },
+ "13": {
+ "start": {
+ "line": 84,
+ "column": 38
+ },
+ "end": {
+ "line": 84,
+ "column": 48
+ }
+ },
+ "14": {
+ "start": {
+ "line": 86,
+ "column": 2
+ },
+ "end": {
+ "line": 88,
+ "column": 16
+ }
+ },
+ "15": {
+ "start": {
+ "line": 87,
+ "column": 4
+ },
+ "end": {
+ "line": 87,
+ "column": 27
+ }
+ },
+ "16": {
+ "start": {
+ "line": 90,
+ "column": 32
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ },
+ "17": {
+ "start": {
+ "line": 92,
+ "column": 26
+ },
+ "end": {
+ "line": 92,
+ "column": 60
+ }
+ },
+ "18": {
+ "start": {
+ "line": 93,
+ "column": 14
+ },
+ "end": {
+ "line": 93,
+ "column": 25
+ }
+ },
+ "19": {
+ "start": {
+ "line": 94,
+ "column": 19
+ },
+ "end": {
+ "line": 101,
+ "column": 3
+ }
+ },
+ "20": {
+ "start": {
+ "line": 95,
+ "column": 4
+ },
+ "end": {
+ "line": 100,
+ "column": 7
+ }
+ },
+ "21": {
+ "start": {
+ "line": 103,
+ "column": 19
+ },
+ "end": {
+ "line": 112,
+ "column": 3
+ }
+ },
+ "22": {
+ "start": {
+ "line": 104,
+ "column": 4
+ },
+ "end": {
+ "line": 111,
+ "column": 6
+ }
+ },
+ "23": {
+ "start": {
+ "line": 106,
+ "column": 8
+ },
+ "end": {
+ "line": 108,
+ "column": 9
+ }
+ },
+ "24": {
+ "start": {
+ "line": 107,
+ "column": 10
+ },
+ "end": {
+ "line": 107,
+ "column": 19
+ }
+ },
+ "25": {
+ "start": {
+ "line": 109,
+ "column": 8
+ },
+ "end": {
+ "line": 109,
+ "column": 17
+ }
+ },
+ "26": {
+ "start": {
+ "line": 114,
+ "column": 19
+ },
+ "end": {
+ "line": 116,
+ "column": 3
+ }
+ },
+ "27": {
+ "start": {
+ "line": 115,
+ "column": 4
+ },
+ "end": {
+ "line": 115,
+ "column": 65
+ }
+ },
+ "28": {
+ "start": {
+ "line": 115,
+ "column": 43
+ },
+ "end": {
+ "line": 115,
+ "column": 62
+ }
+ },
+ "29": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 130,
+ "column": 3
+ }
+ },
+ "30": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 129,
+ "column": 7
+ }
+ },
+ "31": {
+ "start": {
+ "line": 122,
+ "column": 55
+ },
+ "end": {
+ "line": 125,
+ "column": 9
+ }
+ },
+ "32": {
+ "start": {
+ "line": 128,
+ "column": 6
+ },
+ "end": {
+ "line": 128,
+ "column": 30
+ }
+ },
+ "33": {
+ "start": {
+ "line": 132,
+ "column": 2
+ },
+ "end": {
+ "line": 184,
+ "column": 4
+ }
+ },
+ "34": {
+ "start": {
+ "line": 154,
+ "column": 12
+ },
+ "end": {
+ "line": 179,
+ "column": 15
+ }
+ },
+ "35": {
+ "start": {
+ "line": 162,
+ "column": 50
+ },
+ "end": {
+ "line": 165,
+ "column": 21
+ }
+ },
+ "36": {
+ "start": {
+ "line": 175,
+ "column": 20
+ },
+ "end": {
+ "line": 175,
+ "column": 57
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/TagTable.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/TagTable.tsx.js
new file mode 100644
index 00000000..155bf842
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/TagTable.tsx.js
@@ -0,0 +1,1090 @@
+window["pages/index/projects/[id]/configure/helper/TagTable.tsx"] = {
+ "content": "import { PlusOutlined, TagOutlined } from \"@ant-design/icons\";\nimport { useMutation } from \"@apollo/client\";\nimport { useParams } from \"react-router-dom\";\n\nimport { UpdateProjectDocument } from \"../../../../../../helpers/backend/gen/graphql.ts\";\ntype FieldType = {\n id?: string;\n name?: string;\n link?: string;\n color?: string;\n};\n\nconst gridStyle: any = {\n width: \"100%\",\n};\nfunction setDByeky(key, item, list) {\n const newList = JSON.parse(JSON.stringify(list));\n\n const f = newList.findIndex((i) => i.id === key);\n if (f > -1) {\n newList[f] = {\n ...item,\n };\n } else {\n console.log(\"什么也不做\");\n }\n return newList;\n}\n\nconst CanyonColorPicker = ({ value, onChange }) => {\n return (\n \n {\n onChange(hex);\n }}\n />\n
\n );\n};\n\nconst TagTable = ({ tags }) => {\n const [activeID, setActiveID] = useState(\"\");\n const [dataSource, setDataSource] = useState([]);\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n useEffect(() => {\n if (tags !== undefined) {\n setDataSource(\n tags.map(({ id, name, link, color }) => ({\n id,\n name,\n link,\n color,\n })),\n );\n }\n }, [tags]);\n const columns = [\n {\n title: \"ID\",\n dataIndex: \"id\",\n key: \"id\",\n render(text) {\n return {text} ;\n },\n },\n {\n title: t(\"projects.config.name\"),\n dataIndex: \"name\",\n key: \"name\",\n },\n {\n title: t(\"projects.config.link\"),\n dataIndex: \"link\",\n key: \"link\",\n width: \"300px\",\n render(text) {\n return (\n \n {text}\n \n );\n },\n },\n {\n title: t(\"projects.config.color\"),\n dataIndex: \"color\",\n key: \"color\",\n render(text, record) {\n return {record.name} ;\n },\n },\n {\n title: t(\"common.option\"),\n render(text, record) {\n return (\n <>\n {\n setActiveID(record.id);\n setOpen(true);\n }}\n >\n {t(\"common.edit\")}\n \n\n \n {\n setDataSource(dataSource.filter((i) => i.id !== record.id));\n }}\n >\n {t(\"common.delete\")}\n \n >\n );\n },\n },\n ];\n\n function onFinish(values) {\n console.log(values);\n setDataSource(setDByeky(activeID, values, dataSource));\n }\n\n const [form] = Form.useForm();\n const [updateProject] = useMutation(UpdateProjectDocument);\n const prm = useParams();\n\n useEffect(() => {\n form.setFieldsValue(dataSource.find((i) => i.id === activeID));\n }, [activeID]);\n\n return (\n \n \n \n {t(\"projects.config.tag\")} \n
\n }\n >\n \n \n
\n \n {\n updateProject({\n variables: {\n projectID: prm.id as string,\n coverage: \"__null__\",\n description: \"__null__\",\n defaultBranch: \"__null__\",\n tags: dataSource,\n },\n }).then(() => {\n message.success(\"保存成功\");\n });\n }}\n >\n {t(\"projects.config.save.changes\")}\n \n }\n onClick={() => {\n setDataSource(\n dataSource.concat({\n id: String(Math.random()),\n name: \"tagname\",\n link: \"\",\n color: \"#0071c2\",\n }),\n );\n }}\n >\n {t(\"common.add\")}\n \n \n \n \n\n {\n setOpen(false);\n form.submit();\n }}\n >\n label=\"ID\" name=\"id\">\n \n \n\n label={t(\"projects.config.name\")} name=\"name\">\n \n \n\n label={t(\"projects.config.link\")} name=\"link\">\n \n \n\n label={t(\"projects.config.color\")} name=\"color\">\n \n \n \n \n \n );\n};\n\nexport default TagTable;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/configure/helper/TagTable.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 8,
+ "9": 0,
+ "10": 0,
+ "11": 8,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0,
+ "25": 0,
+ "26": 0,
+ "27": 0,
+ "28": 0,
+ "29": 0,
+ "30": 0,
+ "31": 0,
+ "32": 0,
+ "33": 0,
+ "34": 0,
+ "35": 0,
+ "36": 0,
+ "37": 0,
+ "38": 0,
+ "39": 0,
+ "40": 0,
+ "41": 0,
+ "42": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 20,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 24,
+ "column": 9
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ }
+ ],
+ "line": 20
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 4
+ },
+ "end": {
+ "line": 60,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 51,
+ "column": 4
+ },
+ "end": {
+ "line": 60,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 51
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "setDByeky",
+ "decl": {
+ "start": {
+ "line": 16,
+ "column": 9
+ },
+ "end": {
+ "line": 16,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 36
+ },
+ "end": {
+ "line": 28,
+ "column": 1
+ }
+ },
+ "line": 16
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 19,
+ "column": 30
+ },
+ "end": {
+ "line": 19,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 37
+ },
+ "end": {
+ "line": 19,
+ "column": 49
+ }
+ },
+ "line": 19
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 30,
+ "column": 26
+ },
+ "end": {
+ "line": 30,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 51
+ },
+ "end": {
+ "line": 43,
+ "column": 1
+ }
+ },
+ "line": 30
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 37,
+ "column": 18
+ },
+ "end": {
+ "line": 37,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 34
+ },
+ "end": {
+ "line": 39,
+ "column": 9
+ }
+ },
+ "line": 37
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 45,
+ "column": 17
+ },
+ "end": {
+ "line": 45,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 31
+ },
+ "end": {
+ "line": 232,
+ "column": 1
+ }
+ },
+ "line": 45
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 50,
+ "column": 12
+ },
+ "end": {
+ "line": 50,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 18
+ },
+ "end": {
+ "line": 61,
+ "column": 3
+ }
+ },
+ "line": 50
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 49
+ },
+ "end": {
+ "line": 58,
+ "column": 9
+ }
+ },
+ "line": 53
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 67,
+ "column": 6
+ },
+ "end": {
+ "line": 67,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 19
+ },
+ "end": {
+ "line": 69,
+ "column": 7
+ }
+ },
+ "line": 67
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 81,
+ "column": 6
+ },
+ "end": {
+ "line": 81,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 19
+ },
+ "end": {
+ "line": 93,
+ "column": 7
+ }
+ },
+ "line": 81
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 99,
+ "column": 6
+ },
+ "end": {
+ "line": 99,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 27
+ },
+ "end": {
+ "line": 101,
+ "column": 7
+ }
+ },
+ "line": 99
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 105,
+ "column": 6
+ },
+ "end": {
+ "line": 105,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 27
+ },
+ "end": {
+ "line": 128,
+ "column": 7
+ }
+ },
+ "line": 105
+ },
+ "11": {
+ "name": "(anonymous_11)",
+ "decl": {
+ "start": {
+ "line": 109,
+ "column": 23
+ },
+ "end": {
+ "line": 109,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 109,
+ "column": 29
+ },
+ "end": {
+ "line": 112,
+ "column": 15
+ }
+ },
+ "line": 109
+ },
+ "12": {
+ "name": "(anonymous_12)",
+ "decl": {
+ "start": {
+ "line": 120,
+ "column": 23
+ },
+ "end": {
+ "line": 120,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 29
+ },
+ "end": {
+ "line": 122,
+ "column": 15
+ }
+ },
+ "line": 120
+ },
+ "13": {
+ "name": "(anonymous_13)",
+ "decl": {
+ "start": {
+ "line": 121,
+ "column": 48
+ },
+ "end": {
+ "line": 121,
+ "column": 49
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 55
+ },
+ "end": {
+ "line": 121,
+ "column": 73
+ }
+ },
+ "line": 121
+ },
+ "14": {
+ "name": "onFinish",
+ "decl": {
+ "start": {
+ "line": 132,
+ "column": 11
+ },
+ "end": {
+ "line": 132,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 28
+ },
+ "end": {
+ "line": 135,
+ "column": 3
+ }
+ },
+ "line": 132
+ },
+ "15": {
+ "name": "(anonymous_15)",
+ "decl": {
+ "start": {
+ "line": 141,
+ "column": 12
+ },
+ "end": {
+ "line": 141,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 18
+ },
+ "end": {
+ "line": 143,
+ "column": 3
+ }
+ },
+ "line": 141
+ },
+ "16": {
+ "name": "(anonymous_16)",
+ "decl": {
+ "start": {
+ "line": 142,
+ "column": 40
+ },
+ "end": {
+ "line": 142,
+ "column": 41
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 47
+ },
+ "end": {
+ "line": 142,
+ "column": 64
+ }
+ },
+ "line": 142
+ },
+ "17": {
+ "name": "(anonymous_17)",
+ "decl": {
+ "start": {
+ "line": 167,
+ "column": 23
+ },
+ "end": {
+ "line": 167,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 29
+ },
+ "end": {
+ "line": 179,
+ "column": 15
+ }
+ },
+ "line": 167
+ },
+ "18": {
+ "name": "(anonymous_18)",
+ "decl": {
+ "start": {
+ "line": 176,
+ "column": 24
+ },
+ "end": {
+ "line": 176,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 30
+ },
+ "end": {
+ "line": 178,
+ "column": 17
+ }
+ },
+ "line": 176
+ },
+ "19": {
+ "name": "(anonymous_19)",
+ "decl": {
+ "start": {
+ "line": 185,
+ "column": 23
+ },
+ "end": {
+ "line": 185,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 185,
+ "column": 29
+ },
+ "end": {
+ "line": 194,
+ "column": 15
+ }
+ },
+ "line": 185
+ },
+ "20": {
+ "name": "(anonymous_20)",
+ "decl": {
+ "start": {
+ "line": 207,
+ "column": 17
+ },
+ "end": {
+ "line": 207,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 207,
+ "column": 23
+ },
+ "end": {
+ "line": 210,
+ "column": 9
+ }
+ },
+ "line": 207
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 13,
+ "column": 23
+ },
+ "end": {
+ "line": 15,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 17,
+ "column": 18
+ },
+ "end": {
+ "line": 17,
+ "column": 50
+ }
+ },
+ "2": {
+ "start": {
+ "line": 19,
+ "column": 12
+ },
+ "end": {
+ "line": 19,
+ "column": 50
+ }
+ },
+ "3": {
+ "start": {
+ "line": 19,
+ "column": 37
+ },
+ "end": {
+ "line": 19,
+ "column": 49
+ }
+ },
+ "4": {
+ "start": {
+ "line": 20,
+ "column": 2
+ },
+ "end": {
+ "line": 26,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 21,
+ "column": 4
+ },
+ "end": {
+ "line": 23,
+ "column": 6
+ }
+ },
+ "6": {
+ "start": {
+ "line": 25,
+ "column": 4
+ },
+ "end": {
+ "line": 25,
+ "column": 25
+ }
+ },
+ "7": {
+ "start": {
+ "line": 27,
+ "column": 2
+ },
+ "end": {
+ "line": 27,
+ "column": 17
+ }
+ },
+ "8": {
+ "start": {
+ "line": 30,
+ "column": 26
+ },
+ "end": {
+ "line": 43,
+ "column": 1
+ }
+ },
+ "9": {
+ "start": {
+ "line": 31,
+ "column": 2
+ },
+ "end": {
+ "line": 42,
+ "column": 4
+ }
+ },
+ "10": {
+ "start": {
+ "line": 38,
+ "column": 10
+ },
+ "end": {
+ "line": 38,
+ "column": 24
+ }
+ },
+ "11": {
+ "start": {
+ "line": 45,
+ "column": 17
+ },
+ "end": {
+ "line": 232,
+ "column": 1
+ }
+ },
+ "12": {
+ "start": {
+ "line": 46,
+ "column": 34
+ },
+ "end": {
+ "line": 46,
+ "column": 46
+ }
+ },
+ "13": {
+ "start": {
+ "line": 47,
+ "column": 38
+ },
+ "end": {
+ "line": 47,
+ "column": 50
+ }
+ },
+ "14": {
+ "start": {
+ "line": 48,
+ "column": 26
+ },
+ "end": {
+ "line": 48,
+ "column": 41
+ }
+ },
+ "15": {
+ "start": {
+ "line": 49,
+ "column": 16
+ },
+ "end": {
+ "line": 49,
+ "column": 32
+ }
+ },
+ "16": {
+ "start": {
+ "line": 50,
+ "column": 2
+ },
+ "end": {
+ "line": 61,
+ "column": 13
+ }
+ },
+ "17": {
+ "start": {
+ "line": 51,
+ "column": 4
+ },
+ "end": {
+ "line": 60,
+ "column": 5
+ }
+ },
+ "18": {
+ "start": {
+ "line": 52,
+ "column": 6
+ },
+ "end": {
+ "line": 59,
+ "column": 8
+ }
+ },
+ "19": {
+ "start": {
+ "line": 53,
+ "column": 49
+ },
+ "end": {
+ "line": 58,
+ "column": 9
+ }
+ },
+ "20": {
+ "start": {
+ "line": 62,
+ "column": 18
+ },
+ "end": {
+ "line": 130,
+ "column": 3
+ }
+ },
+ "21": {
+ "start": {
+ "line": 68,
+ "column": 8
+ },
+ "end": {
+ "line": 68,
+ "column": 65
+ }
+ },
+ "22": {
+ "start": {
+ "line": 82,
+ "column": 8
+ },
+ "end": {
+ "line": 92,
+ "column": 10
+ }
+ },
+ "23": {
+ "start": {
+ "line": 100,
+ "column": 8
+ },
+ "end": {
+ "line": 100,
+ "column": 53
+ }
+ },
+ "24": {
+ "start": {
+ "line": 106,
+ "column": 8
+ },
+ "end": {
+ "line": 127,
+ "column": 10
+ }
+ },
+ "25": {
+ "start": {
+ "line": 110,
+ "column": 16
+ },
+ "end": {
+ "line": 110,
+ "column": 39
+ }
+ },
+ "26": {
+ "start": {
+ "line": 111,
+ "column": 16
+ },
+ "end": {
+ "line": 111,
+ "column": 30
+ }
+ },
+ "27": {
+ "start": {
+ "line": 121,
+ "column": 16
+ },
+ "end": {
+ "line": 121,
+ "column": 76
+ }
+ },
+ "28": {
+ "start": {
+ "line": 121,
+ "column": 55
+ },
+ "end": {
+ "line": 121,
+ "column": 73
+ }
+ },
+ "29": {
+ "start": {
+ "line": 133,
+ "column": 4
+ },
+ "end": {
+ "line": 133,
+ "column": 24
+ }
+ },
+ "30": {
+ "start": {
+ "line": 134,
+ "column": 4
+ },
+ "end": {
+ "line": 134,
+ "column": 59
+ }
+ },
+ "31": {
+ "start": {
+ "line": 137,
+ "column": 17
+ },
+ "end": {
+ "line": 137,
+ "column": 31
+ }
+ },
+ "32": {
+ "start": {
+ "line": 138,
+ "column": 26
+ },
+ "end": {
+ "line": 138,
+ "column": 60
+ }
+ },
+ "33": {
+ "start": {
+ "line": 139,
+ "column": 14
+ },
+ "end": {
+ "line": 139,
+ "column": 25
+ }
+ },
+ "34": {
+ "start": {
+ "line": 141,
+ "column": 2
+ },
+ "end": {
+ "line": 143,
+ "column": 17
+ }
+ },
+ "35": {
+ "start": {
+ "line": 142,
+ "column": 4
+ },
+ "end": {
+ "line": 142,
+ "column": 67
+ }
+ },
+ "36": {
+ "start": {
+ "line": 142,
+ "column": 47
+ },
+ "end": {
+ "line": 142,
+ "column": 64
+ }
+ },
+ "37": {
+ "start": {
+ "line": 145,
+ "column": 2
+ },
+ "end": {
+ "line": 231,
+ "column": 4
+ }
+ },
+ "38": {
+ "start": {
+ "line": 168,
+ "column": 16
+ },
+ "end": {
+ "line": 178,
+ "column": 19
+ }
+ },
+ "39": {
+ "start": {
+ "line": 177,
+ "column": 18
+ },
+ "end": {
+ "line": 177,
+ "column": 42
+ }
+ },
+ "40": {
+ "start": {
+ "line": 186,
+ "column": 16
+ },
+ "end": {
+ "line": 193,
+ "column": 18
+ }
+ },
+ "41": {
+ "start": {
+ "line": 208,
+ "column": 10
+ },
+ "end": {
+ "line": 208,
+ "column": 25
+ }
+ },
+ "42": {
+ "start": {
+ "line": 209,
+ "column": 10
+ },
+ "end": {
+ "line": 209,
+ "column": 24
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/crud.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/crud.tsx.js
new file mode 100644
index 00000000..5342a637
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/crud.tsx.js
@@ -0,0 +1,718 @@
+window["pages/index/projects/[id]/configure/helper/crud.tsx"] = {
+ "content": "import { PlusOutlined } from \"@ant-design/icons\";\nimport { FC, useState } from \"react\";\n\n/**\n * noop is a helper function that does nothing\n * @returns undefined\n */\nfunction noop() {\n /** no-op */\n}\n\n// 注意多默认值\n// noob函数\n\ninterface CrudTableProps {\n dataSource: any[];\n loading: boolean;\n columns: any[];\n formItems: any;\n onCreate?: (values: any) => void;\n onDelete?: (values: any) => void;\n onUpdate?: (values: any) => void;\n onSave?: () => void;\n}\n\nconst CrudTable: FC = ({\n dataSource,\n loading,\n columns,\n formItems,\n /* === */\n onCreate = noop,\n onDelete = noop,\n onUpdate = noop,\n onSave = noop,\n}) => {\n const [visible, setVisible] = useState(false);\n const [form] = Form.useForm();\n function onFinish(values) {\n if (values.mode === \"create\") {\n if (values.userID && values.role) {\n onCreate(values);\n }\n } else {\n onUpdate(values);\n }\n setVisible(false);\n }\n function closeDrawer() {\n setVisible(false);\n // onFinish({ mode: 'create' });\n form.submit();\n setTimeout(() => {\n form.resetFields();\n }, 100);\n }\n\n function add() {\n setVisible(true);\n form.setFieldsValue({\n mode: \"create\",\n emails: [],\n });\n }\n\n function edit(record) {\n setVisible(true);\n form.setFieldsValue({\n ...record,\n mode: \"update\",\n });\n }\n\n return (\n \n
{\n return (\n \n );\n },\n })}\n loading={loading}\n />\n
\n\n \n \n 保存更改\n \n \n \n 添加\n \n \n \n \n \n \n {formItems(form.getFieldValue(\"mode\"))}\n \n \n \n );\n};\n\nexport default CrudTable;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/configure/helper/crud.tsx",
+ "b": {
+ "0": [
+ 0
+ ],
+ "1": [
+ 0
+ ],
+ "2": [
+ 0
+ ],
+ "3": [
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ],
+ "6": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 32,
+ "column": 17
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 32,
+ "column": 13
+ },
+ "end": {
+ "line": 32,
+ "column": 17
+ }
+ }
+ ],
+ "line": 32
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 2
+ },
+ "end": {
+ "line": 33,
+ "column": 17
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 33,
+ "column": 13
+ },
+ "end": {
+ "line": 33,
+ "column": 17
+ }
+ }
+ ],
+ "line": 33
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 2
+ },
+ "end": {
+ "line": 34,
+ "column": 17
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 34,
+ "column": 13
+ },
+ "end": {
+ "line": 34,
+ "column": 17
+ }
+ }
+ ],
+ "line": 34
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 2
+ },
+ "end": {
+ "line": 35,
+ "column": 15
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 35,
+ "column": 11
+ },
+ "end": {
+ "line": 35,
+ "column": 15
+ }
+ }
+ ],
+ "line": 35
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 40,
+ "column": 4
+ },
+ "end": {
+ "line": 46,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 40,
+ "column": 4
+ },
+ "end": {
+ "line": 46,
+ "column": 5
+ }
+ },
+ {
+ "start": {
+ "line": 44,
+ "column": 11
+ },
+ "end": {
+ "line": 46,
+ "column": 5
+ }
+ }
+ ],
+ "line": 40
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 7
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 41
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 10
+ },
+ "end": {
+ "line": 41,
+ "column": 38
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 41,
+ "column": 10
+ },
+ "end": {
+ "line": 41,
+ "column": 23
+ }
+ },
+ {
+ "start": {
+ "line": 41,
+ "column": 27
+ },
+ "end": {
+ "line": 41,
+ "column": 38
+ }
+ }
+ ],
+ "line": 41
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "noop",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 8,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 16
+ },
+ "end": {
+ "line": 10,
+ "column": 1
+ }
+ },
+ "line": 8
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 38
+ },
+ "end": {
+ "line": 26,
+ "column": 39
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 6
+ },
+ "end": {
+ "line": 132,
+ "column": 1
+ }
+ },
+ "line": 36
+ },
+ "2": {
+ "name": "onFinish",
+ "decl": {
+ "start": {
+ "line": 39,
+ "column": 11
+ },
+ "end": {
+ "line": 39,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 39,
+ "column": 28
+ },
+ "end": {
+ "line": 48,
+ "column": 3
+ }
+ },
+ "line": 39
+ },
+ "3": {
+ "name": "closeDrawer",
+ "decl": {
+ "start": {
+ "line": 49,
+ "column": 11
+ },
+ "end": {
+ "line": 49,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 25
+ },
+ "end": {
+ "line": 56,
+ "column": 3
+ }
+ },
+ "line": 49
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 53,
+ "column": 15
+ },
+ "end": {
+ "line": 53,
+ "column": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 21
+ },
+ "end": {
+ "line": 55,
+ "column": 5
+ }
+ },
+ "line": 53
+ },
+ "5": {
+ "name": "add",
+ "decl": {
+ "start": {
+ "line": 58,
+ "column": 11
+ },
+ "end": {
+ "line": 58,
+ "column": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 17
+ },
+ "end": {
+ "line": 64,
+ "column": 3
+ }
+ },
+ "line": 58
+ },
+ "6": {
+ "name": "edit",
+ "decl": {
+ "start": {
+ "line": 66,
+ "column": 11
+ },
+ "end": {
+ "line": 66,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 24
+ },
+ "end": {
+ "line": 72,
+ "column": 3
+ }
+ },
+ "line": 66
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 18
+ },
+ "end": {
+ "line": 84,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 36
+ },
+ "end": {
+ "line": 102,
+ "column": 11
+ }
+ },
+ "line": 84
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 88,
+ "column": 27
+ },
+ "end": {
+ "line": 88,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 33
+ },
+ "end": {
+ "line": 90,
+ "column": 19
+ }
+ },
+ "line": 88
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 97,
+ "column": 55
+ },
+ "end": {
+ "line": 97,
+ "column": 56
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 61
+ },
+ "end": {
+ "line": 97,
+ "column": 77
+ }
+ },
+ "line": 97
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 26,
+ "column": 38
+ },
+ "end": {
+ "line": 132,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 37,
+ "column": 32
+ },
+ "end": {
+ "line": 37,
+ "column": 47
+ }
+ },
+ "2": {
+ "start": {
+ "line": 38,
+ "column": 17
+ },
+ "end": {
+ "line": 38,
+ "column": 31
+ }
+ },
+ "3": {
+ "start": {
+ "line": 40,
+ "column": 4
+ },
+ "end": {
+ "line": 46,
+ "column": 5
+ }
+ },
+ "4": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 7
+ }
+ },
+ "5": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 25
+ }
+ },
+ "6": {
+ "start": {
+ "line": 45,
+ "column": 6
+ },
+ "end": {
+ "line": 45,
+ "column": 23
+ }
+ },
+ "7": {
+ "start": {
+ "line": 47,
+ "column": 4
+ },
+ "end": {
+ "line": 47,
+ "column": 22
+ }
+ },
+ "8": {
+ "start": {
+ "line": 50,
+ "column": 4
+ },
+ "end": {
+ "line": 50,
+ "column": 22
+ }
+ },
+ "9": {
+ "start": {
+ "line": 52,
+ "column": 4
+ },
+ "end": {
+ "line": 52,
+ "column": 18
+ }
+ },
+ "10": {
+ "start": {
+ "line": 53,
+ "column": 4
+ },
+ "end": {
+ "line": 55,
+ "column": 12
+ }
+ },
+ "11": {
+ "start": {
+ "line": 54,
+ "column": 6
+ },
+ "end": {
+ "line": 54,
+ "column": 25
+ }
+ },
+ "12": {
+ "start": {
+ "line": 59,
+ "column": 4
+ },
+ "end": {
+ "line": 59,
+ "column": 21
+ }
+ },
+ "13": {
+ "start": {
+ "line": 60,
+ "column": 4
+ },
+ "end": {
+ "line": 63,
+ "column": 7
+ }
+ },
+ "14": {
+ "start": {
+ "line": 67,
+ "column": 4
+ },
+ "end": {
+ "line": 67,
+ "column": 21
+ }
+ },
+ "15": {
+ "start": {
+ "line": 68,
+ "column": 4
+ },
+ "end": {
+ "line": 71,
+ "column": 7
+ }
+ },
+ "16": {
+ "start": {
+ "line": 74,
+ "column": 2
+ },
+ "end": {
+ "line": 131,
+ "column": 4
+ }
+ },
+ "17": {
+ "start": {
+ "line": 85,
+ "column": 12
+ },
+ "end": {
+ "line": 101,
+ "column": 14
+ }
+ },
+ "18": {
+ "start": {
+ "line": 89,
+ "column": 20
+ },
+ "end": {
+ "line": 89,
+ "column": 33
+ }
+ },
+ "19": {
+ "start": {
+ "line": 97,
+ "column": 61
+ },
+ "end": {
+ "line": 97,
+ "column": 77
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx.js
new file mode 100644
index 00000000..c86a0400
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx.js
@@ -0,0 +1,52 @@
+window["pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx"] = {
+ "content": "// import React from 'react';\nimport type { SVGProps } from \"react\";\n\nexport function SolarUserIdLinear(props: SVGProps) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "SolarUserIdLinear",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 16
+ },
+ "end": {
+ "line": 4,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 66
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "line": 4
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/index.tsx.js
new file mode 100644
index 00000000..76633d04
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/configure/index.tsx.js
@@ -0,0 +1,829 @@
+window["pages/index/projects/[id]/configure/index.tsx"] = {
+ "content": "import Icon, { AppstoreOutlined, ExperimentOutlined } from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { Editor } from \"@monaco-editor/react\";\nimport { FormRegion, TextTypography } from \"../../../../../components/ui\";\n\nimport {\n GetProjectByIdDocument,\n UpdateProjectDocument,\n} from \"../../../../../helpers/backend/gen/graphql.ts\";\nimport BasicForms from \"./helper/BasicForms.tsx\";\nimport { SolarUserIdLinear } from \"./helper/icons/SolarUserIdLinear.tsx\";\nimport MemberTable from \"./helper/MemberTable.tsx\";\nimport TagTable from \"./helper/TagTable.tsx\";\nconst gridStyle: any = {\n width: \"100%\",\n};\nconst { Text } = Typography;\nconst { useToken } = theme;\nconst ProjectConfigure = () => {\n const prm: any = useParams();\n const { token } = useToken();\n const { t } = useTranslation();\n const { data: GetProjectByIdDocumentData } = useQuery(\n GetProjectByIdDocument,\n {\n variables: {\n projectID: prm.id,\n },\n fetchPolicy: \"no-cache\",\n },\n );\n const [updateProject] = useMutation(UpdateProjectDocument);\n const showMessage = () => {\n message.success(\"保存成功\");\n };\n const [coverage, setCoverage] = useState(\"\");\n\n const [defaultBranch, setDefaultBranch] = useState(\"\");\n\n const basicFormsRef = useRef(null);\n return (\n \n
}\n />\n
}\n onSave={() => {\n basicFormsRef.current?.submit();\n }}\n >\n
\n \n
\n
\n \n {t(\"projects.config.coverage\")} \n \n }\n >\n \n \n
\n
{t(\"projects.default.branch\")}
\n
\n {t(\"projects.config.default.branch.desc\")}\n \n
\n {GetProjectByIdDocumentData && (\n
({\n label: item,\n value: item,\n }))}\n onSelect={(value) => {\n setDefaultBranch(value as string);\n }}\n />\n )}\n \n\n \n
\n
\n {GetProjectByIdDocumentData?.getProjectByID && (\n {\n setCoverage(value || \"\");\n }}\n height={\"240px\"}\n language={\"json\"}\n options={{\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n wordWrap: \"wordWrapColumn\",\n automaticLayout: true,\n scrollBeyondLastLine: false,\n }}\n />\n )}\n
\n
\n {\n try {\n // coverage用户输入了才检测\n if (coverage !== \"\") {\n JSON.parse(coverage);\n }\n\n updateProject({\n variables: {\n projectID: prm.id,\n coverage:\n coverage ||\n GetProjectByIdDocumentData?.getProjectByID.coverage ||\n \"\",\n description: \"__null__\",\n defaultBranch:\n defaultBranch ||\n GetProjectByIdDocumentData?.getProjectByID\n .defaultBranch ||\n \"-\",\n },\n }).then(() => {\n showMessage();\n });\n } catch (e) {\n message.error(\"Invalid JSON\");\n }\n }}\n >\n {t(\"projects.config.save.changes\")}\n \n \n \n
\n \n
\n \n
\n \n );\n};\n\nexport default ProjectConfigure;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/configure/index.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ],
+ "1": [
+ 0,
+ 0
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 0,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 0,
+ 0
+ ],
+ "6": [
+ 0,
+ 0,
+ 0
+ ],
+ "7": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 8,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0,
+ "24": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 13
+ },
+ "end": {
+ "line": 94,
+ "column": 13
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 76,
+ "column": 13
+ },
+ "end": {
+ "line": 76,
+ "column": 39
+ }
+ },
+ {
+ "start": {
+ "line": 77,
+ "column": 14
+ },
+ "end": {
+ "line": 93,
+ "column": 16
+ }
+ }
+ ],
+ "line": 76
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 18
+ },
+ "end": {
+ "line": 85,
+ "column": 80
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 85,
+ "column": 18
+ },
+ "end": {
+ "line": 85,
+ "column": 74
+ }
+ },
+ {
+ "start": {
+ "line": 85,
+ "column": 78
+ },
+ "end": {
+ "line": 85,
+ "column": 80
+ }
+ }
+ ],
+ "line": 85
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 15
+ },
+ "end": {
+ "line": 146,
+ "column": 15
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 120,
+ "column": 15
+ },
+ "end": {
+ "line": 120,
+ "column": 57
+ }
+ },
+ {
+ "start": {
+ "line": 121,
+ "column": 16
+ },
+ "end": {
+ "line": 145,
+ "column": 18
+ }
+ }
+ ],
+ "line": 120
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 126,
+ "column": 22
+ },
+ "end": {
+ "line": 126,
+ "column": 62
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 126,
+ "column": 22
+ },
+ "end": {
+ "line": 126,
+ "column": 51
+ }
+ },
+ {
+ "start": {
+ "line": 126,
+ "column": 55
+ },
+ "end": {
+ "line": 126,
+ "column": 62
+ }
+ }
+ ],
+ "line": 126
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 32
+ },
+ "end": {
+ "line": 132,
+ "column": 43
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 132,
+ "column": 32
+ },
+ "end": {
+ "line": 132,
+ "column": 37
+ }
+ },
+ {
+ "start": {
+ "line": 132,
+ "column": 41
+ },
+ "end": {
+ "line": 132,
+ "column": 43
+ }
+ }
+ ],
+ "line": 132
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 16
+ },
+ "end": {
+ "line": 156,
+ "column": 17
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 154,
+ "column": 16
+ },
+ "end": {
+ "line": 156,
+ "column": 17
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 154
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 22
+ },
+ "end": {
+ "line": 164,
+ "column": 24
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 162,
+ "column": 22
+ },
+ "end": {
+ "line": 162,
+ "column": 30
+ }
+ },
+ {
+ "start": {
+ "line": 163,
+ "column": 22
+ },
+ "end": {
+ "line": 163,
+ "column": 73
+ }
+ },
+ {
+ "start": {
+ "line": 164,
+ "column": 22
+ },
+ "end": {
+ "line": 164,
+ "column": 24
+ }
+ }
+ ],
+ "line": 162
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 22
+ },
+ "end": {
+ "line": 170,
+ "column": 25
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 167,
+ "column": 22
+ },
+ "end": {
+ "line": 167,
+ "column": 35
+ }
+ },
+ {
+ "start": {
+ "line": 168,
+ "column": 22
+ },
+ "end": {
+ "line": 169,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 170,
+ "column": 22
+ },
+ "end": {
+ "line": 170,
+ "column": 25
+ }
+ }
+ ],
+ "line": 167
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 19,
+ "column": 25
+ },
+ "end": {
+ "line": 19,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 31
+ },
+ "end": {
+ "line": 193,
+ "column": 1
+ }
+ },
+ "line": 19
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 33,
+ "column": 22
+ },
+ "end": {
+ "line": 33,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 28
+ },
+ "end": {
+ "line": 35,
+ "column": 3
+ }
+ },
+ "line": 33
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 50,
+ "column": 16
+ },
+ "end": {
+ "line": 50,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 22
+ },
+ "end": {
+ "line": 52,
+ "column": 9
+ }
+ },
+ "line": 50
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 86,
+ "column": 22
+ },
+ "end": {
+ "line": 86,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 33
+ },
+ "end": {
+ "line": 89,
+ "column": 17
+ }
+ },
+ "line": 86
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 90,
+ "column": 26
+ },
+ "end": {
+ "line": 90,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 37
+ },
+ "end": {
+ "line": 92,
+ "column": 17
+ }
+ },
+ "line": 90
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 131,
+ "column": 28
+ },
+ "end": {
+ "line": 131,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 39
+ },
+ "end": {
+ "line": 133,
+ "column": 19
+ }
+ },
+ "line": 131
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 151,
+ "column": 21
+ },
+ "end": {
+ "line": 151,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 151,
+ "column": 27
+ },
+ "end": {
+ "line": 178,
+ "column": 13
+ }
+ },
+ "line": 151
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 172,
+ "column": 24
+ },
+ "end": {
+ "line": 172,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 30
+ },
+ "end": {
+ "line": 174,
+ "column": 17
+ }
+ },
+ "line": 172
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 14,
+ "column": 23
+ },
+ "end": {
+ "line": 16,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 17,
+ "column": 17
+ },
+ "end": {
+ "line": 17,
+ "column": 27
+ }
+ },
+ "2": {
+ "start": {
+ "line": 18,
+ "column": 21
+ },
+ "end": {
+ "line": 18,
+ "column": 26
+ }
+ },
+ "3": {
+ "start": {
+ "line": 19,
+ "column": 25
+ },
+ "end": {
+ "line": 193,
+ "column": 1
+ }
+ },
+ "4": {
+ "start": {
+ "line": 20,
+ "column": 19
+ },
+ "end": {
+ "line": 20,
+ "column": 30
+ }
+ },
+ "5": {
+ "start": {
+ "line": 21,
+ "column": 20
+ },
+ "end": {
+ "line": 21,
+ "column": 30
+ }
+ },
+ "6": {
+ "start": {
+ "line": 22,
+ "column": 16
+ },
+ "end": {
+ "line": 22,
+ "column": 32
+ }
+ },
+ "7": {
+ "start": {
+ "line": 23,
+ "column": 47
+ },
+ "end": {
+ "line": 31,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 32,
+ "column": 26
+ },
+ "end": {
+ "line": 32,
+ "column": 60
+ }
+ },
+ "9": {
+ "start": {
+ "line": 33,
+ "column": 22
+ },
+ "end": {
+ "line": 35,
+ "column": 3
+ }
+ },
+ "10": {
+ "start": {
+ "line": 34,
+ "column": 4
+ },
+ "end": {
+ "line": 34,
+ "column": 28
+ }
+ },
+ "11": {
+ "start": {
+ "line": 36,
+ "column": 34
+ },
+ "end": {
+ "line": 36,
+ "column": 54
+ }
+ },
+ "12": {
+ "start": {
+ "line": 38,
+ "column": 44
+ },
+ "end": {
+ "line": 38,
+ "column": 64
+ }
+ },
+ "13": {
+ "start": {
+ "line": 40,
+ "column": 24
+ },
+ "end": {
+ "line": 40,
+ "column": 41
+ }
+ },
+ "14": {
+ "start": {
+ "line": 41,
+ "column": 2
+ },
+ "end": {
+ "line": 192,
+ "column": 4
+ }
+ },
+ "15": {
+ "start": {
+ "line": 51,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 42
+ }
+ },
+ "16": {
+ "start": {
+ "line": 86,
+ "column": 33
+ },
+ "end": {
+ "line": 89,
+ "column": 17
+ }
+ },
+ "17": {
+ "start": {
+ "line": 91,
+ "column": 18
+ },
+ "end": {
+ "line": 91,
+ "column": 52
+ }
+ },
+ "18": {
+ "start": {
+ "line": 132,
+ "column": 20
+ },
+ "end": {
+ "line": 132,
+ "column": 45
+ }
+ },
+ "19": {
+ "start": {
+ "line": 152,
+ "column": 14
+ },
+ "end": {
+ "line": 177,
+ "column": 15
+ }
+ },
+ "20": {
+ "start": {
+ "line": 154,
+ "column": 16
+ },
+ "end": {
+ "line": 156,
+ "column": 17
+ }
+ },
+ "21": {
+ "start": {
+ "line": 155,
+ "column": 18
+ },
+ "end": {
+ "line": 155,
+ "column": 39
+ }
+ },
+ "22": {
+ "start": {
+ "line": 158,
+ "column": 16
+ },
+ "end": {
+ "line": 174,
+ "column": 19
+ }
+ },
+ "23": {
+ "start": {
+ "line": 173,
+ "column": 18
+ },
+ "end": {
+ "line": 173,
+ "column": 32
+ }
+ },
+ "24": {
+ "start": {
+ "line": 176,
+ "column": 16
+ },
+ "end": {
+ "line": 176,
+ "column": 46
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/getting-started.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/getting-started.tsx.js
new file mode 100644
index 00000000..bf59e27c
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/getting-started.tsx.js
@@ -0,0 +1,240 @@
+window["pages/index/projects/[id]/getting-started.tsx"] = {
+ "content": "import { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport CopyCode from \"../../../../components/app/CopyCode.tsx\";\nimport { gettingStartedContent } from \"../../../../components/app/getting-started-content.ts\";\nconst { Title, Text } = Typography;\n// import CopyCode from '../components/CopyCode.tsx';\n// import { gettingStartedContent } from '../components/getting- started-content.ts';\nconst ProjectGettingStarted = () => {\n const nav = useNavigate();\n const { data } = useRequest(() =>\n axios.get(\"/api/base\").then(({ data }) => data),\n );\n return (\n \n
Configure Babel \n
\n
Install \n
\n Add the canyon and istanbul babel plugin as a dependency using npm:\n \n
\n
Configure Babel \n
Add the following configuration to babel: \n
\n
Next Steps \n
\n {\n window.open(data?.SYSTEM_QUESTION_LINK);\n }}\n >\n Take me to Report the first coverage\n \n {\n nav(`/projects`);\n }}\n >\n Take me to Projects\n \n \n
\n );\n};\n\nexport default ProjectGettingStarted;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/getting-started.tsx",
+ "b": {},
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 10,
+ "column": 30
+ },
+ "end": {
+ "line": 10,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 36
+ },
+ "end": {
+ "line": 47,
+ "column": 1
+ }
+ },
+ "line": 10
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 30
+ },
+ "end": {
+ "line": 12,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 4
+ },
+ "end": {
+ "line": 13,
+ "column": 51
+ }
+ },
+ "line": 13
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 13,
+ "column": 32
+ },
+ "end": {
+ "line": 13,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 46
+ },
+ "end": {
+ "line": 13,
+ "column": 50
+ }
+ },
+ "line": 13
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 31,
+ "column": 19
+ },
+ "end": {
+ "line": 31,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 25
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ },
+ "line": 31
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 38,
+ "column": 19
+ },
+ "end": {
+ "line": 38,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 38,
+ "column": 25
+ },
+ "end": {
+ "line": 40,
+ "column": 11
+ }
+ },
+ "line": 38
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 24
+ },
+ "end": {
+ "line": 7,
+ "column": 34
+ }
+ },
+ "1": {
+ "start": {
+ "line": 10,
+ "column": 30
+ },
+ "end": {
+ "line": 47,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 11,
+ "column": 14
+ },
+ "end": {
+ "line": 11,
+ "column": 27
+ }
+ },
+ "3": {
+ "start": {
+ "line": 12,
+ "column": 19
+ },
+ "end": {
+ "line": 14,
+ "column": 3
+ }
+ },
+ "4": {
+ "start": {
+ "line": 13,
+ "column": 4
+ },
+ "end": {
+ "line": 13,
+ "column": 51
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 46
+ },
+ "end": {
+ "line": 13,
+ "column": 50
+ }
+ },
+ "6": {
+ "start": {
+ "line": 15,
+ "column": 2
+ },
+ "end": {
+ "line": 46,
+ "column": 4
+ }
+ },
+ "7": {
+ "start": {
+ "line": 32,
+ "column": 12
+ },
+ "end": {
+ "line": 32,
+ "column": 52
+ }
+ },
+ "8": {
+ "start": {
+ "line": 39,
+ "column": 12
+ },
+ "end": {
+ "line": 39,
+ "column": 29
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/index.tsx.js
new file mode 100644
index 00000000..7ff9390c
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/index.tsx.js
@@ -0,0 +1,2238 @@
+window["pages/index/projects/[id]/index.tsx"] = {
+ "content": "import Icon, {\n AimOutlined,\n BranchesOutlined,\n EditOutlined,\n QuestionCircleOutlined,\n} from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { TourProps } from \"antd\";\nimport { ColumnsType } from \"antd/es/table\";\nimport dayjs from \"dayjs\";\nimport ReactECharts from \"echarts-for-react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate, useParams } from \"react-router-dom\";\n\nimport ProjectRecordDetailDrawer from \"../../../../components/app/ProjectRecordDetailDrawer.tsx\";\nimport MaterialSymbolsCommitSharp from \"../../../../components/icons/MaterialSymbolsCommitSharp.tsx\";\nimport {\n DeleteProjectRecordDocument,\n GetProjectByIdDocument,\n GetProjectChartDataDocument,\n GetProjectCompartmentDataDocument,\n GetProjectRecordsDocument,\n ProjectRecordsModel,\n} from \"../../../../helpers/backend/gen/graphql.ts\";\n\nconst { useToken } = theme;\nconst { Title, Text } = Typography;\n// const content = ()=>{\n// return \n// nihao\n//
\n// }\nconst ProjectOverviewPage = () => {\n const { token } = useToken();\n const { t } = useTranslation();\n const [keyword, setKeyword] = useState(\"\");\n const [current, setCurrent] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [open, setOpen] = useState(false);\n const [sha, setSha] = useState(\"\");\n const initDefaultBranchOnly = Boolean(\n localStorage.getItem(\"defaultBranchOnly\"),\n );\n const [defaultBranchOnly, setDefaultBranchOnly] = useState(\n initDefaultBranchOnly,\n );\n const onClose = () => {\n setOpen(false);\n };\n\n const pam = useParams();\n\n const { data: projectsData, loading } = useQuery(GetProjectRecordsDocument, {\n variables: {\n projectID: pam.id as string,\n current: current,\n pageSize: pageSize,\n keyword: keyword,\n onlyDefault: defaultBranchOnly,\n },\n fetchPolicy: \"no-cache\",\n });\n\n const { data: projectByIdData } = useQuery(GetProjectByIdDocument, {\n variables: {\n projectID: pam.id as string,\n },\n fetchPolicy: \"no-cache\",\n });\n\n const { data: projectChartData, loading: projectChartDataLoading } = useQuery(\n GetProjectChartDataDocument,\n {\n variables: {\n projectID: pam.id as string,\n branch: \"-\",\n },\n fetchPolicy: \"no-cache\",\n },\n );\n\n const {\n data: projectCompartmentDataData,\n loading: projectCompartmentDataLoading,\n } = useQuery(GetProjectCompartmentDataDocument, {\n variables: {\n projectID: pam.id as string,\n },\n fetchPolicy: \"no-cache\",\n });\n const [deleteProjectRecord] = useMutation(DeleteProjectRecordDocument);\n const ref1 = useRef(null);\n const ref2 = useRef(null);\n const [tourOpen, setTourOpen] = useState(false);\n const steps: TourProps[\"steps\"] = [\n {\n title: t(\"projects.statements_tour_title\"),\n description: t(\"projects.statements_tour_description\"),\n target: () => ref1.current,\n },\n {\n title: t(\"projects.newlines_tour_title\"),\n description: t(\"projects.newlines_tour_description\"),\n target: () => ref2.current,\n },\n ];\n\n useEffect(() => {\n if (!localStorage.getItem(\"touropen\")) {\n setTimeout(() => {\n setTourOpen(true);\n localStorage.setItem(\"touropen\", \"true\");\n }, 2000);\n }\n }, []);\n\n const columns: ColumnsType = [\n {\n title: (\n \n \n Sha\n
\n ),\n dataIndex: \"sha\",\n width: \"100px\",\n render(_, { webUrl }): JSX.Element {\n return (\n \n {_?.slice(0, 7)}\n \n );\n },\n },\n {\n title: (\n <>\n \n {t(\"projects.branch\")}\n >\n ),\n dataIndex: \"branch\",\n ellipsis: true,\n width: \"120px\",\n },\n {\n title: (\n <>\n \n {t(\"projects.compare_target\")}\n >\n ),\n dataIndex: \"compareTarget\",\n width: \"120px\",\n render(_, { compareUrl }): JSX.Element {\n return (\n \n {_.length === 40 ? _.slice(0, 7) : _}\n \n );\n },\n },\n {\n title: <>{t(\"Build\")}>,\n align: \"center\",\n width: \"70px\",\n render(_, record) {\n return (\n <>\n {record.buildID !== \"-\" ? (\n \n \n \n ) : (\n - \n )}\n >\n );\n },\n },\n {\n title: t(\"projects.message\"),\n dataIndex: \"message\",\n width: \"160px\",\n ellipsis: true,\n },\n {\n title: (\n \n \n \n \n {t(\"projects.statements\")}\n
\n ),\n dataIndex: \"statements\",\n // width: '148px',\n render(_, { sha }) {\n return (\n \n {_}%\n \n );\n },\n // width: '150px',\n // render(_, { sha }) {\n // return (\n // \n //
\n // {_}%\n // \n //
\n // \n // \n //\n //
\n // );\n // },\n },\n {\n title: (\n \n \n \n \n {t(\"projects.newlines\")}\n
\n ),\n dataIndex: \"newlines\",\n // width: '130px',\n render(_, { sha }) {\n return (\n \n {_}%\n \n );\n },\n },\n {\n title: t(\"projects.report_times\"),\n dataIndex: \"times\",\n width: \"80px\",\n },\n {\n title: t(\"projects.latest_report_time\"),\n dataIndex: \"lastReportTime\",\n width: \"135px\",\n render(_) {\n return {dayjs(_).format(\"MM-DD HH:mm\")} ;\n },\n },\n {\n title: t(\"common.option\"),\n width: \"125px\",\n render(_): JSX.Element {\n return (\n \n );\n },\n },\n ];\n\n const option = {\n backgroundColor: \"transparent\",\n grid: {\n top: \"30px\",\n left: \"30px\",\n right: \"10px\",\n bottom: \"20px\",\n },\n tooltip: {\n trigger: \"axis\",\n },\n legend: {\n x: \"right\",\n data: [t(\"projects.statements\"), t(\"projects.newlines\")],\n },\n xAxis: {\n type: \"category\",\n data:\n projectChartData?.getProjectChartData.map(({ sha }) =>\n sha.slice(0, 7),\n ) || [],\n },\n yAxis: {\n type: \"value\",\n },\n series: [t(\"projects.statements\"), t(\"projects.newlines\")].map(\n (_, index) => ({\n name: _,\n data:\n projectChartData?.getProjectChartData.map(\n ({ statements, newlines }) => (index === 0 ? statements : newlines),\n ) || [],\n type: \"line\",\n }),\n ),\n };\n const nav = useNavigate();\n return (\n \n
\n
\n
\n {projectByIdData?.getProjectByID.pathWithNamespace}\n {\n nav(`/projects/${pam.id}/configure`);\n }}\n />\n \n \n\n
\n \n {t(\"projects.config.project.id\")}:{\" \"}\n {projectByIdData?.getProjectByID.id}\n \n \n {t(\"projects.default.branch\")}:{\" \"}\n {projectByIdData?.getProjectByID.defaultBranch}\n \n
\n {(projectByIdData?.getProjectByID.tags || []).length > 0 && (\n
\n \n {t(\"projects.config.tag\")}:\n \n {projectByIdData?.getProjectByID.tags.map(\n ({ color, name, link }, index) => (\n {\n if (link) {\n window.open(link);\n }\n }}\n >\n {name}\n \n ),\n )}\n
\n )}\n
\n\n
\n {t(\"projects.overview\")}\n \n
{\n setTourOpen(false);\n }}\n steps={steps}\n />\n \n
\n \n {(projectCompartmentDataData?.getProjectCompartmentData || []).map(\n (item, index) => {\n return (\n
\n {t(item.label)} \n {item.value} \n
\n );\n },\n )}\n
\n \n\n
\n
\n \n
\n
\n {t(\"projects.trends_in_coverage\")}\n \n \n {t(\"projects.trends.tooltip\")}\n \n \n
\n
\n \n
\n
\n\n \n {t(\"projects.records\")}\n \n \n
\n {\n setKeyword(value);\n setCurrent(1);\n }}\n style={{ width: \"600px\" }}\n />\n \n \n {t(\"projects.only.default.branch\")}:{\" \"}\n \n {\n if (v) {\n localStorage.setItem(\"defaultBranchOnly\", \"1\");\n } else {\n localStorage.removeItem(\"defaultBranchOnly\");\n }\n setDefaultBranchOnly(v);\n }}\n />\n \n
\n\n
\n {[\"#1f77b4\", \"#ff7f0e\", \"#2ca02c\"].map((item, index) => {\n return (\n
\n \n \n {{\n 0: \"手工测试\",\n 1: \"UI自动化测试\",\n 2: \"单元测试\",\n }[index] || \"unknown\"}\n \n
\n );\n })}\n
\n
\n {/*div*/}\n t(\"common.total_items\", { total }),\n total: projectsData?.getProjectRecords?.total,\n current,\n pageSize,\n // current: projectsData?.getProjects?.current,\n // pageSize: projectsData?.getProjects?.pageSize,\n }}\n dataSource={projectsData?.getProjectRecords?.data || []}\n onChange={(val) => {\n setCurrent(val.current || 1);\n setPageSize(val.pageSize || 10);\n // setKeyword(keyword);\n }}\n />\n\n {/*默太狂就共用一个*/}\n \n \n );\n};\n\nexport default ProjectOverviewPage;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/index.tsx",
+ "b": {
+ "0": [
+ 1,
+ 9
+ ],
+ "1": [
+ 90,
+ 0
+ ],
+ "2": [
+ 90,
+ 0
+ ],
+ "3": [
+ 0,
+ 90
+ ],
+ "4": [
+ 47,
+ 31
+ ],
+ "5": [
+ 94,
+ 62
+ ],
+ "6": [
+ 2784,
+ 2784
+ ],
+ "7": [
+ 47,
+ 23
+ ],
+ "8": [
+ 47,
+ 24
+ ],
+ "9": [
+ 0,
+ 23
+ ],
+ "10": [
+ 0,
+ 0
+ ],
+ "11": [
+ 47,
+ 10
+ ],
+ "12": [
+ 0,
+ 47
+ ],
+ "13": [
+ 0,
+ 0
+ ],
+ "14": [
+ 141,
+ 0
+ ],
+ "15": [
+ 47,
+ 38
+ ],
+ "16": [
+ 0,
+ 0
+ ],
+ "17": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 47,
+ "1": 1,
+ "2": 61,
+ "3": 0,
+ "4": 10,
+ "5": 0,
+ "6": 90,
+ "7": 90,
+ "8": 90,
+ "9": 90,
+ "10": 90,
+ "11": 90,
+ "12": 90,
+ "13": 1,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 2784,
+ "19": 94,
+ "20": 5568,
+ "21": 0,
+ "22": 23,
+ "23": 0,
+ "24": 0,
+ "25": 148,
+ "26": 0,
+ "27": 0,
+ "28": 141,
+ "29": 23,
+ "30": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 47,
+ "4": 47,
+ "5": 47,
+ "6": 47,
+ "7": 47,
+ "8": 47,
+ "9": 47,
+ "10": 47,
+ "11": 47,
+ "12": 47,
+ "13": 1,
+ "14": 47,
+ "15": 47,
+ "16": 47,
+ "17": 47,
+ "18": 47,
+ "19": 47,
+ "20": 47,
+ "21": 47,
+ "22": 47,
+ "23": 47,
+ "24": 61,
+ "25": 0,
+ "26": 47,
+ "27": 10,
+ "28": 1,
+ "29": 0,
+ "30": 0,
+ "31": 47,
+ "32": 90,
+ "33": 90,
+ "34": 90,
+ "35": 90,
+ "36": 90,
+ "37": 90,
+ "38": 90,
+ "39": 1,
+ "40": 1,
+ "41": 0,
+ "42": 0,
+ "43": 0,
+ "44": 0,
+ "45": 47,
+ "46": 2784,
+ "47": 94,
+ "48": 5568,
+ "49": 47,
+ "50": 47,
+ "51": 0,
+ "52": 23,
+ "53": 0,
+ "54": 0,
+ "55": 0,
+ "56": 148,
+ "57": 0,
+ "58": 0,
+ "59": 0,
+ "60": 0,
+ "61": 0,
+ "62": 0,
+ "63": 141,
+ "64": 23,
+ "65": 0,
+ "66": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 4
+ },
+ "end": {
+ "line": 115,
+ "column": 5
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 110,
+ "column": 4
+ },
+ "end": {
+ "line": 115,
+ "column": 5
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 110
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 159,
+ "column": 13
+ },
+ "end": {
+ "line": 159,
+ "column": 48
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 159,
+ "column": 31
+ },
+ "end": {
+ "line": 159,
+ "column": 44
+ }
+ },
+ {
+ "start": {
+ "line": 159,
+ "column": 47
+ },
+ "end": {
+ "line": 159,
+ "column": 48
+ }
+ }
+ ],
+ "line": 159
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 13
+ },
+ "end": {
+ "line": 181,
+ "column": 13
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 172,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 18
+ }
+ },
+ {
+ "start": {
+ "line": 180,
+ "column": 14
+ },
+ "end": {
+ "line": 180,
+ "column": 28
+ }
+ }
+ ],
+ "line": 171
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 40
+ },
+ "end": {
+ "line": 175,
+ "column": 102
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 175,
+ "column": 71
+ },
+ "end": {
+ "line": 175,
+ "column": 79
+ }
+ },
+ {
+ "start": {
+ "line": 175,
+ "column": 82
+ },
+ "end": {
+ "line": 175,
+ "column": 102
+ }
+ }
+ ],
+ "line": 175
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 338,
+ "column": 8
+ },
+ "end": {
+ "line": 340,
+ "column": 15
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 338,
+ "column": 8
+ },
+ "end": {
+ "line": 340,
+ "column": 9
+ }
+ },
+ {
+ "start": {
+ "line": 340,
+ "column": 13
+ },
+ "end": {
+ "line": 340,
+ "column": 15
+ }
+ }
+ ],
+ "line": 338
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 10
+ },
+ "end": {
+ "line": 351,
+ "column": 17
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 349,
+ "column": 10
+ },
+ "end": {
+ "line": 351,
+ "column": 11
+ }
+ },
+ {
+ "start": {
+ "line": 351,
+ "column": 15
+ },
+ "end": {
+ "line": 351,
+ "column": 17
+ }
+ }
+ ],
+ "line": 349
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 350,
+ "column": 43
+ },
+ "end": {
+ "line": 350,
+ "column": 78
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 350,
+ "column": 57
+ },
+ "end": {
+ "line": 350,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 350,
+ "column": 70
+ },
+ "end": {
+ "line": 350,
+ "column": 78
+ }
+ }
+ ],
+ "line": 350
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 383,
+ "column": 9
+ },
+ "end": {
+ "line": 405,
+ "column": 9
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 383,
+ "column": 9
+ },
+ "end": {
+ "line": 383,
+ "column": 64
+ }
+ },
+ {
+ "start": {
+ "line": 384,
+ "column": 10
+ },
+ "end": {
+ "line": 404,
+ "column": 16
+ }
+ }
+ ],
+ "line": 383
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 383,
+ "column": 10
+ },
+ "end": {
+ "line": 383,
+ "column": 52
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 383,
+ "column": 10
+ },
+ "end": {
+ "line": 383,
+ "column": 46
+ }
+ },
+ {
+ "start": {
+ "line": 383,
+ "column": 50
+ },
+ "end": {
+ "line": 383,
+ "column": 52
+ }
+ }
+ ],
+ "line": 383
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 35
+ },
+ "end": {
+ "line": 391,
+ "column": 63
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 391,
+ "column": 42
+ },
+ "end": {
+ "line": 391,
+ "column": 51
+ }
+ },
+ {
+ "start": {
+ "line": 391,
+ "column": 54
+ },
+ "end": {
+ "line": 391,
+ "column": 63
+ }
+ }
+ ],
+ "line": 391
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 20
+ },
+ "end": {
+ "line": 397,
+ "column": 21
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 395,
+ "column": 20
+ },
+ "end": {
+ "line": 397,
+ "column": 21
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 395
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 14
+ },
+ "end": {
+ "line": 423,
+ "column": 73
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 423,
+ "column": 14
+ },
+ "end": {
+ "line": 423,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 423,
+ "column": 71
+ },
+ "end": {
+ "line": 423,
+ "column": 73
+ }
+ }
+ ],
+ "line": 423
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 468,
+ "column": 18
+ },
+ "end": {
+ "line": 472,
+ "column": 23
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 469,
+ "column": 22
+ },
+ "end": {
+ "line": 469,
+ "column": 28
+ }
+ },
+ {
+ "start": {
+ "line": 470,
+ "column": 22
+ },
+ "end": {
+ "line": 472,
+ "column": 23
+ }
+ }
+ ],
+ "line": 468
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 16
+ },
+ "end": {
+ "line": 512,
+ "column": 17
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 508,
+ "column": 16
+ },
+ "end": {
+ "line": 512,
+ "column": 17
+ }
+ },
+ {
+ "start": {
+ "line": 510,
+ "column": 23
+ },
+ "end": {
+ "line": 512,
+ "column": 17
+ }
+ }
+ ],
+ "line": 508
+ },
+ "14": {
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 19
+ },
+ "end": {
+ "line": 532,
+ "column": 39
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 528,
+ "column": 19
+ },
+ "end": {
+ "line": 532,
+ "column": 26
+ }
+ },
+ {
+ "start": {
+ "line": 532,
+ "column": 30
+ },
+ "end": {
+ "line": 532,
+ "column": 39
+ }
+ }
+ ],
+ "line": 528
+ },
+ "15": {
+ "loc": {
+ "start": {
+ "line": 558,
+ "column": 20
+ },
+ "end": {
+ "line": 558,
+ "column": 63
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 558,
+ "column": 20
+ },
+ "end": {
+ "line": 558,
+ "column": 57
+ }
+ },
+ {
+ "start": {
+ "line": 558,
+ "column": 61
+ },
+ "end": {
+ "line": 558,
+ "column": 63
+ }
+ }
+ ],
+ "line": 558
+ },
+ "16": {
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 21
+ },
+ "end": {
+ "line": 560,
+ "column": 37
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 560,
+ "column": 21
+ },
+ "end": {
+ "line": 560,
+ "column": 32
+ }
+ },
+ {
+ "start": {
+ "line": 560,
+ "column": 36
+ },
+ "end": {
+ "line": 560,
+ "column": 37
+ }
+ }
+ ],
+ "line": 560
+ },
+ "17": {
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 22
+ },
+ "end": {
+ "line": 561,
+ "column": 40
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 561,
+ "column": 22
+ },
+ "end": {
+ "line": 561,
+ "column": 34
+ }
+ },
+ {
+ "start": {
+ "line": 561,
+ "column": 38
+ },
+ "end": {
+ "line": 561,
+ "column": 40
+ }
+ }
+ ],
+ "line": 561
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 34,
+ "column": 28
+ },
+ "end": {
+ "line": 34,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 34
+ },
+ "end": {
+ "line": 570,
+ "column": 1
+ }
+ },
+ "line": 34
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 48,
+ "column": 18
+ },
+ "end": {
+ "line": 48,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 24
+ },
+ "end": {
+ "line": 50,
+ "column": 3
+ }
+ },
+ "line": 48
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 100,
+ "column": 14
+ },
+ "end": {
+ "line": 100,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 20
+ },
+ "end": {
+ "line": 100,
+ "column": 32
+ }
+ },
+ "line": 100
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 105,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 20
+ },
+ "end": {
+ "line": 105,
+ "column": 32
+ }
+ },
+ "line": 105
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 109,
+ "column": 12
+ },
+ "end": {
+ "line": 109,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 109,
+ "column": 18
+ },
+ "end": {
+ "line": 116,
+ "column": 3
+ }
+ },
+ "line": 109
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 111,
+ "column": 17
+ },
+ "end": {
+ "line": 111,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 23
+ },
+ "end": {
+ "line": 114,
+ "column": 7
+ }
+ },
+ "line": 111
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 128,
+ "column": 6
+ },
+ "end": {
+ "line": 128,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 128,
+ "column": 41
+ },
+ "end": {
+ "line": 134,
+ "column": 7
+ }
+ },
+ "line": 128
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 156,
+ "column": 6
+ },
+ "end": {
+ "line": 156,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 45
+ },
+ "end": {
+ "line": 162,
+ "column": 7
+ }
+ },
+ "line": 156
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 168,
+ "column": 6
+ },
+ "end": {
+ "line": 168,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 24
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ },
+ "line": 168
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 203,
+ "column": 6
+ },
+ "end": {
+ "line": 203,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 203,
+ "column": 25
+ },
+ "end": {
+ "line": 213,
+ "column": 7
+ }
+ },
+ "line": 203
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 246,
+ "column": 6
+ },
+ "end": {
+ "line": 246,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 246,
+ "column": 25
+ },
+ "end": {
+ "line": 256,
+ "column": 7
+ }
+ },
+ "line": 246
+ },
+ "11": {
+ "name": "(anonymous_11)",
+ "decl": {
+ "start": {
+ "line": 267,
+ "column": 6
+ },
+ "end": {
+ "line": 267,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 16
+ },
+ "end": {
+ "line": 269,
+ "column": 7
+ }
+ },
+ "line": 267
+ },
+ "12": {
+ "name": "(anonymous_12)",
+ "decl": {
+ "start": {
+ "line": 274,
+ "column": 6
+ },
+ "end": {
+ "line": 274,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 29
+ },
+ "end": {
+ "line": 316,
+ "column": 7
+ }
+ },
+ "line": 274
+ },
+ "13": {
+ "name": "(anonymous_13)",
+ "decl": {
+ "start": {
+ "line": 278,
+ "column": 23
+ },
+ "end": {
+ "line": 278,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 29
+ },
+ "end": {
+ "line": 281,
+ "column": 15
+ }
+ },
+ "line": 278
+ },
+ "14": {
+ "name": "(anonymous_14)",
+ "decl": {
+ "start": {
+ "line": 290,
+ "column": 25
+ },
+ "end": {
+ "line": 290,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 31
+ },
+ "end": {
+ "line": 303,
+ "column": 15
+ }
+ },
+ "line": 290
+ },
+ "15": {
+ "name": "(anonymous_15)",
+ "decl": {
+ "start": {
+ "line": 297,
+ "column": 24
+ },
+ "end": {
+ "line": 297,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 30
+ },
+ "end": {
+ "line": 299,
+ "column": 19
+ }
+ },
+ "line": 297
+ },
+ "16": {
+ "name": "(anonymous_16)",
+ "decl": {
+ "start": {
+ "line": 300,
+ "column": 25
+ },
+ "end": {
+ "line": 300,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 34
+ },
+ "end": {
+ "line": 302,
+ "column": 19
+ }
+ },
+ "line": 300
+ },
+ "17": {
+ "name": "(anonymous_17)",
+ "decl": {
+ "start": {
+ "line": 304,
+ "column": 24
+ },
+ "end": {
+ "line": 304,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 30
+ },
+ "end": {
+ "line": 306,
+ "column": 15
+ }
+ },
+ "line": 304
+ },
+ "18": {
+ "name": "(anonymous_18)",
+ "decl": {
+ "start": {
+ "line": 338,
+ "column": 50
+ },
+ "end": {
+ "line": 338,
+ "column": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 339,
+ "column": 10
+ },
+ "end": {
+ "line": 339,
+ "column": 25
+ }
+ },
+ "line": 339
+ },
+ "19": {
+ "name": "(anonymous_19)",
+ "decl": {
+ "start": {
+ "line": 346,
+ "column": 6
+ },
+ "end": {
+ "line": 346,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 21
+ },
+ "end": {
+ "line": 353,
+ "column": 7
+ }
+ },
+ "line": 346
+ },
+ "20": {
+ "name": "(anonymous_20)",
+ "decl": {
+ "start": {
+ "line": 350,
+ "column": 12
+ },
+ "end": {
+ "line": 350,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 350,
+ "column": 43
+ },
+ "end": {
+ "line": 350,
+ "column": 78
+ }
+ },
+ "line": 350
+ },
+ "21": {
+ "name": "(anonymous_21)",
+ "decl": {
+ "start": {
+ "line": 366,
+ "column": 23
+ },
+ "end": {
+ "line": 366,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 29
+ },
+ "end": {
+ "line": 368,
+ "column": 15
+ }
+ },
+ "line": 366
+ },
+ "22": {
+ "name": "(anonymous_22)",
+ "decl": {
+ "start": {
+ "line": 389,
+ "column": 14
+ },
+ "end": {
+ "line": 389,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 16
+ },
+ "end": {
+ "line": 401,
+ "column": 22
+ }
+ },
+ "line": 390
+ },
+ "23": {
+ "name": "(anonymous_23)",
+ "decl": {
+ "start": {
+ "line": 394,
+ "column": 27
+ },
+ "end": {
+ "line": 394,
+ "column": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 33
+ },
+ "end": {
+ "line": 398,
+ "column": 19
+ }
+ },
+ "line": 394
+ },
+ "24": {
+ "name": "(anonymous_24)",
+ "decl": {
+ "start": {
+ "line": 413,
+ "column": 17
+ },
+ "end": {
+ "line": 413,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 413,
+ "column": 23
+ },
+ "end": {
+ "line": 415,
+ "column": 9
+ }
+ },
+ "line": 413
+ },
+ "25": {
+ "name": "(anonymous_25)",
+ "decl": {
+ "start": {
+ "line": 424,
+ "column": 14
+ },
+ "end": {
+ "line": 424,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 424,
+ "column": 31
+ },
+ "end": {
+ "line": 440,
+ "column": 15
+ }
+ },
+ "line": 424
+ },
+ "26": {
+ "name": "(anonymous_26)",
+ "decl": {
+ "start": {
+ "line": 493,
+ "column": 22
+ },
+ "end": {
+ "line": 493,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 493,
+ "column": 33
+ },
+ "end": {
+ "line": 496,
+ "column": 13
+ }
+ },
+ "line": 493
+ },
+ "27": {
+ "name": "(anonymous_27)",
+ "decl": {
+ "start": {
+ "line": 507,
+ "column": 24
+ },
+ "end": {
+ "line": 507,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 31
+ },
+ "end": {
+ "line": 514,
+ "column": 15
+ }
+ },
+ "line": 507
+ },
+ "28": {
+ "name": "(anonymous_28)",
+ "decl": {
+ "start": {
+ "line": 520,
+ "column": 49
+ },
+ "end": {
+ "line": 520,
+ "column": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 520,
+ "column": 66
+ },
+ "end": {
+ "line": 536,
+ "column": 11
+ }
+ },
+ "line": 520
+ },
+ "29": {
+ "name": "(anonymous_29)",
+ "decl": {
+ "start": {
+ "line": 551,
+ "column": 21
+ },
+ "end": {
+ "line": 551,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 32
+ },
+ "end": {
+ "line": 551,
+ "column": 66
+ }
+ },
+ "line": 551
+ },
+ "30": {
+ "name": "(anonymous_30)",
+ "decl": {
+ "start": {
+ "line": 559,
+ "column": 18
+ },
+ "end": {
+ "line": 559,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 27
+ },
+ "end": {
+ "line": 563,
+ "column": 9
+ }
+ },
+ "line": 559
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 27,
+ "column": 21
+ },
+ "end": {
+ "line": 27,
+ "column": 26
+ }
+ },
+ "1": {
+ "start": {
+ "line": 28,
+ "column": 24
+ },
+ "end": {
+ "line": 28,
+ "column": 34
+ }
+ },
+ "2": {
+ "start": {
+ "line": 34,
+ "column": 28
+ },
+ "end": {
+ "line": 570,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 35,
+ "column": 20
+ },
+ "end": {
+ "line": 35,
+ "column": 30
+ }
+ },
+ "4": {
+ "start": {
+ "line": 36,
+ "column": 16
+ },
+ "end": {
+ "line": 36,
+ "column": 32
+ }
+ },
+ "5": {
+ "start": {
+ "line": 37,
+ "column": 32
+ },
+ "end": {
+ "line": 37,
+ "column": 44
+ }
+ },
+ "6": {
+ "start": {
+ "line": 38,
+ "column": 32
+ },
+ "end": {
+ "line": 38,
+ "column": 43
+ }
+ },
+ "7": {
+ "start": {
+ "line": 39,
+ "column": 34
+ },
+ "end": {
+ "line": 39,
+ "column": 46
+ }
+ },
+ "8": {
+ "start": {
+ "line": 40,
+ "column": 26
+ },
+ "end": {
+ "line": 40,
+ "column": 41
+ }
+ },
+ "9": {
+ "start": {
+ "line": 41,
+ "column": 24
+ },
+ "end": {
+ "line": 41,
+ "column": 36
+ }
+ },
+ "10": {
+ "start": {
+ "line": 42,
+ "column": 32
+ },
+ "end": {
+ "line": 44,
+ "column": 3
+ }
+ },
+ "11": {
+ "start": {
+ "line": 45,
+ "column": 52
+ },
+ "end": {
+ "line": 47,
+ "column": 3
+ }
+ },
+ "12": {
+ "start": {
+ "line": 48,
+ "column": 18
+ },
+ "end": {
+ "line": 50,
+ "column": 3
+ }
+ },
+ "13": {
+ "start": {
+ "line": 49,
+ "column": 4
+ },
+ "end": {
+ "line": 49,
+ "column": 19
+ }
+ },
+ "14": {
+ "start": {
+ "line": 52,
+ "column": 14
+ },
+ "end": {
+ "line": 52,
+ "column": 25
+ }
+ },
+ "15": {
+ "start": {
+ "line": 54,
+ "column": 42
+ },
+ "end": {
+ "line": 63,
+ "column": 4
+ }
+ },
+ "16": {
+ "start": {
+ "line": 65,
+ "column": 36
+ },
+ "end": {
+ "line": 70,
+ "column": 4
+ }
+ },
+ "17": {
+ "start": {
+ "line": 72,
+ "column": 71
+ },
+ "end": {
+ "line": 81,
+ "column": 3
+ }
+ },
+ "18": {
+ "start": {
+ "line": 86,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 4
+ }
+ },
+ "19": {
+ "start": {
+ "line": 92,
+ "column": 32
+ },
+ "end": {
+ "line": 92,
+ "column": 72
+ }
+ },
+ "20": {
+ "start": {
+ "line": 93,
+ "column": 15
+ },
+ "end": {
+ "line": 93,
+ "column": 27
+ }
+ },
+ "21": {
+ "start": {
+ "line": 94,
+ "column": 15
+ },
+ "end": {
+ "line": 94,
+ "column": 27
+ }
+ },
+ "22": {
+ "start": {
+ "line": 95,
+ "column": 34
+ },
+ "end": {
+ "line": 95,
+ "column": 49
+ }
+ },
+ "23": {
+ "start": {
+ "line": 96,
+ "column": 36
+ },
+ "end": {
+ "line": 107,
+ "column": 3
+ }
+ },
+ "24": {
+ "start": {
+ "line": 100,
+ "column": 20
+ },
+ "end": {
+ "line": 100,
+ "column": 32
+ }
+ },
+ "25": {
+ "start": {
+ "line": 105,
+ "column": 20
+ },
+ "end": {
+ "line": 105,
+ "column": 32
+ }
+ },
+ "26": {
+ "start": {
+ "line": 109,
+ "column": 2
+ },
+ "end": {
+ "line": 116,
+ "column": 9
+ }
+ },
+ "27": {
+ "start": {
+ "line": 110,
+ "column": 4
+ },
+ "end": {
+ "line": 115,
+ "column": 5
+ }
+ },
+ "28": {
+ "start": {
+ "line": 111,
+ "column": 6
+ },
+ "end": {
+ "line": 114,
+ "column": 15
+ }
+ },
+ "29": {
+ "start": {
+ "line": 112,
+ "column": 8
+ },
+ "end": {
+ "line": 112,
+ "column": 26
+ }
+ },
+ "30": {
+ "start": {
+ "line": 113,
+ "column": 8
+ },
+ "end": {
+ "line": 113,
+ "column": 49
+ }
+ },
+ "31": {
+ "start": {
+ "line": 118,
+ "column": 52
+ },
+ "end": {
+ "line": 318,
+ "column": 3
+ }
+ },
+ "32": {
+ "start": {
+ "line": 129,
+ "column": 8
+ },
+ "end": {
+ "line": 133,
+ "column": 10
+ }
+ },
+ "33": {
+ "start": {
+ "line": 157,
+ "column": 8
+ },
+ "end": {
+ "line": 161,
+ "column": 10
+ }
+ },
+ "34": {
+ "start": {
+ "line": 169,
+ "column": 8
+ },
+ "end": {
+ "line": 183,
+ "column": 10
+ }
+ },
+ "35": {
+ "start": {
+ "line": 204,
+ "column": 8
+ },
+ "end": {
+ "line": 212,
+ "column": 10
+ }
+ },
+ "36": {
+ "start": {
+ "line": 247,
+ "column": 8
+ },
+ "end": {
+ "line": 255,
+ "column": 10
+ }
+ },
+ "37": {
+ "start": {
+ "line": 268,
+ "column": 8
+ },
+ "end": {
+ "line": 268,
+ "column": 61
+ }
+ },
+ "38": {
+ "start": {
+ "line": 275,
+ "column": 8
+ },
+ "end": {
+ "line": 315,
+ "column": 10
+ }
+ },
+ "39": {
+ "start": {
+ "line": 279,
+ "column": 16
+ },
+ "end": {
+ "line": 279,
+ "column": 30
+ }
+ },
+ "40": {
+ "start": {
+ "line": 280,
+ "column": 16
+ },
+ "end": {
+ "line": 280,
+ "column": 30
+ }
+ },
+ "41": {
+ "start": {
+ "line": 291,
+ "column": 16
+ },
+ "end": {
+ "line": 302,
+ "column": 21
+ }
+ },
+ "42": {
+ "start": {
+ "line": 298,
+ "column": 20
+ },
+ "end": {
+ "line": 298,
+ "column": 45
+ }
+ },
+ "43": {
+ "start": {
+ "line": 301,
+ "column": 20
+ },
+ "end": {
+ "line": 301,
+ "column": 37
+ }
+ },
+ "44": {
+ "start": {
+ "line": 305,
+ "column": 16
+ },
+ "end": {
+ "line": 305,
+ "column": 38
+ }
+ },
+ "45": {
+ "start": {
+ "line": 320,
+ "column": 17
+ },
+ "end": {
+ "line": 355,
+ "column": 3
+ }
+ },
+ "46": {
+ "start": {
+ "line": 339,
+ "column": 10
+ },
+ "end": {
+ "line": 339,
+ "column": 25
+ }
+ },
+ "47": {
+ "start": {
+ "line": 346,
+ "column": 21
+ },
+ "end": {
+ "line": 353,
+ "column": 7
+ }
+ },
+ "48": {
+ "start": {
+ "line": 350,
+ "column": 43
+ },
+ "end": {
+ "line": 350,
+ "column": 78
+ }
+ },
+ "49": {
+ "start": {
+ "line": 356,
+ "column": 14
+ },
+ "end": {
+ "line": 356,
+ "column": 27
+ }
+ },
+ "50": {
+ "start": {
+ "line": 357,
+ "column": 2
+ },
+ "end": {
+ "line": 569,
+ "column": 4
+ }
+ },
+ "51": {
+ "start": {
+ "line": 367,
+ "column": 16
+ },
+ "end": {
+ "line": 367,
+ "column": 53
+ }
+ },
+ "52": {
+ "start": {
+ "line": 390,
+ "column": 16
+ },
+ "end": {
+ "line": 401,
+ "column": 22
+ }
+ },
+ "53": {
+ "start": {
+ "line": 395,
+ "column": 20
+ },
+ "end": {
+ "line": 397,
+ "column": 21
+ }
+ },
+ "54": {
+ "start": {
+ "line": 396,
+ "column": 22
+ },
+ "end": {
+ "line": 396,
+ "column": 40
+ }
+ },
+ "55": {
+ "start": {
+ "line": 414,
+ "column": 10
+ },
+ "end": {
+ "line": 414,
+ "column": 29
+ }
+ },
+ "56": {
+ "start": {
+ "line": 425,
+ "column": 16
+ },
+ "end": {
+ "line": 439,
+ "column": 18
+ }
+ },
+ "57": {
+ "start": {
+ "line": 494,
+ "column": 14
+ },
+ "end": {
+ "line": 494,
+ "column": 32
+ }
+ },
+ "58": {
+ "start": {
+ "line": 495,
+ "column": 14
+ },
+ "end": {
+ "line": 495,
+ "column": 28
+ }
+ },
+ "59": {
+ "start": {
+ "line": 508,
+ "column": 16
+ },
+ "end": {
+ "line": 512,
+ "column": 17
+ }
+ },
+ "60": {
+ "start": {
+ "line": 509,
+ "column": 18
+ },
+ "end": {
+ "line": 509,
+ "column": 65
+ }
+ },
+ "61": {
+ "start": {
+ "line": 511,
+ "column": 18
+ },
+ "end": {
+ "line": 511,
+ "column": 63
+ }
+ },
+ "62": {
+ "start": {
+ "line": 513,
+ "column": 16
+ },
+ "end": {
+ "line": 513,
+ "column": 40
+ }
+ },
+ "63": {
+ "start": {
+ "line": 521,
+ "column": 12
+ },
+ "end": {
+ "line": 535,
+ "column": 14
+ }
+ },
+ "64": {
+ "start": {
+ "line": 551,
+ "column": 32
+ },
+ "end": {
+ "line": 551,
+ "column": 66
+ }
+ },
+ "65": {
+ "start": {
+ "line": 560,
+ "column": 10
+ },
+ "end": {
+ "line": 560,
+ "column": 39
+ }
+ },
+ "66": {
+ "start": {
+ "line": 561,
+ "column": 10
+ },
+ "end": {
+ "line": 561,
+ "column": 42
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/logs/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/logs/index.tsx.js
new file mode 100644
index 00000000..dcf807ef
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/[id]/logs/index.tsx.js
@@ -0,0 +1,246 @@
+window["pages/index/projects/[id]/logs/index.tsx"] = {
+ "content": "import ProjectLogsChart from \"@/pages/index/projects/[id]/logs/helper/Chart.tsx\";\nimport { GetCoverageLogsDocument } from \"@/helpers/backend/gen/graphql.ts\";\nimport { useQuery } from \"@apollo/client\";\n\nconst dataSource = [\n {\n key: \"1\",\n name: \"胡彦斌\",\n age: 32,\n address: \"西湖区湖底公园1号\",\n },\n {\n key: \"2\",\n name: \"胡彦祖\",\n age: 42,\n address: \"西湖区湖底公园1号\",\n },\n];\n\nconst columns = [\n {\n title: \"ID\",\n dataIndex: \"id\",\n key: \"id\",\n },\n {\n title: \"Project ID\",\n dataIndex: \"projectID\",\n key: \"projectID\",\n },\n {\n title: \"Sha\",\n dataIndex: \"sha\",\n key: \"sha\",\n render: (text) => {\n return text.slice(0, 7);\n },\n },\n {\n title: \"Report ID\",\n dataIndex: \"reportID\",\n key: \"reportID\",\n // 省略\n ellipsis: true,\n },\n {\n title: \"Size\",\n dataIndex: \"size\",\n key: \"size\",\n },\n {\n title: \"Tags\",\n dataIndex: \"tags\",\n render: (tags) => {\n return tags.map((tag) => {\n return (\n \n {tag.label}\n \n );\n });\n },\n },\n {\n title: \"Created At\",\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n },\n];\n\nconst ProjectLogsPage = () => {\n // GetReportLogs\n // projectID 可选\n // sha 可选\n // reportID 可选\n // tags 可选 {name:'zt'}\n const { data } = useQuery(GetCoverageLogsDocument);\n return (\n \n );\n};\n\nexport default ProjectLogsPage;\n",
+ "coverage": {
+ "path": "pages/index/projects/[id]/logs/index.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 8,
+ "6": 0,
+ "7": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 25
+ },
+ "end": {
+ "line": 80,
+ "column": 57
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 80,
+ "column": 25
+ },
+ "end": {
+ "line": 80,
+ "column": 51
+ }
+ },
+ {
+ "start": {
+ "line": 80,
+ "column": 55
+ },
+ "end": {
+ "line": 80,
+ "column": 57
+ }
+ }
+ ],
+ "line": 80
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 35,
+ "column": 12
+ },
+ "end": {
+ "line": 35,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 22
+ },
+ "end": {
+ "line": 37,
+ "column": 5
+ }
+ },
+ "line": 35
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 54,
+ "column": 12
+ },
+ "end": {
+ "line": 54,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 22
+ },
+ "end": {
+ "line": 62,
+ "column": 5
+ }
+ },
+ "line": 54
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 55,
+ "column": 22
+ },
+ "end": {
+ "line": 55,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 31
+ },
+ "end": {
+ "line": 61,
+ "column": 7
+ }
+ },
+ "line": 55
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 71,
+ "column": 24
+ },
+ "end": {
+ "line": 71,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 30
+ },
+ "end": {
+ "line": 84,
+ "column": 1
+ }
+ },
+ "line": 71
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 5,
+ "column": 19
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 20,
+ "column": 16
+ },
+ "end": {
+ "line": 69,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 36,
+ "column": 6
+ },
+ "end": {
+ "line": 36,
+ "column": 30
+ }
+ },
+ "3": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 9
+ }
+ },
+ "4": {
+ "start": {
+ "line": 56,
+ "column": 8
+ },
+ "end": {
+ "line": 60,
+ "column": 10
+ }
+ },
+ "5": {
+ "start": {
+ "line": 71,
+ "column": 24
+ },
+ "end": {
+ "line": 84,
+ "column": 1
+ }
+ },
+ "6": {
+ "start": {
+ "line": 77,
+ "column": 19
+ },
+ "end": {
+ "line": 77,
+ "column": 52
+ }
+ },
+ "7": {
+ "start": {
+ "line": 78,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/index.tsx.js
new file mode 100644
index 00000000..7a6f5d45
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/index.tsx.js
@@ -0,0 +1,2288 @@
+window["pages/index/projects/index.tsx"] = {
+ "content": "import {\n FolderOutlined,\n HeartFilled,\n HeartOutlined,\n PlusOutlined,\n QuestionCircleOutlined,\n} from \"@ant-design/icons\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { ColumnsType } from \"antd/es/table\";\nimport { TextTypography } from \"../../../components/ui\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { CanyonCardPrimary } from \"../../../components/old-ui\";\nimport {\n DeleteProjectDocument,\n FavorProjectDocument,\n GetProjectsBuOptionsDocument,\n GetProjectsDocument,\n GetProjectsTagOptionsDocument,\n Project,\n} from \"../../../helpers/backend/gen/graphql.ts\";\n\nconst { Text } = Typography;\n\nfunction countingStars(num: any) {\n if (num >= 75 && num < 80) {\n return \"🌟\";\n } else if (num >= 80 && num < 85) {\n return \"🌟🌟\";\n } else if (num >= 85 && num < 90) {\n return \"🌟🌟🌟\";\n } else if (num >= 90 && num < 95) {\n return \"🌟🌟🌟🌟\";\n } else if (num >= 95 && num <= 100) {\n return \"🌟🌟🌟🌟🌟\";\n }\n}\nconst ProjectPage = () => {\n const { t } = useTranslation();\n const [deleteProject] = useMutation(DeleteProjectDocument);\n const [favorProject] = useMutation(FavorProjectDocument);\n const columns: ColumnsType = [\n {\n title: \"ID\",\n dataIndex: \"id\",\n key: \"id\",\n render(text, record) {\n return (\n \n {\n favorProject({\n variables: {\n projectID: record.id,\n favored: !record.favored,\n },\n }).then(() => {\n refetch().then(() => {\n message.success(\"success\");\n });\n });\n }}\n >\n {record.favored ? (\n \n ) : (\n \n )}\n
\n {text.split(\"-\")[1]}\n \n );\n },\n },\n {\n title: t(\"projects.slug\"),\n dataIndex: \"id\",\n key: \"slug\",\n render(text) {\n return (\n {text.split(\"-\")[2]} \n );\n },\n },\n {\n title: t(\"projects.name\"),\n dataIndex: \"pathWithNamespace\",\n key: \"pathWithNamespace\",\n render: (text, record) => {\n return (\n \n
\n
\n
\n\n
\n
\n
\n );\n },\n },\n {\n title: \"Bu\",\n dataIndex: \"bu\",\n sorter: true,\n },\n {\n title: t(\"projects.report_times\"),\n dataIndex: \"reportTimes\",\n sorter: true,\n },\n {\n title: (\n <>\n \n \n \n {t(\"projects.max_coverage\")}\n >\n ),\n dataIndex: \"maxCoverage\",\n key: \"maxCoverage\",\n sorter: true,\n render: (text) => {\n return (\n \n {text}%{countingStars(text)}\n \n );\n },\n },\n {\n title: t(\"projects.latest_report_time\"),\n dataIndex: \"lastReportTime\",\n sorter: true,\n render(_) {\n return {dayjs(_).format(\"MM-DD HH:mm\")} ;\n },\n },\n {\n title: t(\"common.option\"),\n key: \"option\",\n render: (_, { id }) => (\n <>\n \n {t(\"common.detail\")}\n \n \n \n {t(\"common.configure\")}\n \n >\n ),\n },\n ];\n const initBu = (() => {\n try {\n if (JSON.parse(localStorage.getItem(\"bu\") || \"[]\") instanceof Array) {\n return JSON.parse(localStorage.getItem(\"bu\") || \"[]\");\n } else {\n return [];\n }\n } catch (e) {\n return [];\n }\n })();\n\n const initTag = (() => {\n return localStorage.getItem(\"tag\") || \"\";\n })();\n const initFavorOnly = Boolean(localStorage.getItem(\"favorOnlyFilter\"));\n const [keyword, setKeyword] = useState(\"\");\n const [favorOnly, setFavorOnly] = useState(initFavorOnly);\n const [bu, setBu] = useState(initBu);\n const [tag, setTag] = useState(initTag);\n const [current, setCurrent] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [sorter, setSorter] = useState({});\n\n const { data: projectsBuOptionsData } = useQuery(\n GetProjectsBuOptionsDocument,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n const { data: projectsTagOptionsData } = useQuery(\n GetProjectsTagOptionsDocument,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n const {\n data: projectsData,\n loading,\n refetch,\n } = useQuery(GetProjectsDocument, {\n variables: {\n current: current,\n pageSize: pageSize,\n keyword: keyword,\n bu: bu,\n tag: tag,\n lang: [\"JavaScript\"],\n field: sorter.field || \"\",\n order: sorter.order || \"\",\n favorOnly: favorOnly,\n },\n fetchPolicy: \"no-cache\",\n });\n\n return (\n <>\n }\n right={\n \n }>\n {t(\"projects.create\")}\n \n \n }\n />\n\n \n
\n
\n {\n setBu(v);\n localStorage.setItem(\"bu\", JSON.stringify(v));\n }}\n placeholder={\"Bu\"}\n className={\"w-[200px] mr-2\"}\n options={(projectsBuOptionsData?.getProjectsBuOptions || []).map(\n ({ bu, count }) => ({\n label: bu + ` ${count}`,\n value: bu,\n }),\n )}\n />\n\n {\n setTag(v || \"\");\n localStorage.setItem(\"tag\", v || \"\");\n }}\n placeholder={\"Tag\"}\n className={\"w-[200px] mr-2\"}\n options={(\n projectsTagOptionsData?.getProjectsTagOptions || []\n ).map(({ name }) => ({\n label: name,\n value: name,\n }))}\n />\n\n {\n setKeyword(value);\n setCurrent(1);\n }}\n />\n \n {t(\"common.favor.only\")}: \n }\n defaultChecked={Boolean(\n localStorage.getItem(\"favorOnlyFilter\"),\n )}\n onChange={(v) => {\n if (v) {\n localStorage.setItem(\"favorOnlyFilter\", \"1\");\n } else {\n localStorage.removeItem(\"favorOnlyFilter\");\n }\n setFavorOnly(v);\n }}\n />\n \n
\n
\n\n
\n t(\"common.total_items\", { total }),\n current,\n pageSize,\n }}\n bordered={false}\n dataSource={projectsData?.getProjects?.data || []}\n // @ts-ignore\n columns={columns}\n onChange={(val, _, _sorter: any) => {\n setSorter({\n field: _sorter.field,\n order: _sorter.order,\n });\n setCurrent(val.current || 1);\n setPageSize(val.pageSize || 10);\n }}\n />\n \n \n >\n );\n};\n\nexport default ProjectPage;\n",
+ "coverage": {
+ "path": "pages/index/projects/index.tsx",
+ "b": {
+ "0": [
+ 1,
+ 89
+ ],
+ "1": [
+ 90,
+ 24
+ ],
+ "2": [
+ 8,
+ 81
+ ],
+ "3": [
+ 89,
+ 23
+ ],
+ "4": [
+ 15,
+ 66
+ ],
+ "5": [
+ 81,
+ 15
+ ],
+ "6": [
+ 0,
+ 66
+ ],
+ "7": [
+ 66,
+ 0
+ ],
+ "8": [
+ 0,
+ 66
+ ],
+ "9": [
+ 66,
+ 0
+ ],
+ "10": [
+ 0,
+ 90
+ ],
+ "11": [
+ 0,
+ 90
+ ],
+ "12": [
+ 46,
+ 0
+ ],
+ "13": [
+ 46,
+ 46
+ ],
+ "14": [
+ 46,
+ 46
+ ],
+ "15": [
+ 46,
+ 46
+ ],
+ "16": [
+ 46,
+ 46
+ ],
+ "17": [
+ 46,
+ 46
+ ],
+ "18": [
+ 46,
+ 10
+ ],
+ "19": [
+ 46,
+ 46
+ ],
+ "20": [
+ 0,
+ 0
+ ],
+ "21": [
+ 0,
+ 0
+ ],
+ "22": [
+ 46,
+ 26
+ ],
+ "23": [
+ 0,
+ 0
+ ],
+ "24": [
+ 46,
+ 36
+ ],
+ "25": [
+ 0,
+ 0
+ ],
+ "26": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 90,
+ "1": 46,
+ "2": 90,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 90,
+ "7": 90,
+ "8": 90,
+ "9": 90,
+ "10": 90,
+ "11": 46,
+ "12": 46,
+ "13": 0,
+ "14": 504,
+ "15": 0,
+ "16": 900,
+ "17": 2,
+ "18": 0,
+ "19": 30,
+ "20": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 90,
+ "2": 1,
+ "3": 89,
+ "4": 8,
+ "5": 81,
+ "6": 15,
+ "7": 66,
+ "8": 0,
+ "9": 66,
+ "10": 0,
+ "11": 8,
+ "12": 46,
+ "13": 46,
+ "14": 46,
+ "15": 46,
+ "16": 90,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 90,
+ "21": 90,
+ "22": 90,
+ "23": 90,
+ "24": 90,
+ "25": 46,
+ "26": 46,
+ "27": 46,
+ "28": 46,
+ "29": 0,
+ "30": 0,
+ "31": 46,
+ "32": 46,
+ "33": 46,
+ "34": 46,
+ "35": 46,
+ "36": 46,
+ "37": 46,
+ "38": 46,
+ "39": 46,
+ "40": 46,
+ "41": 46,
+ "42": 46,
+ "43": 46,
+ "44": 46,
+ "45": 0,
+ "46": 0,
+ "47": 504,
+ "48": 0,
+ "49": 0,
+ "50": 900,
+ "51": 2,
+ "52": 2,
+ "53": 0,
+ "54": 0,
+ "55": 0,
+ "56": 0,
+ "57": 30,
+ "58": 0,
+ "59": 0,
+ "60": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 2
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 2
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 31,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ }
+ ],
+ "line": 29
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 6
+ },
+ "end": {
+ "line": 29,
+ "column": 27
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 29,
+ "column": 6
+ },
+ "end": {
+ "line": 29,
+ "column": 15
+ }
+ },
+ {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 27
+ }
+ }
+ ],
+ "line": 29
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 31,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 33,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ }
+ ],
+ "line": 31
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 13
+ },
+ "end": {
+ "line": 31,
+ "column": 34
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 31,
+ "column": 13
+ },
+ "end": {
+ "line": 31,
+ "column": 22
+ }
+ },
+ {
+ "start": {
+ "line": 31,
+ "column": 26
+ },
+ "end": {
+ "line": 31,
+ "column": 34
+ }
+ }
+ ],
+ "line": 31
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 33,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 35,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ }
+ ],
+ "line": 33
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 13
+ },
+ "end": {
+ "line": 33,
+ "column": 34
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 33,
+ "column": 13
+ },
+ "end": {
+ "line": 33,
+ "column": 22
+ }
+ },
+ {
+ "start": {
+ "line": 33,
+ "column": 26
+ },
+ "end": {
+ "line": 33,
+ "column": 34
+ }
+ }
+ ],
+ "line": 33
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 35,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ {
+ "start": {
+ "line": 37,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ }
+ ],
+ "line": 35
+ },
+ "7": {
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 13
+ },
+ "end": {
+ "line": 35,
+ "column": 34
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 35,
+ "column": 13
+ },
+ "end": {
+ "line": 35,
+ "column": 22
+ }
+ },
+ {
+ "start": {
+ "line": 35,
+ "column": 26
+ },
+ "end": {
+ "line": 35,
+ "column": 34
+ }
+ }
+ ],
+ "line": 35
+ },
+ "8": {
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 37,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 37
+ },
+ "9": {
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 13
+ },
+ "end": {
+ "line": 37,
+ "column": 36
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 37,
+ "column": 13
+ },
+ "end": {
+ "line": 37,
+ "column": 22
+ }
+ },
+ {
+ "start": {
+ "line": 37,
+ "column": 26
+ },
+ "end": {
+ "line": 37,
+ "column": 36
+ }
+ }
+ ],
+ "line": 37
+ },
+ "10": {
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 35
+ },
+ "end": {
+ "line": 55,
+ "column": 71
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 55,
+ "column": 52
+ },
+ "end": {
+ "line": 55,
+ "column": 59
+ }
+ },
+ {
+ "start": {
+ "line": 55,
+ "column": 62
+ },
+ "end": {
+ "line": 55,
+ "column": 71
+ }
+ }
+ ],
+ "line": 55
+ },
+ "11": {
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 15
+ },
+ "end": {
+ "line": 73,
+ "column": 15
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 70,
+ "column": 16
+ },
+ "end": {
+ "line": 70,
+ "column": 56
+ }
+ },
+ {
+ "start": {
+ "line": 72,
+ "column": 16
+ },
+ "end": {
+ "line": 72,
+ "column": 33
+ }
+ }
+ ],
+ "line": 69
+ },
+ "12": {
+ "loc": {
+ "start": {
+ "line": 195,
+ "column": 6
+ },
+ "end": {
+ "line": 199,
+ "column": 7
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 195,
+ "column": 6
+ },
+ "end": {
+ "line": 199,
+ "column": 7
+ }
+ },
+ {
+ "start": {
+ "line": 197,
+ "column": 13
+ },
+ "end": {
+ "line": 199,
+ "column": 7
+ }
+ }
+ ],
+ "line": 195
+ },
+ "13": {
+ "loc": {
+ "start": {
+ "line": 195,
+ "column": 21
+ },
+ "end": {
+ "line": 195,
+ "column": 55
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 195,
+ "column": 21
+ },
+ "end": {
+ "line": 195,
+ "column": 47
+ }
+ },
+ {
+ "start": {
+ "line": 195,
+ "column": 51
+ },
+ "end": {
+ "line": 195,
+ "column": 55
+ }
+ }
+ ],
+ "line": 195
+ },
+ "14": {
+ "loc": {
+ "start": {
+ "line": 196,
+ "column": 26
+ },
+ "end": {
+ "line": 196,
+ "column": 60
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 196,
+ "column": 26
+ },
+ "end": {
+ "line": 196,
+ "column": 52
+ }
+ },
+ {
+ "start": {
+ "line": 196,
+ "column": 56
+ },
+ "end": {
+ "line": 196,
+ "column": 60
+ }
+ }
+ ],
+ "line": 196
+ },
+ "15": {
+ "loc": {
+ "start": {
+ "line": 206,
+ "column": 11
+ },
+ "end": {
+ "line": 206,
+ "column": 44
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 206,
+ "column": 11
+ },
+ "end": {
+ "line": 206,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 206,
+ "column": 42
+ },
+ "end": {
+ "line": 206,
+ "column": 44
+ }
+ }
+ ],
+ "line": 206
+ },
+ "16": {
+ "loc": {
+ "start": {
+ "line": 243,
+ "column": 13
+ },
+ "end": {
+ "line": 243,
+ "column": 31
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 243,
+ "column": 13
+ },
+ "end": {
+ "line": 243,
+ "column": 25
+ }
+ },
+ {
+ "start": {
+ "line": 243,
+ "column": 29
+ },
+ "end": {
+ "line": 243,
+ "column": 31
+ }
+ }
+ ],
+ "line": 243
+ },
+ "17": {
+ "loc": {
+ "start": {
+ "line": 244,
+ "column": 13
+ },
+ "end": {
+ "line": 244,
+ "column": 31
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 244,
+ "column": 13
+ },
+ "end": {
+ "line": 244,
+ "column": 25
+ }
+ },
+ {
+ "start": {
+ "line": 244,
+ "column": 29
+ },
+ "end": {
+ "line": 244,
+ "column": 31
+ }
+ }
+ ],
+ "line": 244
+ },
+ "18": {
+ "loc": {
+ "start": {
+ "line": 276,
+ "column": 24
+ },
+ "end": {
+ "line": 276,
+ "column": 73
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 276,
+ "column": 24
+ },
+ "end": {
+ "line": 276,
+ "column": 67
+ }
+ },
+ {
+ "start": {
+ "line": 276,
+ "column": 71
+ },
+ "end": {
+ "line": 276,
+ "column": 73
+ }
+ }
+ ],
+ "line": 276
+ },
+ "19": {
+ "loc": {
+ "start": {
+ "line": 286,
+ "column": 28
+ },
+ "end": {
+ "line": 286,
+ "column": 48
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 286,
+ "column": 28
+ },
+ "end": {
+ "line": 286,
+ "column": 35
+ }
+ },
+ {
+ "start": {
+ "line": 286,
+ "column": 39
+ },
+ "end": {
+ "line": 286,
+ "column": 48
+ }
+ }
+ ],
+ "line": 286
+ },
+ "20": {
+ "loc": {
+ "start": {
+ "line": 288,
+ "column": 23
+ },
+ "end": {
+ "line": 288,
+ "column": 30
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 288,
+ "column": 23
+ },
+ "end": {
+ "line": 288,
+ "column": 24
+ }
+ },
+ {
+ "start": {
+ "line": 288,
+ "column": 28
+ },
+ "end": {
+ "line": 288,
+ "column": 30
+ }
+ }
+ ],
+ "line": 288
+ },
+ "21": {
+ "loc": {
+ "start": {
+ "line": 289,
+ "column": 44
+ },
+ "end": {
+ "line": 289,
+ "column": 51
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 289,
+ "column": 44
+ },
+ "end": {
+ "line": 289,
+ "column": 45
+ }
+ },
+ {
+ "start": {
+ "line": 289,
+ "column": 49
+ },
+ "end": {
+ "line": 289,
+ "column": 51
+ }
+ }
+ ],
+ "line": 289
+ },
+ "22": {
+ "loc": {
+ "start": {
+ "line": 294,
+ "column": 16
+ },
+ "end": {
+ "line": 294,
+ "column": 67
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 294,
+ "column": 16
+ },
+ "end": {
+ "line": 294,
+ "column": 61
+ }
+ },
+ {
+ "start": {
+ "line": 294,
+ "column": 65
+ },
+ "end": {
+ "line": 294,
+ "column": 67
+ }
+ }
+ ],
+ "line": 294
+ },
+ "23": {
+ "loc": {
+ "start": {
+ "line": 317,
+ "column": 18
+ },
+ "end": {
+ "line": 321,
+ "column": 19
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 317,
+ "column": 18
+ },
+ "end": {
+ "line": 321,
+ "column": 19
+ }
+ },
+ {
+ "start": {
+ "line": 319,
+ "column": 25
+ },
+ "end": {
+ "line": 321,
+ "column": 19
+ }
+ }
+ ],
+ "line": 317
+ },
+ "24": {
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 24
+ },
+ "end": {
+ "line": 341,
+ "column": 61
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 341,
+ "column": 24
+ },
+ "end": {
+ "line": 341,
+ "column": 55
+ }
+ },
+ {
+ "start": {
+ "line": 341,
+ "column": 59
+ },
+ "end": {
+ "line": 341,
+ "column": 61
+ }
+ }
+ ],
+ "line": 341
+ },
+ "25": {
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 25
+ },
+ "end": {
+ "line": 349,
+ "column": 41
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 349,
+ "column": 25
+ },
+ "end": {
+ "line": 349,
+ "column": 36
+ }
+ },
+ {
+ "start": {
+ "line": 349,
+ "column": 40
+ },
+ "end": {
+ "line": 349,
+ "column": 41
+ }
+ }
+ ],
+ "line": 349
+ },
+ "26": {
+ "loc": {
+ "start": {
+ "line": 350,
+ "column": 26
+ },
+ "end": {
+ "line": 350,
+ "column": 44
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 350,
+ "column": 26
+ },
+ "end": {
+ "line": 350,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 350,
+ "column": 42
+ },
+ "end": {
+ "line": 350,
+ "column": 44
+ }
+ }
+ ],
+ "line": 350
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "countingStars",
+ "decl": {
+ "start": {
+ "line": 28,
+ "column": 9
+ },
+ "end": {
+ "line": 28,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 28,
+ "column": 33
+ },
+ "end": {
+ "line": 40,
+ "column": 1
+ }
+ },
+ "line": 28
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 41,
+ "column": 20
+ },
+ "end": {
+ "line": 41,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 26
+ },
+ "end": {
+ "line": 357,
+ "column": 1
+ }
+ },
+ "line": 41
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 50,
+ "column": 6
+ },
+ "end": {
+ "line": 50,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 27
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ },
+ "line": 50
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 56,
+ "column": 23
+ },
+ "end": {
+ "line": 56,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 56,
+ "column": 29
+ },
+ "end": {
+ "line": 67,
+ "column": 15
+ }
+ },
+ "line": 56
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 62,
+ "column": 24
+ },
+ "end": {
+ "line": 62,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 30
+ },
+ "end": {
+ "line": 66,
+ "column": 17
+ }
+ },
+ "line": 62
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 63,
+ "column": 33
+ },
+ "end": {
+ "line": 63,
+ "column": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 39
+ },
+ "end": {
+ "line": 65,
+ "column": 19
+ }
+ },
+ "line": 63
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 84,
+ "column": 6
+ },
+ "end": {
+ "line": 84,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 19
+ },
+ "end": {
+ "line": 88,
+ "column": 7
+ }
+ },
+ "line": 84
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 94,
+ "column": 14
+ },
+ "end": {
+ "line": 94,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 32
+ },
+ "end": {
+ "line": 126,
+ "column": 7
+ }
+ },
+ "line": 94
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 153,
+ "column": 14
+ },
+ "end": {
+ "line": 153,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 153,
+ "column": 24
+ },
+ "end": {
+ "line": 159,
+ "column": 7
+ }
+ },
+ "line": 153
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 16
+ },
+ "end": {
+ "line": 167,
+ "column": 7
+ }
+ },
+ "line": 165
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 172,
+ "column": 14
+ },
+ "end": {
+ "line": 172,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 8
+ },
+ "end": {
+ "line": 189,
+ "column": 11
+ }
+ },
+ "line": 173
+ },
+ "11": {
+ "name": "(anonymous_11)",
+ "decl": {
+ "start": {
+ "line": 193,
+ "column": 18
+ },
+ "end": {
+ "line": 193,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 193,
+ "column": 24
+ },
+ "end": {
+ "line": 203,
+ "column": 3
+ }
+ },
+ "line": 193
+ },
+ "12": {
+ "name": "(anonymous_12)",
+ "decl": {
+ "start": {
+ "line": 205,
+ "column": 19
+ },
+ "end": {
+ "line": 205,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 205,
+ "column": 25
+ },
+ "end": {
+ "line": 207,
+ "column": 3
+ }
+ },
+ "line": 205
+ },
+ "13": {
+ "name": "(anonymous_13)",
+ "decl": {
+ "start": {
+ "line": 270,
+ "column": 24
+ },
+ "end": {
+ "line": 270,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 31
+ },
+ "end": {
+ "line": 273,
+ "column": 15
+ }
+ },
+ "line": 270
+ },
+ "14": {
+ "name": "(anonymous_14)",
+ "decl": {
+ "start": {
+ "line": 277,
+ "column": 16
+ },
+ "end": {
+ "line": 277,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 277,
+ "column": 36
+ },
+ "end": {
+ "line": 280,
+ "column": 17
+ }
+ },
+ "line": 277
+ },
+ "15": {
+ "name": "(anonymous_15)",
+ "decl": {
+ "start": {
+ "line": 287,
+ "column": 24
+ },
+ "end": {
+ "line": 287,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 31
+ },
+ "end": {
+ "line": 290,
+ "column": 15
+ }
+ },
+ "line": 287
+ },
+ "16": {
+ "name": "(anonymous_16)",
+ "decl": {
+ "start": {
+ "line": 295,
+ "column": 20
+ },
+ "end": {
+ "line": 295,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 295,
+ "column": 35
+ },
+ "end": {
+ "line": 298,
+ "column": 15
+ }
+ },
+ "line": 295
+ },
+ "17": {
+ "name": "(anonymous_17)",
+ "decl": {
+ "start": {
+ "line": 304,
+ "column": 24
+ },
+ "end": {
+ "line": 304,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 35
+ },
+ "end": {
+ "line": 307,
+ "column": 15
+ }
+ },
+ "line": 304
+ },
+ "18": {
+ "name": "(anonymous_18)",
+ "decl": {
+ "start": {
+ "line": 316,
+ "column": 26
+ },
+ "end": {
+ "line": 316,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 316,
+ "column": 33
+ },
+ "end": {
+ "line": 323,
+ "column": 17
+ }
+ },
+ "line": 316
+ },
+ "19": {
+ "name": "(anonymous_19)",
+ "decl": {
+ "start": {
+ "line": 336,
+ "column": 25
+ },
+ "end": {
+ "line": 336,
+ "column": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 36
+ },
+ "end": {
+ "line": 336,
+ "column": 70
+ }
+ },
+ "line": 336
+ },
+ "20": {
+ "name": "(anonymous_20)",
+ "decl": {
+ "start": {
+ "line": 344,
+ "column": 22
+ },
+ "end": {
+ "line": 344,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 344,
+ "column": 48
+ },
+ "end": {
+ "line": 351,
+ "column": 13
+ }
+ },
+ "line": 344
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 26,
+ "column": 17
+ },
+ "end": {
+ "line": 26,
+ "column": 27
+ }
+ },
+ "1": {
+ "start": {
+ "line": 29,
+ "column": 2
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "2": {
+ "start": {
+ "line": 30,
+ "column": 4
+ },
+ "end": {
+ "line": 30,
+ "column": 16
+ }
+ },
+ "3": {
+ "start": {
+ "line": 31,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "4": {
+ "start": {
+ "line": 32,
+ "column": 4
+ },
+ "end": {
+ "line": 32,
+ "column": 18
+ }
+ },
+ "5": {
+ "start": {
+ "line": 33,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "6": {
+ "start": {
+ "line": 34,
+ "column": 4
+ },
+ "end": {
+ "line": 34,
+ "column": 20
+ }
+ },
+ "7": {
+ "start": {
+ "line": 35,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 36,
+ "column": 4
+ },
+ "end": {
+ "line": 36,
+ "column": 22
+ }
+ },
+ "9": {
+ "start": {
+ "line": 37,
+ "column": 9
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "10": {
+ "start": {
+ "line": 38,
+ "column": 4
+ },
+ "end": {
+ "line": 38,
+ "column": 24
+ }
+ },
+ "11": {
+ "start": {
+ "line": 41,
+ "column": 20
+ },
+ "end": {
+ "line": 357,
+ "column": 1
+ }
+ },
+ "12": {
+ "start": {
+ "line": 42,
+ "column": 16
+ },
+ "end": {
+ "line": 42,
+ "column": 32
+ }
+ },
+ "13": {
+ "start": {
+ "line": 43,
+ "column": 26
+ },
+ "end": {
+ "line": 43,
+ "column": 60
+ }
+ },
+ "14": {
+ "start": {
+ "line": 44,
+ "column": 25
+ },
+ "end": {
+ "line": 44,
+ "column": 58
+ }
+ },
+ "15": {
+ "start": {
+ "line": 45,
+ "column": 40
+ },
+ "end": {
+ "line": 192,
+ "column": 3
+ }
+ },
+ "16": {
+ "start": {
+ "line": 51,
+ "column": 8
+ },
+ "end": {
+ "line": 77,
+ "column": 10
+ }
+ },
+ "17": {
+ "start": {
+ "line": 57,
+ "column": 16
+ },
+ "end": {
+ "line": 66,
+ "column": 19
+ }
+ },
+ "18": {
+ "start": {
+ "line": 63,
+ "column": 18
+ },
+ "end": {
+ "line": 65,
+ "column": 21
+ }
+ },
+ "19": {
+ "start": {
+ "line": 64,
+ "column": 20
+ },
+ "end": {
+ "line": 64,
+ "column": 47
+ }
+ },
+ "20": {
+ "start": {
+ "line": 85,
+ "column": 8
+ },
+ "end": {
+ "line": 87,
+ "column": 10
+ }
+ },
+ "21": {
+ "start": {
+ "line": 95,
+ "column": 8
+ },
+ "end": {
+ "line": 125,
+ "column": 10
+ }
+ },
+ "22": {
+ "start": {
+ "line": 154,
+ "column": 8
+ },
+ "end": {
+ "line": 158,
+ "column": 10
+ }
+ },
+ "23": {
+ "start": {
+ "line": 166,
+ "column": 8
+ },
+ "end": {
+ "line": 166,
+ "column": 61
+ }
+ },
+ "24": {
+ "start": {
+ "line": 173,
+ "column": 8
+ },
+ "end": {
+ "line": 189,
+ "column": 11
+ }
+ },
+ "25": {
+ "start": {
+ "line": 193,
+ "column": 17
+ },
+ "end": {
+ "line": 203,
+ "column": 6
+ }
+ },
+ "26": {
+ "start": {
+ "line": 194,
+ "column": 4
+ },
+ "end": {
+ "line": 202,
+ "column": 5
+ }
+ },
+ "27": {
+ "start": {
+ "line": 195,
+ "column": 6
+ },
+ "end": {
+ "line": 199,
+ "column": 7
+ }
+ },
+ "28": {
+ "start": {
+ "line": 196,
+ "column": 8
+ },
+ "end": {
+ "line": 196,
+ "column": 62
+ }
+ },
+ "29": {
+ "start": {
+ "line": 198,
+ "column": 8
+ },
+ "end": {
+ "line": 198,
+ "column": 18
+ }
+ },
+ "30": {
+ "start": {
+ "line": 201,
+ "column": 6
+ },
+ "end": {
+ "line": 201,
+ "column": 16
+ }
+ },
+ "31": {
+ "start": {
+ "line": 205,
+ "column": 18
+ },
+ "end": {
+ "line": 207,
+ "column": 6
+ }
+ },
+ "32": {
+ "start": {
+ "line": 206,
+ "column": 4
+ },
+ "end": {
+ "line": 206,
+ "column": 45
+ }
+ },
+ "33": {
+ "start": {
+ "line": 208,
+ "column": 24
+ },
+ "end": {
+ "line": 208,
+ "column": 72
+ }
+ },
+ "34": {
+ "start": {
+ "line": 209,
+ "column": 32
+ },
+ "end": {
+ "line": 209,
+ "column": 44
+ }
+ },
+ "35": {
+ "start": {
+ "line": 210,
+ "column": 36
+ },
+ "end": {
+ "line": 210,
+ "column": 59
+ }
+ },
+ "36": {
+ "start": {
+ "line": 211,
+ "column": 22
+ },
+ "end": {
+ "line": 211,
+ "column": 48
+ }
+ },
+ "37": {
+ "start": {
+ "line": 212,
+ "column": 24
+ },
+ "end": {
+ "line": 212,
+ "column": 49
+ }
+ },
+ "38": {
+ "start": {
+ "line": 213,
+ "column": 32
+ },
+ "end": {
+ "line": 213,
+ "column": 43
+ }
+ },
+ "39": {
+ "start": {
+ "line": 214,
+ "column": 34
+ },
+ "end": {
+ "line": 214,
+ "column": 46
+ }
+ },
+ "40": {
+ "start": {
+ "line": 215,
+ "column": 30
+ },
+ "end": {
+ "line": 215,
+ "column": 47
+ }
+ },
+ "41": {
+ "start": {
+ "line": 217,
+ "column": 42
+ },
+ "end": {
+ "line": 222,
+ "column": 3
+ }
+ },
+ "42": {
+ "start": {
+ "line": 224,
+ "column": 43
+ },
+ "end": {
+ "line": 229,
+ "column": 3
+ }
+ },
+ "43": {
+ "start": {
+ "line": 235,
+ "column": 6
+ },
+ "end": {
+ "line": 248,
+ "column": 4
+ }
+ },
+ "44": {
+ "start": {
+ "line": 250,
+ "column": 2
+ },
+ "end": {
+ "line": 356,
+ "column": 4
+ }
+ },
+ "45": {
+ "start": {
+ "line": 271,
+ "column": 16
+ },
+ "end": {
+ "line": 271,
+ "column": 25
+ }
+ },
+ "46": {
+ "start": {
+ "line": 272,
+ "column": 16
+ },
+ "end": {
+ "line": 272,
+ "column": 62
+ }
+ },
+ "47": {
+ "start": {
+ "line": 277,
+ "column": 36
+ },
+ "end": {
+ "line": 280,
+ "column": 17
+ }
+ },
+ "48": {
+ "start": {
+ "line": 288,
+ "column": 16
+ },
+ "end": {
+ "line": 288,
+ "column": 32
+ }
+ },
+ "49": {
+ "start": {
+ "line": 289,
+ "column": 16
+ },
+ "end": {
+ "line": 289,
+ "column": 53
+ }
+ },
+ "50": {
+ "start": {
+ "line": 295,
+ "column": 35
+ },
+ "end": {
+ "line": 298,
+ "column": 15
+ }
+ },
+ "51": {
+ "start": {
+ "line": 305,
+ "column": 16
+ },
+ "end": {
+ "line": 305,
+ "column": 34
+ }
+ },
+ "52": {
+ "start": {
+ "line": 306,
+ "column": 16
+ },
+ "end": {
+ "line": 306,
+ "column": 30
+ }
+ },
+ "53": {
+ "start": {
+ "line": 317,
+ "column": 18
+ },
+ "end": {
+ "line": 321,
+ "column": 19
+ }
+ },
+ "54": {
+ "start": {
+ "line": 318,
+ "column": 20
+ },
+ "end": {
+ "line": 318,
+ "column": 65
+ }
+ },
+ "55": {
+ "start": {
+ "line": 320,
+ "column": 20
+ },
+ "end": {
+ "line": 320,
+ "column": 63
+ }
+ },
+ "56": {
+ "start": {
+ "line": 322,
+ "column": 18
+ },
+ "end": {
+ "line": 322,
+ "column": 34
+ }
+ },
+ "57": {
+ "start": {
+ "line": 336,
+ "column": 36
+ },
+ "end": {
+ "line": 336,
+ "column": 70
+ }
+ },
+ "58": {
+ "start": {
+ "line": 345,
+ "column": 14
+ },
+ "end": {
+ "line": 348,
+ "column": 17
+ }
+ },
+ "59": {
+ "start": {
+ "line": 349,
+ "column": 14
+ },
+ "end": {
+ "line": 349,
+ "column": 43
+ }
+ },
+ "60": {
+ "start": {
+ "line": 350,
+ "column": 14
+ },
+ "end": {
+ "line": 350,
+ "column": 46
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/projects/new.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/projects/new.tsx.js
new file mode 100644
index 00000000..7198e158
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/projects/new.tsx.js
@@ -0,0 +1,597 @@
+window["pages/index/projects/new.tsx"] = {
+ "content": "import { useMutation } from \"@apollo/client\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport {\n CheckProjectUrlDocument,\n CreateProjectDocument,\n} from \"../../../helpers/backend/gen/graphql.ts\";\nconst { Text } = Typography;\n\nconst LabelTest = ({ type, name, url, disabled }) => {\n return (\n \n \n {name}\n {url} \n \n );\n};\n\nconst App: React.FC = () => {\n const { data: gitProviderList } = useRequest(() =>\n axios.get(`/api/gitprovider`).then(({ data }) => data),\n );\n const [form] = Form.useForm();\n const [createTodo, { data, loading }] = useMutation(CheckProjectUrlDocument);\n const [createProject] = useMutation(CreateProjectDocument);\n const [projectID, setProjectID] = useState(\"\");\n\n const onFinish = (values: any) => {\n const url = gitProviderList.find((i) => {\n return i.id === values.provider;\n }).url;\n\n createTodo({\n variables: {\n projectUrl: `${url}/${values.repository}`,\n },\n }).then((res) => {\n setProjectID(\n `${values.provider}-${res.data?.checkProjectUrl.id}-${values.slug}`,\n );\n });\n };\n\n const nav = useNavigate();\n const { t } = useTranslation();\n return (\n \n
{t(\"projects.create\")} \n\n
1. {t(\"new.step1\")} \n
\n ({\n label: (\n \n ),\n value: id,\n disabled: disabled,\n }),\n )}\n />\n \n
\n \n \n\n
{t(\"new.slug.tooltip\")}>}\n >\n \n \n\n
\n \n \n\n
\n {\n form.submit();\n }}\n >\n {t(\"new.check\")}\n \n \n \n\n
2. {t(\"new.step2\")} \n\n
\n \n projectID: \n {projectID} \n
\n \n pathWithNamespace: \n {data?.checkProjectUrl.pathWithNamespace} \n
\n \n description: \n {data?.checkProjectUrl.description} \n
\n \n
\n
{\n createProject({\n variables: {\n projectID: projectID,\n language: form.getFieldValue(\"language\"),\n },\n }).then((res) => {\n message.success(JSON.stringify(res.data?.createProject));\n nav(`/projects/${data?.checkProjectUrl.id}/getting-started`);\n });\n }}\n >\n {t(\"new.create\")}\n \n
\n );\n};\n\nexport default App;\n",
+ "coverage": {
+ "path": "pages/index/projects/new.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 0,
+ "3": 8,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0,
+ "9": 0,
+ "10": 0,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0,
+ "17": 0,
+ "18": 0,
+ "19": 0,
+ "20": 0,
+ "21": 0,
+ "22": 0,
+ "23": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 22
+ },
+ "end": {
+ "line": 74,
+ "column": 43
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 74,
+ "column": 22
+ },
+ "end": {
+ "line": 74,
+ "column": 37
+ }
+ },
+ {
+ "start": {
+ "line": 74,
+ "column": 41
+ },
+ "end": {
+ "line": 74,
+ "column": 43
+ }
+ }
+ ],
+ "line": 74
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 14,
+ "column": 18
+ },
+ "end": {
+ "line": 14,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 53
+ },
+ "end": {
+ "line": 22,
+ "column": 1
+ }
+ },
+ "line": 14
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 24,
+ "column": 22
+ },
+ "end": {
+ "line": 24,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 28
+ },
+ "end": {
+ "line": 171,
+ "column": 1
+ }
+ },
+ "line": 24
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 25,
+ "column": 47
+ },
+ "end": {
+ "line": 25,
+ "column": 48
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 58
+ }
+ },
+ "line": 26
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 39
+ },
+ "end": {
+ "line": 26,
+ "column": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 53
+ },
+ "end": {
+ "line": 26,
+ "column": 57
+ }
+ },
+ "line": 26
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 33,
+ "column": 19
+ },
+ "end": {
+ "line": 33,
+ "column": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 36
+ },
+ "end": {
+ "line": 47,
+ "column": 3
+ }
+ },
+ "line": 33
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 34,
+ "column": 37
+ },
+ "end": {
+ "line": 34,
+ "column": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 44
+ },
+ "end": {
+ "line": 36,
+ "column": 5
+ }
+ },
+ "line": 34
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 42,
+ "column": 12
+ },
+ "end": {
+ "line": 42,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 21
+ },
+ "end": {
+ "line": 46,
+ "column": 5
+ }
+ },
+ "line": 42
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 75,
+ "column": 14
+ },
+ "end": {
+ "line": 75,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 54
+ },
+ "end": {
+ "line": 86,
+ "column": 15
+ }
+ },
+ "line": 75
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 126,
+ "column": 21
+ },
+ "end": {
+ "line": 126,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 126,
+ "column": 27
+ },
+ "end": {
+ "line": 128,
+ "column": 13
+ }
+ },
+ "line": 126
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 155,
+ "column": 17
+ },
+ "end": {
+ "line": 155,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 155,
+ "column": 23
+ },
+ "end": {
+ "line": 165,
+ "column": 9
+ }
+ },
+ "line": 155
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 161,
+ "column": 18
+ },
+ "end": {
+ "line": 161,
+ "column": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 161,
+ "column": 27
+ },
+ "end": {
+ "line": 164,
+ "column": 11
+ }
+ },
+ "line": 161
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 12,
+ "column": 17
+ },
+ "end": {
+ "line": 12,
+ "column": 27
+ }
+ },
+ "1": {
+ "start": {
+ "line": 14,
+ "column": 18
+ },
+ "end": {
+ "line": 22,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 15,
+ "column": 2
+ },
+ "end": {
+ "line": 21,
+ "column": 4
+ }
+ },
+ "3": {
+ "start": {
+ "line": 24,
+ "column": 22
+ },
+ "end": {
+ "line": 171,
+ "column": 1
+ }
+ },
+ "4": {
+ "start": {
+ "line": 25,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 58
+ }
+ },
+ "6": {
+ "start": {
+ "line": 26,
+ "column": 53
+ },
+ "end": {
+ "line": 26,
+ "column": 57
+ }
+ },
+ "7": {
+ "start": {
+ "line": 28,
+ "column": 17
+ },
+ "end": {
+ "line": 28,
+ "column": 31
+ }
+ },
+ "8": {
+ "start": {
+ "line": 29,
+ "column": 42
+ },
+ "end": {
+ "line": 29,
+ "column": 78
+ }
+ },
+ "9": {
+ "start": {
+ "line": 30,
+ "column": 26
+ },
+ "end": {
+ "line": 30,
+ "column": 60
+ }
+ },
+ "10": {
+ "start": {
+ "line": 31,
+ "column": 36
+ },
+ "end": {
+ "line": 31,
+ "column": 48
+ }
+ },
+ "11": {
+ "start": {
+ "line": 33,
+ "column": 19
+ },
+ "end": {
+ "line": 47,
+ "column": 3
+ }
+ },
+ "12": {
+ "start": {
+ "line": 34,
+ "column": 16
+ },
+ "end": {
+ "line": 36,
+ "column": 10
+ }
+ },
+ "13": {
+ "start": {
+ "line": 35,
+ "column": 6
+ },
+ "end": {
+ "line": 35,
+ "column": 38
+ }
+ },
+ "14": {
+ "start": {
+ "line": 38,
+ "column": 4
+ },
+ "end": {
+ "line": 46,
+ "column": 7
+ }
+ },
+ "15": {
+ "start": {
+ "line": 43,
+ "column": 6
+ },
+ "end": {
+ "line": 45,
+ "column": 8
+ }
+ },
+ "16": {
+ "start": {
+ "line": 49,
+ "column": 14
+ },
+ "end": {
+ "line": 49,
+ "column": 27
+ }
+ },
+ "17": {
+ "start": {
+ "line": 50,
+ "column": 16
+ },
+ "end": {
+ "line": 50,
+ "column": 32
+ }
+ },
+ "18": {
+ "start": {
+ "line": 51,
+ "column": 2
+ },
+ "end": {
+ "line": 170,
+ "column": 4
+ }
+ },
+ "19": {
+ "start": {
+ "line": 75,
+ "column": 54
+ },
+ "end": {
+ "line": 86,
+ "column": 15
+ }
+ },
+ "20": {
+ "start": {
+ "line": 127,
+ "column": 14
+ },
+ "end": {
+ "line": 127,
+ "column": 28
+ }
+ },
+ "21": {
+ "start": {
+ "line": 156,
+ "column": 10
+ },
+ "end": {
+ "line": 164,
+ "column": 13
+ }
+ },
+ "22": {
+ "start": {
+ "line": 162,
+ "column": 12
+ },
+ "end": {
+ "line": 162,
+ "column": 69
+ }
+ },
+ "23": {
+ "start": {
+ "line": 163,
+ "column": 12
+ },
+ "end": {
+ "line": 163,
+ "column": 73
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/reports.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/reports.tsx.js
new file mode 100644
index 00000000..34969dc7
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/reports.tsx.js
@@ -0,0 +1,818 @@
+window["pages/index/reports.tsx"] = {
+ "content": "import ReactECharts from \"echarts-for-react\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { Select, Space, Table } from \"antd\";\nimport { useQuery } from \"@apollo/client\";\nimport { GetProjectsBuOptionsDocument } from \"../../helpers/backend/gen/graphql.ts\";\nimport { CanyonCardPrimary } from \"../../components/old-ui\";\nimport dayjs from \"dayjs\";\n\nconst { RangePicker } = DatePicker;\nconst optionsWithDisabled = [\n { label: \"图表\", value: \"图表\" },\n { label: \"表格\", value: \"表格\" },\n // { label: 'Orange', value: 'Orange', disabled: true },\n];\n\nconst Reports = () => {\n const [showType, setShowType] = useState(\"图表\");\n const [bu, setBu] = useState(\"机票\");\n const [range, setRange] = useState([dayjs().subtract(30, \"days\"), dayjs()]);\n\n const { data: getProjectsBuOptionsDocumentData } = useQuery(\n GetProjectsBuOptionsDocument,\n );\n const { data: data = [], loading } = useRequest(\n () =>\n axios\n .get(`/api/coverage/reports`, {\n params: {\n bu,\n start: range[0].format(\"YYYY-MM-DD\"),\n end: range[1].format(\"YYYY-MM-DD\"),\n },\n })\n .then((res) => res.data),\n {\n refreshDeps: [bu, range],\n },\n );\n\n const columns = [\n {\n title: \"项目\",\n dataIndex: \"pathWithNamespace\",\n key: \"pathWithNamespace\",\n },\n {\n title: \"描述\",\n dataIndex: \"description\",\n key: \"description\",\n ellipsis: true,\n width: \"40%\",\n },\n {\n title: \"UI自动化\",\n dataIndex: \"auto\",\n key: \"auto\",\n sorter: (a, b) => a.auto - b.auto,\n defaultSortOrder: \"descend\",\n },\n {\n title: \"单元测试\",\n dataIndex: \"ut\",\n key: \"ut\",\n sorter: (a, b) => a.ut - b.ut,\n },\n ];\n\n const opppppp = useMemo(() => {\n const option = {\n // title: {\n // text: '各仓库覆盖率数据统计'\n // },\n tooltip: {\n trigger: \"axis\",\n axisPointer: {\n type: \"shadow\",\n },\n },\n legend: {},\n grid: {\n left: \"3%\",\n right: \"4%\",\n bottom: \"3%\",\n containLabel: true,\n },\n xAxis: {\n type: \"value\",\n boundaryGap: [0, 0.01],\n },\n yAxis: {\n type: \"category\",\n data: [\"Brazil\", \"Indonesia\", \"USA\", \"India\", \"China\", \"World\"],\n },\n series: [\n {\n name: \"UI自动化\",\n type: \"bar\",\n data: [],\n },\n {\n name: \"单元测试\",\n type: \"bar\",\n data: [],\n },\n ],\n };\n option.yAxis.data = data.map(\n (item) => item.pathWithNamespace.split(\"/\")[1],\n );\n option.series = [\n {\n name: \"UI自动化\",\n type: \"bar\",\n data: data.map((item) => item.auto),\n label: {\n show: true,\n position: \"right\",\n },\n },\n {\n name: \"单元测试\",\n type: \"bar\",\n data: data.map((item) => item.ut),\n label: {\n show: true,\n position: \"right\",\n },\n },\n ];\n return option;\n }, [data]);\n\n // 输出从\n return (\n \n \n
各仓库覆盖率数据统计 \n\n
\n {\n setShowType(v.target.value);\n }}\n value={showType}\n optionType=\"button\"\n buttonStyle=\"solid\"\n />\n ({\n label: `${bu}`,\n value: bu,\n }),\n ) || []\n }\n onChange={(v) => {\n setBu(v);\n }}\n />\n\n {\n setRange(v);\n }}\n presets={[\n {\n label: \"最近30天\",\n // text: '最近7天',\n value: [dayjs().subtract(30, \"days\"), dayjs()],\n },\n {\n label: \"6月份\",\n value: [dayjs(\"2024-06-01\"), dayjs(\"2024-06-30\")],\n },\n {\n label: \"5月份\",\n value: [dayjs(\"2024-05-01\"), dayjs(\"2024-05-31\")],\n },\n {\n label: \"4月份\",\n value: [dayjs(\"2024-04-01\"), dayjs(\"2024-04-30\")],\n },\n ]}\n />\n \n\n
\n {showType === \"图表\" ? (\n data.length > 0 ? (\n \n ) : (\n 暂无数据
\n )\n ) : (\n \n )}\n \n
\n \n );\n};\n\nexport default Reports;\n",
+ "coverage": {
+ "path": "pages/index/reports.tsx",
+ "b": {
+ "0": [
+ 16
+ ],
+ "1": [
+ 21,
+ 11
+ ],
+ "2": [
+ 21,
+ 0
+ ],
+ "3": [
+ 5,
+ 16
+ ],
+ "4": [
+ 0,
+ 5
+ ]
+ },
+ "f": {
+ "0": 21,
+ "1": 6,
+ "2": 5,
+ "3": 0,
+ "4": 0,
+ "5": 21,
+ "6": 175,
+ "7": 175,
+ "8": 175,
+ "9": 0,
+ "10": 140,
+ "11": 0,
+ "12": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 21,
+ "4": 21,
+ "5": 21,
+ "6": 21,
+ "7": 21,
+ "8": 6,
+ "9": 5,
+ "10": 21,
+ "11": 0,
+ "12": 0,
+ "13": 21,
+ "14": 21,
+ "15": 21,
+ "16": 175,
+ "17": 21,
+ "18": 175,
+ "19": 175,
+ "20": 21,
+ "21": 21,
+ "22": 0,
+ "23": 140,
+ "24": 0,
+ "25": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 16
+ },
+ "end": {
+ "line": 25,
+ "column": 25
+ }
+ },
+ "type": "default-arg",
+ "locations": [
+ {
+ "start": {
+ "line": 25,
+ "column": 23
+ },
+ "end": {
+ "line": 25,
+ "column": 25
+ }
+ }
+ ],
+ "line": 25
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 14
+ },
+ "end": {
+ "line": 159,
+ "column": 21
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 154,
+ "column": 14
+ },
+ "end": {
+ "line": 159,
+ "column": 15
+ }
+ },
+ {
+ "start": {
+ "line": 159,
+ "column": 19
+ },
+ "end": {
+ "line": 159,
+ "column": 21
+ }
+ }
+ ],
+ "line": 154
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 194,
+ "column": 11
+ },
+ "end": {
+ "line": 219,
+ "column": 11
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 195,
+ "column": 12
+ },
+ "end": {
+ "line": 211,
+ "column": 13
+ }
+ },
+ {
+ "start": {
+ "line": 213,
+ "column": 12
+ },
+ "end": {
+ "line": 218,
+ "column": 14
+ }
+ }
+ ],
+ "line": 194
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 195,
+ "column": 12
+ },
+ "end": {
+ "line": 211,
+ "column": 13
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 196,
+ "column": 14
+ },
+ "end": {
+ "line": 208,
+ "column": 16
+ }
+ },
+ {
+ "start": {
+ "line": 210,
+ "column": 14
+ },
+ "end": {
+ "line": 210,
+ "column": 29
+ }
+ }
+ ],
+ "line": 195
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 198,
+ "column": 18
+ },
+ "end": {
+ "line": 202,
+ "column": 23
+ }
+ },
+ "type": "cond-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 199,
+ "column": 22
+ },
+ "end": {
+ "line": 199,
+ "column": 28
+ }
+ },
+ {
+ "start": {
+ "line": 200,
+ "column": 22
+ },
+ "end": {
+ "line": 202,
+ "column": 23
+ }
+ }
+ ],
+ "line": 198
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 17,
+ "column": 16
+ },
+ "end": {
+ "line": 17,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 22
+ },
+ "end": {
+ "line": 224,
+ "column": 1
+ }
+ },
+ "line": 17
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 5
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 6
+ },
+ "end": {
+ "line": 35,
+ "column": 32
+ }
+ },
+ "line": 27
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 35,
+ "column": 14
+ },
+ "end": {
+ "line": 35,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 23
+ },
+ "end": {
+ "line": 35,
+ "column": 31
+ }
+ },
+ "line": 35
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 58,
+ "column": 14
+ },
+ "end": {
+ "line": 58,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 24
+ },
+ "end": {
+ "line": 58,
+ "column": 39
+ }
+ },
+ "line": 58
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 65,
+ "column": 14
+ },
+ "end": {
+ "line": 65,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 24
+ },
+ "end": {
+ "line": 65,
+ "column": 35
+ }
+ },
+ "line": 65
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 69,
+ "column": 26
+ },
+ "end": {
+ "line": 69,
+ "column": 27
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 32
+ },
+ "end": {
+ "line": 132,
+ "column": 3
+ }
+ },
+ "line": 69
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 109,
+ "column": 6
+ },
+ "end": {
+ "line": 109,
+ "column": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 109,
+ "column": 16
+ },
+ "end": {
+ "line": 109,
+ "column": 52
+ }
+ },
+ "line": 109
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 115,
+ "column": 23
+ },
+ "end": {
+ "line": 115,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 115,
+ "column": 33
+ },
+ "end": {
+ "line": 115,
+ "column": 42
+ }
+ },
+ "line": 115
+ },
+ "8": {
+ "name": "(anonymous_8)",
+ "decl": {
+ "start": {
+ "line": 124,
+ "column": 23
+ },
+ "end": {
+ "line": 124,
+ "column": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 33
+ },
+ "end": {
+ "line": 124,
+ "column": 40
+ }
+ },
+ "line": 124
+ },
+ "9": {
+ "name": "(anonymous_9)",
+ "decl": {
+ "start": {
+ "line": 143,
+ "column": 22
+ },
+ "end": {
+ "line": 143,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 143,
+ "column": 29
+ },
+ "end": {
+ "line": 145,
+ "column": 13
+ }
+ },
+ "line": 143
+ },
+ "10": {
+ "name": "(anonymous_10)",
+ "decl": {
+ "start": {
+ "line": 155,
+ "column": 16
+ },
+ "end": {
+ "line": 155,
+ "column": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 155,
+ "column": 29
+ },
+ "end": {
+ "line": 158,
+ "column": 17
+ }
+ },
+ "line": 155
+ },
+ "11": {
+ "name": "(anonymous_11)",
+ "decl": {
+ "start": {
+ "line": 161,
+ "column": 22
+ },
+ "end": {
+ "line": 161,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 161,
+ "column": 29
+ },
+ "end": {
+ "line": 163,
+ "column": 13
+ }
+ },
+ "line": 161
+ },
+ "12": {
+ "name": "(anonymous_12)",
+ "decl": {
+ "start": {
+ "line": 168,
+ "column": 22
+ },
+ "end": {
+ "line": 168,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 29
+ },
+ "end": {
+ "line": 170,
+ "column": 13
+ }
+ },
+ "line": 168
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 10,
+ "column": 24
+ },
+ "end": {
+ "line": 10,
+ "column": 34
+ }
+ },
+ "1": {
+ "start": {
+ "line": 11,
+ "column": 28
+ },
+ "end": {
+ "line": 15,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 17,
+ "column": 16
+ },
+ "end": {
+ "line": 224,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 18,
+ "column": 34
+ },
+ "end": {
+ "line": 18,
+ "column": 48
+ }
+ },
+ "4": {
+ "start": {
+ "line": 19,
+ "column": 22
+ },
+ "end": {
+ "line": 19,
+ "column": 36
+ }
+ },
+ "5": {
+ "start": {
+ "line": 20,
+ "column": 28
+ },
+ "end": {
+ "line": 20,
+ "column": 77
+ }
+ },
+ "6": {
+ "start": {
+ "line": 22,
+ "column": 53
+ },
+ "end": {
+ "line": 24,
+ "column": 3
+ }
+ },
+ "7": {
+ "start": {
+ "line": 25,
+ "column": 39
+ },
+ "end": {
+ "line": 39,
+ "column": 3
+ }
+ },
+ "8": {
+ "start": {
+ "line": 27,
+ "column": 6
+ },
+ "end": {
+ "line": 35,
+ "column": 32
+ }
+ },
+ "9": {
+ "start": {
+ "line": 35,
+ "column": 23
+ },
+ "end": {
+ "line": 35,
+ "column": 31
+ }
+ },
+ "10": {
+ "start": {
+ "line": 41,
+ "column": 18
+ },
+ "end": {
+ "line": 67,
+ "column": 3
+ }
+ },
+ "11": {
+ "start": {
+ "line": 58,
+ "column": 24
+ },
+ "end": {
+ "line": 58,
+ "column": 39
+ }
+ },
+ "12": {
+ "start": {
+ "line": 65,
+ "column": 24
+ },
+ "end": {
+ "line": 65,
+ "column": 35
+ }
+ },
+ "13": {
+ "start": {
+ "line": 69,
+ "column": 18
+ },
+ "end": {
+ "line": 132,
+ "column": 12
+ }
+ },
+ "14": {
+ "start": {
+ "line": 70,
+ "column": 19
+ },
+ "end": {
+ "line": 107,
+ "column": 5
+ }
+ },
+ "15": {
+ "start": {
+ "line": 108,
+ "column": 4
+ },
+ "end": {
+ "line": 110,
+ "column": 6
+ }
+ },
+ "16": {
+ "start": {
+ "line": 109,
+ "column": 16
+ },
+ "end": {
+ "line": 109,
+ "column": 52
+ }
+ },
+ "17": {
+ "start": {
+ "line": 111,
+ "column": 4
+ },
+ "end": {
+ "line": 130,
+ "column": 6
+ }
+ },
+ "18": {
+ "start": {
+ "line": 115,
+ "column": 33
+ },
+ "end": {
+ "line": 115,
+ "column": 42
+ }
+ },
+ "19": {
+ "start": {
+ "line": 124,
+ "column": 33
+ },
+ "end": {
+ "line": 124,
+ "column": 40
+ }
+ },
+ "20": {
+ "start": {
+ "line": 131,
+ "column": 4
+ },
+ "end": {
+ "line": 131,
+ "column": 18
+ }
+ },
+ "21": {
+ "start": {
+ "line": 135,
+ "column": 2
+ },
+ "end": {
+ "line": 223,
+ "column": 4
+ }
+ },
+ "22": {
+ "start": {
+ "line": 144,
+ "column": 14
+ },
+ "end": {
+ "line": 144,
+ "column": 42
+ }
+ },
+ "23": {
+ "start": {
+ "line": 155,
+ "column": 29
+ },
+ "end": {
+ "line": 158,
+ "column": 17
+ }
+ },
+ "24": {
+ "start": {
+ "line": 162,
+ "column": 14
+ },
+ "end": {
+ "line": 162,
+ "column": 23
+ }
+ },
+ "25": {
+ "start": {
+ "line": 169,
+ "column": 14
+ },
+ "end": {
+ "line": 169,
+ "column": 26
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/settings/components/BindGitProvider.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/settings/components/BindGitProvider.tsx.js
new file mode 100644
index 00000000..a6905ca5
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/settings/components/BindGitProvider.tsx.js
@@ -0,0 +1,271 @@
+window["pages/index/settings/components/BindGitProvider.tsx"] = {
+ "content": "import { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { CanyonCardPrimary } from \"../../../../components/old-ui\";\nimport { genOAuthUrl } from \"../../../../helpers/gitprovider/genOAuthUrl.ts\";\n// const gitProviderList = [\n// {\n// name: 'name',\n// url: 'dddddd',\n// client: 's',\n// },\n// ];\nconst ProviderOAuth = ({ name, type, url, clientID }) => {\n return (\n \n \n {name} \n \n );\n};\nconst Faa = () => {\n const { data: gitProviderList } = useRequest(() =>\n axios.get(`/api/gitprovider`).then(({ data }) => data),\n );\n return (\n \n
\n {/*{JSON.stringify(data || {})} */}\n \n \n \n \n
\n 你还可以绑定以下第三方帐号
\n \n {/*https://gitlab.com/oauth/authorize?client_id=0cf45ded30469aba3f014b06fb61526ca70098f2a0b22d51c5c3ee60fc18c4d8&redirect_uri=https%3A%2F%2Fgitee.com%2Fauth%2Fgitlab%2Fcallback&response_type=code&state=f25d4b0c10b6a742bde3eae8be273c7df1f54190014aed0c*/}\n {/*https://github.com/login/oauth/authorize?client_id=5a179b878a9f6ac42acd&redirect_uri=https%3A%2F%2Fgitee.com%2Fauth%2Fgithub%2Fcallback&response_type=code&scope=user&state=460a986d8070f3d30fb2a6eb0485de2bdd5c31382f915a40*/}\n {(gitProviderList || []).map(({ name, type, url, clientID }) => (\n
\n ))}\n
\n \n \n
\n );\n};\n\nexport default Faa;\n",
+ "coverage": {
+ "path": "pages/index/settings/components/BindGitProvider.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 0,
+ "2": 8,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 14
+ },
+ "end": {
+ "line": 86,
+ "column": 35
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 86,
+ "column": 14
+ },
+ "end": {
+ "line": 86,
+ "column": 29
+ }
+ },
+ {
+ "start": {
+ "line": 86,
+ "column": 33
+ },
+ "end": {
+ "line": 86,
+ "column": 35
+ }
+ }
+ ],
+ "line": 86
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 12,
+ "column": 22
+ },
+ "end": {
+ "line": 12,
+ "column": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 57
+ },
+ "end": {
+ "line": 23,
+ "column": 1
+ }
+ },
+ "line": 12
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 24,
+ "column": 12
+ },
+ "end": {
+ "line": 24,
+ "column": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 18
+ },
+ "end": {
+ "line": 99,
+ "column": 1
+ }
+ },
+ "line": 24
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 25,
+ "column": 47
+ },
+ "end": {
+ "line": 25,
+ "column": 48
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 58
+ }
+ },
+ "line": 26
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 26,
+ "column": 39
+ },
+ "end": {
+ "line": 26,
+ "column": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 53
+ },
+ "end": {
+ "line": 26,
+ "column": 57
+ }
+ },
+ "line": 26
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 86,
+ "column": 41
+ },
+ "end": {
+ "line": 86,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 14
+ },
+ "end": {
+ "line": 92,
+ "column": 16
+ }
+ },
+ "line": 87
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 12,
+ "column": 22
+ },
+ "end": {
+ "line": 23,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 13,
+ "column": 2
+ },
+ "end": {
+ "line": 22,
+ "column": 4
+ }
+ },
+ "2": {
+ "start": {
+ "line": 24,
+ "column": 12
+ },
+ "end": {
+ "line": 99,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 25,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 3
+ }
+ },
+ "4": {
+ "start": {
+ "line": 26,
+ "column": 4
+ },
+ "end": {
+ "line": 26,
+ "column": 58
+ }
+ },
+ "5": {
+ "start": {
+ "line": 26,
+ "column": 53
+ },
+ "end": {
+ "line": 26,
+ "column": 57
+ }
+ },
+ "6": {
+ "start": {
+ "line": 28,
+ "column": 2
+ },
+ "end": {
+ "line": 98,
+ "column": 4
+ }
+ },
+ "7": {
+ "start": {
+ "line": 87,
+ "column": 14
+ },
+ "end": {
+ "line": 92,
+ "column": 16
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/index/settings/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/index/settings/index.tsx.js
new file mode 100644
index 00000000..88e4d8aa
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/index/settings/index.tsx.js
@@ -0,0 +1,685 @@
+window["pages/index/settings/index.tsx"] = {
+ "content": "import { SettingOutlined } from \"@ant-design/icons\";\nimport { TextTypography } from \"../../../components/ui\";\nimport { CanyonCardPrimary } from \"../../../components/old-ui\";\nimport copy from \"copy-to-clipboard\";\nimport { useTranslation } from \"react-i18next\";\n\nimport languages from \"../../../../languages.json\";\nimport Faa from \"./components/BindGitProvider.tsx\";\nimport { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nconst TextArea = Input.TextArea;\nconst gridStyle: any = {\n width: \"100%\",\n};\nconst Settings = () => {\n const { t } = useTranslation();\n const { data } = useRequest(() =>\n axios.get(\"/api/base\").then(({ data }) => data),\n );\n return (\n <>\n } />\n \n \n \n \n
{t(\"common.language\")}
\n\n
\n {\n localStorage.setItem(\"language\", value);\n window.location.reload();\n }}\n options={languages.map((item) => {\n return {\n label: item.name,\n value: item.code,\n };\n })}\n className={\"w-[100%]\"}\n />\n
\n
\n \n\n \n \n
{t(\"common.theme\")}
\n\n
\n {\n localStorage.setItem(\"theme\", value);\n window.location.reload();\n }}\n options={[\n {\n label: t(\"common.light\"),\n value: \"light\",\n },\n {\n label: t(\"common.dark\"),\n value: \"dark\",\n },\n ]}\n className={\"w-[100%]\"}\n />\n
\n
\n \n \n \n
\n \n \n \n \n
\n \n \n {\n copy(data?.CANYON_SERVER || \"\");\n message.success(\"Copied to clipboard!\");\n }}\n value={data?.CANYON_SERVER || \"\"}\n readOnly\n />\n \n \n
\n {localStorage.getItem(\"debug\") === \"true\" && }\n >\n );\n};\n\nexport default Settings;\n",
+ "coverage": {
+ "path": "pages/index/settings/index.tsx",
+ "b": {
+ "0": [
+ 10,
+ 10
+ ],
+ "1": [
+ 10,
+ 10
+ ],
+ "2": [
+ 0,
+ 0
+ ],
+ "3": [
+ 10,
+ 0
+ ],
+ "4": [
+ 0,
+ 0
+ ],
+ "5": [
+ 10,
+ 7
+ ],
+ "6": [
+ 10,
+ 0
+ ]
+ },
+ "f": {
+ "0": 10,
+ "1": 4,
+ "2": 3,
+ "3": 0,
+ "4": 30,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "s": {
+ "0": 8,
+ "1": 8,
+ "2": 8,
+ "3": 10,
+ "4": 10,
+ "5": 4,
+ "6": 3,
+ "7": 10,
+ "8": 0,
+ "9": 0,
+ "10": 30,
+ "11": 0,
+ "12": 0,
+ "13": 0,
+ "14": 0,
+ "15": 0,
+ "16": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 25
+ },
+ "end": {
+ "line": 31,
+ "column": 65
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 31,
+ "column": 25
+ },
+ "end": {
+ "line": 31,
+ "column": 57
+ }
+ },
+ {
+ "start": {
+ "line": 31,
+ "column": 61
+ },
+ "end": {
+ "line": 31,
+ "column": 65
+ }
+ }
+ ],
+ "line": 31
+ },
+ "1": {
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 25
+ },
+ "end": {
+ "line": 54,
+ "column": 65
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 54,
+ "column": 25
+ },
+ "end": {
+ "line": 54,
+ "column": 54
+ }
+ },
+ {
+ "start": {
+ "line": 54,
+ "column": 58
+ },
+ "end": {
+ "line": 54,
+ "column": 65
+ }
+ }
+ ],
+ "line": 54
+ },
+ "2": {
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 19
+ },
+ "end": {
+ "line": 81,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 81,
+ "column": 19
+ },
+ "end": {
+ "line": 81,
+ "column": 48
+ }
+ },
+ {
+ "start": {
+ "line": 81,
+ "column": 52
+ },
+ "end": {
+ "line": 81,
+ "column": 54
+ }
+ }
+ ],
+ "line": 81
+ },
+ "3": {
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 19
+ },
+ "end": {
+ "line": 84,
+ "column": 54
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 84,
+ "column": 19
+ },
+ "end": {
+ "line": 84,
+ "column": 48
+ }
+ },
+ {
+ "start": {
+ "line": 84,
+ "column": 52
+ },
+ "end": {
+ "line": 84,
+ "column": 54
+ }
+ }
+ ],
+ "line": 84
+ },
+ "4": {
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 19
+ },
+ "end": {
+ "line": 94,
+ "column": 44
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 94,
+ "column": 19
+ },
+ "end": {
+ "line": 94,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 94,
+ "column": 42
+ },
+ "end": {
+ "line": 94,
+ "column": 44
+ }
+ }
+ ],
+ "line": 94
+ },
+ "5": {
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 19
+ },
+ "end": {
+ "line": 97,
+ "column": 44
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 97,
+ "column": 19
+ },
+ "end": {
+ "line": 97,
+ "column": 38
+ }
+ },
+ {
+ "start": {
+ "line": 97,
+ "column": 42
+ },
+ "end": {
+ "line": 97,
+ "column": 44
+ }
+ }
+ ],
+ "line": 97
+ },
+ "6": {
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 7
+ },
+ "end": {
+ "line": 103,
+ "column": 58
+ }
+ },
+ "type": "binary-expr",
+ "locations": [
+ {
+ "start": {
+ "line": 103,
+ "column": 7
+ },
+ "end": {
+ "line": 103,
+ "column": 47
+ }
+ },
+ {
+ "start": {
+ "line": 103,
+ "column": 51
+ },
+ "end": {
+ "line": 103,
+ "column": 58
+ }
+ }
+ ],
+ "line": 103
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 15,
+ "column": 17
+ },
+ "end": {
+ "line": 15,
+ "column": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 23
+ },
+ "end": {
+ "line": 106,
+ "column": 1
+ }
+ },
+ "line": 15
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 17,
+ "column": 30
+ },
+ "end": {
+ "line": 17,
+ "column": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 4
+ },
+ "end": {
+ "line": 18,
+ "column": 51
+ }
+ },
+ "line": 18
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 18,
+ "column": 32
+ },
+ "end": {
+ "line": 18,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 46
+ },
+ "end": {
+ "line": 18,
+ "column": 50
+ }
+ },
+ "line": 18
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 32,
+ "column": 28
+ },
+ "end": {
+ "line": 32,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 39
+ },
+ "end": {
+ "line": 35,
+ "column": 19
+ }
+ },
+ "line": 32
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 36,
+ "column": 41
+ },
+ "end": {
+ "line": 36,
+ "column": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 51
+ },
+ "end": {
+ "line": 41,
+ "column": 19
+ }
+ },
+ "line": 36
+ },
+ "5": {
+ "name": "(anonymous_5)",
+ "decl": {
+ "start": {
+ "line": 55,
+ "column": 28
+ },
+ "end": {
+ "line": 55,
+ "column": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 39
+ },
+ "end": {
+ "line": 58,
+ "column": 19
+ }
+ },
+ "line": 55
+ },
+ "6": {
+ "name": "(anonymous_6)",
+ "decl": {
+ "start": {
+ "line": 80,
+ "column": 21
+ },
+ "end": {
+ "line": 80,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 27
+ },
+ "end": {
+ "line": 83,
+ "column": 13
+ }
+ },
+ "line": 80
+ },
+ "7": {
+ "name": "(anonymous_7)",
+ "decl": {
+ "start": {
+ "line": 93,
+ "column": 21
+ },
+ "end": {
+ "line": 93,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 27
+ },
+ "end": {
+ "line": 96,
+ "column": 13
+ }
+ },
+ "line": 93
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 11,
+ "column": 17
+ },
+ "end": {
+ "line": 11,
+ "column": 31
+ }
+ },
+ "1": {
+ "start": {
+ "line": 12,
+ "column": 23
+ },
+ "end": {
+ "line": 14,
+ "column": 1
+ }
+ },
+ "2": {
+ "start": {
+ "line": 15,
+ "column": 17
+ },
+ "end": {
+ "line": 106,
+ "column": 1
+ }
+ },
+ "3": {
+ "start": {
+ "line": 16,
+ "column": 16
+ },
+ "end": {
+ "line": 16,
+ "column": 32
+ }
+ },
+ "4": {
+ "start": {
+ "line": 17,
+ "column": 19
+ },
+ "end": {
+ "line": 19,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 18,
+ "column": 4
+ },
+ "end": {
+ "line": 18,
+ "column": 51
+ }
+ },
+ "6": {
+ "start": {
+ "line": 18,
+ "column": 46
+ },
+ "end": {
+ "line": 18,
+ "column": 50
+ }
+ },
+ "7": {
+ "start": {
+ "line": 20,
+ "column": 2
+ },
+ "end": {
+ "line": 105,
+ "column": 4
+ }
+ },
+ "8": {
+ "start": {
+ "line": 33,
+ "column": 20
+ },
+ "end": {
+ "line": 33,
+ "column": 60
+ }
+ },
+ "9": {
+ "start": {
+ "line": 34,
+ "column": 20
+ },
+ "end": {
+ "line": 34,
+ "column": 45
+ }
+ },
+ "10": {
+ "start": {
+ "line": 37,
+ "column": 20
+ },
+ "end": {
+ "line": 40,
+ "column": 22
+ }
+ },
+ "11": {
+ "start": {
+ "line": 56,
+ "column": 20
+ },
+ "end": {
+ "line": 56,
+ "column": 57
+ }
+ },
+ "12": {
+ "start": {
+ "line": 57,
+ "column": 20
+ },
+ "end": {
+ "line": 57,
+ "column": 45
+ }
+ },
+ "13": {
+ "start": {
+ "line": 81,
+ "column": 14
+ },
+ "end": {
+ "line": 81,
+ "column": 56
+ }
+ },
+ "14": {
+ "start": {
+ "line": 82,
+ "column": 14
+ },
+ "end": {
+ "line": 82,
+ "column": 54
+ }
+ },
+ "15": {
+ "start": {
+ "line": 94,
+ "column": 14
+ },
+ "end": {
+ "line": 94,
+ "column": 46
+ }
+ },
+ "16": {
+ "start": {
+ "line": 95,
+ "column": 14
+ },
+ "end": {
+ "line": 95,
+ "column": 54
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/login/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/login/index.tsx.js
new file mode 100644
index 00000000..3a7bb77e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/login/index.tsx.js
@@ -0,0 +1,276 @@
+window["pages/login/index.tsx"] = {
+ "content": "import { useRequest } from \"ahooks\";\nimport axios from \"axios\";\nimport { CanyonPageLogin } from \"../../components/old-ui\";\n\nimport logo from \"../../assets/light-logo.svg\";\n\nconst Login2 = () => {\n const { data, loading: isLoading } = useRequest(() =>\n axios.get(\"/api/base\").then(({ data }) => data),\n );\n if (isLoading) {\n return loading
;\n }\n\n return (\n \n
\n 携程用户请直接点击右上角的“Sign in with Gitlab”登陆!!!\n \n }\n banner\n />\n }\n oauthUrl={{\n gitlab: `${data?.GITLAB_URL}/oauth/authorize?response_type=code&state=STATE&scope=api&client_id=${data?.GITLAB_CLIENT_ID}&redirect_uri=${window.location.origin}/oauth`,\n }}\n onLoginSuccess={() => {\n setTimeout(() => {\n window.location.href = \"/\";\n }, 100);\n }}\n />\n \n );\n};\n\nexport default Login2;\n",
+ "coverage": {
+ "path": "pages/login/index.tsx",
+ "b": {
+ "0": [
+ 0,
+ 0
+ ]
+ },
+ "f": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0,
+ "8": 0
+ },
+ "branchMap": {
+ "0": {
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 13,
+ "column": 3
+ }
+ },
+ "type": "if",
+ "locations": [
+ {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 13,
+ "column": 3
+ }
+ },
+ {
+ "start": {},
+ "end": {}
+ }
+ ],
+ "line": 11
+ }
+ },
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 7,
+ "column": 15
+ },
+ "end": {
+ "line": 7,
+ "column": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 21
+ },
+ "end": {
+ "line": 39,
+ "column": 1
+ }
+ },
+ "line": 7
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 8,
+ "column": 50
+ },
+ "end": {
+ "line": 8,
+ "column": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 9,
+ "column": 51
+ }
+ },
+ "line": 9
+ },
+ "2": {
+ "name": "(anonymous_2)",
+ "decl": {
+ "start": {
+ "line": 9,
+ "column": 32
+ },
+ "end": {
+ "line": 9,
+ "column": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 46
+ },
+ "end": {
+ "line": 9,
+ "column": 50
+ }
+ },
+ "line": 9
+ },
+ "3": {
+ "name": "(anonymous_3)",
+ "decl": {
+ "start": {
+ "line": 31,
+ "column": 24
+ },
+ "end": {
+ "line": 31,
+ "column": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 30
+ },
+ "end": {
+ "line": 35,
+ "column": 9
+ }
+ },
+ "line": 31
+ },
+ "4": {
+ "name": "(anonymous_4)",
+ "decl": {
+ "start": {
+ "line": 32,
+ "column": 21
+ },
+ "end": {
+ "line": 32,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 27
+ },
+ "end": {
+ "line": 34,
+ "column": 11
+ }
+ },
+ "line": 32
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 7,
+ "column": 15
+ },
+ "end": {
+ "line": 39,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 8,
+ "column": 39
+ },
+ "end": {
+ "line": 10,
+ "column": 3
+ }
+ },
+ "2": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 9,
+ "column": 51
+ }
+ },
+ "3": {
+ "start": {
+ "line": 9,
+ "column": 46
+ },
+ "end": {
+ "line": 9,
+ "column": 50
+ }
+ },
+ "4": {
+ "start": {
+ "line": 11,
+ "column": 2
+ },
+ "end": {
+ "line": 13,
+ "column": 3
+ }
+ },
+ "5": {
+ "start": {
+ "line": 12,
+ "column": 4
+ },
+ "end": {
+ "line": 12,
+ "column": 30
+ }
+ },
+ "6": {
+ "start": {
+ "line": 15,
+ "column": 2
+ },
+ "end": {
+ "line": 38,
+ "column": 4
+ }
+ },
+ "7": {
+ "start": {
+ "line": 32,
+ "column": 10
+ },
+ "end": {
+ "line": 34,
+ "column": 18
+ }
+ },
+ "8": {
+ "start": {
+ "line": 33,
+ "column": 12
+ },
+ "end": {
+ "line": 33,
+ "column": 39
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/oauth/index.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/oauth/index.tsx.js
new file mode 100644
index 00000000..725f4882
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/oauth/index.tsx.js
@@ -0,0 +1,132 @@
+window["pages/oauth/index.tsx"] = {
+ "content": "import { CanyonPageOauth } from \"../../components/old-ui\";\nimport { useNavigate, useSearchParams } from \"react-router-dom\";\n\nconst Oauth = () => {\n const [URLSearchParams] = useSearchParams();\n const nav = useNavigate();\n return (\n \n {\n localStorage.clear();\n nav(\"/login\");\n }}\n />\n
\n );\n};\n\nexport default Oauth;\n",
+ "coverage": {
+ "path": "pages/oauth/index.tsx",
+ "b": {},
+ "f": {
+ "0": 0,
+ "1": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 4,
+ "column": 14
+ },
+ "end": {
+ "line": 4,
+ "column": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 20
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "line": 4
+ },
+ "1": {
+ "name": "(anonymous_1)",
+ "decl": {
+ "start": {
+ "line": 11,
+ "column": 21
+ },
+ "end": {
+ "line": 11,
+ "column": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 27
+ },
+ "end": {
+ "line": 14,
+ "column": 9
+ }
+ },
+ "line": 11
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 4,
+ "column": 14
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 5,
+ "column": 28
+ },
+ "end": {
+ "line": 5,
+ "column": 45
+ }
+ },
+ "2": {
+ "start": {
+ "line": 6,
+ "column": 14
+ },
+ "end": {
+ "line": 6,
+ "column": 27
+ }
+ },
+ "3": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 17,
+ "column": 4
+ }
+ },
+ "4": {
+ "start": {
+ "line": 12,
+ "column": 10
+ },
+ "end": {
+ "line": 12,
+ "column": 31
+ }
+ },
+ "5": {
+ "start": {
+ "line": 13,
+ "column": 10
+ },
+ "end": {
+ "line": 13,
+ "column": 24
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/open-reports.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/open-reports.tsx.js
new file mode 100644
index 00000000..255cb71e
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/open-reports.tsx.js
@@ -0,0 +1,63 @@
+window["pages/open-reports.tsx"] = {
+ "content": "import Reports from \"./index/reports.tsx\";\nimport { ArrowLeftOutlined } from \"@ant-design/icons\";\nimport LineChart from \"@/components/LineChart.tsx\";\n\nconst OpenReports = () => {\n return (\n \n );\n};\n\nexport default OpenReports;\n",
+ "coverage": {
+ "path": "pages/open-reports.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 5,
+ "column": 20
+ },
+ "end": {
+ "line": 5,
+ "column": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 26
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "line": 5
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 5,
+ "column": 20
+ },
+ "end": {
+ "line": 21,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 20,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/pages/test.tsx.js b/packages/canyon-report/mock/dynamic-data/pages/test.tsx.js
new file mode 100644
index 00000000..b735b098
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/pages/test.tsx.js
@@ -0,0 +1,129 @@
+window["pages/test.tsx"] = {
+ "content": "import EChartsReact from \"echarts-for-react\";\nconst data = {\n Month: [\"1月\", \"2月\", \"3月\", \"4月\", \"5月\", \"6月\"],\n // \"Branch Coverage (%)\": [66.08, 67.18, 64.81, 68.7, 71.82, 76.37],\n // \"Line Coverage (%)\": [56.08, 59.19, 63.23, 66.47, 71.61, 77.23],\n \"Branch Coverage (%)\": [50.59, 51.45, 50.05, 55.15, 57.84, 62.84],\n \"Line Coverage (%)\": [56.08, 59.19, 63.23, 66.47, 71.61, 77.23],\n \"Changed Line Coverage (%)\": [null, 93.76, 93.95, 95.49, 95.1, 96.13],\n};\nconst d1 = [58.93, 59.07, 58.86, 58.93, 58.73, 59.04];\nconst d2 = [40.94, 42.18, 41.71, 42.13, 42.69, 44.37];\nconst data1 = {\n Month: [\"1月\", \"2月\", \"3月\", \"4月\", \"5月\", \"6月\"],\n \"Branch Coverage (%)\": d1,\n \"Line Coverage (%)\": d2,\n \"Changed Line Coverage (%)\": [null, 93.76, 93.95, 95.49, 95.1, 96.13],\n};\n\nconst option = {\n title: {\n text: \"UI自动化覆盖率\",\n },\n tooltip: {\n trigger: \"axis\",\n },\n legend: {\n data: [\n \"Branch Coverage (%)\",\n \"Line Coverage (%)\",\n \"Changed Line Coverage (%)\",\n ],\n right: 10,\n },\n grid: {\n left: \"3%\",\n right: \"4%\",\n bottom: \"3%\",\n containLabel: true,\n },\n toolbox: {\n feature: {\n saveAsImage: {},\n },\n },\n xAxis: {\n type: \"category\",\n boundaryGap: true,\n data: data.Month,\n },\n yAxis: {\n type: \"value\",\n max: 100,\n },\n series: [\n {\n name: \"Branch Coverage (%)\",\n type: \"line\",\n data: data[\"Branch Coverage (%)\"],\n // 线上加文字\n label: {\n show: true,\n position: \"bottom\",\n },\n },\n {\n name: \"Line Coverage (%)\",\n type: \"line\",\n data: data[\"Line Coverage (%)\"],\n // 线上加文字\n label: {\n show: true,\n position: \"top\",\n },\n },\n {\n name: \"Changed Line Coverage (%)\",\n type: \"line\",\n data: data[\"Changed Line Coverage (%)\"],\n // 线上加文字\n label: {\n show: true,\n position: \"top\",\n },\n },\n ],\n};\n\nconst option1 = {\n title: {\n text: \"UT覆盖率\",\n },\n tooltip: {\n trigger: \"axis\",\n },\n legend: {\n data: [\n \"Branch Coverage (%)\",\n \"Line Coverage (%)\",\n \"Changed Line Coverage (%)\",\n ],\n right: 10,\n },\n grid: {\n left: \"3%\",\n right: \"4%\",\n bottom: \"3%\",\n containLabel: true,\n },\n toolbox: {\n feature: {\n saveAsImage: {},\n },\n },\n xAxis: {\n type: \"category\",\n boundaryGap: true,\n data: data.Month,\n },\n yAxis: {\n type: \"value\",\n max: 100,\n },\n series: [\n {\n name: \"Branch Coverage (%)\",\n type: \"line\",\n data: data1[\"Branch Coverage (%)\"],\n },\n {\n name: \"Line Coverage (%)\",\n type: \"line\",\n data: data1[\"Line Coverage (%)\"],\n },\n ],\n};\nconst Test = () => {\n return (\n \n \n \n
\n );\n};\n\nexport default Test;\n",
+ "coverage": {
+ "path": "pages/test.tsx",
+ "b": {},
+ "f": {
+ "0": 0
+ },
+ "s": {
+ "0": 0,
+ "1": 0,
+ "2": 0,
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 0,
+ "7": 0
+ },
+ "branchMap": {},
+ "fnMap": {
+ "0": {
+ "name": "(anonymous_0)",
+ "decl": {
+ "start": {
+ "line": 136,
+ "column": 13
+ },
+ "end": {
+ "line": 136,
+ "column": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 19
+ },
+ "end": {
+ "line": 151,
+ "column": 1
+ }
+ },
+ "line": 136
+ }
+ },
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 2,
+ "column": 13
+ },
+ "end": {
+ "line": 9,
+ "column": 1
+ }
+ },
+ "1": {
+ "start": {
+ "line": 10,
+ "column": 11
+ },
+ "end": {
+ "line": 10,
+ "column": 53
+ }
+ },
+ "2": {
+ "start": {
+ "line": 11,
+ "column": 11
+ },
+ "end": {
+ "line": 11,
+ "column": 53
+ }
+ },
+ "3": {
+ "start": {
+ "line": 12,
+ "column": 14
+ },
+ "end": {
+ "line": 17,
+ "column": 1
+ }
+ },
+ "4": {
+ "start": {
+ "line": 19,
+ "column": 15
+ },
+ "end": {
+ "line": 86,
+ "column": 1
+ }
+ },
+ "5": {
+ "start": {
+ "line": 88,
+ "column": 16
+ },
+ "end": {
+ "line": 135,
+ "column": 1
+ }
+ },
+ "6": {
+ "start": {
+ "line": 136,
+ "column": 13
+ },
+ "end": {
+ "line": 151,
+ "column": 1
+ }
+ },
+ "7": {
+ "start": {
+ "line": 137,
+ "column": 2
+ },
+ "end": {
+ "line": 150,
+ "column": 4
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/canyon-report/mock/dynamic-data/useWorker.ts.js b/packages/canyon-report/mock/dynamic-data/useWorker.ts.js
new file mode 100644
index 00000000..9999f7e4
--- /dev/null
+++ b/packages/canyon-report/mock/dynamic-data/useWorker.ts.js
@@ -0,0 +1,25 @@
+window["useWorker.ts"] = {
+ "content": "import { loader } from \"@monaco-editor/react\";\nimport * as monaco from \"monaco-editor\";\nloader.config({\n monaco: monaco,\n});\n",
+ "coverage": {
+ "path": "useWorker.ts",
+ "b": {},
+ "f": {},
+ "s": {
+ "0": 8
+ },
+ "branchMap": {},
+ "fnMap": {},
+ "statementMap": {
+ "0": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 3
+ }
+ }
+ }
+ }
+}
\ No newline at end of file