diff --git a/package-lock.json b/package-lock.json index c0ccaa9..957b816 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,7 @@ "vite": "^7.0.6", "vite-plugin-vue-devtools": "^8.0.0", "vitest": "^3.2.4", + "vitest-sonar-reporter": "^2.0.4", "vue-tsc": "^3.0.4" }, "engines": { @@ -5516,6 +5517,19 @@ } } }, + "node_modules/vitest-sonar-reporter": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vitest-sonar-reporter/-/vitest-sonar-reporter-2.0.4.tgz", + "integrity": "sha512-6mKFLXYzaHsuR+qnmuXXVhcjhostuicZ9iL3I325uf6sUKSZ2ZOpDWUBcgQwEmGs2xE05SPF6F72eoHmfOWX7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "vitest": ">=1" + } + }, "node_modules/vscode-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", diff --git a/package.json b/package.json index d6008a5..5394ee7 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "vite": "^7.0.6", "vite-plugin-vue-devtools": "^8.0.0", "vitest": "^3.2.4", + "vitest-sonar-reporter": "^2.0.4", "vue-tsc": "^3.0.4" } } diff --git a/sonar-project.properties b/sonar-project.properties index 0f8e409..3a71965 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,3 +7,5 @@ sonar.sourceEncoding=UTF-8 sonar.tests=tests sonar.exclusions=**/node_modules/**, **/coverage/**, tests/** sonar.coverage.exclusions=tests/** +sonar.javascript.lcov.reportPaths=coverage/lcov.info +sonar.testExecutionReportPaths=coverage/sonar-report.xml diff --git a/vitest.config.ts b/vitest.config.ts index 32ae17e..02bcf54 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -9,6 +9,10 @@ export default mergeConfig( environment: "jsdom", exclude: [...configDefaults.exclude, "e2e/**"], root: fileURLToPath(new URL("./", import.meta.url)), + reporters: [ + 'default', + ['vitest-sonar-reporter', { outputFile: 'coverage/sonar-report.xml' }], + ], coverage: { reporter: ["text", "lcov"], },