"SKYLOGIQ" The moon can't shine on its own.
BRIEFINGRust1 noiembrie 20264 min de citit

tsrs: un port Rust al TypeScript și ce faceți cu el

Cloudflare și VoidZero spun că portul lor experimental în Rust al compilatorului TypeScript este de până la 8x mai rapid și folosește cu aproximativ 70% mai puțină memorie decât TypeScript 7.0. Benchmark-urile aparțin furnizorilor, iar portul nu este încă stabil.

Pe 20 octombrie 2026, Cloudflare a anunțat tsrs, un port în Rust al compilatorului TypeScript. Cloudflare și VoidZero îl construiesc împreună cu Max Schwenk de la Owner.com și spun că lucrează în strânsă colaborare cu echipa TypeScript. Proiectul este incubat ca parte din toolchain-ul de compilare JavaScript Oxc. O versiune experimentală este disponibilă pe npm.

Pentru un director de inginerie, întrebarea nu este dacă Rust bate Go într-un benchmark. Întrebarea este dacă asta schimbă ceva în pipeline-ul vostru de verificare a tipurilor anul acesta. Probabil că nu, deocamdată. Merită totuși să înțelegeți ce se susține și ce nu.

Ce spune Cloudflare

Cifrele vin din articolul Cloudflare, deci tratați-le drept afirmații ale furnizorului. Cloudflare spune că tsrs este de până la 8x mai rapid și folosește cu aproximativ 70% mai puțină memorie decât TypeScript 7.0, când ambele rulează cu același număr de workeri pentru verificarea tipurilor. Compania spune că a lucrat cu echipa TypeScript ca să se asigure că comparația folosește aceeași configurație.

Două avertismente din articol contează pentru oricine citește benchmark-uri:

  • Cloudflare spune că alte benchmark-uri recente ale unor porturi TypeScript au făcut diverse afirmații de performanță, adesea folosind mașini mai mari și alte opțiuni decât cele implicite din TypeScript.
  • Implicit, tsrs vine cu o configurație adaptivă, care depinde de tipul mașinii. Cloudflare spune că folosește mai multă memorie, dar este și mai rapid. Asta înseamnă că setarea implicită pe care o instalați nu este configurația din spatele cifrei de memorie din titlu.

Există și un punct de referință care se mișcă. Cloudflare spune că TypeScript 7.1 beta este deja de până la 2.5x mai rapid decât TypeScript 7.0 și că unele dintre aceste optimizări au fost preluate în upstream din tsrs. Diferența pe care o veți măsura față de beta-ul actual este deci mai mică decât cea față de 7.0. Textul articolului nu dă niciun raport al tsrs față de 7.1.

Nu este un fork

Cloudflare spune clar că nu face fork la TypeScript și că echipa TypeScript trebuie să rămână în control deplin asupra designului și direcției limbajului. Scopul declarat este un port fidel. Articolul susține că un port trebuie să urmeze îndeaproape deciziile echipei TypeScript, altfel devine incompatibil.

Acesta este riscul pe care merită să-l urmăriți. Cloudflare recunoaște chiar ea că există astăzi unele diferențe față de upstream, de exemplu ordinea în care sunt afișate diagnosticele. Compania spune că intenționează să reducă diferențele la minimum până la o versiune stabilă. Dacă CI-ul vostru compară output-ul compilatorului, îl parsează sau condiționează merge-urile de el, tocmai o astfel de diferență strică lucrurile pe tăcute.

Cum vor să-l țină sincronizat

Cloudflare descrie același proces pe care îl folosește ca să țină Vinext aliniat cu Next.js. În fiecare dimineață, un agent verifică modificările din upstream, preia diff-urile și deschide issue-uri de urmărire. În fiecare noapte, o matrice de compatibilitate se regenerează rulând setul de teste din upstream pe port. Agenții pot apoi identifica o modificare în ambele baze de cod, construi o reproducere, porta testele și propune o corecție.

Este un plan, descris de cei care lucrează la el. Articolul nu oferă un istoric pentru TypeScript în mod special. Cloudflare mai spune că lucrează cu Theo Browne ca să unifice tsc-rs și tsrs într-un singur pachet, care să susțină toate funcțiile TypeScript, inclusiv Language Server Protocol și content mappers. Unificarea este descrisă ca lucru în curs.

De ce Rust, după spusele autorilor

Argumentul Cloudflare ține în parte de WebAssembly. Compania spune că, dacă compilezi un program Go în Wasm, compilezi odată cu el și garbage collector-ul din Go, în timp ce modelul de memorie din Rust permite interacțiuni mai directe cu memoria între un guest Wasm și host. Leagă asta de rularea toolchain-urilor de dezvoltare în medii izolate pe Workers, într-un browser sau pe dispozitive embedded.

Este un argument pentru un caz precis: verificarea tipurilor în sandbox-uri Wasm, inclusiv în sarcini de lucru cu agenți. Dacă nu rulați compilatoare în browsere sau în sandbox-uri, argumentul Wasm contează mai puțin pentru voi decât cifrele de viteză și de memorie.

Cloudflare mai spune că analizează o integrare mai profundă în propriul stack, de exemplu reguli de lint care țin cont de tipuri în Oxlint.

Contextul care merită păstrat

Cloudflare scrie că un singur port anterior al TypeScript a reușit, mutarea făcută de echipa TypeScript de la JavaScript la Go, și că modelele AI de frontieră pot face acum porturi de mare amploare aproape independent, în câteva zile. Compania spune că vede porturi fidele, versiuni re-arhitecturate și ceea ce numește slopforks. Lectura noastră, nu afirmația Cloudflare: dacă porturile se pot produce atât de repede, cumpărătorii de tooling vor vedea tot mai multe și vor trebui să judece fiecare după cât de îndeaproape urmărește upstream-ul.

Cloudflare spune că un port în Rust „trebuie să urmeze îndeaproape aceste decizii, altfel se va destrăma în cele din urmă și va deveni incompatibil.”

Aceasta este fraza după care măsurați tsrs în versiunile următoare.

Ce înseamnă pentru planurile voastre

Nu schimbați verificatorul de tipuri din producție pe baza unui benchmark al furnizorului, făcut față de TypeScript 7.0. Instalați în schimb pachetul experimental tsrs într-un branch, rulați-l pe cel mai mare repository al vostru alături de TypeScript 7.1 beta și notați timpul, memoria și output-ul de diagnostic, cu aceleași setări pentru workeri. Verificați dacă vreun instrument parsează output-ul compilatorului, pentru că ordinea diagnosticelor este o diferență cunoscută (un exemplu dintre diferențele pe care le recunoaște Cloudflare). Reveniți când există o versiune stabilă și când s-a încheiat unificarea cu tsc-rs.

Surse

  1. blog.cloudflare.com Introducing tsrs: a Port of TypeScript to Rust · 20 octombrie 2026
Realizat de redacția SKYLOGIQ.Programați o discuție

Briefing documentat și scris de sistemul editorial SKYLOGIQ: un model AI care scrie și un model AI care verifică faptele, cu o coadă de verificare umană pentru tot ce refuză editorul. Sursele sunt listate mai sus. Cum se face Briefing-ul

Versiunea în română e adaptată automat după originalul în engleză și verificată de un al doilea model AI. Originalul în engleză

Sistemele de care depinde afacerea voastră trebuie construite de oameni care au mai construit astfel de sisteme.

The moon can't shine on its own.