CanyonJS Data Structure Dictionary
Core field descriptions for coverage query and aggregation, grouped by “Query Dimension / Build Dimension / Report Dimension / Statistics Scope”.
Coverage Query Dimensions
| Field | Meaning | Example/Notes |
|---|---|---|
| provider | Code provider | gitlab, github, gitea |
| repoID | Repository ID | For example 123 or org/repo |
| subject | Query subject | commit / pull / multiple-commits |
| subjectID | Subject ID | commit → commit SHA; pull → pull ID |
Build Dimensions
| Field | Meaning | Example/Notes |
|---|---|---|
| buildProvider | Build provider | For example gitlab runner |
| buildID | Build ID | For example 123456 |
| buildTarget | Build target | Used for single-repo multi-platform (e.g., web/ios/android); when merging coverage, statistics need to be distinguished by buildTarget |
Report Dimensions
| Field | Meaning | Example/Notes |
|---|---|---|
| reportProvider | Coverage/test case provider | Such as playwright, manual testing |
| reportID | Report/test case ID | Custom identifier for distinguishing different report sources |
Statistics Scope
Each buildTarget is recommended to configure a scope, including includes and excludes, for independent statistics.
[
{
"buildTarget": "web",
"includes": ["src/web/**"],
"excludes": ["**/*.spec.ts", "**/__tests__/**"]
},
{
"buildTarget": "app",
"includes": ["src/app/**"],
"excludes": ["**/*.spec.ts", "**/__tests__/**"]
}
]