We have mainly chosen to use JS on the frontend and on the backend to lower the learning curve for people that would want to contribute / extend it to their own needs.
Then typescript (with its limitations!) it our best shot on top of JS, especially as we are using GraphQL