Every analyser has their own coverage report format(s) (see Test Coverage & Execution). In the particular case of JavaScript and TypeScript, the corresponding analyser expects the lcov format.
Having said that, SonarQube also supports a generic test data format. If you really want to use the JUnit format for your code coverage, you’ll need to write a small tool that converts it into SonarQube’s generic one.