3 pontos por GN⁺ 2023-11-28 | 1 comentários | Compartilhar no WhatsApp

Resultados do formatador de código Prettier e planos futuros

  • O Prettier é um formatador de código JavaScript, adota vários estilos de codificação com cuidado e tem alta taxa de adoção.
  • Quando o trabalho sobre o operador ternário for concluído, o Prettier chegará a um estado estável e, depois disso, pretende se concentrar em melhorias de desempenho.
  • Até agora, o Prettier oferecia velocidade considerada suficientemente boa, mas a falta de concorrência não gerava grande motivação para avanços de performance.

Concorrência e recompensa para melhorar o desempenho

  • A equipe do Prettier anunciou que ofereceria uma recompensa de 10.000 dólares caso um projeto escrito em Rust passasse em 95% da suíte de testes do Prettier.
  • O CEO da Vercel, Guillermo Rauch, e a napi.rs forneceram fundos adicionais, elevando a recompensa total para 22.500 dólares.
  • O projeto Biome conquistou a recompensa e, em apenas 3 semanas, várias pessoas colaboraram para melhorar a compatibilidade.

Fortalecimento da competitividade do Prettier

  • O projeto Biome, ao oferecer uma implementação muito mais rápida e compatível com o Prettier, lançou um desafio ao Prettier para melhorar seu desempenho.
  • Fabio Spampinato encontrou muitas ineficiências na CLI do Prettier e planeja corrigi-las até o fim do ano.
  • O projeto Biome encontrou bugs e decisões questionáveis no Prettier, criando oportunidades para que o Prettier evolua.

Doações que apoiam o Prettier

  • O Prettier vem mantendo seu sucesso contínuo graças a doações de várias empresas e indivíduos.
  • Empresas como Indeed, Frontend Masters, Sentry, Salesforce, Airbnb e Cybozu, além de pessoas como Shintaro Kaneko e Suhail Doshi, fizeram contribuições significativas.
  • Graças a essas doações, nos últimos 2 anos foi possível pagar 1,5 mil dólares por mês, permitindo que Fisker Cheung e Sosuke Suzuki continuassem o desenvolvimento do Prettier.
  • Com o orçamento atual, é possível operar por 8 meses, e novas doações são solicitadas.

Opinião do GN⁺

  • O Prettier tem um papel importante na área de formatação de código, e nesta competição por melhorias de desempenho se destaca o esforço para aprimorar ainda mais a experiência dos desenvolvedores.
  • O sucesso do projeto Biome mostra como colaboração e concorrência no ecossistema de código aberto podem gerar mudanças positivas.
  • Este artigo oferece um caso interessante de como colaboração e competição dentro da comunidade técnica podem promover desenvolvimento mútuo.

1 comentários

 
GN⁺ 2023-11-28
Comentários do Hacker News
  • Você pode estar se perguntando por que a equipe do Prettier está financiando outro projeto! Na verdade, o Prettier ocupa uma posição dominante como formatador de código JavaScript e, com a falta de concorrência, havia pouca motivação para melhorar o desempenho ou corrigir vários casos de borda.

    • Há questionamentos sobre o motivo de a equipe do Prettier apoiar outros projetos. Aponta-se que o Prettier ocupa uma posição quase monopolista como formatador de código JavaScript, mas que a ausência de concorrência reduziu o incentivo para melhorar desempenho ou corrigir casos especiais.
  • Muitas pessoas não estão reconhecendo essa parte e estão explicando o motivo nos comentários:

    • Isso significa que o projeto Biome, ao corresponder a todos os testes, encontrou muitos bugs e decisões questionáveis do Prettier, e que pode ajudar a melhorar isso.
  • Estou muito animado com isso.

    • Admiração pelo fato de a equipe do Biome ter alcançado rapidamente 95% de compatibilidade com o Prettier. Há expectativa de um grande ganho de velocidade na formatação de JavaScript usando Rust, seguindo a tendência do formatador Python ruff. A Wasmer ofereceu uma bounty de $2,500 para compilar o Biome para WASIX, e há esperança de que o Biome possa rodar em Wasmer em breve.
  • Velocidade é sempre bem-vinda, mas eu queria que o Prettier fosse um pouco menos dogmático.

    • Há a percepção de que o Prettier é dogmático demais na formatação de código, especialmente por não conseguir manter sua própria formatação em relação ao comprimento de linha. Considera-se que código formatado pelo Prettier é menos legível do que o gerado por outros formatadores.
  • Ainda estou bravo porque todos os meus plugins de eslint removeram linters perfeitamente bons por causa do Prettier.

    • Há a sensação de que o Prettier é impositivo demais e difícil de entender, sendo visto como mais uma ferramenta não solicitada.
  • Isso significa que agora podemos nos concentrar no próximo aspecto importante: desempenho. O Prettier não é rápido por si só, mas é rápido o suficiente para a maioria dos casos de uso. Isso sempre foi insatisfatório, então queríamos fazer algo a respeito. Não há forma melhor do que uma competição amigável.

    • Busca-se resolver a insatisfação com o desempenho do Prettier, oferecendo uma bounty de $10k para um projeto escrito em Rust com a meta de passar em 95% da suíte de testes do Prettier.
  • Embora portar para Rust esteja na moda, o ganho de velocidade será considerável porque o Prettier roda a cada salvamento. Vou testar o Biome em breve. Parabéns ao projeto Biome!

    • A migração para Rust está em alta, e espera-se um ganho significativo de velocidade para o Prettier, que roda a cada salvamento. Reação positiva ao projeto Biome.
  • Onde estão os benchmarks do Biome? Exatamente quanto melhor ele é em desempenho do que o Prettier?

    • Há perguntas sobre os benchmarks de desempenho do Biome e curiosidade sobre quanto ele supera o Prettier.
  • Este texto está dizendo que eles fizeram isso para se motivarem a melhorar a versão em JavaScript?

    • Há dúvida sobre o fato de terem iniciado um novo projeto como forma de se motivar a melhorar a versão em JavaScript.
  • Então isso não substitui a implementação principal? Eles apenas financiaram um novo projeto compatível escrito em Rust?

    • Há uma pergunta sobre se financiar um novo projeto compatível escrito em Rust significa ou não substituir a implementação principal.