Recently I found a workaround for this.
- Build in any JS Framework (config proxy and other things for js+frappe seamless development)
- Build Web component: output will be js file and css file. Put these in your build.json
<use-me data="hello components"></use-me>