U kodnu bazu JavaScript platforme Node.js uvedena je promjena koja omogućava izvršavanje datoteka s kodom napisanih u programskom jeziku TypeScript. Podrška za TypeScript aktivira se pomoću opcije „—experimental-strip-types“ i svodi se na čišćenje definicija tipova specifičnih za taj jezik, tj. transformaciju prije nego što se izvorni kod izvrši u JavaScript. Mogućnosti TypeScripta koje nisu povezane s opisom tipova, kao što su prostori imena, dekoratori, svojstva parametara i enumeracije, za sada nisu podržane. Testirati novu mogućnost može se koristeći današnje noćne buildove Node.js 23.
Za transpilaciju koristi se SWC (Speedy Web Compiler) kompajler, napisan na jeziku Rust. Kako ne bi dodavali dodatne ovisnosti o Node.js, koristi se verzija kompajlera swc/wasm-typescript, isporučena u srednjem kodu WebAssembly, koja se već koristi u iste svrhe na platformi Deno. Promjena je dodana kao odgovor na brojne zahtjeve korisnika za omogućivanjem pokretanja koda na TypeScriptu bez potrebe za instalacijom eksternih učitavača i dodatnih ovisnosti. U konkurentnim platformama Deno i Bun podrška za TypeScript implementirana je od samog početka.
Ključna razlika između TypeScripta i JavaScript-a je eksplicitno definiranje tipova. Statistička tipizacija pomaže u izbjegavanju mnogih grešaka tijekom razvoja, omogućuje upotrebu dodatnih tehnika optimizacije, pojednostavljuje otklanjanje grešaka i čini kod čitljivijim i lakšim za doradu i održavanje od strane drugih programera. U dodanoj implementaciji u Node.js, ove mogućnosti TypeScripta se gube, budući da se tijekom transpikacije izvornih tekstova u JavaScript, provjera tipova ne provodi.
Izvor: opennet.ru
