broom-wideESLint

FIAS shabloni ESLintarrow-up-right’dan foydalanadi — bu sizning kodingizni tahlil qilib, muammoli joylarni topadi va jamoa ichida bir xil kod yozish standartlarini saqlaydi. U Prettier, Husky, va lint-staged bilan integratsiyalashgan.


❓ Nega ESLint?

  • 🐞 Xatolarni erta aniqlaydi (masalan, foydalanilmagan o‘zgaruvchilar, noto‘g‘ri == ishlatish).

  • 🧠 Eng yaxshi amaliyotlarni majburiy qiladi (=== o‘rnida == ishlatilmasligi).

  • 👨‍👩‍👧‍👦 Kodni o‘qilishi oson va yagona uslubda bo‘lishini ta’minlaydi.

  • ⚙️ TypeScript, React va Next.js bilan to‘liq ishlaydi.


🔧 ESLint Konfiguratsiyasi

🧪 Next.js Template (eslint.config.mjs)

⚛️ React Template (eslint.config.js)


📦 Har Bir Qoida Nimani Anglatadi?

Qoida
Ma’nosi

prettier/prettier

Prettier formatlash qoidalari buzilsa ogohlantiradi

max-len

Qator uzunligi cheklangan (200 ta belgigacha)

no-console

Faqat console.error ishlatishga ruxsat

eqeqeq

== o‘rniga har doim === ishlatilishi kerak

no-duplicate-imports

Bir fayldan bir nechta marta import qilish taqiqlanadi


🔁 Husky + lint-staged Bilan Integratsiya

lint-staged (package.json ichida)

🔹 Bu faqat staged fayllarni tekshiradi — vaqtni tejaydi va commit tarixini toza saqlaydi.

.husky/pre-commit

Bu hook har bir commit oldidan avtomatik ishlaydi va noto‘g‘ri formatlangan kod commit qilinishiga yo‘l qo‘ymaydi.


🛠️ Ishlab Chiquvchilar Uchun Skriptlar

  • npm run lintsrc/ ichidagi fayllarni tekshiradi va avtomatik tuzatadi

  • npm run prepare – Husky hooklarini o‘rnatadi (odatda npm install dan keyin ishga tushadi)


📁 Strukturaviy Yondashuv

  • 📂 shared/ui/** papkasidagi komponentlar uchun max-len qoidasini o‘chirib qo‘yish mumkin

  • TypeScript va JavaScript fayllarni to‘liq qo‘llab-quvvatlaydi

  • Loyihangizga moslashtirish oson

Last updated