TypeScript 6.0 Sort : La Dernière Release Basée sur JavaScript Avant la Réécriture Go

TypeScript 6.0 Sort : La Dernière Release Basée sur JavaScript Avant la Réécriture Go

lschvn4 min de lecture

Microsoft a publié TypeScript 6.0 le 23 mars 2026. C'est, par conception, la fin d'une ère. C'est la dernière version majeure de TypeScript construite sur le codebase original du compilateur basé sur JavaScript. TypeScript 7.0, actuellement en développement et écrit en Go, arrivera plus tard cette année avec des vitesses d'exécution natives et du multithreading à mémoire partagée.

Daniel Rosenwasser, directeur de programme principal pour TypeScript, l'a qualifié de « pont » entre TypeScript 5.9 et TypeScript 7.0, et la description correspond. 6.0 est moins une question de nouvelles fonctionnalités de langage tape-à-l'œil et plus une question de nettoyage de la maison et de préparation de l'écosystème au saut vers le code natif.

Quoi de Neuf dans TypeScript 6.0

Les mises à jour des types DOM amènent les définitions de types intégrées de TypeScript en conformité avec les derniers standards web, y compris des ajustements aux API Temporelles. Si vous avez suivi les alternatives Date en évolution en JavaScript, cela compte.

L'inférence améliorée pour les fonctions contextuellement sensibles est le changement utilisateur le plus significatif. TypeScript peut désormais inférer les types de paramètres à travers l'ordre des propriétés dans les littéraux d'objet, même avec des méthodes écrites en syntaxe traditionnelle. Auparavant, passer consume avant produce dans un appel générique laisserait y typé comme unknown, cela fonctionne maintenant correctement.

Les imports de sous-chemins permettent des mappings paths plus précis dans tsconfig.json, vous laissant mapper des imports imbriqués sans capturer des siblings non liés.

Un nouveau flag de migration, --goToJS, aide les projets à naviguer la transition vers TypeScript 7.0 en identifiant les patterns qui se comporteront différemment sous le compilateur Go.

Changements Cassants à Connaître

TypeScript 6.0 porte un nombre significatif de changements cassants par rapport à la 5.x. Microsoft utilise cette release pour retirer les patterns qui ne survivront pas au saut vers 7.0.

La syntaxe des import assertions (import ... assert {...}) est désormais dépréciée et produira des erreurs dans 7.0. La syntaxe import() plus récente avec with (ex: import(..., { with: {...} })) est le remplacement.

La vérification de type des expressions de fonction dans les contextes JSX génériques a été resserrée. Le code qui comptait sur une inférence lâche ici peut avoir besoin d'arguments de type explicites dans 6.0.

La direction globale de l'équipe TypeScript est claire : si quelque chose est déprécié dans 6.0, cela n'existera pas dans 7.0. Traitez les avertissements comme des erreurs et planifiez en conséquence.

Pourquoi la Réécriture Go Compte

Le passage à Go n'est pas cosmétique. Le compilateur TypeScript actuel, fonctionnant sur Node.js, a des plafonds de performance bien documentés, particulièrement sur les grandes codebases. La réécriture Go cible deux choses : la vitesse d'exécution native et le multithreading à mémoire partagée, que l'architecture actuelle ne peut pas exploiter efficacement.

Les premiers benchmarks de Microsoft suggèrent que le compilateur Go est significativement plus rapide pour la vérification de type des grands projets. C'est la principale chose qui maintient les grandes codebases TypeScript d'entreprise éveillées la nuit.

Ce Que Cela Signifie Pour Vos Projets

Si vous êtes sur TypeScript 5.x, mettre à niveau vers 6.0 devrait être relativement simple pour la plupart des projets, mais lisez la liste des changements cassants avant de le faire. Si vous êtes sur une version plus ancienne, c'est le moment d'auditer les patterns dépréciés et de les nettoyer avant que 7.0 n'arrive.

L'équipe TypeScript a publié des conseils sur le chemin de migration sur devblogs.microsoft.com/typescript.

Installez la nouvelle version avec :

npm install -D typescript@6

Questions fréquentes

Articles connexes

Plus de couverture avec des sujets et tags en commun.

Aperçu Natif TypeScript 7 : Project Corsa Réécrit le Compilateur en Go, Et Cela Change Tout
runtimes

Aperçu Natif TypeScript 7 : Project Corsa Réécrit le Compilateur en Go, Et Cela Change Tout

