I have been using figwheel-main for React Native development for a long time (since 2016 or so) and I'm generally very happy with it.
As of last year, the npm package support is also really flawless. You can "yarn add @tensorflow/tfjs". Then simply add a require like:
["@tensorflow/tfjs" :as tfjs]
... and everything just works (At least on React Native + CLJS. I haven't done a browser-based CLJS project recently but I assume it should be the same).
I haven't used shadow-cljs myself but thheller is constantly a super helpful and knowledgeable participant in the Clojure community. So I assume the quality of the tool is also excellent, and I have also heard good things from people who use shadow-cljs.