May 30, 2022
Buradan pakete ulaşabilirsiniz.
lint-staged
git ile gönderilmeye hazır dosyalara belirlediğiniz komutları uygular. GitHub'ınızda düzensiz kod istemiyor musunuz? lint-staged
ile tanımladığınız prettier
komutunu GitHub'a gönderilmeye hazır dosyalarınızda prettify edebilirsiniz. GitHub'ınıza hatalı kod göndermek istemezsiniz değil mi? lint-staged
ile eslint
paketini kullanabilirsiniz.
TypeScript'de kullanıyorsunuzdur değil mi? Neden GitHub'a göndermeden önce hata var mı diye kontrol ettirmiyorsunuz?
Node.js projenizde bir adet lint-staged.config.mjs
adında dosya oluşturunuz.
Dosyanın içine export default
ile bir obje döndürünüz.
Bu objenin keylerine glob
ile tanımlanmış dosyaları, value'suna ise hangi komutları çalıştıracağınızı belirtiniz.
export default {
// Tüm gönderilmeye hazır .ts dosyalarını ESLint ile hatalarını düzeltir
// ve TypeScript ile typechecking yapar.
"*.ts": (files) =>
`eslint --fix ${files.join(" ")}` &&
`"tsc -p tsconfig.json --pretty --noEmit"`,
// Tüm gönderilmeye hazır dosyaları prettify eder.
"*": (files) => `prettier --ignore-unknown --write ${files.join(" ")}`,
// Tüm gönderilmeye hazır .prisma dosyalarını formatlar.
"*.prisma": (files) => files.map((file) => `prisma format --schema ${file}`),
};
Bu lint-staged
komutunu maalesef ki siz kendiniz commit etmeden önce çalıştırmalısınız.
Bu biraz yorucu değil mi? Otomatik yapamıyor muyuz? Tabii ki yapabiliyoruz!!! 🎉
Siz normal commit'inizi ederken husky devreye girer ve otomatik olarak lint-staged komutunu çalıştırır.
husky
hakkında daha fazla bilgi için yakında.