الآخر

Cheat Sheet: لو المشكلة… فكّر في…

Prettier · ESLint · Husky · lint-staged · CI
🎯 الهدف: تفتكر الأمر والإعداد من غير ما ترجع للفصول.
عايز شكل موحّد مش مراجعة منطقPrettier
متغير مش مستخدم أو == ممنوعESLint
الناتج لازم يطلع رقم معيناختبار فيه assert
الفحص يتعدى على اللابتوبCI على السيرفر
تثبيت Prettier من غير ما يتحدث لوحدهnpm install --save-dev --save-exact prettier
فاصلة منقوطة في آخر الجملةsemi في .prettierrc، مش في كل سطر
الافتراضي أصلًا فيه فواصلsemi: true مش تغيير. false هو اللي يشيلها
نسّق عند الحفظ للمشروع بس.vscode/settings.json مع defaultFormatter و formatOnSave
ظبط الملف دلوقتيnpx prettier --write app.js
اسأل من غير ما تكتبnpx prettier --check .
متظبطش ملفات البناء.prettierignore
إعداد ESLint ٩eslint.config.js مصفوفة، مش eslintrc
معالج الإعدادnpm init @eslint/config@latest
ورّيني الغلطnpx eslint app.js
صلح اللي يتصلحnpx eslint app.js --fix
== لسه موجود بعد --fixeqeqeq مش إصلاح آمن، لأن السلوك بيتغير
تجاهل dist في ESLint ٩مفتاح ignores، مش eslintignore
Prettier و ESLint بيتخانقوا على الفاصلةeslint-config-prettier آخر المصفوفة
حطيت قاعدة شكل بعد Prettierرجّعت التعارض. الأخير يغلب
قبل الـ commit على المتعلّم بسHusky يشغّل npx lint-staged
git add جوه lint-stagedقديم. الأداة بترجّع الملفات للـ staging لوحدها
عدّيت الـ hook--no-verify مش بيعدّي الـ CI
اختبار Node من غير حزمةnode --test و assert.equal
تثبيت السيرفرnpm ci أو pnpm install --frozen-lockfile
أمر CI للتنسيقprettier --check مش --write

خلّصت المذكرة لما

🧠 اختبر نفسك
١) آخر سطرين في eslint.config.js لو Prettier موجود؟
قواعد المعنى، وبعدها eslint-config-prettier آخر حاجة.
٢) أمر التنسيق في الـ CI؟
npx prettier --check .
٣) pre-commit بيعمل إيه؟
يشغّل lint-staged على الملفات المتعلّمة، ويلغي الـ commit لو الأمر فشل.