Try the pre-commit-yq hook that provides both possibilities!
Yeah, it is mainly used as yet another YAML prettier, but with the support of comments and blank lines inside (at least, it doesn't remove most of them)
yq itself able works with YAML, XML, and TOML, and build on top of jq.So, in case you can in yq/jq syntax and still have not found normal prettier for these file types - here it is.
Also,
pre-commit can be simply run in your CI, here are examples for Github Action: usual usage, usage with dirty hack