From 83aad5eb544e7f98b924f9b3652cfdb0a1023f47 Mon Sep 17 00:00:00 2001 From: FredApps <153173854+FredApps@users.noreply.github.com> Date: Tue, 10 Nov 2026 21:07:25 +0100 Subject: [PATCH] Exclude TypeScript and JavaScript from Sonar coverage (#2813) ## Summary Adds `sonar.coverage.exclusions=**/*.ts,**/*.tsx,**/*.js,**/*.jsx` to `sonar-project.properties`. There were no existing exclusion entries. The shared SonarCloud workflow only publishes the Rust lcov report (`sonar.rust.lcov.reportPaths=lcov.info`). Artcraft's workflow wrapper does not pass a TypeScript or JavaScript coverage report, so those files can never appear covered. That is why [#2805](https://github.com/storytold/artcraft/pull/2805) and [#2806](https://github.com/storytold/artcraft/pull/2806) fail the quality gate on **new_coverage** (0.0% against the 80% target) after the organisation was recreated. They only add `void` in front of existing TypeScript calls: - #2805: 53 new lines to cover, all uncovered - #2806: 38 new lines to cover, all uncovered [#2807](https://github.com/storytold/artcraft/pull/2807) also touches TypeScript (`void` in `libs/components`) and is listed here for the same exclusion, but its current gate failure is duplicated new code (10.6%), which this PR does not address. Same approach as [anicraft#106](https://github.com/storytold/anicraft/pull/106), which excluded JS, PowerShell and Python for the same reason. filmcraft and lightcraft already exclude `**/tools/**,**/docs/**,**/examples/**`. This PR uses extensions because the uncovered TypeScript and JavaScript live under `frontend/`. No product code changes. No open PR already edits `sonar-project.properties`. ## Testing Visual review of `sonar-project.properties` against anicraft, filmcraft and lightcraft, and of the shared `sonarcloud.yml` coverage inputs. No Rust or frontend tests were run (properties file only). The quality-gate effect on #2805 and #2806 will be visible after this merges and those branches are updated from main. - [x] Clean room: no proprietary code, scripts or assets copied (AGENTS.md) ## Summary by CodeRabbit * **Chores** * Updated project configuration for coverage reporting. No user-facing changes. --- sonar-project.properties | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sonar-project.properties b/sonar-project.properties index 832b70c571..025f9e3cd0 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,2 +1,8 @@ sonar.projectKey=storytold_artcraft sonar.organization=storytold + +# CI only publishes the Rust lcov report, so TypeScript and JavaScript never +# appear covered. Same idea as anicraft excluding JS/PowerShell/Python, and +# as filmcraft and lightcraft excluding tools/docs/examples. +sonar.coverage.exclusions=**/*.ts,**/*.tsx,**/*.js,**/*.jsx +