diff --git a/.github/workflows/publish-canyon-uploader.yml b/.github/workflows/publish-canyon-uploader.yml
new file mode 100644
index 00000000..6fe113de
--- /dev/null
+++ b/.github/workflows/publish-canyon-uploader.yml
@@ -0,0 +1,22 @@
+name: Publish canyon-uploader
+
+on:
+ push:
+ branches: [ "*" ]
+
+jobs:
+ publish-npm:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: pnpm/action-setup@v4
+ with:
+ version: 9
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@v2
+ with:
+ node-version: 20
+ registry-url: https://registry.npmjs.org/
+ - run: pnpm install
+ - run: pnpm --filter=canyon-uploader publish -f --no-git-checks --access=public --filter
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.NODE_AUTH_TOKEN}}
diff --git a/.github/workflows/upload-canyon-report-coverage-map.yml b/.github/workflows/upload-canyon-report-coverage-map.yml
new file mode 100644
index 00000000..adcfebd2
--- /dev/null
+++ b/.github/workflows/upload-canyon-report-coverage-map.yml
@@ -0,0 +1,38 @@
+name: Build and Deploy Vite Project
+
+on:
+ push:
+ branches:
+ - dev # 监听主分支的推送事件
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ # 检查代码库
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ # 设置 Node.js 环境
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: '20' # 根据项目需求选择 Node.js 版本
+
+ # 安装依赖
+ - name: Install dependencies
+ run: pnpm install
+
+ # 运行构建命令
+ - name: Build Vite project
+ run: pnpm run build:report && ls
+
+ # 保存构建结果到工作空间
+# - name: Upload build artifact
+# uses: actions/upload-artifact@v3
+# with:
+# name: build-output
+# path: dist/ # 根据 Vite 的默认输出目录
+
+ # 如果需要部署,可以添加一个部署步骤,例如使用 GitHub Pages 或其他服务
diff --git a/packages/canyon-collect/package.json b/packages/canyon-collect/package.json
index f0ba15cc..84ece32a 100644
--- a/packages/canyon-collect/package.json
+++ b/packages/canyon-collect/package.json
@@ -12,7 +12,6 @@
"preinstall": "prisma generate"
},
"dependencies": {
- "@hpcc-js/wasm": "^2.22.3",
"@nestjs/common": "^10.0.0",
"@nestjs/core": "^10.0.0",
"@nestjs/platform-express": "^10.0.0",
diff --git a/packages/canyon-platform/package.json b/packages/canyon-platform/package.json
index 728d8e09..4cbbbe14 100755
--- a/packages/canyon-platform/package.json
+++ b/packages/canyon-platform/package.json
@@ -10,7 +10,6 @@
},
"dependencies": {
"@ant-design/nextjs-registry": "^1.0.1",
- "@hpcc-js/wasm": "^2.22.3",
"@monaco-editor/react": "^4.6.0",
"@mongodb-js/zstd": "^1.2.2",
"@mongodb-js/zstd-darwin-arm64": "^1.2.2",
diff --git a/packages/canyon-report/.gitignore b/packages/canyon-report/.gitignore
new file mode 100644
index 00000000..58dd9e66
--- /dev/null
+++ b/packages/canyon-report/.gitignore
@@ -0,0 +1,20 @@
+# Local
+.DS_Store
+*.local
+*.log*
+
+# Dist
+node_modules
+dist/
+
+# IDE
+.vscode/*
+!.vscode/extensions.json
+.idea
+
+screenshots
+
+test-results
+
+.canyon_output
+.nyc_output
diff --git a/packages/canyon-report/README.md b/packages/canyon-report/README.md
new file mode 100644
index 00000000..9d9a2ffe
--- /dev/null
+++ b/packages/canyon-report/README.md
@@ -0,0 +1 @@
+rspack编写的istanbuk report仓库
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/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
diff --git a/packages/canyon-report/package.json b/packages/canyon-report/package.json
new file mode 100644
index 00000000..226fee8a
--- /dev/null
+++ b/packages/canyon-report/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "canyon-report",
+ "version": "0.0.8-beta-49",
+ "files": [
+ "dist"
+ ],
+ "scripts": {
+ "dev": "rsbuild dev --open",
+ "build:report": "rsbuild build",
+ "build": "rslib build"
+ },
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs"
+ }
+ },
+ "module": "./dist/index.mjs",
+ "types": "./dist/index.d.ts",
+ "main": "./dist/index.mjs",
+ "dependencies": {
+ "@ant-design/icons": "^5.5.1",
+ "antd": "^5.21.5",
+ "axios": "^1.7.7",
+ "canyon-core": "^0.1.1-beta.3",
+ "canyon-data": "^0.1.1-alpha.11",
+ "commander": "^12.1.0",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-report": "^3.0.1",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "react-highlight-words": "^0.20.0",
+ "shiki": "^1.22.1"
+ },
+ "devDependencies": {
+ "@rsbuild/core": "^1.1.1",
+ "@rsbuild/plugin-babel": "^1.0.3",
+ "@rsbuild/plugin-react": "^1.0.7",
+ "@rslib/core": "^0.0.18",
+ "@types/react": "^18.3.12",
+ "@types/react-dom": "^18.3.1",
+ "autoprefixer": "^10.4.20",
+ "babel-plugin-canyon": "1.8.78-beta.22",
+ "babel-plugin-istanbul": "^7.0.0",
+ "postcss": "^8.4.47",
+ "swc-plugin-coverage-instrument": "^0.0.25",
+ "tailwindcss": "^3.4.14",
+ "typescript": "^5.6.3"
+ }
+}
diff --git a/packages/canyon-report/postcss.config.js b/packages/canyon-report/postcss.config.js
new file mode 100755
index 00000000..12a703d9
--- /dev/null
+++ b/packages/canyon-report/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/packages/canyon-report/public/.gitkeep b/packages/canyon-report/public/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/canyon-report/rsbuild.config.ts b/packages/canyon-report/rsbuild.config.ts
new file mode 100644
index 00000000..7acddd69
--- /dev/null
+++ b/packages/canyon-report/rsbuild.config.ts
@@ -0,0 +1,34 @@
+import { defineConfig } from '@rsbuild/core';
+import { pluginReact } from '@rsbuild/plugin-react';
+import { pluginBabel } from '@rsbuild/plugin-babel';
+// import * as path from "node:path";
+
+// console.log(process.env.RSBUILD_MODE)
+
+const normalConfig = defineConfig({
+ plugins: [pluginReact(),pluginBabel({
+ babelLoaderOptions:{
+ plugins:['istanbul','canyon']
+ }
+ })],
+ output:{
+ copy: [
+ // `./src/assets/image.png` -> `./dist/image.png`
+ { from: './mock' },
+ ],
+ },
+ tools: {
+ swc: {
+ jsc: {
+ experimental: {
+ // plugins: [['swc-plugin-coverage-instrument', {}]],
+ },
+ },
+ },
+ },
+})
+
+const componentConfig = {}
+
+
+export default (process.env.RSBUILD_MODE === 'component' ? componentConfig : normalConfig);
diff --git a/packages/canyon-report/rslib.config.ts b/packages/canyon-report/rslib.config.ts
new file mode 100644
index 00000000..cb08392f
--- /dev/null
+++ b/packages/canyon-report/rslib.config.ts
@@ -0,0 +1,27 @@
+import { pluginReact } from '@rsbuild/plugin-react';
+import { defineConfig } from '@rslib/core';
+
+export default defineConfig({
+ source: {
+ entry: {
+ index: ['./src/components/index.ts'],
+ },
+ },
+ lib: [
+ {
+ bundle: true,
+ dts: false,
+ format: 'esm',
+ },
+ ],
+ output: {
+ target: 'web',
+ },
+ plugins: [
+ pluginReact({
+ swcReactOptions: {
+ runtime: 'classic',
+ },
+ }),
+ ],
+});
diff --git a/packages/canyon-report/src/App.tsx b/packages/canyon-report/src/App.tsx
new file mode 100644
index 00000000..76efb751
--- /dev/null
+++ b/packages/canyon-report/src/App.tsx
@@ -0,0 +1,75 @@
+// @ts-nocheck
+import { Report } from "./components";
+import React, { useEffect, useState } from "react";
+
+// 加载summary数据
+// @ts-ignore
+const dataSource = window.data;
+const reportName = window.reportName;
+const date = window.date;
+// 重要
+// 通过动态引入js文件的方式加载数据,避免全量覆盖率source文件的加载导致内存占用过大。加载完成后,删除全局变量
+const dynamicLoadingSource = (val) => {
+ return new Promise((resolve) => {
+ // 1.检查是否是文件
+ if (!val.includes(".")) {
+ resolve({
+ fileCoverage: undefined,
+ fileContent: undefined,
+ });
+ } else {
+ const script = document.createElement("script");
+ script.src = `dynamic-data/${val}.js`;
+ script.onload = () => {
+ resolve({
+ // @ts-ignore
+ fileCoverage: window[val].coverage,
+ // @ts-ignore
+ fileContent: window[val].content,
+ });
+ document.body.removeChild(script);
+ window[val] = undefined;
+ console.log(window[val]);
+ };
+ document.body.appendChild(script);
+ }
+ });
+};
+
+function App() {
+ const [value, setValue] = useState(window.location.hash.slice(1));
+ const onSelect = (val) => {
+ setValue(val);
+ window.location.hash = val;
+ return dynamicLoadingSource(val);
+ };
+
+ return (
+
+
+
+
+
+ Code coverage generated by{" "}
+
+ canyon
+ {" "}
+ at {date}
+
+
+ );
+}
+
+export default App;
diff --git a/packages/canyon-report/src/components/Report/Report.tsx b/packages/canyon-report/src/components/Report/Report.tsx
new file mode 100644
index 00000000..7cfd7614
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/Report.tsx
@@ -0,0 +1,138 @@
+import React, { FC } from "react";
+import SummaryHeader from "./components/SummaryHeader";
+import { useEffect, useMemo, useState } from "react";
+import SummaryListTable from "./components/SummaryListTable";
+import TopControl from "./components/TopControl";
+import FileCoverageDetail from "./components/FileCoverageDetail";
+import { ReportProps } from "./types";
+import { FileCoverageData } from "istanbul-lib-coverage";
+import CanyonReportTreeTable from "./components/SummaryTreeTable";
+import { genSummaryTreeItem } from "canyon-data";
+import { Spin } from "antd";
+import { genFileDetailLines, ggggggfn } from "../helpers/file";
+// import { genFileDetailLines } from "../helpers";
+
+const Report: FC = ({
+ dataSource,
+ value,
+ onSelect,
+ reportName,
+}) => {
+ const [filenameKeywords, setFilenameKeywords] = useState("");
+ const [range, setRange] = useState([0, 100]);
+ const [showMode, setShowMode] = useState("tree");
+ const [loading, setLoading] = useState(false);
+
+ const isFile = useMemo(() => {
+ return value.includes(".");
+ }, [value]);
+
+ const [fileCoverage, setFileCoverage] = useState({
+ path: "",
+ statementMap: {},
+ fnMap: {},
+ branchMap: {},
+ s: {},
+ f: {},
+ b: {},
+ });
+ const [fileContent, setFileContent] = useState("");
+
+ function newonSelect(val: string) {
+ setLoading(true);
+ return onSelect(val).then((res) => {
+ setFileContent(res.fileContent);
+ setFileCoverage(res.fileCoverage);
+ setLoading(false);
+ return res;
+ });
+ }
+
+ useEffect(() => {
+ newonSelect(value);
+ }, []);
+
+ const { treeDataSource, rootDataSource, listDataSource } = useMemo(() => {
+ // 1.过滤
+
+ const listDataSource = dataSource.filter((item) =>
+ item.path.toLowerCase().includes(filenameKeywords.toLowerCase()),
+ );
+ // @ts-ignore
+ const summary = listDataSource
+ // @ts-ignore
+ .reduce((acc: never, cur: never) => {
+ // @ts-ignore
+ acc[cur.path] = cur;
+ return acc;
+ }, {});
+
+ // @ts-ignore
+ const aaaa = genSummaryTreeItem(value, summary);
+ return {
+ treeDataSource: aaaa.children.map((item) => {
+ return {
+ path: item.path,
+ ...item.summary,
+ };
+ }),
+ rootDataSource: {
+ path: aaaa.path,
+ ...aaaa.summary,
+ },
+ listDataSource: listDataSource,
+ };
+ }, [dataSource, value, filenameKeywords]);
+
+ return (
+
+ {
+ setShowMode(val);
+ }}
+ total={
+ dataSource.filter((item) => {
+ return item.path.startsWith(value);
+ }).length
+ }
+ onChangeKeywords={(val) => {
+ setFilenameKeywords(val);
+ }}
+ />
+
+
+ {isFile ? (
+
+ {!loading && (
+
+ )}
+
+ ) : showMode === "tree" ? (
+
+ ) : (
+
+ )}
+
+ );
+};
+
+export default Report;
diff --git a/packages/canyon-report/src/components/Report/components/FileCoverageDetail.tsx b/packages/canyon-report/src/components/Report/components/FileCoverageDetail.tsx
new file mode 100644
index 00000000..684c8aa1
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/components/FileCoverageDetail.tsx
@@ -0,0 +1,86 @@
+import React, { FC } from "react";
+import { useEffect, useState } from "react";
+import { createHighlighterCoreInstance } from "../../helpers/loadShiki";
+
+function jisuanColor(coun) {
+ if (coun === 0) {
+ return "rgba(255, 0, 0, 0.5)";
+ }
+ if (coun > 0) {
+ return "rgba(255, 255, 0, 0.5)";
+ }
+ if (coun < 0) {
+ return "unset";
+ }
+}
+
+const FileCoverageDetail: FC<{
+ fileContent: string;
+ lines: { count: number }[];
+ dsss: any[];
+}> = ({ fileContent, lines, dsss }) => {
+ const [htmlContent, setHtmlContent] = useState("");
+ useEffect(() => {
+ createHighlighterCoreInstance().then((highlighter) => {
+ const html = highlighter.codeToHtml(fileContent || "", {
+ lang: "javascript",
+ theme: "light-plus",
+ decorations: dsss,
+ });
+ setHtmlContent(html);
+ });
+ console.log(dsss);
+ }, [fileContent]);
+
+ return (
+
+ {/*行号*/}
+
+ {lines.map((lin, index) => {
+ return (
+
+ {index + 1}
+
+ );
+ })}
+
+
+ {/*执行次数*/}
+
+ {lines.map((lin, index) => {
+ return (
+
+ {lin.count > 0 ? lin.count + "x" : ""}
+
+ );
+ })}
+
+
+
+
+ );
+};
+
+export default FileCoverageDetail;
diff --git a/packages/canyon-report/src/components/Report/components/SummaryHeader.tsx b/packages/canyon-report/src/components/Report/components/SummaryHeader.tsx
new file mode 100644
index 00000000..189735e6
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/components/SummaryHeader.tsx
@@ -0,0 +1,99 @@
+import React, { FC } from "react";
+import { Tag, Typography } from "antd";
+import { getColor } from "../../helpers";
+import { CoverageSummaryData } from "istanbul-lib-coverage";
+const { Text } = Typography;
+const SummaryNav: FC<{
+ reportName: string;
+ value: string;
+ onClick: (value: string) => void;
+}> = ({ value, onClick, reportName }) => {
+ return (
+
+ {(reportName + "/" + value).split("/").map((item, index) => {
+ return (
+
+ );
+ })}
+
+ );
+};
+
+const SummaryMetric: FC<{
+ data: CoverageSummaryData & { path: string };
+}> = ({ data }) => {
+ const t = (key: string) => key;
+ const summaryTreeItem = {
+ summary: data,
+ };
+
+ return (
+
+
+ {Object.entries(summaryTreeItem.summary)
+ .filter(([key]) =>
+ ["statements", "branches", "functions", "lines"].includes(key),
+ )
+ .map(([key, value]) => {
+ return (
+
+
+ {value.pct}%
+
+
+ {t(key)}:
+
+
+ {value.covered}/{value.total}
+
+
+ );
+ })}
+
+
+ );
+};
+
+const SummaryBar: FC<{ pct: number }> = ({ pct }) => {
+ return (
+
+ );
+};
+
+const SummaryHeader: FC<{
+ value: string;
+ onSelect: (value: string) => void;
+ data: CoverageSummaryData & { path: string };
+ reportName: string;
+}> = ({ value, onSelect, data, reportName }) => {
+ return (
+
+
+
+
+
+ );
+};
+
+export default SummaryHeader;
diff --git a/packages/canyon-report/src/components/Report/components/SummaryListTable.tsx b/packages/canyon-report/src/components/Report/components/SummaryListTable.tsx
new file mode 100644
index 00000000..2e638dae
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/components/SummaryListTable.tsx
@@ -0,0 +1,98 @@
+import { Table, Progress, ConfigProvider } from "antd";
+import React, { FC } from "react";
+import Highlighter from "react-highlight-words";
+import { getColor } from "../../helpers";
+import { CoverageSummaryData } from "istanbul-lib-coverage";
+
+const t = (msg: string) => msg;
+const SummaryListTable: FC<{
+ dataSource: (CoverageSummaryData & { path: string })[];
+ onSelect: (path: string) => void;
+ value: string;
+ filenameKeywords: string;
+}> = ({ dataSource, onSelect, value, filenameKeywords }) => {
+ return (
+
+ {
+ return item.path.startsWith(value);
+ })}
+ rowKey={"path"}
+ columns={[
+ {
+ title: t("Files"),
+ key: "path",
+ dataIndex: "path",
+ render(text) {
+ return (
+ {
+ onSelect(text);
+ }}
+ >
+
+
+ );
+ },
+ },
+ {
+ title: t("Total"),
+ key: "total",
+ dataIndex: ["statements", "total"],
+ sorter(a, b) {
+ return a.statements.total - b.statements.total;
+ },
+ },
+ {
+ title: t("Covered"),
+ key: "covered",
+ dataIndex: ["statements", "covered"],
+ sorter(a, b) {
+ return a.statements.covered - b.statements.covered;
+ },
+ },
+ {
+ title: t("Coverage") + " %",
+ width: "300px",
+ key: "c",
+ sorter: (a, b) => {
+ return a.statements.pct - b.statements.pct;
+ },
+ dataIndex: ["statements", "pct"],
+ render(text) {
+ return (
+
+ );
+ },
+ },
+ ]}
+ />
+
+ );
+};
+
+export default SummaryListTable;
diff --git a/packages/canyon-report/src/components/Report/components/SummaryTreeTable.tsx b/packages/canyon-report/src/components/Report/components/SummaryTreeTable.tsx
new file mode 100644
index 00000000..032dbfa0
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/components/SummaryTreeTable.tsx
@@ -0,0 +1,100 @@
+import React, { FC } from "react";
+import { FileOutlined, FolderFilled } from "@ant-design/icons";
+import { ConfigProvider, Progress, Table } from "antd";
+import { getColor } from "../../helpers";
+import { CoverageSummaryData } from "istanbul-lib-coverage";
+
+function checkSuffix(str: string) {
+ console.log(str);
+ return true;
+}
+
+const CanyonReportTreeTable: FC<{
+ dataSource: (CoverageSummaryData & { path: string })[];
+ onSelect: (path: string) => void;
+}> = ({ dataSource, onSelect }) => {
+ const t = (res: string) => res;
+ return (
+
+
+ {
+ onSelect(text);
+ }}
+ >
+ {text.includes(".") && checkSuffix(text) ? (
+
+ ) : (
+
+ )}
+ {text.split("/").at(-1)}
+
+ );
+ },
+ },
+
+ {
+ title: t("Total"),
+ key: "total",
+ dataIndex: ["statements", "total"],
+ sorter(a, b) {
+ return a.statements.total - b.statements.total;
+ },
+ },
+ {
+ title: t("Covered"),
+ key: "covered",
+ dataIndex: ["statements", "covered"],
+ sorter(a, b) {
+ return a.statements.covered - b.statements.covered;
+ },
+ },
+ {
+ title: t("Coverage") + " %",
+ width: "300px",
+ key: "c",
+ dataIndex: ["statements", "pct"],
+ sorter(a, b) {
+ return a.statements.pct - b.statements.pct;
+ },
+ render(text) {
+ return (
+
+ );
+ },
+ },
+ ]}
+ />
+
+
+ );
+};
+
+export default CanyonReportTreeTable;
diff --git a/packages/canyon-report/src/components/Report/components/TopControl.tsx b/packages/canyon-report/src/components/Report/components/TopControl.tsx
new file mode 100644
index 00000000..d1a7c919
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/components/TopControl.tsx
@@ -0,0 +1,68 @@
+import React, { FC } from "react";
+import Icon, { BarsOutlined, SearchOutlined } from "@ant-design/icons";
+import { Divider, Space, Segmented, Input } from "antd";
+import PhTreeViewIcon from "../icons/PhTreeView";
+
+const TopControl: FC<{
+ total: number;
+ showMode: string;
+ filenameKeywords: string;
+ onChangeShowMode: (mode: string) => void;
+ onChangeKeywords: (word: string) => void;
+}> = ({
+ total,
+ showMode,
+ onChangeShowMode,
+ onChangeKeywords,
+ filenameKeywords,
+}) => {
+ return (
+
+
+
+
+ {
+ onChangeShowMode(v);
+ }}
+ options={[
+ {
+ label: "Code tree",
+ value: "tree",
+ icon: ,
+ },
+ {
+ label: "File list",
+ value: "list",
+ icon: ,
+ },
+ ]}
+ />
+
+
+ {total} total files
+
+
+
+
+
+ }
+ className={"w-[240px]"}
+ size={"small"}
+ onChange={(val) => {
+ onChangeKeywords(val.target.value);
+ }}
+ />
+
+
+
+
+ );
+};
+
+export default TopControl;
diff --git a/packages/canyon-report/src/components/Report/icons/PhTreeView.tsx b/packages/canyon-report/src/components/Report/icons/PhTreeView.tsx
new file mode 100644
index 00000000..2b29aa81
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/icons/PhTreeView.tsx
@@ -0,0 +1,18 @@
+import type { SVGProps } from "react";
+import React from "react";
+export default function PhTreeViewIcon(props: SVGProps) {
+ return (
+
+
+
+ );
+}
diff --git a/packages/canyon-report/src/components/Report/index.ts b/packages/canyon-report/src/components/Report/index.ts
new file mode 100644
index 00000000..dd95e637
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/index.ts
@@ -0,0 +1,5 @@
+import { memo } from "react";
+
+import Report from "./Report";
+
+export default memo(Report);
diff --git a/packages/canyon-report/src/components/Report/types.ts b/packages/canyon-report/src/components/Report/types.ts
new file mode 100644
index 00000000..2e37bfda
--- /dev/null
+++ b/packages/canyon-report/src/components/Report/types.ts
@@ -0,0 +1,10 @@
+import { CoverageSummaryData, FileCoverageData } from "istanbul-lib-coverage";
+
+export interface ReportProps {
+ reportName: string;
+ dataSource: (CoverageSummaryData & { path: string })[];
+ value: string; // 当前选中的文件
+ onSelect: (
+ val: string,
+ ) => Promise<{ fileCoverage: FileCoverageData; fileContent: string }>;
+}
diff --git a/packages/canyon-report/src/components/helpers/file.ts b/packages/canyon-report/src/components/helpers/file.ts
new file mode 100644
index 00000000..bf0533f3
--- /dev/null
+++ b/packages/canyon-report/src/components/helpers/file.ts
@@ -0,0 +1,163 @@
+// 获取numberOfRows
+// 获取行覆盖率
+function getLineCoverage(data) {
+ const statementMap = data.statementMap;
+ const statements = data.s;
+ const lineMap = Object.create(null);
+ Object.entries(statements).forEach(([st, count]) => {
+ if (!statementMap[st]) {
+ return;
+ }
+ const { line } = statementMap[st].start;
+ const prevVal = lineMap[line];
+ if (prevVal === undefined || prevVal < count) {
+ lineMap[line] = count;
+ }
+ });
+ return lineMap;
+}
+export const genFileDetailLines = (fileCoverage, fileContent) => {
+ // console.log(coverage)
+ const totalLines = fileContent.split("\n").length;
+ const lineStats = getLineCoverage(fileCoverage);
+ console.log(lineStats);
+ return Array.from({ length: totalLines }, (_, index) => {
+ return {
+ count: lineStats[index + 1],
+ };
+ });
+};
+
+export function mergeIntervals(intervals) {
+ // 如果输入为空,直接返回空列表
+ if (intervals.length === 0) {
+ return [];
+ }
+
+ // 将所有线段按起始位置进行排序
+ intervals.sort((a, b) => a[0] - b[0]);
+
+ // 初始化结果列表
+ const merged = [];
+ let [currentStart, currentEnd] = intervals[0];
+
+ for (const [start, end] of intervals.slice(1)) {
+ if (start <= currentEnd) {
+ // 当前线段与前一个线段有重叠
+ currentEnd = Math.max(currentEnd, end); // 更新结束位置
+ } else {
+ // 当前线段与前一个线段没有重叠
+ merged.push([currentStart, currentEnd]); // 将前一个线段加入结果列表
+ [currentStart, currentEnd] = [start, end]; // 更新当前线段的起始和结束位置
+ }
+ }
+
+ // 添加最后一个线段
+ merged.push([currentStart, currentEnd]);
+
+ return merged;
+}
+
+export const ggggggfn = (filecoverage, fileContent) => {
+ const statementStats = filecoverage.s;
+ const statementMeta = filecoverage.statementMap;
+ const structuredText = fileContent
+ .split("\n")
+ .reduce((previousValue, currentValue, currentIndex) => {
+ return {
+ ...previousValue,
+ [currentIndex]: currentValue,
+ };
+ }, {});
+ const statementDecorations = [];
+
+ Object.entries(statementStats).forEach(([stName, count]) => {
+ const meta = statementMeta[stName];
+ if (meta) {
+ const type = count > 0 ? "yes" : "no";
+ const startCol = meta.start.column;
+ let endCol = meta.end.column + 1;
+ const startLine = meta.start.line;
+ const endLine = meta.end.line;
+
+ if (type === "no" && structuredText[startLine]) {
+ if (endLine !== startLine) {
+ endCol = structuredText[startLine].length;
+ }
+ // 转化为字符的起始
+
+ let start = 0;
+ let end = 0;
+
+ for (let i = 0; i < startLine - 1; i++) {
+ start += structuredText[i].length + 1;
+ }
+ for (let i = 0; i < endLine - 1; i++) {
+ end += structuredText[i].length + 1;
+ }
+
+ start += startCol;
+ end += endCol;
+ statementDecorations.push([start, end]);
+ }
+ }
+ });
+
+ const fnDecorations = [];
+ const fnStats = filecoverage.f;
+ const fnMeta = filecoverage.fnMap;
+ Object.entries(fnStats).forEach(([fName, count]) => {
+ const meta = fnMeta[fName];
+ if (meta) {
+ const type = count > 0 ? "yes" : "no";
+ // Some versions of the instrumenter in the wild populate 'func'
+ // but not 'decl':
+ const decl = meta.decl || meta.loc;
+ const startCol = decl.start.column;
+ let endCol = decl.end.column + 1;
+ const startLine = decl.start.line;
+ const endLine = decl.end.line;
+
+ if (type === "no" && structuredText[startLine]) {
+ if (endLine !== startLine) {
+ endCol = structuredText[startLine].length;
+ }
+
+ // 转化为字符的起始
+
+ let start = 0;
+ let end = 0;
+
+ for (let i = 0; i < startLine - 1; i++) {
+ start += structuredText[i].length + 1;
+ }
+ for (let i = 0; i < endLine - 1; i++) {
+ end += structuredText[i].length + 1;
+ }
+
+ start += startCol;
+ end += endCol;
+ fnDecorations.push([start, end]);
+ }
+ }
+ });
+
+ return mergeIntervals(
+ [...statementDecorations, ...fnDecorations].filter((item) => {
+ // defaultValue
+ if (item[0] >= item[1]) {
+ return false;
+ } else if (item[1] > fileContent.length) {
+ return false;
+ } else {
+ return item[0] < item[1];
+ }
+ }),
+ ).map(([start, end]) => {
+ return {
+ start,
+ end,
+ properties: { class: "content-class-no-found" },
+ };
+ });
+};
diff --git a/packages/canyon-report/src/components/helpers/index.ts b/packages/canyon-report/src/components/helpers/index.ts
new file mode 100644
index 00000000..23aba49a
--- /dev/null
+++ b/packages/canyon-report/src/components/helpers/index.ts
@@ -0,0 +1,13 @@
+export const getColor = (pct: number) => {
+ if (pct >= 80) {
+ return "rgb(33,181,119)";
+ } else if (pct >= 50) {
+ return "rgb(244,176,27)";
+ } else {
+ return "rgb(245,32,32)";
+ }
+};
+
+export const convertTreeDataSource = (dataSource) => {
+ return dataSource;
+};
diff --git a/packages/canyon-report/src/components/helpers/loadShiki.ts b/packages/canyon-report/src/components/helpers/loadShiki.ts
new file mode 100644
index 00000000..9b2a59e1
--- /dev/null
+++ b/packages/canyon-report/src/components/helpers/loadShiki.ts
@@ -0,0 +1,18 @@
+import { createHighlighterCore } from "shiki/core";
+import getWasm from "shiki/wasm";
+import lightplus from "shiki/themes/light-plus.mjs";
+import css from "shiki/langs/css.mjs";
+import jscss from "shiki/langs/javascript.mjs";
+import { createOnigurumaEngine } from "shiki/engine/oniguruma";
+
+export const createHighlighterCoreInstance = async () => {
+ return await createHighlighterCore({
+ themes: [
+ // 传入导入的包,而不是字符串
+ lightplus,
+ ],
+ langs: [css, jscss],
+ // `shiki/wasm` contains the wasm binary inlined as base64 string.
+ engine: createOnigurumaEngine(getWasm),
+ });
+};
diff --git a/packages/canyon-report/src/components/index.ts b/packages/canyon-report/src/components/index.ts
new file mode 100644
index 00000000..08b32bea
--- /dev/null
+++ b/packages/canyon-report/src/components/index.ts
@@ -0,0 +1,3 @@
+import Report from "./Report";
+export { Report };
+export default Report;
diff --git a/packages/canyon-report/src/env.d.ts b/packages/canyon-report/src/env.d.ts
new file mode 100644
index 00000000..b0ac762b
--- /dev/null
+++ b/packages/canyon-report/src/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/packages/canyon-report/src/index.css b/packages/canyon-report/src/index.css
new file mode 100644
index 00000000..ccef0eb4
--- /dev/null
+++ b/packages/canyon-report/src/index.css
@@ -0,0 +1,23 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+@import 'antd/dist/reset.css';
+
+.shiki > code {
+ font-size: 12px;
+ line-height: 24px;
+}
+
+a{
+ color: #3182ce;
+}
+
+.YourHighlightClass{
+ padding: 0 !important;
+ color: white !important;
+ background: rgb(244, 176, 27) !important;
+}
+
+.content-class-no-found{
+ background: #f6c6ce;
+}
diff --git a/packages/canyon-report/src/index.tsx b/packages/canyon-report/src/index.tsx
new file mode 100644
index 00000000..a0de6d02
--- /dev/null
+++ b/packages/canyon-report/src/index.tsx
@@ -0,0 +1,27 @@
+import './mock.js'
+import './index.css'
+import React from "react";
+import ReactDOM from "react-dom/client";
+import App from "./App";
+
+// @ts-ignore
+window.__canyon__ = {
+ "dsn": "https://canyon-collect-three.vercel.app/coverage/client",
+ "reporter": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InR6aGFuZ20iLCJpZCI6ODQxNywiaWF0IjoxNzExNjAwMjA1LCJleHAiOjIwMjcxNzYyMDV9.8P2NIRv_skZvboci8TbRgiPesjlopA1cZXtG-ybhuiE",
+ "instrumentCwd": "/vercel/path0",
+ "branch": "main",
+ "commitSha": "91a12fc016b8f0c61dd605a67b38b6c5999fed74",
+ "sha": "91a12fc016b8f0c61dd605a67b38b6c5999fed74",
+ "projectID": "118075",
+ "compareTarget": "-"
+}
+
+const rootEl = document.getElementById("root");
+if (rootEl) {
+ const root = ReactDOM.createRoot(rootEl);
+ root.render(
+
+
+ ,
+ );
+}
diff --git a/packages/canyon-report/src/mock.js b/packages/canyon-report/src/mock.js
new file mode 100644
index 00000000..96e5d7e3
--- /dev/null
+++ b/packages/canyon-report/src/mock.js
@@ -0,0 +1,1760 @@
+
+ window.data = [
+ {
+ "lines": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "useWorker.ts"
+ },
+ {
+ "lines": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "i18n.ts"
+ },
+ {
+ "lines": {
+ "total": 4,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 4,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/card/Primary.tsx"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/card/index.ts"
+ },
+ {
+ "lines": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/layout/footer.tsx"
+ },
+ {
+ "lines": {
+ "total": 15,
+ "covered": 14,
+ "skipped": 0,
+ "pct": 93.33
+ },
+ "functions": {
+ "total": 5,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 80
+ },
+ "statements": {
+ "total": 15,
+ "covered": 14,
+ "skipped": 0,
+ "pct": 93.33
+ },
+ "branches": {
+ "total": 8,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/layout/ScrollBasedLayout.tsx"
+ },
+ {
+ "lines": {
+ "total": 8,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 62.5
+ },
+ "functions": {
+ "total": 5,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 20
+ },
+ "statements": {
+ "total": 8,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 62.5
+ },
+ "branches": {
+ "total": 9,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 55.55
+ },
+ "path": "components/old-ui/components/layout/Base.tsx"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/layout/index.ts"
+ },
+ {
+ "lines": {
+ "total": 8,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 62.5
+ },
+ "functions": {
+ "total": 5,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 40
+ },
+ "statements": {
+ "total": 9,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 66.66
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/modal/GlobalSearch.tsx"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/modal/index.ts"
+ },
+ {
+ "lines": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "functions": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "assets/icons/EpTopRight.tsx"
+ },
+ {
+ "lines": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "functions": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/page/login/LoginBtn.tsx"
+ },
+ {
+ "lines": {
+ "total": 19,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 10.52
+ },
+ "functions": {
+ "total": 8,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 19,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 10.52
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/old-ui/components/page/login/LoginForm.tsx"
+ },
+ {
+ "lines": {
+ "total": 3,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 66.66
+ },
+ "functions": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 3,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 66.66
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/old-ui/components/page/login/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 13,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 7.69
+ },
+ "functions": {
+ "total": 5,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 13,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 7.69
+ },
+ "branches": {
+ "total": 4,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/old-ui/components/page/Oauth.tsx"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/page/index.ts"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/components/index.ts"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/old-ui/index.ts"
+ },
+ {
+ "lines": {
+ "total": 16,
+ "covered": 16,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 16,
+ "covered": 16,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "helpers/backend/gen/graphql.ts"
+ },
+ {
+ "lines": {
+ "total": 26,
+ "covered": 15,
+ "skipped": 0,
+ "pct": 57.69
+ },
+ "functions": {
+ "total": 7,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 42.85
+ },
+ "statements": {
+ "total": 26,
+ "covered": 15,
+ "skipped": 0,
+ "pct": 57.69
+ },
+ "branches": {
+ "total": 15,
+ "covered": 11,
+ "skipped": 0,
+ "pct": 73.33
+ },
+ "path": "layouts/genBreadcrumbItems.tsx"
+ },
+ {
+ "lines": {
+ "total": 12,
+ "covered": 10,
+ "skipped": 0,
+ "pct": 83.33
+ },
+ "functions": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 12,
+ "covered": 10,
+ "skipped": 0,
+ "pct": 83.33
+ },
+ "branches": {
+ "total": 13,
+ "covered": 11,
+ "skipped": 0,
+ "pct": 84.61
+ },
+ "path": "layouts/genTitle.ts"
+ },
+ {
+ "lines": {
+ "total": 32,
+ "covered": 23,
+ "skipped": 0,
+ "pct": 71.87
+ },
+ "functions": {
+ "total": 11,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 72.72
+ },
+ "statements": {
+ "total": 33,
+ "covered": 24,
+ "skipped": 0,
+ "pct": 72.72
+ },
+ "branches": {
+ "total": 12,
+ "covered": 10,
+ "skipped": 0,
+ "pct": 83.33
+ },
+ "path": "pages/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 26,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 11.53
+ },
+ "functions": {
+ "total": 13,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 26,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 11.53
+ },
+ "branches": {
+ "total": 9,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/reports.tsx"
+ },
+ {
+ "lines": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "functions": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/ui/components/form/region.tsx"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/ui/components/form/index.ts"
+ },
+ {
+ "lines": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "lib/utils.ts"
+ },
+ {
+ "lines": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 2,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/ui/components/typography/text.tsx"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/ui/components/typography/index.ts"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/ui/components/index.ts"
+ },
+ {
+ "lines": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/ui/index.ts"
+ },
+ {
+ "lines": {
+ "total": 64,
+ "covered": 41,
+ "skipped": 0,
+ "pct": 64.06
+ },
+ "functions": {
+ "total": 24,
+ "covered": 13,
+ "skipped": 0,
+ "pct": 54.16
+ },
+ "statements": {
+ "total": 64,
+ "covered": 41,
+ "skipped": 0,
+ "pct": 64.06
+ },
+ "branches": {
+ "total": 54,
+ "covered": 35,
+ "skipped": 0,
+ "pct": 64.81
+ },
+ "path": "pages/index/projects/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 23,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 13.04
+ },
+ "functions": {
+ "total": 11,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 24,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 12.5
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/projects/new.tsx"
+ },
+ {
+ "lines": {
+ "total": 8,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 12.5
+ },
+ "functions": {
+ "total": 3,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 8,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 12.5
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/app/CopyCode.tsx"
+ },
+ {
+ "lines": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/app/getting-started-content.ts"
+ },
+ {
+ "lines": {
+ "total": 8,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 25
+ },
+ "functions": {
+ "total": 5,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 9,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 22.22
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "pages/index/projects/[id]/getting-started.tsx"
+ },
+ {
+ "lines": {
+ "total": 22,
+ "covered": 15,
+ "skipped": 0,
+ "pct": 68.18
+ },
+ "functions": {
+ "total": 10,
+ "covered": 7,
+ "skipped": 0,
+ "pct": 70
+ },
+ "statements": {
+ "total": 22,
+ "covered": 15,
+ "skipped": 0,
+ "pct": 68.18
+ },
+ "branches": {
+ "total": 6,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 50
+ },
+ "path": "components/app/ProjectRecordDetailDrawer.tsx"
+ },
+ {
+ "lines": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/icons/MaterialSymbolsCommitSharp.tsx"
+ },
+ {
+ "lines": {
+ "total": 67,
+ "covered": 47,
+ "skipped": 0,
+ "pct": 70.14
+ },
+ "functions": {
+ "total": 31,
+ "covered": 19,
+ "skipped": 0,
+ "pct": 61.29
+ },
+ "statements": {
+ "total": 67,
+ "covered": 47,
+ "skipped": 0,
+ "pct": 70.14
+ },
+ "branches": {
+ "total": 36,
+ "covered": 22,
+ "skipped": 0,
+ "pct": 61.11
+ },
+ "path": "pages/index/projects/[id]/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 18,
+ "covered": 10,
+ "skipped": 0,
+ "pct": 55.55
+ },
+ "functions": {
+ "total": 9,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 22.22
+ },
+ "statements": {
+ "total": 18,
+ "covered": 10,
+ "skipped": 0,
+ "pct": 55.55
+ },
+ "branches": {
+ "total": 8,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 62.5
+ },
+ "path": "components/CanyonReport/PrepareProdFn.tsx"
+ },
+ {
+ "lines": {
+ "total": 7,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 85.71
+ },
+ "functions": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "statements": {
+ "total": 7,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 85.71
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "components/CanyonReport/Control.tsx"
+ },
+ {
+ "lines": {
+ "total": 86,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "functions": {
+ "total": 19,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 93,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "branches": {
+ "total": 29,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/helper.tsx"
+ },
+ {
+ "lines": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "functions": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 2,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 50
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "helpers/utils/getViewLineHeight.tsx"
+ },
+ {
+ "lines": {
+ "total": 8,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 12.5
+ },
+ "functions": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 8,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 12.5
+ },
+ "branches": {
+ "total": 16,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/line/coverage.tsx"
+ },
+ {
+ "lines": {
+ "total": 4,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 25
+ },
+ "functions": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 4,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 25
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/line/new.tsx"
+ },
+ {
+ "lines": {
+ "total": 10,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 10
+ },
+ "functions": {
+ "total": 3,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 10,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 10
+ },
+ "branches": {
+ "total": 6,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/line/number.tsx"
+ },
+ {
+ "lines": {
+ "total": 63,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 1.58
+ },
+ "functions": {
+ "total": 9,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 67,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 1.49
+ },
+ "branches": {
+ "total": 30,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/ShikiDetail.tsx"
+ },
+ {
+ "lines": {
+ "total": 9,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 11.11
+ },
+ "functions": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 9,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 11.11
+ },
+ "branches": {
+ "total": 6,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/CoverageDetail.tsx"
+ },
+ {
+ "lines": {
+ "total": 11,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 36.36
+ },
+ "functions": {
+ "total": 4,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 25
+ },
+ "statements": {
+ "total": 11,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 36.36
+ },
+ "branches": {
+ "total": 6,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 50
+ },
+ "path": "helpers/utils/common.ts"
+ },
+ {
+ "lines": {
+ "total": 12,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 8.33
+ },
+ "functions": {
+ "total": 9,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 12,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 8.33
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "components/CanyonReport/ListTable.tsx"
+ },
+ {
+ "lines": {
+ "total": 16,
+ "covered": 9,
+ "skipped": 0,
+ "pct": 56.25
+ },
+ "functions": {
+ "total": 10,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 40
+ },
+ "statements": {
+ "total": 16,
+ "covered": 9,
+ "skipped": 0,
+ "pct": 56.25
+ },
+ "branches": {
+ "total": 6,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 50
+ },
+ "path": "components/CanyonReport/Overview.tsx"
+ },
+ {
+ "lines": {
+ "total": 12,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 50
+ },
+ "functions": {
+ "total": 9,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 33.33
+ },
+ "statements": {
+ "total": 12,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 50
+ },
+ "branches": {
+ "total": 6,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 50
+ },
+ "path": "components/CanyonReport/TreeTable.tsx"
+ },
+ {
+ "lines": {
+ "total": 27,
+ "covered": 20,
+ "skipped": 0,
+ "pct": 74.07
+ },
+ "functions": {
+ "total": 12,
+ "covered": 8,
+ "skipped": 0,
+ "pct": 66.66
+ },
+ "statements": {
+ "total": 27,
+ "covered": 20,
+ "skipped": 0,
+ "pct": 74.07
+ },
+ "branches": {
+ "total": 23,
+ "covered": 12,
+ "skipped": 0,
+ "pct": 52.17
+ },
+ "path": "components/CanyonReport/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 13,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 38.46
+ },
+ "functions": {
+ "total": 10,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 50
+ },
+ "statements": {
+ "total": 14,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 42.85
+ },
+ "branches": {
+ "total": 8,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 50
+ },
+ "path": "pages/index/projects/[id]/commits/helper/index.ts"
+ },
+ {
+ "lines": {
+ "total": 31,
+ "covered": 24,
+ "skipped": 0,
+ "pct": 77.41
+ },
+ "functions": {
+ "total": 6,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 66.66
+ },
+ "statements": {
+ "total": 31,
+ "covered": 24,
+ "skipped": 0,
+ "pct": 77.41
+ },
+ "branches": {
+ "total": 28,
+ "covered": 11,
+ "skipped": 0,
+ "pct": 39.28
+ },
+ "path": "pages/index/projects/[id]/commits/[sha].tsx"
+ },
+ {
+ "lines": {
+ "total": 15,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 13.33
+ },
+ "functions": {
+ "total": 5,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 16,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 12.5
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/projects/[id]/configure/helper/BasicForms.tsx"
+ },
+ {
+ "lines": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "functions": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 1,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "branches": {
+ "total": 0,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 100
+ },
+ "path": "pages/index/projects/[id]/configure/helper/icons/SolarUserIdLinear.tsx"
+ },
+ {
+ "lines": {
+ "total": 20,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 5
+ },
+ "functions": {
+ "total": 10,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 20,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 5
+ },
+ "branches": {
+ "total": 10,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/projects/[id]/configure/helper/crud.tsx"
+ },
+ {
+ "lines": {
+ "total": 35,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 14.28
+ },
+ "functions": {
+ "total": 17,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 37,
+ "covered": 5,
+ "skipped": 0,
+ "pct": 13.51
+ },
+ "branches": {
+ "total": 12,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/projects/[id]/configure/helper/MemberTable.tsx"
+ },
+ {
+ "lines": {
+ "total": 40,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 7.5
+ },
+ "functions": {
+ "total": 21,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 43,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 6.97
+ },
+ "branches": {
+ "total": 4,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/projects/[id]/configure/helper/TagTable.tsx"
+ },
+ {
+ "lines": {
+ "total": 25,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 16
+ },
+ "functions": {
+ "total": 8,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 25,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 16
+ },
+ "branches": {
+ "total": 18,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/projects/[id]/configure/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 9,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 11.11
+ },
+ "functions": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 9,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 11.11
+ },
+ "branches": {
+ "total": 6,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "helpers/gitprovider/genOAuthUrl.ts"
+ },
+ {
+ "lines": {
+ "total": 7,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 28.57
+ },
+ "functions": {
+ "total": 5,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 8,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 25
+ },
+ "branches": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/settings/components/BindGitProvider.tsx"
+ },
+ {
+ "lines": {
+ "total": 12,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 25
+ },
+ "functions": {
+ "total": 5,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 12,
+ "covered": 3,
+ "skipped": 0,
+ "pct": 25
+ },
+ "branches": {
+ "total": 10,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "path": "pages/index/settings/index.tsx"
+ },
+ {
+ "lines": {
+ "total": 6,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 100
+ },
+ "functions": {
+ "total": 1,
+ "covered": 1,
+ "skipped": 0,
+ "pct": 100
+ },
+ "statements": {
+ "total": 6,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 100
+ },
+ "branches": {
+ "total": 6,
+ "covered": 4,
+ "skipped": 0,
+ "pct": 66.66
+ },
+ "path": "App.tsx"
+ },
+ {
+ "lines": {
+ "total": 16,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 37.5
+ },
+ "functions": {
+ "total": 2,
+ "covered": 0,
+ "skipped": 0,
+ "pct": 0
+ },
+ "statements": {
+ "total": 16,
+ "covered": 6,
+ "skipped": 0,
+ "pct": 37.5
+ },
+ "branches": {
+ "total": 13,
+ "covered": 2,
+ "skipped": 0,
+ "pct": 15.38
+ },
+ "path": "main.tsx"
+ }
+ ]
+ window.reportName = 'canyon'
+ window.date = new Date().toISOString()
diff --git a/packages/canyon-report/tailwind.config.js b/packages/canyon-report/tailwind.config.js
new file mode 100644
index 00000000..993f1e57
--- /dev/null
+++ b/packages/canyon-report/tailwind.config.js
@@ -0,0 +1,11 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+ corePlugins: {
+ preflight: false,
+ },
+};
diff --git a/packages/canyon-report/tsconfig.json b/packages/canyon-report/tsconfig.json
new file mode 100644
index 00000000..9b1f256c
--- /dev/null
+++ b/packages/canyon-report/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "lib": ["DOM", "ES2020"],
+ "jsx": "react-jsx",
+ "target": "ES2020",
+ "noEmit": true,
+ "skipLibCheck": true,
+ "useDefineForClassFields": true,
+
+ /* modules */
+ "module": "ESNext",
+ "isolatedModules": true,
+ "resolveJsonModule": true,
+ "moduleResolution": "Bundler",
+ "allowImportingTsExtensions": true,
+
+ /* type checking */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true
+ },
+ "include": ["src"]
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9aa7305d..a0e4a9c1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -20,9 +20,6 @@ importers:
packages/canyon-collect:
dependencies:
- '@hpcc-js/wasm':
- specifier: ^2.22.3
- version: 2.22.3
'@nestjs/common':
specifier: ^10.0.0
version: 10.4.8(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
@@ -37,10 +34,10 @@ importers:
version: 5.16.1(prisma@5.16.1)
'@swc/cli':
specifier: 0.4.1-nightly.20240914
- version: 0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.13))(chokidar@3.6.0)
+ version: 0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.15))(chokidar@3.6.0)
'@swc/core':
specifier: 1.7.40
- version: 1.7.40(@swc/helpers@0.5.13)
+ version: 1.7.40(@swc/helpers@0.5.15)
class-transformer:
specifier: ^0.5.1
version: 0.5.1
@@ -74,7 +71,7 @@ importers:
devDependencies:
'@nestjs/cli':
specifier: ^10.0.0
- version: 10.4.7(@swc/cli@0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.13))(chokidar@3.6.0))(@swc/core@1.7.40(@swc/helpers@0.5.13))
+ version: 10.4.7(@swc/cli@0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.15))(chokidar@3.6.0))(@swc/core@1.7.40(@swc/helpers@0.5.15))
'@nestjs/schematics':
specifier: ^10.0.0
version: 10.2.3(chokidar@3.6.0)(typescript@5.6.3)
@@ -110,7 +107,7 @@ importers:
version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)
jest:
specifier: ^29.5.0
- version: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ version: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
prettier:
specifier: ^3.0.0
version: 3.3.3
@@ -122,13 +119,13 @@ importers:
version: 7.0.0
ts-jest:
specifier: ^29.1.0
- version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3)
+ version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3)
ts-loader:
specifier: ^9.4.3
- version: 9.5.1(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13)))
+ version: 9.5.1(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15)))
ts-node:
specifier: ^10.9.1
- version: 10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)
+ version: 10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)
tsconfig-paths:
specifier: ^4.2.0
version: 4.2.0
@@ -141,9 +138,6 @@ importers:
'@ant-design/nextjs-registry':
specifier: ^1.0.1
version: 1.0.2(@ant-design/cssinjs@1.22.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106))(antd@5.22.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106))(next@15.0.3(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106))(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)
- '@hpcc-js/wasm':
- specifier: ^2.22.3
- version: 2.22.3
'@monaco-editor/react':
specifier: ^4.6.0
version: 4.6.0(monaco-editor@0.52.0)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)
@@ -222,30 +216,109 @@ importers:
version: 8.4.49
tailwindcss:
specifier: ^3.4.1
- version: 3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ version: 3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)))
+ version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)))
typescript:
specifier: ^5
version: 5.6.3
- tools/canyon-uploader:
+ packages/canyon-report:
dependencies:
+ '@ant-design/icons':
+ specifier: ^5.5.1
+ version: 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd:
+ specifier: ^5.21.5
+ version: 5.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
axios:
specifier: ^1.7.7
version: 1.7.7
+ canyon-core:
+ specifier: ^0.1.1-beta.3
+ version: 0.1.1-beta.3
+ canyon-data:
+ specifier: ^0.1.1-alpha.11
+ version: 0.1.1-alpha.17
+ commander:
+ specifier: ^12.1.0
+ version: 12.1.0
+ istanbul-lib-coverage:
+ specifier: ^3.2.2
+ version: 3.2.2
+ istanbul-lib-report:
+ specifier: ^3.0.1
+ version: 3.0.1
+ react:
+ specifier: ^18.3.1
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
+ react-highlight-words:
+ specifier: ^0.20.0
+ version: 0.20.0(react@18.3.1)
+ shiki:
+ specifier: ^1.22.1
+ version: 1.23.1
+ devDependencies:
+ '@rsbuild/core':
+ specifier: ^1.1.1
+ version: 1.1.3
+ '@rsbuild/plugin-babel':
+ specifier: ^1.0.3
+ version: 1.0.3(@rsbuild/core@1.1.3)
+ '@rsbuild/plugin-react':
+ specifier: ^1.0.7
+ version: 1.0.7(@rsbuild/core@1.1.3)
+ '@rslib/core':
+ specifier: ^0.0.18
+ version: 0.0.18(typescript@5.6.3)
+ '@types/react':
+ specifier: ^18.3.12
+ version: 18.3.12
+ '@types/react-dom':
+ specifier: ^18.3.1
+ version: 18.3.1
+ autoprefixer:
+ specifier: ^10.4.20
+ version: 10.4.20(postcss@8.4.49)
+ babel-plugin-canyon:
+ specifier: 1.8.78-beta.22
+ version: 1.8.78-beta.22(axios@1.7.7)
+ babel-plugin-istanbul:
+ specifier: ^7.0.0
+ version: 7.0.0
+ postcss:
+ specifier: ^8.4.47
+ version: 8.4.49
+ swc-plugin-coverage-instrument:
+ specifier: ^0.0.25
+ version: 0.0.25
+ tailwindcss:
+ specifier: ^3.4.14
+ version: 3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
+ typescript:
+ specifier: ^5.6.3
+ version: 5.6.3
+
+ tools/canyon-uploader:
+ dependencies:
+ axios:
+ specifier: 1.7.7
+ version: 1.7.7
body-parser:
- specifier: ^1.20.3
+ specifier: 1.20.3
version: 1.20.3
chalk:
- specifier: ^5.3.0
+ specifier: 5.3.0
version: 5.3.0
commander:
- specifier: ^12.1.0
+ specifier: 12.1.0
version: 12.1.0
express:
- specifier: ^4.21.1
+ specifier: 4.21.1
version: 4.21.1
devDependencies:
'@biomejs/biome':
@@ -253,10 +326,10 @@ importers:
version: 1.9.4
'@swc/cli':
specifier: 0.4.1-nightly.20240914
- version: 0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.13))(chokidar@3.6.0)
+ version: 0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.15))(chokidar@3.6.0)
'@swc/core':
specifier: 1.7.40
- version: 1.7.40(@swc/helpers@0.5.13)
+ version: 1.7.40(@swc/helpers@0.5.15)
rolldown:
specifier: nightly
version: 0.14.0-snapshot-b676fe3-20241118003551
@@ -348,10 +421,24 @@ packages:
resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-annotate-as-pure@7.25.9':
+ resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-compilation-targets@7.25.9':
resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-create-class-features-plugin@7.25.9':
+ resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-member-expression-to-functions@7.25.9':
+ resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-module-imports@7.25.9':
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
@@ -362,10 +449,28 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
+ '@babel/helper-optimise-call-expression@7.25.9':
+ resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-plugin-utils@7.25.9':
resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-replace-supers@7.25.9':
+ resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-simple-access@7.25.9':
+ resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-string-parser@7.25.9':
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
@@ -387,6 +492,12 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/plugin-proposal-decorators@7.25.9':
+ resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-syntax-async-generators@7.8.4':
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
@@ -408,6 +519,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-decorators@7.25.9':
+ resolution: {integrity: sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-syntax-import-attributes@7.26.0':
resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==}
engines: {node: '>=6.9.0'}
@@ -478,6 +595,30 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-class-properties@7.25.9':
+ resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.25.9':
+ resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.25.9':
+ resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.26.0':
+ resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/runtime@7.26.0':
resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
engines: {node: '>=6.9.0'}
@@ -599,10 +740,6 @@ packages:
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@hpcc-js/wasm@2.22.3':
- resolution: {integrity: sha512-CjJbxT9vqpZ2W8iUOd69k1bnkVfVyJqdcXmNZKH9W706Z/GFLwLxGWL6zqJE9KmLtoZVbC85SvdATA0UiGV0fA==}
- hasBin: true
-
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
@@ -852,6 +989,18 @@ packages:
resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==}
engines: {node: '>=8'}
+ '@module-federation/runtime-tools@0.5.1':
+ resolution: {integrity: sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg==}
+
+ '@module-federation/runtime@0.5.1':
+ resolution: {integrity: sha512-xgiMUWwGLWDrvZc9JibuEbXIbhXg6z2oUkemogSvQ4LKvrl/n0kbqP1Blk669mXzyWbqtSp6PpvNdwaE1aN5xQ==}
+
+ '@module-federation/sdk@0.5.1':
+ resolution: {integrity: sha512-exvchtjNURJJkpqjQ3/opdbfeT2wPKvrbnGnyRkrwW5o3FH1LaST1tkiNviT6OXTexGaVc2DahbdniQHVtQ7pA==}
+
+ '@module-federation/webpack-bundler-runtime@0.5.1':
+ resolution: {integrity: sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA==}
+
'@mole-inc/bin-wrapper@8.0.1':
resolution: {integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -871,7 +1020,6 @@ packages:
'@mongodb-js/zstd-darwin-arm64@1.2.2':
resolution: {integrity: sha512-hjQgub8fhn3itewwRSCSe3sl8rmnbZOFwuBHOZj4j4xu1Hde7xs+ACkfeEvvmNjUuxAzvc1MnDjHX2UwUlA7qA==}
engines: {node: '>= 10'}
- cpu: [arm64]
os: [darwin]
'@mongodb-js/zstd-darwin-x64@1.2.2':
@@ -1347,6 +1495,107 @@ packages:
cpu: [x64]
os: [win32]
+ '@rsbuild/core@1.1.3':
+ resolution: {integrity: sha512-bl0bN56ZTIaZg8tuCWr48LcE72rF4nDAvSVGDJwpem2Nv3suQYsuwEVq2Mpt5wu6ZEuyEXsMu4owIVoA4JgWyw==}
+ engines: {node: '>=16.7.0'}
+ hasBin: true
+
+ '@rsbuild/plugin-babel@1.0.3':
+ resolution: {integrity: sha512-3S/ykXv7KRo0FxVpkjoHFUwB04nKINIET1kuv4xiRaDmeww1Tp0wl9h4u8a7d7gU/4FllyoUflY8TVhci/o05g==}
+ peerDependencies:
+ '@rsbuild/core': 1.x
+
+ '@rsbuild/plugin-react@1.0.7':
+ resolution: {integrity: sha512-t7T/GqDwodusTAnxGpqVRnQ/G+HYh98zk71qIg19WkjVJJGv57AC1Ppx0/6zzbZAbxU60bfK8TeEEXjhXCdSxA==}
+ peerDependencies:
+ '@rsbuild/core': 1.x
+
+ '@rslib/core@0.0.18':
+ resolution: {integrity: sha512-TN3WOgpX5FvHDA5oWm/5vG+sQQhzkUiHx0YjgEQHA0IiRUJNwaqDvSyRyQkBqWrQw5o6WpVet9kM/P6+rm4RSw==}
+ engines: {node: '>=16.0.0'}
+ hasBin: true
+ peerDependencies:
+ '@microsoft/api-extractor': ^7
+ typescript: ^5
+ peerDependenciesMeta:
+ '@microsoft/api-extractor':
+ optional: true
+ typescript:
+ optional: true
+
+ '@rspack/binding-darwin-arm64@1.1.0':
+ resolution: {integrity: sha512-02YmzmtKMNHCSMzVT5sgbJuPDn+HunkrtWq0D95Fh9sGKYap9cs0JOpzTfyAL3KXJ9JzVfOAZA3VgVQOBaQNWQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rspack/binding-darwin-x64@1.1.0':
+ resolution: {integrity: sha512-HtBh8p6hml7BWNtZaqWFtGbOFP/tvFDn1uPWmA3R32WTILUXNRWXIsLDY95U3Z2U1Gt3SL58SOpJjXlFIb6wZg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rspack/binding-linux-arm64-gnu@1.1.0':
+ resolution: {integrity: sha512-Q/i50Pieii3akdv5Q6my6QelV5Dpc8O/Ir4udpjYl0pbSdKamdI8M85fxrMxGAGcoNSD+X52fDvxJujXWMcP0w==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rspack/binding-linux-arm64-musl@1.1.0':
+ resolution: {integrity: sha512-H7Eu3xC7LWPpxrI47n8X361eEGGpQOjZIWTz8tLdn4oNS2D9kqsBYES7LsuuLTTH4ueHTDuEtDdfZpBsE+qesw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rspack/binding-linux-x64-gnu@1.1.0':
+ resolution: {integrity: sha512-dIZSutPo2z/OaO2f6SVlcYA6lGBH+4TrRtWmMyPshpTNPrkCGGfDhC43fZ4jCiUj2PO/Hcn8jyKhci4leBsVBA==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rspack/binding-linux-x64-musl@1.1.0':
+ resolution: {integrity: sha512-f6L2JWgbG9PKWnVw2YNZdntjzia1V2w2Xq458HkCQUDwhnEipWXaZ2zhfD9jcb4UYoMP8/2uD3B96sSFFNTdrQ==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rspack/binding-win32-arm64-msvc@1.1.0':
+ resolution: {integrity: sha512-opo6XR4iXh/QkHiauVQBlU2xR2JyjDmSwgkION27oszu81nr+IajTSXQX96x5I6Bq48GQLU4rItHse/doctQDA==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rspack/binding-win32-ia32-msvc@1.1.0':
+ resolution: {integrity: sha512-FBcG+OPJokSE3nPi1+ZamLK2V4IWdNC+GMr0z7LUrBiKc5lO70y5VkldfyPV1Z+doSuroVINlhK+lRHdQgGwYg==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rspack/binding-win32-x64-msvc@1.1.0':
+ resolution: {integrity: sha512-H/6Glp1nZvxWAD5+2hRrp1kBs9f+pLb/un2TdFSUNd2tyXq5GyHCe70+N9psbe/jjGxD8e1vPNQtN/VvkuR0Zg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rspack/binding@1.1.0':
+ resolution: {integrity: sha512-zLduWacrw/bBYiFvhjN70f+AJxXnTzevywXp54vso8d0Nz7z4KIycdz/Ua5AGRUkG2ZuQw6waypN5pXf48EBcA==}
+
+ '@rspack/core@1.1.0':
+ resolution: {integrity: sha512-+IYWSe9D3wB97VVBfaojuWLv3wGIBe9pfJkxNObkorN60Nj3UHYzBLuACrHn4hW2mZjAWrv06ReHXJUEGzQqaQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ '@swc/helpers': '>=0.5.1'
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+
+ '@rspack/lite-tapable@1.0.1':
+ resolution: {integrity: sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==}
+ engines: {node: '>=16.0.0'}
+
+ '@rspack/plugin-react-refresh@1.0.0':
+ resolution: {integrity: sha512-WvXkLewW5G0Mlo5H1b251yDh5FFiH4NDAbYlFpvFjcuXX2AchZRf9zdw57BDE/ADyWsJgA8kixN/zZWBTN3iYA==}
+ peerDependencies:
+ react-refresh: '>=0.10.0 <1.0.0'
+ peerDependenciesMeta:
+ react-refresh:
+ optional: true
+
'@rtsao/scc@1.1.0':
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
@@ -1471,6 +1720,9 @@ packages:
'@swc/helpers@0.5.13':
resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==}
+ '@swc/helpers@0.5.15':
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
+
'@swc/types@0.1.15':
resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==}
@@ -1913,6 +2165,13 @@ packages:
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ autoprefixer@10.4.20:
+ resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -1934,10 +2193,19 @@ packages:
peerDependencies:
'@babel/core': ^7.8.0
+ babel-plugin-canyon@1.8.78-beta.22:
+ resolution: {integrity: sha512-GiVXmIdXRsvlGxkwiaeDqpgRCsSM5JjK2cvcExC0+SEgN1MXg2EkU4HyNOVlkNvJ0a+LNWjP4oI2NFsToo+PTA==}
+ peerDependencies:
+ axios: '*'
+
babel-plugin-istanbul@6.1.1:
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
engines: {node: '>=8'}
+ babel-plugin-istanbul@7.0.0:
+ resolution: {integrity: sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==}
+ engines: {node: '>=12'}
+
babel-plugin-jest-hoist@29.6.3:
resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -2049,6 +2317,12 @@ packages:
caniuse-lite@1.0.30001680:
resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==}
+ canyon-core@0.1.1-beta.3:
+ resolution: {integrity: sha512-Z88Mufo8ZIXE6U+tWJIwZZSrFCWpEXRCWljc+VAWb/RlaZ6nXEUe1nebWDJMQQz6ZqINslgLZH22blmuhH65oQ==}
+
+ canyon-data@0.1.1-alpha.17:
+ resolution: {integrity: sha512-9zDA5cR+i9Ioaya82tsHgOFV3DgiBH88vC6u11xB0DaCMSTXuZOwpTxxG2/51qF47aRtgVRNW5b/VJj1b2PHsg==}
+
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -2222,6 +2496,9 @@ packages:
copy-to-clipboard@3.3.3:
resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
+ core-js@3.39.0:
+ resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==}
+
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -2489,6 +2766,9 @@ packages:
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+
es-abstract@1.23.5:
resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==}
engines: {node: '>= 0.4'}
@@ -2767,6 +3047,14 @@ packages:
fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ fdir@6.4.2:
+ resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@@ -2851,6 +3139,9 @@ packages:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@@ -3004,6 +3295,12 @@ packages:
resolution: {integrity: sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==}
engines: {node: '>=8'}
+ highlight-words-core@1.2.3:
+ resolution: {integrity: sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ==}
+
+ html-entities@2.5.2:
+ resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
+
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
@@ -3547,6 +3844,9 @@ packages:
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
+ magic-string@0.30.12:
+ resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
+
magic-string@0.30.8:
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
engines: {node: '>=12'}
@@ -3572,6 +3872,9 @@ packages:
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
engines: {node: '>= 4.0.0'}
+ memoize-one@4.0.3:
+ resolution: {integrity: sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==}
+
merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
@@ -3745,6 +4048,10 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
normalize-url@6.1.0:
resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
engines: {node: '>=10'}
@@ -3917,6 +4224,10 @@ packages:
resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==}
engines: {node: '>=12'}
+ picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+
pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
@@ -4299,17 +4610,31 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
+
react-dom@19.0.0-rc-66855b96-20241106:
resolution: {integrity: sha512-D25vdaytZ1wFIRiwNU98NPQ/upS2P8Co4/oNoa02PzHbh8deWdepjm5qwZM/46OdSiGv4WSWwxP55RO9obqJEQ==}
peerDependencies:
react: 19.0.0-rc-66855b96-20241106
+ react-highlight-words@0.20.0:
+ resolution: {integrity: sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA==}
+ peerDependencies:
+ react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0
+
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ react-refresh@0.14.2:
+ resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
+ engines: {node: '>=0.10.0'}
+
react-smooth@4.0.1:
resolution: {integrity: sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==}
peerDependencies:
@@ -4322,6 +4647,10 @@ packages:
react: '>=16.6.0'
react-dom: '>=16.6.0'
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
+ engines: {node: '>=0.10.0'}
+
react@19.0.0-rc-66855b96-20241106:
resolution: {integrity: sha512-klH7xkT71SxRCx4hb1hly5FJB21Hz0ACyxbXYAECEqssUjtJeFUAaI2U1DgJAzkGEnvEm3DkxuBchMC/9K4ipg==}
engines: {node: '>=0.10.0'}
@@ -4354,6 +4683,9 @@ packages:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
+ reduce-configs@1.0.0:
+ resolution: {integrity: sha512-/JCYSgL/QeXXsq0Lv/7kOZfqvof7vyzHWfyNQPt3c6vc73mU4WRyT8RJ6ZH5Ci08vUOqXwk7jkZy6BycHTDD9w==}
+
reflect-metadata@0.2.2:
resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==}
@@ -4442,6 +4774,19 @@ packages:
resolution: {integrity: sha512-nqQkbDrTpHKw1Vd1iVe88mlh+d5Qob/GbID1zxwRBtzJKyOYTnBU4ft4VssQOzZj2ySrzXQZ34mTq+NPH/Y+zw==}
hasBin: true
+ rsbuild-plugin-dts@0.0.18:
+ resolution: {integrity: sha512-svOrOUi3INkEEhUShMtUBqpBKNdco6qY8BmvO7wAHzU736p3bemlf79ubxDpWFR1WbML9ahv6MqrIQunu3aDNg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ '@microsoft/api-extractor': ^7
+ '@rsbuild/core': 1.x
+ typescript: ^5
+ peerDependenciesMeta:
+ '@microsoft/api-extractor':
+ optional: true
+ typescript:
+ optional: true
+
run-async@2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
@@ -4473,6 +4818,9 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+
scheduler@0.25.0-rc-66855b96-20241106:
resolution: {integrity: sha512-HQXp/Mnp/MMRSXMQF7urNFla+gmtXW/Gr1KliuR0iboTit4KvZRY8KYaq5ccCTAOJiUqQh2rE2F3wgUekmgdlA==}
@@ -4602,6 +4950,9 @@ packages:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
engines: {node: '>=10'}
+ stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+
state-local@1.0.7:
resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==}
@@ -4736,6 +5087,9 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ swc-plugin-coverage-instrument@0.0.25:
+ resolution: {integrity: sha512-7watbzeySulr+7o3NbSaD2icOmEYBKf1uUQs2sBYv1cdWHEsUQETxI/CpXn+Q53vaBU0e3puWPO99OW3DVq34g==}
+
swr@2.2.5:
resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==}
peerDependencies:
@@ -4808,6 +5162,10 @@ packages:
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+ tinyglobby@0.2.10:
+ resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
+ engines: {node: '>=12.0.0'}
+
tmp@0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
@@ -5026,6 +5384,10 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
+ upath@2.0.1:
+ resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
+ engines: {node: '>=4'}
+
update-browserslist-db@1.1.1:
resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
hasBin: true
@@ -5238,6 +5600,14 @@ snapshots:
dependencies:
'@ctrl/tinycolor': 3.6.1
+ '@ant-design/cssinjs-utils@1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@ant-design/cssinjs': 1.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@babel/runtime': 7.26.0
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@ant-design/cssinjs-utils@1.1.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@ant-design/cssinjs': 1.22.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)
@@ -5246,6 +5616,18 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@ant-design/cssinjs@1.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@emotion/hash': 0.8.0
+ '@emotion/unitless': 0.7.5
+ classnames: 2.5.1
+ csstype: 3.1.3
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ stylis: 4.3.4
+
'@ant-design/cssinjs@1.22.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -5264,6 +5646,16 @@ snapshots:
'@ant-design/icons-svg@4.4.2': {}
+ '@ant-design/icons@5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@ant-design/colors': 7.1.0
+ '@ant-design/icons-svg': 4.4.2
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@ant-design/icons@5.5.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@ant-design/colors': 7.1.0
@@ -5282,6 +5674,15 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@ant-design/react-slick@1.1.2(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ json2mq: 0.2.0
+ react: 18.3.1
+ resize-observer-polyfill: 1.5.1
+ throttle-debounce: 5.0.2
+
'@ant-design/react-slick@1.1.2(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -5327,6 +5728,10 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.0.2
+ '@babel/helper-annotate-as-pure@7.25.9':
+ dependencies:
+ '@babel/types': 7.26.0
+
'@babel/helper-compilation-targets@7.25.9':
dependencies:
'@babel/compat-data': 7.26.2
@@ -5335,6 +5740,26 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
+ '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/traverse': 7.25.9
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-member-expression-to-functions@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-module-imports@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
@@ -5351,8 +5776,35 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-optimise-call-expression@7.25.9':
+ dependencies:
+ '@babel/types': 7.26.0
+
'@babel/helper-plugin-utils@7.25.9': {}
+ '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-simple-access@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-string-parser@7.25.9': {}
'@babel/helper-validator-identifier@7.25.9': {}
@@ -5368,6 +5820,15 @@ snapshots:
dependencies:
'@babel/types': 7.26.0
+ '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
@@ -5388,12 +5849,17 @@ snapshots:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)':
+ '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)':
+ '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
@@ -5453,6 +5919,45 @@ snapshots:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-simple-access': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-typescript@7.26.0(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-option': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/runtime@7.26.0':
dependencies:
regenerator-runtime: 0.14.1
@@ -5569,10 +6074,6 @@ snapshots:
'@eslint/js@8.57.1': {}
- '@hpcc-js/wasm@2.22.3':
- dependencies:
- yargs: 17.7.2
-
'@humanwhocodes/config-array@0.13.0':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
@@ -5699,7 +6200,7 @@ snapshots:
jest-util: 29.7.0
slash: 3.0.0
- '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))':
+ '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))':
dependencies:
'@jest/console': 29.7.0
'@jest/reporters': 29.7.0
@@ -5713,7 +6214,7 @@ snapshots:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -5885,6 +6386,22 @@ snapshots:
'@lukeed/csprng@1.1.0': {}
+ '@module-federation/runtime-tools@0.5.1':
+ dependencies:
+ '@module-federation/runtime': 0.5.1
+ '@module-federation/webpack-bundler-runtime': 0.5.1
+
+ '@module-federation/runtime@0.5.1':
+ dependencies:
+ '@module-federation/sdk': 0.5.1
+
+ '@module-federation/sdk@0.5.1': {}
+
+ '@module-federation/webpack-bundler-runtime@0.5.1':
+ dependencies:
+ '@module-federation/runtime': 0.5.1
+ '@module-federation/sdk': 0.5.1
+
'@mole-inc/bin-wrapper@8.0.1':
dependencies:
bin-check: 4.1.0
@@ -6013,7 +6530,7 @@ snapshots:
'@tybys/wasm-util': 0.9.0
optional: true
- '@nestjs/cli@10.4.7(@swc/cli@0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.13))(chokidar@3.6.0))(@swc/core@1.7.40(@swc/helpers@0.5.13))':
+ '@nestjs/cli@10.4.7(@swc/cli@0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.15))(chokidar@3.6.0))(@swc/core@1.7.40(@swc/helpers@0.5.15))':
dependencies:
'@angular-devkit/core': 17.3.11(chokidar@3.6.0)
'@angular-devkit/schematics': 17.3.11(chokidar@3.6.0)
@@ -6023,7 +6540,7 @@ snapshots:
chokidar: 3.6.0
cli-table3: 0.6.5
commander: 4.1.1
- fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13)))
+ fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15)))
glob: 10.4.2
inquirer: 8.2.6
node-emoji: 1.11.0
@@ -6032,11 +6549,11 @@ snapshots:
tsconfig-paths: 4.2.0
tsconfig-paths-webpack-plugin: 4.1.0
typescript: 5.6.3
- webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))
+ webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))
webpack-node-externals: 3.0.0
optionalDependencies:
- '@swc/cli': 0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.13))(chokidar@3.6.0)
- '@swc/core': 1.7.40(@swc/helpers@0.5.13)
+ '@swc/cli': 0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.15))(chokidar@3.6.0)
+ '@swc/core': 1.7.40(@swc/helpers@0.5.15)
transitivePeerDependencies:
- esbuild
- uglify-js
@@ -6211,6 +6728,15 @@ snapshots:
dependencies:
'@babel/runtime': 7.26.0
+ '@rc-component/color-picker@2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@ant-design/fast-color': 2.0.6
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/color-picker@2.0.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@ant-design/fast-color': 2.0.6
@@ -6220,6 +6746,13 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@rc-component/context@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/context@1.4.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -6231,6 +6764,14 @@ snapshots:
dependencies:
'@babel/runtime': 7.26.0
+ '@rc-component/mutate-observer@1.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/mutate-observer@1.1.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -6239,6 +6780,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@rc-component/portal@1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/portal@1.1.2(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -6247,6 +6796,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@rc-component/qrcode@1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/qrcode@1.0.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -6255,6 +6812,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@rc-component/tour@1.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/tour@1.15.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -6265,6 +6832,17 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ '@rc-component/trigger@2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
'@rc-component/trigger@2.2.5(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)':
dependencies:
'@babel/runtime': 7.26.0
@@ -6314,6 +6892,98 @@ snapshots:
'@rolldown/binding-win32-x64-msvc@0.14.0-snapshot-b676fe3-20241118003551':
optional: true
+ '@rsbuild/core@1.1.3':
+ dependencies:
+ '@rspack/core': 1.1.0(@swc/helpers@0.5.15)
+ '@rspack/lite-tapable': 1.0.1
+ '@swc/helpers': 0.5.15
+ core-js: 3.39.0
+
+ '@rsbuild/plugin-babel@1.0.3(@rsbuild/core@1.1.3)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0)
+ '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
+ '@rsbuild/core': 1.1.3
+ '@types/babel__core': 7.20.5
+ deepmerge: 4.3.1
+ reduce-configs: 1.0.0
+ upath: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@rsbuild/plugin-react@1.0.7(@rsbuild/core@1.1.3)':
+ dependencies:
+ '@rsbuild/core': 1.1.3
+ '@rspack/plugin-react-refresh': 1.0.0(react-refresh@0.14.2)
+ react-refresh: 0.14.2
+
+ '@rslib/core@0.0.18(typescript@5.6.3)':
+ dependencies:
+ '@rsbuild/core': 1.1.3
+ rsbuild-plugin-dts: 0.0.18(@rsbuild/core@1.1.3)(typescript@5.6.3)
+ tinyglobby: 0.2.10
+ optionalDependencies:
+ typescript: 5.6.3
+
+ '@rspack/binding-darwin-arm64@1.1.0':
+ optional: true
+
+ '@rspack/binding-darwin-x64@1.1.0':
+ optional: true
+
+ '@rspack/binding-linux-arm64-gnu@1.1.0':
+ optional: true
+
+ '@rspack/binding-linux-arm64-musl@1.1.0':
+ optional: true
+
+ '@rspack/binding-linux-x64-gnu@1.1.0':
+ optional: true
+
+ '@rspack/binding-linux-x64-musl@1.1.0':
+ optional: true
+
+ '@rspack/binding-win32-arm64-msvc@1.1.0':
+ optional: true
+
+ '@rspack/binding-win32-ia32-msvc@1.1.0':
+ optional: true
+
+ '@rspack/binding-win32-x64-msvc@1.1.0':
+ optional: true
+
+ '@rspack/binding@1.1.0':
+ optionalDependencies:
+ '@rspack/binding-darwin-arm64': 1.1.0
+ '@rspack/binding-darwin-x64': 1.1.0
+ '@rspack/binding-linux-arm64-gnu': 1.1.0
+ '@rspack/binding-linux-arm64-musl': 1.1.0
+ '@rspack/binding-linux-x64-gnu': 1.1.0
+ '@rspack/binding-linux-x64-musl': 1.1.0
+ '@rspack/binding-win32-arm64-msvc': 1.1.0
+ '@rspack/binding-win32-ia32-msvc': 1.1.0
+ '@rspack/binding-win32-x64-msvc': 1.1.0
+
+ '@rspack/core@1.1.0(@swc/helpers@0.5.15)':
+ dependencies:
+ '@module-federation/runtime-tools': 0.5.1
+ '@rspack/binding': 1.1.0
+ '@rspack/lite-tapable': 1.0.1
+ caniuse-lite: 1.0.30001680
+ optionalDependencies:
+ '@swc/helpers': 0.5.15
+
+ '@rspack/lite-tapable@1.0.1': {}
+
+ '@rspack/plugin-react-refresh@1.0.0(react-refresh@0.14.2)':
+ dependencies:
+ error-stack-parser: 2.1.4
+ html-entities: 2.5.2
+ optionalDependencies:
+ react-refresh: 0.14.2
+
'@rtsao/scc@1.1.0': {}
'@rushstack/eslint-patch@1.10.4': {}
@@ -6357,10 +7027,10 @@ snapshots:
dependencies:
'@sinonjs/commons': 3.0.1
- '@swc/cli@0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.13))(chokidar@3.6.0)':
+ '@swc/cli@0.4.1-nightly.20240914(@swc/core@1.7.40(@swc/helpers@0.5.15))(chokidar@3.6.0)':
dependencies:
'@mole-inc/bin-wrapper': 8.0.1
- '@swc/core': 1.7.40(@swc/helpers@0.5.13)
+ '@swc/core': 1.7.40(@swc/helpers@0.5.15)
'@swc/counter': 0.1.3
commander: 8.3.0
fast-glob: 3.3.2
@@ -6402,7 +7072,7 @@ snapshots:
'@swc/core-win32-x64-msvc@1.7.40':
optional: true
- '@swc/core@1.7.40(@swc/helpers@0.5.13)':
+ '@swc/core@1.7.40(@swc/helpers@0.5.15)':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.15
@@ -6417,7 +7087,7 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.7.40
'@swc/core-win32-ia32-msvc': 1.7.40
'@swc/core-win32-x64-msvc': 1.7.40
- '@swc/helpers': 0.5.13
+ '@swc/helpers': 0.5.15
'@swc/counter@0.1.3': {}
@@ -6425,6 +7095,10 @@ snapshots:
dependencies:
tslib: 2.8.1
+ '@swc/helpers@0.5.15':
+ dependencies:
+ tslib: 2.8.1
+
'@swc/types@0.1.15':
dependencies:
'@swc/counter': 0.1.3
@@ -6856,6 +7530,64 @@ snapshots:
ansi-styles@6.2.1: {}
+ antd@5.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@ant-design/colors': 7.1.0
+ '@ant-design/cssinjs': 1.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/cssinjs-utils': 1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/react-slick': 1.1.2(react@18.3.1)
+ '@babel/runtime': 7.26.0
+ '@ctrl/tinycolor': 3.6.1
+ '@rc-component/color-picker': 2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rc-component/mutate-observer': 1.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rc-component/qrcode': 1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rc-component/tour': 1.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ copy-to-clipboard: 3.3.3
+ dayjs: 1.11.13
+ rc-cascader: 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-checkbox: 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-collapse: 3.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-dialog: 9.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-drawer: 7.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-dropdown: 4.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-field-form: 2.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-image: 7.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-input: 1.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-input-number: 9.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-mentions: 2.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-menu: 9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-notification: 5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-pagination: 4.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-picker: 4.8.1(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-progress: 4.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-rate: 2.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-segmented: 2.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-select: 14.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-slider: 11.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-steps: 6.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-switch: 4.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-table: 7.48.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-tabs: 15.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-textarea: 1.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-tooltip: 6.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-tree: 5.10.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-tree-select: 5.24.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-upload: 4.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ scroll-into-view-if-needed: 3.1.0
+ throttle-debounce: 5.0.2
+ transitivePeerDependencies:
+ - date-fns
+ - luxon
+ - moment
+
antd@5.22.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@ant-design/colors': 7.1.0
@@ -7014,6 +7746,16 @@ snapshots:
asynckit@0.4.0: {}
+ autoprefixer@10.4.20(postcss@8.4.49):
+ dependencies:
+ browserslist: 4.24.2
+ caniuse-lite: 1.0.30001680
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
@@ -7043,6 +7785,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ babel-plugin-canyon@1.8.78-beta.22(axios@1.7.7):
+ dependencies:
+ '@babel/generator': 7.26.2
+ '@babel/helper-plugin-utils': 7.25.9
+ axios: 1.7.7
+
babel-plugin-istanbul@6.1.1:
dependencies:
'@babel/helper-plugin-utils': 7.25.9
@@ -7053,6 +7801,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ babel-plugin-istanbul@7.0.0:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.25.9
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 6.0.3
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+
babel-plugin-jest-hoist@29.6.3:
dependencies:
'@babel/template': 7.25.9
@@ -7201,6 +7959,15 @@ snapshots:
caniuse-lite@1.0.30001680: {}
+ canyon-core@0.1.1-beta.3: {}
+
+ canyon-data@0.1.1-alpha.17:
+ dependencies:
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-source-maps: 5.0.6
+ transitivePeerDependencies:
+ - supports-color
+
ccount@2.0.1: {}
chalk@4.1.2:
@@ -7355,6 +8122,8 @@ snapshots:
dependencies:
toggle-selection: 1.0.6
+ core-js@3.39.0: {}
+
core-util-is@1.0.3: {}
cors@2.8.5:
@@ -7371,13 +8140,13 @@ snapshots:
optionalDependencies:
typescript: 5.6.3
- create-jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)):
+ create-jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -7586,6 +8355,10 @@ snapshots:
dependencies:
is-arrayish: 0.2.1
+ error-stack-parser@2.1.4:
+ dependencies:
+ stackframe: 1.3.4
+
es-abstract@1.23.5:
dependencies:
array-buffer-byte-length: 1.0.1
@@ -7701,8 +8474,8 @@ snapshots:
'@typescript-eslint/parser': 8.14.0(eslint@8.57.1)(typescript@5.6.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1)
@@ -7725,37 +8498,37 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1):
+ eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.3.7
enhanced-resolve: 5.17.1
eslint: 8.57.1
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
fast-glob: 3.3.2
get-tsconfig: 4.8.1
is-bun-module: 1.2.1
is-glob: 4.0.3
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.14.0(eslint@8.57.1)(typescript@5.6.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -7766,7 +8539,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -8045,6 +8818,10 @@ snapshots:
dependencies:
bser: 2.1.1
+ fdir@6.4.2(picomatch@4.0.2):
+ optionalDependencies:
+ picomatch: 4.0.2
+
figures@3.2.0:
dependencies:
escape-string-regexp: 1.0.5
@@ -8120,7 +8897,7 @@ snapshots:
cross-spawn: 7.0.5
signal-exit: 4.1.0
- fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))):
+ fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))):
dependencies:
'@babel/code-frame': 7.26.2
chalk: 4.1.2
@@ -8135,7 +8912,7 @@ snapshots:
semver: 7.6.3
tapable: 2.2.1
typescript: 5.6.3
- webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))
+ webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))
form-data@4.0.1:
dependencies:
@@ -8151,6 +8928,8 @@ snapshots:
forwarded@0.2.0: {}
+ fraction.js@4.3.7: {}
+
fresh@0.5.2: {}
fs-extra@10.1.0:
@@ -8321,6 +9100,10 @@ snapshots:
hexoid@2.0.0: {}
+ highlight-words-core@1.2.3: {}
+
+ html-entities@2.5.2: {}
+
html-escaper@2.0.2: {}
html-void-elements@3.0.0: {}
@@ -8644,16 +9427,16 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)):
+ jest-cli@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ create-jest: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
exit: 0.1.2
import-local: 3.2.0
- jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ jest-config: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -8663,7 +9446,7 @@ snapshots:
- supports-color
- ts-node
- jest-config@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)):
+ jest-config@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)):
dependencies:
'@babel/core': 7.26.0
'@jest/test-sequencer': 29.7.0
@@ -8689,7 +9472,7 @@ snapshots:
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 20.17.6
- ts-node: 10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)
+ ts-node: 10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -8915,12 +9698,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)):
+ jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
'@jest/types': 29.6.3
import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ jest-cli: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -9048,6 +9831,10 @@ snapshots:
dependencies:
react: 19.0.0-rc-66855b96-20241106
+ magic-string@0.30.12:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
magic-string@0.30.8:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -9080,6 +9867,8 @@ snapshots:
dependencies:
fs-monkey: 1.0.6
+ memoize-one@4.0.3: {}
+
merge-descriptors@1.0.3: {}
merge-stream@2.0.0: {}
@@ -9223,6 +10012,8 @@ snapshots:
normalize-path@3.0.0: {}
+ normalize-range@0.1.2: {}
+
normalize-url@6.1.0: {}
npm-run-path@2.0.2:
@@ -9386,6 +10177,8 @@ snapshots:
picomatch@4.0.1: {}
+ picomatch@4.0.2: {}
+
pify@2.3.0: {}
pirates@4.0.6: {}
@@ -9414,13 +10207,13 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.4.49
- postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)):
+ postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)):
dependencies:
lilconfig: 3.1.2
yaml: 2.6.0
optionalDependencies:
postcss: 8.4.49
- ts-node: 10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)
+ ts-node: 10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)
postcss-nested@6.2.0(postcss@8.4.49):
dependencies:
@@ -9528,6 +10321,16 @@ snapshots:
iconv-lite: 0.4.24
unpipe: 1.0.0
+ rc-cascader@3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-select: 14.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-tree: 5.10.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-cascader@3.30.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9538,6 +10341,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-checkbox@3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-checkbox@3.3.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9546,6 +10357,15 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-collapse@3.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-collapse@3.9.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9555,6 +10375,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-dialog@9.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-dialog@9.6.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9565,6 +10395,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-drawer@7.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-drawer@7.2.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9575,6 +10415,15 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-dropdown@4.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-dropdown@4.2.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9584,6 +10433,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-field-form@2.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/async-validator': 5.0.4
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-field-form@2.5.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9592,6 +10449,17 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-image@7.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-dialog: 9.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-image@7.11.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9603,6 +10471,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-input-number@9.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/mini-decimal': 1.1.0
+ classnames: 2.5.1
+ rc-input: 1.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-input-number@9.3.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9613,6 +10491,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-input@1.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-input@1.6.3(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9621,6 +10507,18 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-mentions@2.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-input: 1.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-menu: 9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-textarea: 1.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-mentions@2.17.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9633,6 +10531,17 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-menu@9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-overflow: 1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-menu@9.16.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9644,6 +10553,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-motion@2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-motion@2.9.3(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9652,6 +10569,15 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-notification@5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-notification@5.6.2(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9661,6 +10587,15 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-overflow@1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-overflow@1.3.2(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9670,6 +10605,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-pagination@4.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-pagination@4.3.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9678,6 +10621,19 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-picker@4.8.1(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-overflow: 1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ dayjs: 1.11.13
+
rc-picker@4.8.1(dayjs@1.11.13)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9691,6 +10647,14 @@ snapshots:
optionalDependencies:
dayjs: 1.11.13
+ rc-progress@4.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-progress@4.0.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9699,6 +10663,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-rate@2.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-rate@2.13.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9707,6 +10679,15 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-resize-observer@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ resize-observer-polyfill: 1.5.1
+
rc-resize-observer@1.4.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9716,6 +10697,15 @@ snapshots:
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
resize-observer-polyfill: 1.5.1
+ rc-segmented@2.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-segmented@2.5.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9725,6 +10715,18 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-select@14.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-overflow: 1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-virtual-list: 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-select@14.16.3(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9737,6 +10739,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-slider@11.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-slider@11.1.7(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9745,6 +10755,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-steps@6.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-steps@6.0.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9753,6 +10771,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-switch@4.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-switch@4.1.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9761,6 +10787,17 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-table@7.48.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/context': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-virtual-list: 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-table@7.48.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9772,6 +10809,18 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-tabs@15.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-dropdown: 4.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-menu: 9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-tabs@15.4.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9784,6 +10833,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-textarea@1.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-input: 1.6.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-textarea@1.8.2(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9794,6 +10853,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-tooltip@6.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@rc-component/trigger': 2.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-tooltip@6.2.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9802,6 +10869,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-tree-select@5.24.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-select: 14.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-tree: 5.10.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-tree-select@5.24.4(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9812,6 +10889,16 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-tree@5.10.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-virtual-list: 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-tree@5.10.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9822,6 +10909,14 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-upload@4.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-upload@4.8.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9830,6 +10925,13 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ rc-util@5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-is: 18.3.1
+
rc-util@5.43.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9837,6 +10939,15 @@ snapshots:
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
react-is: 18.3.1
+ rc-virtual-list@3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ classnames: 2.5.1
+ rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-virtual-list@3.15.0(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
'@babel/runtime': 7.26.0
@@ -9846,15 +10957,30 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
+
react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106):
dependencies:
react: 19.0.0-rc-66855b96-20241106
scheduler: 0.25.0-rc-66855b96-20241106
+ react-highlight-words@0.20.0(react@18.3.1):
+ dependencies:
+ highlight-words-core: 1.2.3
+ memoize-one: 4.0.3
+ prop-types: 15.8.1
+ react: 18.3.1
+
react-is@16.13.1: {}
react-is@18.3.1: {}
+ react-refresh@0.14.2: {}
+
react-smooth@4.0.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106):
dependencies:
fast-equals: 5.0.1
@@ -9872,6 +10998,10 @@ snapshots:
react: 19.0.0-rc-66855b96-20241106
react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106)
+ react@18.3.1:
+ dependencies:
+ loose-envify: 1.4.0
+
react@19.0.0-rc-66855b96-20241106: {}
read-cache@1.0.0:
@@ -9919,6 +11049,10 @@ snapshots:
tiny-invariant: 1.3.3
victory-vendor: 36.9.2
+ reduce-configs@1.0.0:
+ dependencies:
+ browserslist: 4.24.2
+
reflect-metadata@0.2.2: {}
reflect.getprototypeof@1.0.6:
@@ -10014,6 +11148,15 @@ snapshots:
'@rolldown/binding-win32-ia32-msvc': 0.14.0-snapshot-b676fe3-20241118003551
'@rolldown/binding-win32-x64-msvc': 0.14.0-snapshot-b676fe3-20241118003551
+ rsbuild-plugin-dts@0.0.18(@rsbuild/core@1.1.3)(typescript@5.6.3):
+ dependencies:
+ '@rsbuild/core': 1.1.3
+ magic-string: 0.30.12
+ picocolors: 1.1.1
+ tinyglobby: 0.2.10
+ optionalDependencies:
+ typescript: 5.6.3
+
run-async@2.4.1: {}
run-async@3.0.0: {}
@@ -10045,6 +11188,10 @@ snapshots:
safer-buffer@2.1.2: {}
+ scheduler@0.23.2:
+ dependencies:
+ loose-envify: 1.4.0
+
scheduler@0.25.0-rc-66855b96-20241106: {}
schema-utils@3.3.0:
@@ -10216,6 +11363,8 @@ snapshots:
dependencies:
escape-string-regexp: 2.0.0
+ stackframe@1.3.4: {}
+
state-local@1.0.7: {}
statuses@2.0.1: {}
@@ -10372,6 +11521,8 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
+ swc-plugin-coverage-instrument@0.0.25: {}
+
swr@2.2.5(react@19.0.0-rc-66855b96-20241106):
dependencies:
client-only: 0.0.1
@@ -10385,11 +11536,11 @@ snapshots:
'@pkgr/core': 0.1.1
tslib: 2.8.1
- tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))):
+ tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))):
dependencies:
- tailwindcss: 3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ tailwindcss: 3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
- tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)):
+ tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -10408,7 +11559,7 @@ snapshots:
postcss: 8.4.49
postcss-import: 15.1.0(postcss@8.4.49)
postcss-js: 4.0.1(postcss@8.4.49)
- postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
postcss-nested: 6.2.0(postcss@8.4.49)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
@@ -10418,16 +11569,16 @@ snapshots:
tapable@2.2.1: {}
- terser-webpack-plugin@5.3.10(@swc/core@1.7.40(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))):
+ terser-webpack-plugin@5.3.10(@swc/core@1.7.40(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
terser: 5.36.0
- webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))
+ webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))
optionalDependencies:
- '@swc/core': 1.7.40(@swc/helpers@0.5.13)
+ '@swc/core': 1.7.40(@swc/helpers@0.5.15)
terser@5.36.0:
dependencies:
@@ -10458,6 +11609,11 @@ snapshots:
tiny-invariant@1.3.3: {}
+ tinyglobby@0.2.10:
+ dependencies:
+ fdir: 6.4.2(picomatch@4.0.2)
+ picomatch: 4.0.2
+
tmp@0.0.33:
dependencies:
os-tmpdir: 1.0.2
@@ -10493,12 +11649,12 @@ snapshots:
ts-interface-checker@0.1.13: {}
- ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3):
+ ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3):
dependencies:
bs-logger: 0.2.6
ejs: 3.1.10
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3))
+ jest: 29.7.0(@types/node@20.17.6)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -10512,7 +11668,7 @@ snapshots:
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/core@7.26.0)
- ts-loader@9.5.1(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))):
+ ts-loader@9.5.1(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))):
dependencies:
chalk: 4.1.2
enhanced-resolve: 5.17.1
@@ -10520,9 +11676,9 @@ snapshots:
semver: 7.6.3
source-map: 0.7.4
typescript: 5.6.3
- webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13))
+ webpack: 5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15))
- ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@20.17.6)(typescript@5.6.3):
+ ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.15))(@types/node@20.17.6)(typescript@5.6.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -10540,7 +11696,7 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.7.40(@swc/helpers@0.5.13)
+ '@swc/core': 1.7.40(@swc/helpers@0.5.15)
tsconfig-paths-webpack-plugin@4.1.0:
dependencies:
@@ -10683,6 +11839,8 @@ snapshots:
unpipe@1.0.0: {}
+ upath@2.0.1: {}
+
update-browserslist-db@1.1.1(browserslist@4.24.2):
dependencies:
browserslist: 4.24.2
@@ -10759,7 +11917,7 @@ snapshots:
webpack-sources@3.2.3: {}
- webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13)):
+ webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15)):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.6
@@ -10781,7 +11939,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(@swc/core@1.7.40(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.13)))
+ terser-webpack-plugin: 5.3.10(@swc/core@1.7.40(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.7.40(@swc/helpers@0.5.15)))
watchpack: 2.4.2
webpack-sources: 3.2.3
transitivePeerDependencies:
diff --git a/tools/canyon-uploader/README.md b/tools/canyon-uploader/README.md
index 086de219..3b461189 100644
--- a/tools/canyon-uploader/README.md
+++ b/tools/canyon-uploader/README.md
@@ -21,3 +21,7 @@ map是支持playwright等自动化工具生成的覆盖率数据
```bash
canyon-uploader map --dsn=http://localhost:8080/coverage/client
```
+
+canyon-uploader map --dsn=http://localhost:8080/coverage/client --project_id=1 --instrument_cwd=/Users/xxx/xxx --branch=master --report_id=1
+
+./bin/canyon-uploader map --dsn=http://localhost:8080/coverage/client --project_id=1 --instrument_cwd=/Users/xxx/xxx --sha=xxxxx
diff --git a/tools/canyon-uploader/package.json b/tools/canyon-uploader/package.json
index 46dbf436..ae783f11 100644
--- a/tools/canyon-uploader/package.json
+++ b/tools/canyon-uploader/package.json
@@ -1,6 +1,6 @@
{
"name": "canyon-uploader",
- "version": "0.0.1-beta.7",
+ "version": "0.0.1-beta.8",
"files": [
"bin",
"dist"
diff --git a/tools/canyon-uploader/rolldown.config.ts b/tools/canyon-uploader/rolldown.config.ts
index d230daa0..b9d9db0c 100644
--- a/tools/canyon-uploader/rolldown.config.ts
+++ b/tools/canyon-uploader/rolldown.config.ts
@@ -7,6 +7,7 @@ export default defineConfig({
input: 'src/main.ts',
platform: 'node',
output:{
- format:'commonjs'
+ format:'commonjs',
+ sourcemap:true
}
})
diff --git a/tools/canyon-uploader/src/commands/hit.ts b/tools/canyon-uploader/src/commands/hit.ts
index 1e2364a2..5be60070 100644
--- a/tools/canyon-uploader/src/commands/hit.ts
+++ b/tools/canyon-uploader/src/commands/hit.ts
@@ -1,6 +1,6 @@
import fs from "node:fs";
import path from "node:path";
-import * as process from "node:process";
+
import axios from "axios";
export async function hitCommand(params, options) {
const { dsn, project_id:projectID, commit_sha:sha } = params;
diff --git a/tools/canyon-uploader/src/commands/map.ts b/tools/canyon-uploader/src/commands/map.ts
index 27b6c087..f165df7b 100644
--- a/tools/canyon-uploader/src/commands/map.ts
+++ b/tools/canyon-uploader/src/commands/map.ts
@@ -1,11 +1,23 @@
import fs from "node:fs";
import path from "node:path";
-import * as process from "node:process";
+
import axios from "axios";
export async function mapCommand(params, options) {
const { dsn, project_id:projectID, commit_sha:sha } = params;
- console.log(dsn, projectID, sha);
+ // console.log(dsn, projectID, sha);
+
+ // 判断是否存在.canyon_output文件夹
+
+ if (!fs.existsSync(path.resolve(process.cwd(), ".canyon_output"))) {
+ console.error("No coverage data found in .canyon_output");
+ return;
+ }
+
const files = fs.readdirSync(path.resolve(process.cwd(), ".canyon_output"));
+ if (files.length === 0) {
+ console.error("No coverage data found in .canyon_output");
+ return;
+ }
let data = {};
for (let i = 0; i < files.length; i++) {
const fileCoverageString = fs.readFileSync(
@@ -18,8 +30,8 @@ export async function mapCommand(params, options) {
};
}
await axios.post(dsn, {
- projectID: projectID||process.env.CI_PROJECT_ID,
- sha: sha||process.env.CI_COMMIT_SHA,
+ projectID: projectID||process.env.CI_PROJECT_ID||process.env.GITHUB_REPOSITORY,
+ sha: sha||process.env.CI_COMMIT_SHA || process.env.GITHUB_SHA,
instrumentCwd: process.cwd(),
coverage: JSON.stringify(data),
});
diff --git a/tools/canyon-uploader/src/main.ts b/tools/canyon-uploader/src/main.ts
index 8ccd21b9..4ee1b2f5 100644
--- a/tools/canyon-uploader/src/main.ts
+++ b/tools/canyon-uploader/src/main.ts
@@ -62,7 +62,10 @@ program
*/
program
.command("map")
- .option("--dsn ", "dsn of the canyon server")
+ .option("--dsn ", "dsn of the canyon server")
+ .option("--project_id ", "id of the project")
+ .option("--sha ", "commit sha of the project")
+ .option("--instrument_cwd ", "instrument_cwd")
.allowExcessArguments(false)
.allowUnknownOption(false)
.description("modify react native project code to adapt to canyon")