Skip to content

Commit 931f791

Browse files
authored
ci(sonar): add .sonarcloud.properties so Automatic Analysis honors the i18n cpd exclusion (#58)
Fixes #57. Automatic Analysis ignores sonar-project.properties (CI scanners only) and offers no Analysis Scope page in the web UI — its supported configuration channel is this dot-file on the default branch. Carries the same two settings: the src/i18n/** duplication exclusion (parallel locale dictionaries are the architecture, PRD D4/FR-7) and the advisory-only workflow-rule suppressions.
1 parent d631891 commit 931f791

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

.sonarcloud.properties

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SonarCloud Automatic Analysis configuration (#57).
2+
#
3+
# Automatic Analysis does NOT read sonar-project.properties (that file is
4+
# for CI-based scanners); it reads THIS file, and only from the default
5+
# branch. Keep the two in sync if a CI scanner is ever added.
6+
#
7+
# The i18n dictionaries (src/i18n/**) are deliberately parallel: every
8+
# locale block mirrors the same keys with translated prose (PRD D4/FR-7 —
9+
# EN is the source of truth, AR/FR tracked by revision markers). Duplication
10+
# analysis normalizes string literals, so that parallelism reads as
11+
# copy-paste; it is the architecture, not debt.
12+
sonar.cpd.exclusions=src/i18n/**
13+
14+
# Narrow exclusions, advisory-only GitHub-Actions hardening rules on
15+
# workflow files. The substantive fixes are in the workflows (npm ci
16+
# --ignore-scripts, pinned wrangler, local-bin astro, file-based parse in
17+
# custom-domain.yml); what remains of these three rules is policy
18+
# preference, not defect. All other rules — including script-injection
19+
# rules on the same files — stay on.
20+
sonar.issue.ignore.multicriteria=e1,e2,e3
21+
sonar.issue.ignore.multicriteria.e1.ruleKey=githubactions:S6505
22+
sonar.issue.ignore.multicriteria.e1.resourceKey=.github/workflows/**
23+
sonar.issue.ignore.multicriteria.e2.ruleKey=githubactions:S8543
24+
sonar.issue.ignore.multicriteria.e2.resourceKey=.github/workflows/**
25+
sonar.issue.ignore.multicriteria.e3.ruleKey=githubactions:S8482
26+
sonar.issue.ignore.multicriteria.e3.resourceKey=.github/workflows/**

0 commit comments

Comments
 (0)