Bosh sahifa Wiki Prettier

Prettier

Prettier — 2017-yilda taqdim etilgan, kodni avtomatik formatlash vositasi bo’lib, u JavaScript, TypeScript, CSS, HTML va boshqa ko’plab tillarni qo’llab-quvvatlaydi. Vosita o’zini “fikrli formatlovchi” (opinionated formatter) deb ataydi, chunki u sozlash imkoniyatlarini ataylab minimal darajada saqlaydi.

“Fikrli” formatlovchi falsafasi

Ko’plab formatlash vositalari o’nlab sozlamalarni (bo’shliqlar soni, qavslar joylashuvi va h.k.) taklif qilib, jamoalarni bu haqda o’zaro kelishishga majbur qiladi. Prettier aksincha, deyarli barcha stilistik qarorlarni o’zi qabul qiladi va sozlash imkoniyatlarini juda cheklangan holda qoldiradi — bu qaror ataylab qilingan.

Munozaralarni yo’qotish maqsadi

Prettier’ning asosiy g’oyasi — kod uslubi haqidagi cheksiz muhokamalarni (“qavs qaysi qatorda bo’lishi kerak?”) butunlay bartaraf etish. Kod saqlanganda yoki commit qilinganda Prettier uni avtomatik formatlaydi, shunda jamoa a’zolari uslub haqida bahslashish o’rniga, dasturiy mantiqning o’ziga e’tibor qaratadi.

ESLint bilan farqi

Prettier va ESLint ko’pincha adashtiriladi, ammo ular boshqa-boshqa vazifani bajaradi: ESLint kodning mantiqiy sifatini (foydalanilmagan o’zgaruvchilar, potentsial xatolar) tekshiradi, Prettier esa faqat vizual formatlash (bo’shliqlar, qatorlar uzunligi, tirnoq turi) bilan shug’ullanadi. Ko’plab loyihalar ikkalasini birgalikda, bir-birining vazifasiga aralashmaydigan tarzda sozlab ishlatadi.

Ko’plab tillarni qo’llab-quvvatlashi

Dastlab faqat JavaScript uchun yaratilgan bo’lsa-da, Prettier hozirda TypeScript, JSX, CSS, SCSS, HTML, Markdown, YAML va boshqa ko’plab formatlarni qo’llab-quvvatlaydi. Bu kengaytma uni frontend loyihalarda deyarli barcha fayl turlari uchun yagona formatlash vositasi sifatida ishlatish imkonini beradi.

Jamoaviy qabul qilinishi

Prettier’ning qat’iy, kam sozlanadigan tabiati dastlab ba’zi dasturchilar tomonidan tanqid qilingan bo’lsa-da, bu xususiyat aynan uning ommalashishiga sabab bo’ldi — jamoalar endi formatlash bo’yicha o’z qoidalarini ishlab chiqishga vaqt sarflamasdan, tayyor va keng qabul qilingan standartga tayanishi mumkin.

Bog’liq tushunchalar

ESLint, Kod formatlash, JavaScript, Code style, Linter, Git hook, TypeScript