Prettier vs dprint: qual formatador para o CI?
O Prettier é o formatador onipresente; o dprint é um formatador rápido e plugável em Rust/Wasm que pode usar um plugin compatível com o Prettier.
O Prettier é o formatador opinativo de fato para JS/TS e muitas linguagens. O dprint é uma plataforma de formatação plugável escrita em Rust, que roda plugins Wasm (incluindo um compatível com o Prettier) em busca de velocidade e configurabilidade.
| Prettier | dprint | |
|---|---|---|
| Implementação | JavaScript | Rust (plugins Wasm) |
| Velocidade | Mais lento | Mais rápido |
| Modelo de plugin | Plugins do Prettier | Plugins Wasm (incl. compatível com Prettier) |
| Configuração | Opinativa, poucas opções | Mais configurável, por linguagem |
| Adoção | Onipresente | Em crescimento |
No CI
Um passo de format --check roda a cada push; o dprint o torna mais rápido e suporta formatação incremental e cache. Ele pode rodar um plugin compatível com o Prettier, então a saída pode ficar bem próxima, ao mesmo tempo em que oferece mais configuração por linguagem. O Prettier continua sendo a escolha mais amplamente adotada, com suporte quase universal de editores e ecossistema e a mais ampla cobertura de plugins de linguagens.
Esforço de migração
Rode o dprint em todo o repositório em um único commit para absorver quaisquer diffs de formatação, e então imponha-o no CI. Use o plugin compatível com o Prettier para minimizar o churn, e mantenha o Prettier se você depende de plugins que o dprint não oferece.
O veredito
Quer format checks mais rápidos com cache e mais configuração (e saída quase idêntica à do Prettier): dprint. Quer máxima onipresença e cobertura de editores/plugins: Prettier. Reformate em um único commit ao trocar.