La décision de Microsoft de porter le compilateur TypeScript et le service de langage vers Go n'est pas qu'une démo technique, les premiers benchmarks montrent que le codebase VS Code compile en 7,5 secondes contre 77,8 secondes. Voici ce que l'ère native signifie pour votre pipeline de build et la performance de l'éditeur.
Turborepo 2.10.3 Reconnaît nub et aube, Deux Nouveaux Gestionnaires de Paquets Node.js en Rust par Colin McDonnell (Zod) et Jeff Dickey (mise)
tooling

Turborepo 2.10.3 Reconnaît nub et aube, Deux Nouveaux Gestionnaires de Paquets Node.js en Rust par Colin McDonnell (Zod) et Jeff Dickey (mise)

Turborepo [v2.10.3](https://github.com/vercel/turborepo/releases/tag/v2.10.3) est sorti le 2026-07-03 avec un support de première classe pour [nub](https://github.com/nubjs/nub) et [aube](https://github.com/jdx/aube), deux gestionnaires de paquets Node.js écrits en Rust qui ont émergé au printemps et à l'été 2026. nub est écrit par Colin McDonnell (créateur de [Zod](https://github.com/colinhacks/zod), 43k étoiles) et aube par Jeff Dickey (créateur de [mise](https://github.com/jdx/mise)); les deux s'intègrent à Turborepo comme valeurs `packageManager` dans `package.json` et `devEngines.packageManager`. La release apporte aussi un nouveau toggle TUI/logs-streamés, la sélection de tâches au clic dans la liste de tâches TUI, la copie automatique des sélections TUI au presse-papiers à la souris, un flag `--production` sur `turbo prune`, TypeScript 7.0.1-rc comme toolchain de workspace, thin LTO + `codegen-units=1` pour les builds de release, et une longue liste de corrections de perf sur le cache-hashing. Le signal principal: deux des builders les plus respectés du toolchain JS livrent désormais des gestionnaires de paquets qui s'appuient sur Node stock au lieu de le remplacer, et Turborepo est le premier outil de monorepo mainstream à formaliser les deux.
Node.js 26.4.0 'Current' livre le sous-système node:vfs (Matteo Collina), les package maps pour les hooks de loader ESM (Maël Nison), la compression de certificat TLS, TCP_KEEPINTVL/TCP_KEEPCNT, et argon2 stable
runtimes

Node.js 26.4.0 'Current' livre le sous-système node:vfs (Matteo Collina), les package maps pour les hooks de loader ESM (Maël Nison), la compression de certificat TLS, TCP_KEEPINTVL/TCP_KEEPCNT, et argon2 stable

Node.js 26.4.0 (Current), publié le 2026-06-24 par @aduh95, apporte huit changements SEMVER-MINOR : un sous-système node:vfs minimal qui permet de monter des systèmes de fichiers virtuels fournis par l'application (PR #63115, Matteo Collina) ainsi qu'un suivi qui redirige node:fs/promises vers les instances VFS montées (PR #63537), les package maps pour les hooks de loader ESM qui routent les spécificateurs bruts à travers les hooks de loader (PR #62239, Maël Nison), certificateCompression TLS qui câble la compression zlib et zstd de la RFC 8879 à travers la configuration de build OpenSSL (PR #62217, Tim Perry), le support de TCP_KEEPINTVL et TCP_KEEPCNT dans net.Socket.setKeepAlive (PR #63825, Guy Bedford), des buffers fournis par l'appelant dans fs.readFile / fs.readFileSync (PR #63634, Matteo Collina), closeIdleConnections qui ferme désormais aussi les sockets pre-request (PR #63470, semimikoh), net.BlockList promu au statut Release Candidate (PR #63050), et crypto argon2 + KEM encap/decap marqués stable (PR #63924, Filip Skokan). La release ajoute aussi WebCrypto cSHAKE (PR #63988), listEndpoints QUIC (PR #63536) et des handles X509Certificate (PR #63191), dgram connectSync / bindSync (PRs #63838 + #63932, Guy Bedford), net.BoundSocket pour un binding TCP précoce (PR #63951), un chemin expérimental d'appel FFI rapide pour AArch64 et x86_64 (PRs #63068 + #63941, Paolo Insogna), npm 11.17.0 (PR #63857), sqlite 3.53.2 et libffi 3.6.0.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.