sonar.projectKey=chimely sonar.projectName=chimely sonar.sources=. sonar.tests=. # The test patterns below appear in BOTH sonar.exclusions and # sonar.test.inclusions, deliberately. `sonar.sources=.` indexes them as MAIN # code, and sonar.test.inclusions alone does NOT remove them from the source # set -- so without the matching exclusions the scanner aborts the whole # analysis with "File ... can't be indexed twice". # # `**/tests/**`, not `tests/**`: a leading segment without the `**/` prefix is # root-anchored, so `tests/**` silently misses a nested or per-package tests # directory and leaves that test code indexed as MAIN code. sonar.exclusions=**/node_modules/**,**/dist/**,**/build/**,**/coverage/**,**/target/**,**/tests/**,**/*.test.ts,**/*.test.tsx,**/*.spec.ts,**/*.spec.tsx sonar.test.inclusions=**/tests/**,**/*.test.ts,**/*.test.tsx,**/*.spec.ts,**/*.spec.tsx # sonar.test.inclusions has no implicit exclusions, so `**/*.test.ts` would also # match inside node_modules once anything installs dependencies here. sonar.test.exclusions=**/node_modules/**,**/dist/**,**/build/** # Without this the scanner falls back to the JVM default charset, which is # US-ASCII under the C/POSIX locale that container images commonly set -- # mangling non-ASCII source rather than merely warning about it. sonar.sourceEncoding=UTF-8 # The Sonar Rust analyzer runs `cargo clippy` itself by default rather than # importing an existing report. The arc-shared runner image is upstream # actions-runner plus dirmngr, with no cargo, rustc or linker, so an enabled # clippy sensor fails the scan. Clippy runs in this repo's Rust CI workflow. # `Sensor Rust [rust]` still runs, so metrics, complexity and duplication are # unaffected. sonar.rust.clippy.enabled=false