TypeScript 5 tsconfig.json multiple configuration files in extends property

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension) SonarQube Enterprise Edition Version 9.9 (build 65466)
  • how is SonarQube deployed: zip, Docker, Helm No idea, part of the organization
  • what are you trying to achieve Scan TS5 projects that inherit from multiple tsconfig.json files
  • what have you tried so far to achieve this
    I tried scanning a project after upgrading to TS5 and updating our tsconfig.json file to inherit from multiple files (via extends: [someFile.json, otherFile.json]).
    This resulted in the following error from Sonar Scanner
ERROR: Error: Compiler option 'extends' requires a value of type string.
ERROR:     at createProgramOptions (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/lib/services/program/program.js:106:15)
ERROR:     at createProgram (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/lib/services/program/program.js:132:28)
ERROR:     at default_1 (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/lib/routing/on-create-program.js:10:57)
ERROR:     at Layer.handle [as handle_request] (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/layer.js:95:5)
ERROR:     at next (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/route.js:144:13)
ERROR:     at Route.dispatch (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/route.js:114:3)
ERROR:     at Layer.handle [as handle_request] (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/layer.js:95:5)
ERROR:     at /github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/index.js:284:15
ERROR:     at Function.process_params (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/index.js:346:12)
ERROR:     at next (/github/workspace/.scannerwork/.sonartmp/eslint-bridge-bundle/package/node_modules/express/lib/router/index.js:280:10)
ERROR: Failed to create program: Compiler option 'extends' requires a value of type string.

I assume there needs to be some update of the scanner to handle the now allowed array of strings in the extends property.

Hey there.

It seems you’ve already found the associated GitHub issue here: Support TypeScript 5 · Issue #3770 · SonarSource/SonarJS · GitHub

So I’m posting it for others. :slight_smile:

1 Like