19 puan yazan xguru 2024-06-03 | 7 yorum | WhatsApp'ta paylaş

Node.js test runner

  • Node.js artık yerleşik bir test runner özelliği içeriyor
  • Test dosyalarında node:test modülünü içe aktararak test yazabilirsiniz
  • Tek bir testi çalıştırma: node --test tests/math.test.js
  • Test dosyalarını otomatik olarak algılar ve çalıştırır
  • Yerleşik assert modülü kullanılarak test doğrulamaları yapılabilir
  • Test suite'leri ve hook'lar kullanılarak ilişkili testler gruplanıp yönetilebilir

Node.js yerel mocking

  • Node.js artık yerel mocking özelliği içeriyor
  • Diğer test framework'lerinin sunduğu mocking yetenekleri doğrudan Node.js içinde kullanılabilir
  • node:test modülündeki mock metodu kullanılarak mocking işlevi uygulanabilir

Node.js yerel test coverage

  • Test coverage, kaynak kodun hangi kısmının test edildiğini anlamaya yardımcı olur
  • Node.js 20 ile birlikte yerel test coverage özelliği sunuluyor
  • --experimental-coverage bayrağı kullanılarak test coverage verisi üretilebilir
  • Coverage raporları sayesinde test edilmeyen kod alanları tespit edilebilir

Node.js watch modu

  • Watch modu, dosya değişikliklerini gerçek zamanlı algılar ve script'i otomatik olarak yeniden çalıştırır
  • Nodemon gibi harici bağımlılıklara ihtiyaç duyulmaz
  • --watch bayrağı kullanılarak dosya değişiklikleri algılanabilir ve script otomatik çalıştırılabilir

Node.js Corepack

  • Corepack, proje ile paket yöneticisi arasında köprü görevi görür
  • Projede kullanılacak paket yöneticisini belirtirsiniz, Corepack bunu otomatik olarak yönetir
  • corepack enable komutuyla Corepack etkinleştirilebilir

Node.js .env loader

  • Node.js 20'den itibaren .env dosyalarından ortam değişkenlerini yerel olarak yükleme özelliği sunuluyor
  • --env-file bayrağı kullanılarak .env dosyası yüklenebilir
  • Farklı ortamları yapılandırmak için birden fazla .env dosyası yüklenebilir

Node.js import.meta desteği

  • Node.js v20.11.0 ve v21.2.0'da import.meta.filename ve import.meta.dirname destekleniyor
  • Dosya yolu ve dizin adını daha kolay alabilirsiniz

Node.js yerel timer promise'leri

  • Node.js v15'ten itibaren timer'lar promise biçiminde kullanılabiliyor
  • setTimeout ve setInterval, promise olarak kullanılarak asenkron kod daha sade yazılabilir

Node.js permission modülü

  • Node.js uygulamalarının kaynak erişimini kontrol etmeye yarayan deneysel bir özellik
  • --experimental-permission bayrağı kullanılarak dosya sistemi, ağ, ortam değişkenleri gibi erişimler sınırlandırılabilir

Node.js policy modülü

  • Zararlı kodların yüklenmesini önlemeye yönelik bir güvenlik özelliği
  • --experimental-policy bayrağı kullanılarak policy dosyası belirtilebilir ve modül yükleme kontrol edilebilir

7 yorum

 
cometkim 2024-06-05

node --run'dan bahsedilmemiş. En yeni sürümlerden itibaren NPM'ye bağımlı olmadan script çalıştırmak mümkün. Açılış onlarca kat daha hızlı.

 
tsboard 2024-06-03

Bu kez tsboard projesi üzerinde çalışırken Bun runtime ile epey çeşitli karşılaştırmalar yaptım; Node.js gerçekten her açıdan çok iyi olsa da (1) TypeScript desteğinin olmaması (2) hız, bu iki nokta hâlâ biraz eksik kalıyor. Uyumluluk ya da donanım kaynakları konusunda pek seçici olmaması gibi yönlerinin ise gerçekten etkileyici olduğunu düşünüyorum.

TypeScript, çalışma hızı gibi unsurları göz önünde bulunduruyorsanız Bun runtime'ını da bir kez değerlendirin...!

 
[Bu yorum gizlendi.]
 
edunga1 2024-06-03

Vay canına~ Orijinal metinde Jest'ten de bahsedilmiş.

 
edunga1 2024-06-05

Küçük bir projede jest -> node.js geçişini denedim ama doğrulama fonksiyonu desteği çok yetersiz olduğu için pek beğenmedim :(

 
kandk 2024-06-03

En son trendleri inanılmaz hızlı benimsiyorlar..

 
dylanju 2024-06-03

Ve native mocking!