Do kódu platformy Node.js určeného pre JavaScript bolo zahrnuté vylepšenie, ktoré pridáva možnosť vykonávania súborov s kódom v programovacom jazyku TypeScript. Podpora jazyka TypeScript sa aktivuje pomocou voľby „—experimental-strip-types“ a spočíva v odstránení špecifických definícií typov pre tento jazyk, t.j. v premenení pôvodného kódu na JavaScript pred jeho vykonaním. Možnosti TypeScript, ktoré nie sú viazané na popis typov, ako sú priestory mien, dekorátory, vlastnosti parametrov a výčtové typy (enum), zatiaľ nie sú podporované. Novú funkciu si môžete vyskúšať pomocou dnešných nočných zostavení Node.js 23.
Na preklad sa používa kompilátor SWC (Speedy Web Compiler), napísaný v jazyku Rust. Aby sa do Node.js nepridávali ďalšie závislosti, bola použitá verzia kompilátora swc/wasm-typescript, dodávaná v medzičase v kóde WebAssembly a už používaná na rovnaké účely v platforme Deno. Zmena bola pridaná ako odpoveď na množstvo požiadaviek používateľov implementovať možnosť spúšťať kód na TypeScript bez inštalácie externých načítačov a ďalších závislostí. V konkurenčných platformách Deno a Bun bola podpora TypeScript implementovaná od začiatku.
Kľúčovým rozdielom medzi TypeScript a JavaScript je explicitné definovanie typov. Statická typizácia pomáha predchádzať mnohým chybám počas vývoja, umožňuje používanie dodatočných optimalizačných techník, zjednodušuje ladenie a robí kód prehľadnejším a jednoduchším na úpravy a údržbu zo strany iných vývojárov. V pridaní TypeScript do Node.js sa tieto možnosti strácajú, pretože počas prekladu pôvodných textov do JavaScriptu sa typy nekontrolujú.
Zdroj: opennet.ru
