Vai al contenuto

scriptc compila TypeScript in codice nativo, comprese le dipendenze compatibili

Il compilatore sperimentale di Vercel Labs genera eseguibili nativi da TypeScript e JavaScript, includendo le dipendenze npm compatibili. Il risultato non richiede Node, ma linguaggio e API sono supportati solo in parte.

Che succede

Un programma TypeScript distribuito come singolo eseguibile può portarsi dietro l’interprete che lo fa funzionare. scriptc, esperimento open source di Vercel Labs, segue un’altra strada: usa i tipi verificati dal compilatore TypeScript per generare codice macchina. L’eseguibile risultante gira senza Node.js installato.

Anche i pacchetti npm importati vengono compilati insieme al programma, quando sono compatibili. Non occorre quindi distribuire una cartella node_modules accanto al file finale. La documentazione mostra una piccola applicazione a riga di comando con commander: sia il codice dell’applicazione sia quello della libreria diventano codice nativo.

La compatibilità è il punto da verificare: scriptc supporta solo un sottoinsieme di JavaScript, TypeScript e API Node. Il comando scriptc coverage controlla quanto di un programma esistente può essere compilato; i costrutti non supportati producono errori durante la compilazione e, quando disponibili, suggerimenti di riscrittura.

Il compilatore è disponibile per macOS, Linux e Windows e può produrre anche WebAssembly. L’installazione via npm richiede Node 24 o successivo; sono disponibili anche archivi autonomi. Node serve anche per eseguire i moduli WASI tramite scriptc run, un percorso distinto dagli eseguibili nativi. Per costruire questi ultimi servono un linker e gli strumenti della piattaforma di destinazione.

Perché conta

L’esempio con commander conserva una parte familiare del lavoro in TypeScript, la libreria già scelta per la propria utility, cambiando ciò che si consegna all’utente. L’esperimento è interessante proprio per questo legame con npm: il vantaggio del binario unico non è riservato al solo codice dimostrativo senza dipendenze.

Vuoi sapere di più su pillole come questa?

Nella stessa edizione