If you mean "install prettier, set it as a default formatter", then it doesn't. I tried all shallow methods, then all deep ones I was able to comprehend. Indentation rules are different from formatting, and default prettier settings mess it up completely into argument-per-line if it's a big hierarchy (which it usually is). Hyperscript readability highly depends on how you format it.
Fun part is, neovim plugin reindents it correctly with =.
I've not heard Hyperscript in a while. While I detest JSX, with Hyperscript's bad ergonomics and indentation issues you have, why use JavaScript? There's a plethora of better options that compile to the JS target if you want markup as function that improves the ergonomics and likely a better experience. Heck even CoffeeScript does a better job at this.
It doesn't feel right to me to switch languages because of a wrong editor behavior. Also, I'm already using typescript. Hyperscript is just an example, e.g. long lists also have this issue:
foo(bar, baz, ........
quux)
I'd agree if you told that it probably begs for a refactoring into named arguments, but it isn't an excuse to mess with indentation. Virtually every other editor out there would indent quux line, if it at all has indentation concept built in. Even neovim vscode plugin "knows" that.
Fun part is, neovim plugin reindents it correctly with =.