3 points par GN⁺ 2023-11-28 | 1 commentaires | Partager sur WhatsApp

Réalisations de Prettier, le formateur de code, et plans à venir

  • Prettier est un formateur de code JavaScript largement adopté, qui gère avec soin une grande variété de styles de code.
  • Une fois le travail sur l’opérateur ternaire terminé, Prettier atteindra un état stable et se concentrera ensuite sur l’amélioration des performances.
  • Jusqu’à présent, Prettier offrait des performances jugées suffisantes, mais le manque de concurrence n’incitait pas fortement à les améliorer.

Concurrence et récompense pour améliorer les performances

  • L’équipe de Prettier a annoncé qu’elle offrirait une récompense de 10 000 dollars à tout projet écrit en Rust capable de faire passer 95 % de la suite de tests de Prettier.
  • Le CEO de Vercel, Guillermo Rauch, et napi.rs ont apporté des fonds supplémentaires, portant la récompense totale à 22 500 dollars.
  • Le projet Biome a remporté la récompense, plusieurs personnes ayant collaboré pendant seulement trois semaines pour améliorer la compatibilité.

Renforcer la compétitivité de Prettier

  • Le projet Biome a lancé un défi à Prettier en proposant une implémentation compatible avec Prettier, mais nettement plus rapide.
  • Fabio Spampinato a découvert de nombreuses inefficacités dans la CLI de Prettier et prévoit de les corriger d’ici la fin de l’année.
  • Le projet Biome a mis en évidence des bugs et des décisions discutables de Prettier, offrant ainsi à Prettier des occasions de s’améliorer.

Des dons pour soutenir Prettier

  • Prettier poursuit son succès grâce aux dons de nombreuses entreprises et de particuliers.
  • Des entreprises comme Indeed, Frontend Masters, Sentry, Salesforce, Airbnb et Cybozu, ainsi que des particuliers comme Shintaro Kaneko et Suhail Doshi, ont fait des dons importants.
  • Grâce à ces dons, 1,5 k$ par mois ont pu être versés ces deux dernières années, permettant à Fisker Cheung et Sosuke Suzuki de continuer le développement de Prettier.
  • Avec le budget actuel, huit mois d’activité sont assurés, et de nouveaux dons sont sollicités.

L’avis de GN⁺

  • Prettier joue un rôle important dans le domaine du formatage de code, et cette compétition autour des performances met en lumière sa volonté d’améliorer encore l’expérience développeur.
  • Le succès du projet Biome montre comment coopération et concurrence dans l’écosystème open source peuvent produire des changements positifs.
  • Cet article offre un exemple intéressant de la manière dont coopération et concurrence peuvent favoriser un progrès mutuel au sein de la communauté technique.

1 commentaires

 
GN⁺ 2023-11-28
Avis Hacker News
  • Vous vous demandez peut-être pourquoi l’équipe de Prettier finance d’autres projets ! En réalité, Prettier occupe une position dominante comme formateur de code JavaScript et, faute de concurrence, il y avait peu d’incitation à améliorer les performances ou à résoudre divers cas limites.

    • Certains s’interrogent sur les raisons qui poussent l’équipe de Prettier à soutenir d’autres projets. Il est souligné que Prettier occupe une position quasi monopolistique comme formateur de code JavaScript, mais que l’absence de concurrence a réduit la motivation à améliorer les performances ou à corriger les cas particuliers.
  • Beaucoup de gens ne reconnaissent pas ce point et en expliquent la raison dans les commentaires :

    • Cela signifie que le projet Biome, en faisant correspondre l’ensemble des tests, a mis au jour de nombreux bugs et choix discutables de Prettier, et qu’il pourrait contribuer à les améliorer.
  • Je suis très enthousiaste à ce sujet.

    • Admiration pour la rapidité avec laquelle l’équipe de Biome a atteint une compatibilité de 95 % avec Prettier. On s’attend au gain de vitesse maximal pour le formatage JavaScript grâce à Rust, dans la lignée du formateur Python ruff. Wasmer a proposé une prime de 2 500 $ pour compiler Biome en WASIX, avec l’espoir que Biome puisse bientôt s’exécuter sur Wasmer.
  • La vitesse est toujours la bienvenue, mais j’aimerais que Prettier soit un peu moins dogmatique.

    • Préttier est perçu comme trop dogmatique en matière de formatage de code, en particulier parce qu’il ne parvient pas à conserver son propre formatage concernant la longueur des lignes. Le code formaté par Prettier est jugé moins lisible que celui produit par d’autres formateurs.
  • Je suis toujours en colère que tous mes plugins eslint aient supprimé des linters parfaitement corrects au profit de Prettier.

    • Prettier est perçu comme trop imposé et difficile à comprendre, et comme un outil supplémentaire dont personne n’avait demandé l’arrivée.
  • Cela signifie que nous pouvons maintenant nous concentrer sur l’aspect important suivant : les performances. Prettier n’est pas rapide en soi, mais il est suffisamment rapide pour la plupart des cas d’usage. Cela a toujours été insatisfaisant, donc nous voulions faire quelque chose à ce sujet. Il n’y a pas de meilleure méthode qu’une concurrence amicale.

    • Pour répondre à l’insatisfaction liée aux performances de Prettier, une prime de 10 k$ a été proposée pour un projet écrit en Rust, avec pour objectif de faire passer 95 % de la suite de tests de Prettier.
  • Bien que le portage vers Rust soit la tendance, le gain de vitesse sera significatif puisque Prettier s’exécute à chaque sauvegarde. J’essaierai bientôt Biome. Félicitations au projet Biome !

    • Le portage vers Rust est dans l’air du temps, et l’on s’attend à un gain de vitesse notable pour Prettier, qui s’exécute à chaque sauvegarde. Réaction positive à l’égard du projet Biome.
  • Où sont les benchmarks de Biome ? De combien les performances sont-elles exactement meilleures que celles de Prettier ?

    • Question sur les benchmarks de performance de Biome. Curiosité quant à l’ampleur exacte du gain par rapport à Prettier.
  • Cet article dit qu’ils ont fait cela pour se motiver à améliorer la version JavaScript ?

    • Interrogation sur le fait d’avoir lancé un nouveau projet comme moyen de se motiver à améliorer la version JavaScript.
  • Donc cela ne remplace pas l’implémentation principale ? Ils ont simplement financé un nouveau projet compatible écrit en Rust ?

    • Question pour savoir si le financement d’un nouveau projet compatible écrit en Rust vise ou non à remplacer l’implémentation principale.