9 puan yazan xguru 2025-08-11 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Paketleyici olmadan TypeScript kütüphanelerini kolayca ESM/CJS olarak derleyen bir CLI aracı
  • Zod için dahili bir derleme aracı olarak başladı; bugün ise tüm TypeScript kütüphaneleri için genel bir araç olarak sunuluyor
  • tsc (TypeScript derleyicisi) kullanarak, uzantı yeniden yazma, çift modül derleme, exports otomatik oluşturma gibi özelliklerle, paketleyici olmadan da üretim kalitesinde derleme desteği sağlıyor
  • Hızlı dağıtım ve CI/CD otomasyonuna uygun ve kütüphane tipi paket (ESM/CJS eşzamanlı dağıtım) kurmanız gerekiyorsa güçlü şekilde tavsiye edilir
  • Tip bildirimleri/exports/bin otomasyonu ile bakım ve dağıtım hatalarının önüne geçilmesine yardımcı olur

Özellikler ve ana işlevler

  • Çift modül derleme: ESM(.js) ve CJS(.cjs) dosyalarını tek seferde üretir
  • Paketleyici/ekstra yapılandırma gerekmiyor: webpack, esbuild, rollup gibi araçlar olmadan çalışır; yalnızca package.json ve tsconfig.json gerekir
  • Giriş noktası bildirimsel yönetimi: package.json#/zshy üzerinden giriş noktası, alt yol, wildcard vb. doğrudan belirtilir
  • exports otomatik oluşturma: Derleme sonrası package.json içindeki "exports" alanını otomatik olarak günceller
  • Dosya yapısında özgürlük: src/out yapısının sabitlenmesi zorunlu değildir, import uzantıları serbestçe kullanılabilir
  • Varlık işleme: JS dışındaki dosyalar da otomatik olarak kopyalanır
  • .tsx desteği: tsconfig’e göre .js/.cjs/.mjs vb. biçimlere dönüştürür
  • CLI desteği: bin giriş noktası belirlendiğinde package.json#/bin otomatik olarak oluşturulur
  • Yavaş olabilir: tsc’nin tip denetimi ve dönüşüme odaklanması nedeniyle, derleme hızından çok güvenilirlik/doğruluk ön plandadır

Temel çalışma prensibi ve farklılıklar

  • TypeScript Compiler API ile uzantıların (.js/.cjs/.mjs) ve import yollarının otomatik yeniden yazılması
  • Her bir giriş noktası için ESM/CJS dosyası ve tip bildirimi (.d.ts/.d.cts) eşzamanlı üretilir
  • CLI için bin giriş noktası desteği: zshy, package.json#/bin dosyasına yolu otomatik yazar; shebang de desteklenir
  • Dosya yapısı özgür; yalnızca tsconfig’in outDir’i belirtilir
  • package.json#/exports, derleme sırasında otomatik oluşturulur ve üzerine yazılır

Gelişmiş özellikler ve uyumluluk

  • Wildcard/subpath desteği: ./plugins/* gibi yol deklarasyonu yapılabilir, src dizini içindeki tüm alt dizinlere otomatik olarak derleme uygulanır
  • tsconfig.json seçeneklerinin çoğu desteklenir (bazı modül seçenekleri CJS/ESM derlemelerinde override edilir)
  • Import uzantısı olmayan kod da kabul edilir (from "./utils" vb.), derleme sırasında uzantı otomatik düzeltilir
  • React Native/legacy ortamları da flat build mode ile karşılar (paket köküne derleme çıktısı verilir, exports olmadan index.js ile erişim sağlanır)
  • Özel exports condition (sourceDialects) desteği: source gibi ek koşullar belirtilir

Rakip araçlara göre avantajlar

  • tshy/tsup/tsdown gibi araçlardan farklı olarak, ayrı dizin/paket stubları oluşturmadan tüm derleme çıktıları tek bir outDir’de toplanır
  • TypeScript resmi API kullanımı, Node.js/ESM/CJS/TS’nin güncel standart akışı ve uyumluluğuyla en yüksek uyumu sağlar
  • Ek config veya paketleyiciye ihtiyaç duymadan tek bir komutla kütüphane düzeyi TypeScript paketi dağıtımı yapılabilir

Henüz yorum yok.

Henüz yorum yok.