First a huge thank you to @ganncamp for her patience and guidance through the resolution. Done in a way that helped me learn along the way and prompted me to investigate and solve rather than listen and apply.
If you have stumbled here and are using maven to build and test your java/js project and SQ is only picking up the java side of the solution for analysis and processing of test/coverage content then read on.
It turns out the solution was quite simple but not obvious (to me) through the docs and various “solutions” online. After the initial configuration of the project, SQ had picked up the full path to my java source and the associated jacoco unit reports. I needed to update the paths to pick up both!
Many solutions referenced updating these in the sonarscan.properties file, except I didnt have one. As mentioned above by Ann, in a maven environment this can be done in the pom file!
So in order to get sonar to pick up both Java and JS code for analysis I had to update the sonar.sources property to look in multiple places. As configured it was only looking in
Assuming the following
Java source located in its normal location [JenkinsWorkspaceRoot]/src/main/java
JS source located in [JenkinsWorkspaceRoot]/client/src
Adding the properties to my pom to override the initial setting to include both paths to source resolved the scanning issues and adding thesonar.javascript.lcov.reportPaths, testExecutionReportPath and updating the sonar.tests property pointing to my lcov.info, test-report.xml file and tests respectively resolved the issue with not seeing test coverage and execution reporting for the JS side in the sonar console
<properties>
<sonar.sources>pom.xml,src/main/java,client/src</sonar.sources>
<sonar.testExecutionReportPaths>client/test-report.xml</sonar.testExecutionReportPaths>
<sonar.tests>client/__tests__/,src/test/java</sonar.tests>
<sonar.javascript.lcov.reportPaths>client/coverage/lcov.info</sonar.javascript.lcov.reportPaths>
</properties>
Hope this helps anyone else in my boat in the future.