Analysis of typescript 5.8 is not supported

Hi,

we are using typescript 5.8.3 in some projects and get this error when analysing them with SonarQube 2025.1.1:

[INFO] TypeScript configuration file /builds/USER/mytest/bigcompany-cpq-frontend/slui/tsconfig.json
[ERROR] Error: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext', 'preserve'.; Unknown compiler option 'erasableSyntaxOnly'.
[ERROR]     at _Je (/builds/USER/mytest/target/sonar/.sonartmp/bridge-bundle/package/bin/server.cjs:2115:47046)
[ERROR]     at rPf (/builds/USER/mytest/target/sonar/.sonartmp/bridge-bundle/package/bin/server.cjs:2115:47226)
[ERROR]     at _Bt (/builds/USER/mytest/target/sonar/.sonartmp/bridge-bundle/package/bin/server.cjs:2115:47739)
[ERROR]     at Kqt (/builds/USER/mytest/target/sonar/.sonartmp/bridge-bundle/package/bin/server.cjs:2115:74094)
[ERROR]     at MessagePort.<anonymous> (/builds/USER/mytest/target/sonar/.sonartmp/bridge-bundle/package/bin/server.cjs:2115:78271)
[ERROR]     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:820:20)
[ERROR]     at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)
[ERROR] Failed to create program: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext', 'preserve'.; Unknown compiler option 'erasableSyntaxOnly'.
[INFO] Found 9 file(s) not part of any tsconfig.json: they will be analyzed without type information

According to JavaScript, TypeScript, CSS | SonarQube Server Documentation only typescript 5.6 is supported by now.

Are there any workarounds until version 5.8 is supported? When will SonarQube (on-premise) support typescript 5.8?

Thanks!

Regards,
Carsten

Hello @Carsten_HB,

We support Typescript 5.8 in the latest release of SonarJS, which will be included in the very next release of SonarQube.

In the meantime, you can use another tsconfig.json which is compatible with 5.7. A standard workaround is to name it tsconfig.sonar.json and point to it using the sonar property

sonar.typescript.tsconfigPaths=path/to/tsconfig.sonar.json

Cheers,
Victor