sonar.typescript.lcov.reportPaths seams not to be recognized

I’m building a React aplication with typescript. When I try to set sonar.typescript.lcov.reportPaths property in sonar-project.properties, the SonarAnalysis activity set in my pipeline (Azure) just ignore lcov.info file (and then, no coverage is shown on SonarCloud). Not even a lcov reference is shown in activity log.

Curiously, when I set sonar.javascript.lcov.reportPaths property, the lcov file seams to be recognized (but I not sure if I should just do it).

Can someone help me?

I am using jest and ts-jest. This is my jest.config.js:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'jsdom',
  collectCoverage: true,
};

sonar-project.properties:

sonar.organization=xxxxx
sonar.projectKey=xxxxx

sonar.sources=src
sonar.tests=src
sonar.test.inclusions=src/**/*.test.ts

sonar.typescript.lcov.reportPaths=coverage/lcov.info

sonar.sourceEncoding=UTF-8

tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "lib": [
            "dom",
            "dom.iterable",
            "esnext"
        ],
        "allowJs": true,
        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "strict": true,
        "forceConsistentCasingInFileNames": true,
        "noFallthroughCasesInSwitch": true,
        "module": "esnext",
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "typeRoots": ["node_modules/@types"],
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "react-jsx",
        "outDir": "./dist/",
        "sourceMap": true
    },
    "include": ["./src/**/*"],
    "exclude": ["node_modules"]
}

build.yaml (partial) (npm test = npx jest):

...
- job: CodeAnalysis
        displayName: Test and Code Analysis
        steps:
          - task: NodeTool@0
            inputs:
              versionSpec: 10.x
            displayName: Run npm command
          - script: |
              npm ci
              npm test
      
          - task: SonarCloudPrepare@1
            inputs:
              SonarCloud: 'Project - SonarCloud'
              organization: 'xxxx'
              scannerMode: 'CLI'
              configMode: 'manual'
              cliProjectKey: 'xxxx'
              cliProjectName: 'xxxx'
              cliSources: 'src'

          - task: SonarCloudAnalyze@1

          - task: SonarCloudPublish@1
            inputs:
              pollingTimeoutSec: '300'
...

lcov.info (partial):

...
TN:
SF:src\common\components\BarraDePesquisa\customHooks\BarraDePesquisa.hook.ts
FN:4,(anonymous_0)
FN:16,(anonymous_1)
FN:17,(anonymous_2)
FN:27,(anonymous_3)
FN:28,(anonymous_4)
FN:39,(anonymous_5)
FN:40,(anonymous_6)
FN:48,(anonymous_7)
FN:51,(anonymous_8)
FN:52,(anonymous_9)
FN:53,(anonymous_10)
FNF:11
FNH:11
FNDA:1,(anonymous_0)
FNDA:1,(anonymous_1)
FNDA:2,(anonymous_2)
FNDA:1,(anonymous_3)
FNDA:2,(anonymous_4)
FNDA:1,(anonymous_5)
FNDA:2,(anonymous_6)
FNDA:1,(anonymous_7)
FNDA:3,(anonymous_8)
FNDA:2,(anonymous_9)
FNDA:1,(anonymous_10)
DA:2,1
DA:4,1
DA:6,1
DA:7,1
DA:9,1
DA:10,1
DA:11,1
DA:13,1
DA:16,1
DA:17,1
DA:18,2
DA:19,2
DA:21,2
DA:24,1
DA:27,1
DA:28,1
DA:29,2
DA:30,2
DA:31,2
DA:33,2
DA:36,1
DA:39,1
DA:40,1
DA:41,2
DA:42,2
DA:45,1
DA:48,1
DA:49,1
DA:51,1
DA:52,3
DA:53,2
DA:54,2
DA:55,1
DA:60,1
LF:34
LH:34
BRDA:53,0,0,1
BRDA:53,0,1,1
BRDA:54,1,0,1
BRF:3
BRH:3
end_of_record
...

Using sonar.javascript.lcov.reportPaths:
image

Using sonar.typescript.lcov.reportPaths:
image

Using sonar.javascript.lcov.reportPaths:

Using sonar.typescript.lcov.reportPaths:

Hey there.

sonar.typescript.lcov.reportPaths does not exist. You should use sonar.javascript.lcov.reportPaths as noted in the documentation on Test Coverage & Execution.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.