3 पॉइंट द्वारा GN⁺ 2023-11-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Prettier code formatter की उपलब्धियां और आगे की योजना

  • Prettier एक JavaScript code formatter है, जो अलग-अलग coding styles को बारीकी से संभालता है और जिसका adoption rate काफ़ी ऊंचा है.
  • ternary operator पर काम पूरा होने के बाद Prettier एक स्थिर अवस्था में पहुंच जाएगा, और उसके बाद उसका फ़ोकस performance improvements पर होगा.
  • Prettier अब तक काफ़ी तेज़ रहा है, लेकिन competition की कमी की वजह से performance सुधारने के लिए बहुत ज़्यादा प्रेरणा नहीं थी.

performance सुधार के लिए competition और reward

  • Prettier टीम ने घोषणा की कि अगर Rust में लिखा गया कोई project, Prettier test suite का 95% pass कर लेता है, तो उसे 10,000 डॉलर का reward दिया जाएगा.
  • Vercel के CEO Guillermo Rauch और napi.rs ने अतिरिक्त फंड दिया, जिससे कुल reward बढ़कर 22,500 डॉलर हो गया.
  • Biome project ने यह reward जीत लिया, और सिर्फ़ 3 हफ़्तों में कई लोगों ने मिलकर compatibility बेहतर की.

Prettier की competitiveness को मज़बूत करना

  • Biome project, Prettier-compatible होते हुए भी, कहीं ज़्यादा तेज़ implementation देता है, जिससे Prettier के सामने performance सुधारने की चुनौती आई.
  • Fabio Spampinato ने Prettier के CLI में कई inefficiencies खोजीं, और साल के अंत तक इन्हें सुधारने की योजना है.
  • Biome project ने Prettier के bugs और कुछ questionable decisions को उजागर किया, जिससे Prettier को सुधार का अवसर मिला.

Prettier को support करने वाले donations

  • Prettier ने कई कंपनियों और व्यक्तियों के donations की बदौलत लगातार सफलता हासिल की है.
  • Indeed, Frontend Masters, Sentry, Salesforce, Airbnb, Cybozu जैसी कंपनियों और Shintaro Kaneko, Suhail Doshi जैसे व्यक्तियों ने बड़ी रकम दान की.
  • इन donations की वजह से पिछले 2 सालों में हर महीने 1.5k डॉलर दिए जा सके, जिससे Fisker Cheung और Sosuke Suzuki, Prettier development जारी रख सके.
  • मौजूदा budget के हिसाब से 8 महीने तक संचालन संभव है, और अतिरिक्त donations की अपील की गई है.

GN⁺ की राय

  • Prettier, code formatting के क्षेत्र में एक अहम भूमिका निभाता है, और इस performance improvement competition के ज़रिए developer experience को और बेहतर बनाने की कोशिश साफ़ दिखती है.
  • Biome project की सफलता दिखाती है कि open source ecosystem में collaboration और competition कैसे सकारात्मक बदलाव ला सकते हैं.
  • यह लेख एक दिलचस्प उदाहरण देता है कि tech community में collaboration और competition कैसे पारस्परिक विकास को बढ़ावा देते हैं.

