> Svelte doesn't support JSX/TSX though =(
You have https://www.solidjs.com/ that does
You have https://www.solidjs.com/ that does
But what is unique about Vue is that it lets you arbitrarily mix ".vue" and ".jsx/.tsx" files in the same project.
So if you need to define say 50 really tiny helper components, like "Button", "Modal", etc. it's great.
I can write one TSX file and do:
// UtilComponents.tsx
export function Button() {}
export function Modal() {}
export function Icon() {}
And then in my .vue file I can do: <script setup lang="ts">
import { Button, Modal, Icon } from "./UtilComponents"
// ...
</script>
This is not a popular approach, almost nobody uses Vue's JSX/TSX and I'm not sure if people even know you can mix and match arbitrarily like this.But I've been doing this for a long time and it works great for me haha.
Just wondering if my read is correct or if there's some other reason it's been left off the table.
IMO the HTML-in-JS solutions (i.e. JSX) are superior to the JS-in-HTML solutions (e.g. Angular/Vue Templates) because they put the standardised turing-complete language in the driving seat rather than the propriety, hard to extend template language.