3 poin oleh GN⁺ 2023-11-28 | 1 komentar | Bagikan ke WhatsApp

Pencapaian dan rencana ke depan untuk formatter kode Prettier

  • Prettier adalah formatter kode JavaScript yang menangani beragam gaya penulisan kode dengan cermat dan memiliki tingkat adopsi yang tinggi.
  • Setelah pekerjaan pada operator ternary selesai, Prettier akan mencapai kondisi yang stabil, lalu berfokus pada peningkatan performa.
  • Selama ini Prettier telah menawarkan kecepatan yang cukup baik, tetapi karena kurangnya persaingan, tidak ada dorongan besar untuk peningkatan performa.

Persaingan dan hadiah untuk peningkatan performa

  • Tim Prettier mengumumkan akan memberikan hadiah sebesar 10.000 dolar jika sebuah proyek yang ditulis dalam Rust dapat lulus 95% dari test suite Prettier.
  • CEO Vercel Guillermo Rauch dan napi.rs memberikan dana tambahan sehingga total hadiah meningkat menjadi 22.500 dolar.
  • Proyek Biome berhasil memenangkan hadiah tersebut, dengan beberapa orang bekerja sama hanya dalam 3 minggu untuk meningkatkan kompatibilitas.

Memperkuat daya saing Prettier

  • Proyek Biome menantang Prettier untuk meningkatkan performa dengan menawarkan implementasi yang kompatibel dengan Prettier tetapi jauh lebih cepat.
  • Fabio Spampinato menemukan banyak inefisiensi di CLI Prettier dan berencana memperbaikinya hingga akhir tahun.
  • Proyek Biome menemukan bug dan keputusan yang meragukan di Prettier, sehingga membuka peluang bagi Prettier untuk melakukan perbaikan.

Donasi yang mendukung Prettier

  • Prettier terus meraih keberhasilan berkat donasi dari berbagai perusahaan dan individu.
  • Perusahaan seperti Indeed, Frontend Masters, Sentry, Salesforce, Airbnb, dan Cybozu, serta individu seperti Shintaro Kaneko dan Suhail Doshi, menyumbangkan dana dalam jumlah besar.
  • Berkat donasi ini, selama 2 tahun terakhir tersedia pembayaran 1,5 ribu dolar per bulan sehingga Fisker Cheung dan Sosuke Suzuki dapat terus mengembangkan Prettier.
  • Dengan anggaran saat ini, operasional dapat berjalan selama 8 bulan, dan mereka meminta donasi tambahan.

Opini GN⁺

  • Prettier memainkan peran penting di bidang pemformatan kode, dan upaya untuk lebih meningkatkan pengalaman pengembang melalui persaingan peningkatan performa kali ini sangat menonjol.
  • Keberhasilan proyek Biome menunjukkan bagaimana kolaborasi dan persaingan dalam ekosistem open source dapat mendorong perubahan yang positif.
  • Artikel ini memberikan contoh menarik tentang bagaimana kolaborasi dan persaingan dalam komunitas teknologi dapat saling mendorong kemajuan.

1 komentar

 
GN⁺ 2023-11-28
Opini Hacker News
  • Anda mungkin bertanya-tanya mengapa tim Prettier mendanai proyek lain! Faktanya, Prettier berada pada posisi dominan sebagai pemformat kode JavaScript, dan karena kurangnya persaingan, motivasi untuk meningkatkan performa atau menyelesaikan berbagai edge case menjadi kurang.

    • Ada pertanyaan tentang mengapa tim Prettier mendukung proyek lain. Disebutkan bahwa Prettier menempati posisi nyaris monopoli sebagai pemformat kode JavaScript, namun karena tidak ada persaingan, dorongan untuk meningkatkan performa atau memperbaiki kasus-kasus khusus menjadi rendah.
  • Banyak orang tidak mengakui bagian itu dan menuliskan alasannya di komentar:

    • Ini berarti proyek Biome, dengan mencocokkan semua pengujian, berhasil menemukan banyak bug dan keputusan yang meragukan di Prettier, dan ada peluang untuk memperbaikinya.
  • Saya sangat bersemangat tentang ini.

    • Kekaguman terhadap tim Biome yang dengan cepat mencapai kompatibilitas 95% dengan Prettier. Diharapkan ada peningkatan kecepatan maksimal untuk formatting JavaScript menggunakan Rust, mengikuti tren formatter Python ruff. Wasmer menawarkan bounty sebesar $2,500 untuk mengompilasi Biome ke WASIX, dan ada harapan Biome segera bisa berjalan di Wasmer.
  • Kecepatan selalu disambut baik, tetapi saya berharap Prettier sedikit tidak terlalu dogmatis.

    • Merasa Prettier terlalu dogmatis dalam formatting kode, terutama tidak mampu mempertahankan formatting-nya sendiri terkait panjang baris. Menilai kode yang diformat dengan Prettier kurang mudah dibaca dibanding formatter lain.
  • Saya masih kesal karena semua plugin eslint saya menghapus linter yang sebenarnya baik-baik saja demi Prettier.

    • Merasa Prettier terlalu memaksa dan sulit dipahami, serta menganggapnya sebagai alat tambahan lain yang tidak diminta.
  • Ini berarti sekarang kita bisa fokus pada aspek penting berikutnya: performa. Prettier sendiri tidak cepat, tetapi cukup cepat untuk sebagian besar use case. Hal ini selalu terasa tidak memuaskan, jadi kami ingin melakukan sesuatu soal itu. Tidak ada cara yang lebih baik selain persaingan yang sehat.

    • Untuk mengatasi ketidakpuasan terhadap performa Prettier, mereka memasang bounty $10k untuk proyek yang ditulis dalam Rust dengan target lolos 95% dari test suite Prettier.
  • Meskipun porting ke Rust sedang menjadi tren, peningkatan kecepatan akan sangat berarti karena Prettier dijalankan setiap kali menyimpan. Saya akan segera mencoba Biome. Selamat untuk proyek Biome!

    • Porting ke Rust memang sedang tren, dan peningkatan kecepatan Prettier yang berjalan setiap kali menyimpan diperkirakan akan cukup signifikan. Reaksi positif terhadap proyek Biome.
  • Di mana benchmark untuk Biome? Tepatnya seberapa jauh performanya lebih baik daripada Prettier?

    • Ada pertanyaan tentang benchmark performa Biome. Ingin tahu seberapa besar peningkatan performa yang ditawarkan dibanding Prettier.
  • Artikel ini mengatakan mereka melakukan ini untuk memotivasi diri mereka sendiri agar meningkatkan versi JavaScript?

    • Ada keraguan tentang dimulainya proyek baru sebagai motivasi untuk meningkatkan versi JavaScript.
  • Jadi ini bukan menggantikan implementasi utama? Mereka hanya mendanai proyek baru yang kompatibel dan ditulis dalam Rust?

    • Ada pertanyaan apakah pendanaan untuk proyek baru yang kompatibel dan ditulis dalam Rust ini bukan dimaksudkan untuk menggantikan implementasi utama.