Ask HN: Alternatives to Prettier?

4 points by aliasxneo ↗ HN
I've been on the hunt for a generalized formatter to handle markdown, YAML, JSON, and other common file types. All of my open source projects typically have at least markdown and YAML present. I typically employ a specialized formatter/linter for the project-specific language, but handling the other types has always been a pain.

Prettier is the closest thing I've found, even if it's primarily targeting Javascript. My biggest gripe is the dependencies that it ships with. I'd love to find a static binary that can accomplish the same thing. Any suggestions?

4 comments

[ 4.3 ms ] story [ 17.3 ms ] thread
I think one tool to rule them all is a bit ambitious. There are a lot of languages to cover.

I think a non-code formatter could be a good idea though. Particularly normalising over the various dialects of Markdown.

If it doesn't exist, perhaps you should build it yourself? The easiest way to build a CLI tool as a static binary is probably with Go, although I'm not a big fan of the language. Perhaps this could be a chance to try your hand at Rust.

I wouldn't really trust a "one to rule them all" tool. As you said, though, I do think there is a practical use to not having a markdown, yaml, and JSON formatter all as separate tools. Maybe even through in HCL as an added bonus.

I've already built something with Rust (https://github.com/jmgilman/vaultrs). I suppose I'll add it to my never-ending list of projects if I can't find something :)

With the increased adoption of treesitter and LSP, we should be optimistic that we can get to a single tool for highlights and indents. Essentially a common format had been defined and a lot of languages are already covered