Μια νέα αρχιτεκτονική προσέγγιση για το TypeScript
Η Cloudflare, σε συνεργασία με την κοινότητα Oxc και τον Max Schwenk, ανακοίνωσε το tsrs, μια προσπάθεια μεταφοράς του compiler της TypeScript σε Rust. Σε αντίθεση με προηγούμενες απόπειρες, το tsrs δεν επιδιώκει να αποσχιστεί από το επίσημο οικοσύστημα, αλλά να προσφέρει μια εναλλακτική υλοποίηση υψηλών επιδόσεων που παραμένει πιστή στο όραμα της ομάδας της TypeScript.
Γιατί Rust και WebAssembly;
Παρά το γεγονός ότι η μεταφορά του TypeScript σε Go βελτίωσε σημαντικά την ταχύτητα, η Rust προσφέρει ένα κρίσιμο πλεονέκτημα: την απουσία garbage collector. Αυτό καθιστά το tsrs ιδανικό για μεταγλώττιση σε WebAssembly (Wasm). Η δυνατότητα εκτέλεσης του toolchain απευθείας στον browser ή σε περιβάλλοντα Cloudflare Workers επιτρέπει τη δημιουργία πλήρως ενθυλακωμένων (encapsulated) περιβαλλόντων ανάπτυξης, χωρίς την ανάγκη για βαριές υποδομές διακομιστών.
Στρατηγική συντήρησης και συμβατότητα
Η πρόκληση της διατήρησης μιας παράλληλης υλοποίησης είναι η αποφυγή απόκλισης (divergence) από το επίσημο codebase. Η ομάδα του tsrs υιοθετεί μια αυτοματοποιημένη προσέγγιση, παρόμοια με το project Vinext, όπου πράκτορες τεχνητής νοημοσύνης αναλύουν καθημερινά τα diffs του upstream TypeScript. Αυτή η διαδικασία επιτρέπει τον εντοπισμό ασυμβατοτήτων και την άμεση μεταφορά διορθώσεων, ενώ παράλληλα επιτρέπει την επιστροφή βελτιστοποιήσεων απόδοσης πίσω στο επίσημο repository.
Μελλοντικές προοπτικές
Το tsrs εντάσσεται στο ευρύτερο οικοσύστημα εργαλείων της Oxc (όπως το Oxlint και το Oxfmt). Με την ενσωμάτωση του tsrs, η Cloudflare στοχεύει στην παροχή type-aware κανόνων linting που θα λειτουργούν με μηδενική καθυστέρηση (latency), ενισχύοντας την παραγωγικότητα των προγραμματιστών που βασίζονται σε σύγχρονα εργαλεία ανάπτυξης.