`node --experimental-transform-types example.ts`
As for whether this matches your definition of "native support" or not...
Now that we have `satisfies` and `as const`, there's really no reason to ever use an enum. In my opinion, TypeScript is best when it is simply used as Language Server, and it should never have had runtime implications in the first place.
Is there anything else that doesn't run as valid JS if you strip the types (and maybe some other extra keywords)out?
Genuine question, in my head there's not much, but TS has a few weird corners I maybe haven't used
I'm using it in my projects with no issues.
Outside of that I’ve barely seen them used in typescript, they’re not really idiomatic in react projects
IIRC they "almost" recommend against using them (the last part, I haven't researched again now).
But the usage of many features has reached a sort of point of no return, so I hope Node will go the route of making the experimental transpilation the default for TS files at some point.
Goes to show how strong the appeal of syntax is, especially enums.
To people coming from languages with enum support, it just looks so much more organized to use them, compared to union types, despite all of the (many) drawbacks.