Ortam
listr2
, çoğunlukla CLI uygulamaları için tasarlandığından, yalnızca modern node.js
ortamlarını destekler, ancak herhangi bir uygulamada görev listesi olarak da kullanılabilir.
listr2
, şu an için hemesm
hem decjs
modüllerini desteklemektedir.- Desteklenen bir
node.js
sürümüne ihtiyacınız var, desteklenmeyen ve sonlandırılmış sürümler kullanımdan kaldırılmıştır.
Birden Fazla Node Modül Yapısını Destekleme
Bir noktada, cjs
desteği node.js
ekosistemine ayak uydurmak için kaldırılacaktır. Bu elbette büyük bir sürümle yapılacaktır.
Gelecekteki sürümlerde cjs
desteğinin kaldırılması durumunda, projelerinizi esm
modül sistemine uygun hale getirmek için zamanında planlamalar yapmanız önemlidir.
Ancak, şu anda çoğunlukla cjs
kütüphanelerine bağımlı olduğum durumumu göz önünde bulundurarak, esm
'ye doğru yavaşça geçiş yaparken cjs
sürümünü korumak istiyorum.
ts-node
, jest
ve ts-jest
üzerindeki son değişiklikler, repository'deki her şeyi esm
'ye taşıma imkanını sağladı. Bu, sürüm >= 6
'dan itibaren repository'nin esm
modülü kullanan her şey için dinamik importları kullanmasına izin verdi. Dolayısıyla, o sürüm ve sonraki sürümlerde her şey bağımlılıkların güncel haliyle uyumlu olmalıdır. Bu nedenle, cjs
sürümünü korumak, ilgili paketleri güncellememize engel teşkil etmez.
Dezavantajlar
- İki örneği birleştirmek zorundayız, bu da dağıtım boyutumuzu iki katına çıkarır.
- Topluluk tamamen
esm
modüllerine geçiyor. Birçok temelnpm
paketinin bakımını üstlenen sindresorhus, sonlandırılmışnode.js
10
desteğiyle bu hareketi yönlendirmelidir. Daha fazlasını buradan okuyabilirsiniz.