javascript - rxjs-tslint ile rxjs-tslint-rules paketleri


Projelerimde RxJS ile ilgili sorunların farkında olmak için rxjs-tslint-rules paketini kullanırdım. Bu paket, projelerimin package.json dosyalarının devDependencies bölümüne eklendi.

Şimdi, RxJS 6'ya özgü birkaç ek kural ekleyen rxjs-tslint paketi ve rxjs-5-to-6-migrate aracı var.

Göçten sonra, eğer hâlâ onları istiyorsam

  • rxjs-collapse-imports
  • rxjs-pipeable-operators-only
  • rxjs-no-static-observable-methods
  • rxjs-proper-imports

TSLint tarafından kontrol edilecek kuralları, tslint.json dosyama ve devDependencies altına rxjs-tslint paketine eklemem gerekiyor mu? Yoksa rxjs-tslint paketi tek seferlik bir geçiş yardımcısı mı ve şu anda sağladığı kurallar daha büyük rxjs-tslint-rules paketi tarafından mı kapsanıyor?

Cevap #1

Şu anda, rxjs-tslint, bir RxJS v5 kod tabanını v6'ya yükseltmek için bir defalık geçiş mekanizması olarak kullanılmak amacıyla tasarlanmıştır. Dağıtımı, bunu kolaylaştırmak için bazı betikleri node_modules/.bin dizinine yükler.

Ancak, rxjs-tslint öğesini bir devDependency olarak yüklemenizi engelleyen hiçbir şey yoktur. Bunu yaparsanız, tslint.json dosyanızdan da rxjs-tslint-rules ile yaptığınız gibi bunu referans gösterebilirsiniz. Şöyle:

{
  "extends": [
    "rxjs-tslint",
    "rxjs-tslint-rules"
  ],
  "rules": {
  }
}

Tıpkı rxjs-tslint-rules gibi, rxjs-tslint de tarafsızdır ve varsayılan olarak hiçbir kural etkin değildir. Bu yüzden sorunuzda listelenen kuralların etkin olmasını istiyorsanız, bunları dosyanın rules ayarlarında yapılandırmanız gerekecektir.

rxjs-tslint-rules paketinin yazarıyım ve rxjs-tslint paketinin geliştiricileriyle bazı görüşmeler yaptım. Muhtemelen, yakında paketimdeki bazı kurallar rxjs-tslint paketine dahil edilecek - en iyi uygulama olarak kabul edilenleri temsil etmek için. O zamana kadar - ve belki sonrasında da - her iki paketin kurallarını kullanabilirsiniz.

İlgili makaleler