1 टिप्पणियां

 
GN⁺ 2023-11-28
Hacker News राय
  • आप सोच रहे होंगे कि Prettier टीम दूसरे प्रोजेक्ट्स को फंड क्यों कर रही है! वास्तव में, Prettier JavaScript code formatter के रूप में प्रभुत्वशाली स्थिति में है, और प्रतिस्पर्धा की कमी के कारण performance improvements या विभिन्न edge cases को हल करने की प्रेरणा कम थी.

    • इस बात पर सवाल है कि Prettier टीम दूसरे प्रोजेक्ट्स को क्यों सपोर्ट कर रही है। यह बताया गया है कि Prettier ने JavaScript code formatter के रूप में लगभग एकाधिकार जैसी स्थिति बना ली है, लेकिन प्रतिस्पर्धा न होने से performance सुधारने या खास मामलों के fixes पर काम करने की प्रेरणा कम रही।
  • कई लोग उस हिस्से को स्वीकार नहीं कर रहे हैं और कमेंट्स में कारण बता रहे हैं:

    • इसका मतलब है कि Biome प्रोजेक्ट ने सारे tests match करके Prettier के कई bugs और questionable decisions को सामने लाया, और इन्हें बेहतर बनाया जा सकता है।
  • मैं इसे लेकर बहुत उत्साहित हूं.

    • इस बात पर प्रशंसा है कि Biome टीम ने जल्दी ही Prettier के साथ 95% compatibility हासिल कर ली। Rust का इस्तेमाल करके JavaScript formatting में बड़े speedup की उम्मीद है, और यह Python formatter ruff के ट्रेंड का पालन करता दिख रहा है। Wasmer ने Biome को WASIX में compile करने के लिए $2,500 की bounty दी है, और उम्मीद है कि Biome जल्द Wasmer पर चल सकेगा।
  • speed हमेशा स्वागतयोग्य है, लेकिन काश Prettier थोड़ा कम opinionated होता.

    • ऐसा महसूस किया गया कि Prettier code formatting को लेकर बहुत ज़्यादा opinionated है, खासकर line length के मामले में, और अपने ही formatting नियमों को लगातार बनाए नहीं रखता। कुछ लोगों को लगता है कि Prettier से formatted code दूसरे code formatters की तुलना में कम readable है।
  • मैं अभी भी इस बात से नाराज़ हूं कि मेरे सारे eslint plugins ने Prettier के लिए पूरी तरह ठीक-ठाक linters हटा दिए.

    • Prettier को बहुत ज़्यादा थोपने वाला और समझना मुश्किल माना गया है, और इसे एक ऐसा अतिरिक्त tool समझा गया है जिसकी मांग नहीं की गई थी।
  • इसका मतलब है कि अब हम अगले महत्वपूर्ण पहलू पर ध्यान दे सकते हैं: performance. Prettier अपने आप में तेज़ नहीं है, लेकिन ज़्यादातर use cases के लिए काफ़ी तेज़ है। यह हमेशा असंतोषजनक रहा है, इसलिए हम इसके बारे में कुछ करना चाहते थे। दोस्ताना प्रतिस्पर्धा से बेहतर तरीका कोई नहीं.

    • Prettier की performance को लेकर असंतोष दूर करने के लिए Rust में लिखे गए एक प्रोजेक्ट पर $10k की bounty रखी गई, जिसका लक्ष्य Prettier test suite का 95% पास करना था।
  • Rust में port करना एक trend है, लेकिन क्योंकि Prettier हर save पर चलता है, speedup काफ़ी बड़ा होगा। मैं जल्द ही Biome को आज़माऊंगा। Biome प्रोजेक्ट को बधाई!

    • Rust में porting को एक चलन माना गया है, और क्योंकि Prettier हर save पर चलता है, इसलिए speed improvement काफ़ी महत्वपूर्ण होने की उम्मीद है। Biome प्रोजेक्ट पर सकारात्मक प्रतिक्रिया दी गई है।
  • Biome के benchmarks कहां हैं? यह Prettier की तुलना में ठीक-ठीक कितनी बेहतर performance देता है?

    • Biome की performance benchmarks को लेकर सवाल है। यह जानने की जिज्ञासा है कि Prettier की तुलना में यह वास्तव में कितना बेहतर है।
  • क्या यह लेख कह रहा है कि उन्होंने JavaScript version को बेहतर बनाने के लिए खुद को motivate करने के लिए यह किया?

    • इस बात पर सवाल है कि क्या नया प्रोजेक्ट JavaScript version को बेहतर बनाने की प्रेरणा पैदा करने के लिए शुरू किया गया था।
  • तो क्या यह main implementation को replace करने के लिए नहीं है? क्या उन्होंने बस Rust में लिखे गए एक compatible नए प्रोजेक्ट को fund किया है?

    • यह सवाल है कि क्या Rust में लिखे गए इस compatible नए प्रोजेक्ट को fund करना main implementation को replace करने के लिए नहीं था।