sonar.projectKey=netresearch_t3x-rte_ckeditor_image
sonar.organization=netresearch

sonar.sources=Classes,Configuration,Resources/Public,ext_emconf.php,ext_localconf.php
sonar.tests=Tests

sonar.sourceEncoding=UTF-8

# Generated, vendored, or third-party content excluded from analysis.
sonar.exclusions=**/node_modules/**,**/vendor/**,.Build/**,.build/**,Documentation/**,Documentation-GENERATED-temp/**,typo3temp/**,var/**,**/*.min.js,**/*.min.css

sonar.test.inclusions=Tests/**/*Test.php,Tests/**/*.test.ts,Tests/**/*.test.js,Tests/**/*.spec.ts,Tests/**/*.spec.js

# Coverage reports — produced by the inline `sonarqube` job in
# .github/workflows/ci.yml. Paths are read directly by the scanner;
# `sonar.exclusions=.Build/**` only affects which files are *analyzed*.
#
# - PHP: .Build/logs/clover-unit.xml (composer ci:coverage:unit, Xdebug)
# - JS:  Tests/JavaScript/coverage/lcov.info (vitest run --coverage)
sonar.php.coverage.reportPaths=.Build/logs/clover-unit.xml
sonar.javascript.lcov.reportPaths=Tests/JavaScript/coverage/lcov.info

# Duplication detection — exclude test fixtures. Several test files mirror
# helper logic that lives inside CKEditor 5 upcast/downcast converter
# callbacks (which are inline lambdas in production and can't be imported).
# Sonar's CPD flags these mirrors as duplication, but they're an
# unavoidable testing pattern, not real code duplication.
sonar.cpd.exclusions=Tests/JavaScript/tests/**
