I recently performed an in-place upgrade of our self-managed SonarQube instance from version 9.6 to 9.9 LTS. The upgrade process itself completed without any apparent errors, and the server starts correctly. However, our CI/CD pipeline scans are now failing to analyze TypeScript files. The scanner executes, but the analysis summary shows zero lines of code for TypeScript and JavaScript files, whereas it correctly counts lines for other languages like Java and Go. This is a critical regression for our quality gates.
Our setup uses the SonarScanner for Azure DevOps tasks (version 5.14.x) and analyzes a multi-language repository. The `sonar-project.properties` file has not been modified and was functioning perfectly prior to the upgrade. The key directives include:
- `sonar.sources=src`
- `sonar.tests=test`
- `sonar.exclusions=**/node_modules/**,**/*.spec.ts`
- `sonar.typescript.tsconfigPath=src/tsconfig.app.json`
- `sonar.typescript.exclusions=**/node_modules/**`
The scanner logs show the following concerning pattern:
- The project sensor phase lists only Java and Go sensors as executing.
- There is no mention of the TypeScript/JavaScript sensor being loaded or any errors related to it.
- The summary line reads: "Languages: go=5432; java=12345; web=0"
My immediate suspicion is a plugin compatibility issue. I have verified that the TypeScript/JavaScript plugin (version 9.2.1.26711, bundled with the 9.9 distribution) is present and enabled in the SonarQube server administration console. I have also attempted to clear the SonarQube cache and restart the server, with no change in behavior.
Given the academic nature of the upgrade, I am seeking a systematic approach to diagnose this. Has anyone else encountered a similar language detection failure following an upgrade to the 9.9 series? Specifically, I am interested in:
* The precise logging location or verbosity setting to confirm if the TypeScript plugin is being loaded during analysis.
* Any known incompatibilities between the bundled language plugins in 9.9 and common `sonar-project.properties` configurations for TypeScript.
* Whether there have been undocumented changes to the property keys, such as `sonar.typescript.tsconfigPath`, that might now require a different syntax or absolute path.
I am prepared to provide sanitized logs and configuration snippets, but first I need to understand where the instrumentation is failing. This feels like a sensor lifecycle problem rather than a simple misconfiguration, given the abrupt change post-upgrade.
— Billy