Pular para o conteúdo

Bun 1.4.4 traz o bun fmt, um formatador compatível com o Prettier

O Bun 1.4.4, lançado em 22 de outubro de 2026, traz o bun fmt, um formatador compatível com o Prettier que, segundo o Bun, verifica o repositório do Prettier 286 vezes mais rápido.

Por Tech AI Wire Team

4 min de leitura

XLinkedIn
The Bun blog post Bun v1.4.4 by Jarred Sumner, dated October 22, 2026, with install and upgrade commands.

Em números

bun fmt --check on Prettier's repo, per Bun
59.7 ms
Prettier 3.9.10 on the same repo
17.1 s
faster bun check on MUI docs than Bun 1.4.3
7.8x

O Bun 1.4.4, lançado em 22 de outubro de 2026, traz o bun fmt, um formatador de código embutido no runtime Bun que lê a sua configuração atual do Prettier. No próprio repositório do Prettier, o Bun diz que bun fmt --check leva 59,7 milissegundos, contra 17,1 segundos do Prettier. A versão também acelera o bun check e migra lockfiles do Yarn Berry.

O Bun é um runtime de JavaScript que também traz um gerenciador de pacotes, um executor de testes e um verificador de tipos. Um formatador reescreve o código em um estilo uniforme, para que as equipes parem de discutir sobre espaços e quebras de linha.

O que o bun fmt faz

O bun fmt é uma adaptação do Prettier, um formatador de JavaScript muito usado, segundo as notas da versão Bun v1.4.4, de Jarred Sumner. Ele lê os arquivos de configuração que o projeto já tem:

  • .prettierrc*, prettier.config.* e a chave prettier do package.json
  • .editorconfig e .prettierignore
  • configurações do oxfmt, outro formatador
  • uma seção [fmt] no bunfig.toml

Ele formata JavaScript, TypeScript, JSX, CSS, SCSS, HTML, Vue, Svelte, JSON, YAML, TOML, Markdown, MDX e GraphQL, entre outros. A ordenação de classes do Tailwind, a ordenação de chaves do package.json e o suporte ao Svelte vêm embutidos, então esses plugins do Prettier deixam de ser necessários. A ordenação de imports também vem embutida, mas fica desligada por padrão.

Linguagens que ainda precisam de um plugin do Prettier, como o Astro, recorrem ao Prettier instalado no projeto. Com um plugin não suportado, o bun fmt mostra um erro, pula os arquivos afetados e termina com o código de saída 2. O comando bun format continua rodando o script format do próprio projeto.

Os números do Bun

Esses números são do próprio Bun e não foram verificados de forma independente.

Testebun fmtComparação
Repositório do Prettier, 2.616 arquivos59,7 ms, 48 MBPrettier 3.9.10: 17,1 s, 459 MB (286 vezes)
vitest, date-fns, monkeytype, h3De 234 a 425 vezes mais rápido que o Prettier 3.9.9
vite, com a própria configuração65,2 msoxfmt 0.74.0: 406,7 ms (6,2 vezes)
fumadocs, com a própria configuração44,6 msoxfmt 0.74.0: 1.395 ms (31 vezes)

O resumo do post diz que o bun fmt é de 3 a 6 vezes mais rápido que o oxfmt, mas a própria linha do fumadocs mostra 31 vezes. Quanto ao resultado, o Bun informa que 9.648 dos 9.731 testes de formatação do Prettier coincidem, ou 99,1%. Em comparação com o Prettier e seus plugins comuns, 97,9% da saída de JavaScript e TypeScript foi idêntica.

O AICoder, que noticiou a chegada do formatador ao branch principal do Bun em 12 de outubro, citou outro teste. Verificar a formatação do código-fonte do VS Code levou 2,9 segundos de CPU com o Bun, contra 295 segundos com o Prettier 3.9.9.

bun check e bun install mais rápidos

A versão também melhora o verificador de tipos que chegou em Bun 1.4.3 traz o bun check, um verificador de tipos TypeScript mais rápido. Na documentação do MUI, o bun check agora leva 1,31 segundo em vez de 10,28, e o pico de memória cai de 11,2 GB para 1,3 GB. Um projeto ficou mais lento: o src/js do próprio Bun passou de 0,11 para 0,20 segundo.

O bun install agora migra lockfiles do Yarn 2 em diante ("Yarn Berry") para o bun.lock e mantém as versões fixadas. O Bun 1.4.3 só lidava com o Yarn v1. Downloads que falham agora são repetidos até cinco vezes, com esperas cada vez maiores. "No Bun v1.4.3, as cinco tentativas aconteciam em 5 ms, então uma breve queda do registro fazia a instalação falhar", escreve Sumner.

A versão corrige 271 problemas e inclui correções de segurança para TLS, WebSocket, os clientes de banco de dados e o gerenciador de pacotes, mas o post não dá detalhes. Ela também afirma que o Bun.SQL usa até 48% menos CPU do cliente por consulta.

Mudanças incompatíveis para conferir

O post cita várias mudanças de comportamento no texto:

  • Padrões glob como {1..3} e !(g)/a.ts agora são tratados como padrões, e não como texto literal.
  • O bun publish recusa versões de pré-lançamento sem --tag, e --provenance agora gera um erro.
  • O Bun.hash() lança um erro com null e undefined em vez de calcular o hash deles.
  • Servidores TLS só pedem certificados de cliente quando requestCert: true está definido.
  • A cobertura "% Lines" do bun test pode cair depois da atualização, então confira qualquer coverageThreshold.

O que isso significa para desenvolvedores

O Bun coloca um formatador compatível com o Prettier dentro de uma ferramenta que muitas equipes já usam, o que tira uma dependência de um projeto JavaScript.

  • Teste na CI antes de trocar. Rode bun fmt --check em um branch e compare o resultado com o Prettier. Com 97,9% de saída idêntica, espere poucos arquivos alterados.
  • Confira seus plugins. Um plugin do Prettier não suportado faz o bun fmt terminar com o código 2, o que vai derrubar um job de CI.
  • Atualize por causa das correções de segurança. Rode bun upgrade. O Bun cita correções para TLS e WebSocket, que importam mais para servidores rodando no Bun.
  • Revise primeiro as mudanças incompatíveis. O comportamento dos globs, as regras do bun publish e os certificados de cliente TLS mudaram. Rode seus testes no 1.4.4 antes de distribuir.

Fontes

  1. Bun v1.4.4 - Bun Blog
  2. Bun adds built-in bun lint and bun fmt: reads ESLint/Prettier configs, 1,021 rules, 2.9s vs Prettier's 295s CPU on vscode format check - AICoder

Artigos relacionados