Node.js'ye deneysel TypeScript desteği eklendi
(github.com/nodejs)Modül: --experimental-strip-types eklendi
-
Node.js'te TypeScript dosyaları çalıştırılabiliyor
--experimental-strip-typesbayrağı ayarlanırsa TypeScript dosyaları çalıştırılabiliyor- Node.js, TypeScript kaynak kodunu JavaScript kaynak koduna dönüştürüyor
- Dönüştürme sırasında tip denetimi yapılmıyor ve tipler kaldırılıyor
-
Motivasyon
- TypeScript dosyalarını harici bağımlılıklar veya yükleyiciler olmadan çalıştırabilmek önemli
- Kullanıcıların
node foo.tskomutunu çalıştırabilmesi isteniyor
-
Tip sıyırmanın anlamı
- Tip sıyırma, tüm tiplerin kaldırılıp girdinin bir JavaScript modülüne dönüştürülmesi anlamına geliyor
- Örnek:
const foo: string = "foo";ifadesiconst foo = "foo";haline dönüştürülüyor
-
Neden @swc/wasm-typescript seçildi
- Basit olduğu için
- Diğer araçlar ek olarak Rust veya Go gerektirirken, @swc/wasm-typescript küçük bir paket olarak yalnızca wasm ve js dosyalarına ihtiyaç duyuyor
- Deno'da da kullanıldığı için güven veriyor
-
Kısıtlamalar
- Enum, namespace gibi TypeScript'e özgü özellikler dönüştürülmüyor
- Uzantısız import desteklenmiyor
-
GN⁺ özeti
-
Node.js'te TypeScript dosyalarını çalıştırmayı mümkün kılan yeni bir özellik açıklanıyor
-
TypeScript dosyaları JavaScript'e dönüştürülerek çalıştırılabiliyor, ancak tip denetimi yapılmıyor
-
Bu sayede kullanıcılar TypeScript dosyalarını harici bağımlılıklar olmadan çalıştırabiliyor ve geliştirme ortamı sadeleşiyor
-
Bu özellik @swc/wasm-typescript kullanılarak hayata geçirildi; ileride native katmanda uygulanması da değerlendiriliyor
-
TypeScript ve JavaScript'i birlikte kullanan projeler için faydalı olabilir
1 yorum
Hacker News yorumları
TypeScript'teki tipleri kaldırmak, TypeScript sözdizimi olmadan mümkün değil. Tip kaldırma işlemi token düzeyinde bir iş değil ve TypeScript sözdizimi de sürekli değişiyor
foo < bar & baz > ( x )ifadesi TypeScript 1.5'te farklı yorumlanıyorduEğer Node.js TypeScript dosyalarını doğrudan çalıştırabilirse, TypeScript derleyicisinin tipleri kaldırıp JavaScript'e dönüştürmesine gerek kalmaz
Eğer bu özellik varsayılan hale gelirse NPM ekosisteminin nasıl tepki vereceğini merak ediyorum
engine: nodejs >= 25eklenip build adımı mı atlanacak, emin değilimNode'un JS içinde tipleri inceleyebilmesi büyük bir kazanım olur
Bun'ın geliştirici deneyimi (DX) bu alanda eşi benzeri görülmemiş düzeyde ve kullanım senaryolarının çoğunu karşılıyor
.jsuzantılarını otomatik eklemesi de sağlanamıyorTypeScript'i çok seviyorum ve uzun zamandır bir TypeScript runtime istiyordum
En sevdiğim deno özelliği doğrudan Node'a geliyor
Node için çok önemli bir aydı
PR'nin yazarıyım, AMA
Uzun zaman önce backend işleri için Node.js kullanmaya başladım ve PHP'ye göre çok daha fazla avantaj sağlıyordu