- ESLint, geçen temmuzda gelecekte ESLint'i daha genel amaçlı bir linter'a dönüştürerek tüm diller için linting sunmayı planladığını duyurdu
- Birkaç ay boyunca JavaScript'e özgü bölümleri ayırma çalışması yürüttü ve bunun sonucunda ESLint artık JSON ve Markdown linting desteği sunuyor
@eslint/json ile JSON linting
@eslint/json eklentisi, resmi olarak desteklenen bir dil eklentisi
- Bu eklenti JSON, JSONC (yorum içeren JSON) ve JSON5 için parsing sağlıyor
- Eklentiyi kullanmak için npm üzerinden kurmanız ve yapılandırma dosyasını güncellemeniz gerekiyor
- Eklentide birkaç yerleşik kural bulunuyor ve daha fazla öneri bekleniyor
@eslint/markdown ile Markdown linting
@eslint/markdown eklentisi, eslint-plugin-markdownun yeni nesil sürümü ve resmi olarak desteklenen bir dil eklentisi
- Bu eklenti CommonMark ve GitHub-Flavored Markdown için parsing ve kurallar sağlıyor
- Eklentiyi kullanmak için npm üzerinden kurmanız ve yapılandırma dosyasını güncellemeniz gerekiyor
- JSON eklentisinde olduğu gibi bunda da yerleşik kurallar var ve daha fazla öneri bekleniyor
Özel kurallar yazma ve Code Explorer kullanımı
@eslint/json ve @eslint/markdown, JavaScript'te olduğu gibi kaynak kodu AST'ye parse ediyor ve AST üzerinde dolaşarak kuralları çalıştırıyor
- Bu nedenle JavaScript'te olduğu gibi JSON ve Markdown için de özel kurallar yazabilirsiniz
- Temel fark AST biçiminde: JSON, Momoa AST kullanırken Markdown mdast kullanıyor
- Farklı AST biçimlerini incelemeye yardımcı olacak kaynaklar çok fazla olmadığından Code Explorer yayımlandı
- Code Explorer ile özel kurallar oluşturmanıza yardımcı olması için farklı dillerin AST'lerini görüntüleyip keşfedebilirsiniz
Dil eklentisi yazma
- ESLint dilleri, yeni
languages anahtarı kullanılarak tüm eklentilere dahil edilebilecek şekilde tasarlandı
@eslint/json ve @eslint/markdown eklentileri yalnızca JSON ve Markdown linting sağlamakla kalmıyor, aynı zamanda nasıl dil oluşturulacağına dair örnekler de sunuyor
- Kendi dilinizi nasıl oluşturacağınızı öğrenmek için dil belgelerine başvurabilirsiniz
Sonuç
- JavaScript dışındaki dilleri lint etmek ESLint'in yol haritasında zaten vardı; bu dönüm noktasına ulaşmış olmaktan büyük heyecan duyuluyor
- ESLint'in uzun vadeli hedefi, web projelerinde kullanılabilecek her tür dosyanın resmi olarak desteklenen dil eklentileriyle ya da topluluk tarafından yazılmış eklentilerle lint edilebilmesini sağlamak
- JavaScript, JSON ve Markdown ile bu hedefe doğru şimdiden sağlam ilerleme kaydediliyor
1 yorum
Markdown güzelmiş