Mevcut eklentilerden daha hızlı anahtar sıralaması sunan `eslint-plugin-sort-properties` tanıtımı
(npmjs.com)eslint’in sort-keys rule kuralı auto-fixable olmadığı için, npm’de eslint-plugin-sort-keys-fix ve eslint-plugin-sort-destructure-keys gibi auto-fixable özellikler ekleyen eklentiler haftalık sırasıyla 330 bin ve 190 binin üzerinde indirmeyle oldukça popüler. Ancak bu iki eklentinin bazı sorunları var.
sort-keys-fix tarafında, eslint’ten fork edilip değiştirilmiş yapısı nedeniyle property düğümlerini swap ederek düzeltme yapılıyor (kod); bu da O(N^2) zaman karmaşıklığına yol açıyor ve düzeltmelerin uzun sürmesine neden oluyor. Ayrıca sort-destructure-keys tarafında da karşılaştırma sürecinde çok sayıda yinelenen hesaplama bulunuyor (kod); bu da performansı yavaşlatan bir unsur.
Bu yüzden bu sorunları çözmek için eslint-plugin-sort-properties geliştirildi; başlıca özellikleri ise şöyle:
- fix işlemlerinde Array.prototype.sort kullanarak zaman karmaşıklığını iyileştiriyor.
sort-keys-fixten yaklaşık 10 kat daha hızlı - rule uygulama süresinde
sort-destructure-keysten 50 kattan fazla daha hızlı - TypeScript type literal ve interface yapılarında da sıralama yapabiliyor (
tseslintparser belirtilmesi gerekiyor) eslint-plugin-reactiçindekijsx-sort-propskuralında bulunan callback’leri sona taşıma özelliğini de içeri alıyor- Yorumları da property’nin bir parçası olarak birlikte taşıyarak bozulmayı önleyebilen bir ayar sunuyor
Hız ölçüm yöntemi için benchmark referans alınabilir.
Henüz yorum yok.