Repository navigation
Expand file tree
/
Copy pathsonar-project.properties
More file actions
37 lines (31 loc) · 2.57 KB
/
Copy pathsonar-project.properties
File metadata and controls
37 lines (31 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# SonarQube Cloud project config
# https://docs.sonarsource.com/sonarqube-cloud/advanced-setup/analysis-parameters/
sonar.projectKey=pleaseai_statusbeam
sonar.organization=pleaseai
# Monorepo: analyze the workspaces, carve out tests via inclusions.
sonar.sources=.
sonar.tests=.
# The plugin's tests/ directory also holds the *.dom.tsx suites, preloads, harness and fakes — test support, not source.
sonar.test.inclusions=**/*.test.ts,**/*.spec.ts,**/*.host.ts,**/*.dom.tsx,packages/emdash-plugin/tests/**
# Coverage reports emitted by `bun test --coverage` — the same files Codecov uploads (root run + the plugin's host and admin suites).
sonar.javascript.lcov.reportPaths=coverage/lcov.info,coverage/host/lcov.info,coverage/admin/lcov.info
# Exclude generated, vendored, and build output from analysis.
sonar.exclusions=**/dist/**,**/node_modules/**,coverage/**,**/.astro/**,**/.wrangler/**
# Copy-paste detection exclusion: the i18n dictionaries (one `const <locale>:
# Dict` object per language) necessarily repeat the same key structure across
# locales — that structural repetition is what the `Dict` type enforces, not
# copy-paste. CPD flags it as duplication, so exclude the translation file.
sonar.cpd.exclusions=packages/core/src/i18n.ts
# The coverage gate applies to the domain logic in packages/ (unit-tested).
# The apps (Astro UI islands + Cloudflare Worker runtime glue) are validated by
# build + integration/e2e, not unit coverage — so they are excluded here.
# Also exclude vendored shadcn/ui components and framework config/type files,
# and the setup/deploy scripts (validated by direct execution, not unit tests).
# The @statusbeam/cli + create-statusbeam I/O glue (arg dispatch, the command
# orchestrators, child-process spawning, wrangler/astro orchestration, filesystem
# scaffolding, prompts, logs) is the TS port of those same setup/deploy scripts —
# validated by direct execution, not unit tests. The pure logic it wraps —
# apply-config's JSONC editing + normalizeDomain, and update's package-manager /
# upgrade-command selection — is unit-tested; those helpers' tests still run for
# correctness even where their host command file is excluded from the metric.
sonar.coverage.exclusions=**/*.test.*,**/*.spec.*,**/*.host.ts,**/*.dom.*,packages/emdash-plugin/tests/**,**/*.config.*,**/env.d.ts,apps/**,**/components/ui/**,scripts/**,packages/cli/src/cli.ts,packages/cli/src/commands/**,packages/cli/src/lib/wrangler.ts,packages/cli/src/lib/run.ts,packages/cli/src/lib/project.ts,packages/cli/src/lib/log.ts,packages/cli/src/lib/prompt.ts,packages/create-statusbeam/src/index.ts