- 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/jsoneklentisi, 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/markdowneklentisi,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/jsonve@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
languagesanahtarı kullanılarak tüm eklentilere dahil edilebilecek şekilde tasarlandı @eslint/jsonve@eslint/markdowneklentileri 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ş