IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft annonce la disponibilité de TypeScript 7.0, « un portage natif 10 fois plus rapide développé en Go » selon Microsoft, permettant d'effectuer de nombreuses étapes en parallèle

Le , par Jade Emy

504PARTAGES

3  0 
Microsoft annonce la disponibilité générale de TypeScript 7, un portage natif de TypeScript 10 fois plus rapide en Go. La principale différence réside dans le fait qu’avec cette nouvelle base de code, TypeScript 7 offre la vitesse du code natif, le multithreading en mémoire partagée et un certain nombre de nouvelles optimisations qui permettent généralement des gains de vitesse compris entre 8 et 12 fois lors des compilations complètes. TypeScript 7.0 effectue désormais de nombreuses étapes en parallèle, notamment l’analyse syntaxique, la vérification des types et la génération de code. TypeScript 7.0 peut paralléliser les compilations au sein d’un même projet, mais il est désormais également capable de compiler plusieurs projets simultanément. Il convient de souligner que les workflows utilisant Vue, MDX, Astro, Svelte et d’autres frameworks ne pourront probablement pas encore tirer parti de TypeScript 7. De même, la vérification de types spécialisée au sein de modèles tels que ceux d’Angular n’utilisera probablement pas non plus TypeScript 7.

TypeScript (TS) est un langage de programmation de haut niveau qui ajoute au JavaScript un typage statique avec des annotations de type facultatives. Il est conçu pour le développement d’applications de grande envergure. Il est transcompilé en JavaScript. Il est développé par Microsoft en tant que logiciel libre et open source, distribué sous licence Apache 2.0. TypeScript peut être utilisé pour développer des applications JavaScript destinées à être exécutées aussi bien côté client que côté serveur (comme avec React.js, Node.js, Deno ou Bun). Plusieurs options sont disponibles pour la compilation. Il est possible d’utiliser le compilateur TypeScript par défaut,[8] ou d’invoquer le compilateur Babel pour convertir TypeScript en JavaScript.

Go est un langage de programmation de haut niveau et à usage général, statiquement typé et compilé. Il est réputé pour la simplicité de sa syntaxe et l’efficacité du développement qu’il permet grâce à l’intégration d’une vaste bibliothèque standard répondant à de nombreux besoins des projets courants. Il a été conçu chez Google en 2007 par Robert Griesemer, Rob Pike et Ken Thompson, puis annoncé publiquement en novembre 2009. Sa syntaxe est similaire à celle du C, mais il dispose également d’un ramasse-miettes, d’un typage structurel et d’une concurrence de type CSP. On l’appelle souvent « Golang » pour éviter toute ambiguïté et en raison de son ancien nom de domaine, golang.org ; cependant, son nom officiel est « Go ».

Le 11 mars 2025, Microsoft a annoncé une réécriture de son langage de programmation TypeScript en le dotant d'un compilateur et d'un ensemble d'outils natifs. Cet effort vise à résoudre les problèmes de performance, en particulier dans les grandes bases de code, en portant le compilateur TypeScript existant de TypeScript/JavaScript au langage natif, Go. Anders Hejlsberg, architecte principal de Microsoft pour TypeScript, affirmait lors de l'annonce : « L'implémentation native améliorera considérablement le démarrage de l'éditeur, divisera par 10 la plupart des temps de construction et réduira substantiellement l'utilisation de la mémoire. »

En juin 2026, Microsoft a annoncé la sortie de la version Release Candidate de TypeScript 7.0. La nouvelle base de code Go a été méthodiquement portée à partir de l'implémentation existante plutôt que réécrite à partir de zéro, et sa logique de vérification des types est structurellement identique à celle de TypeScript 6.0. Même si la version 7.0 RC est presque prête pour la production, ils ne disposeront pas d’une API programmatique stable avant au moins plusieurs mois, avec la sortie de TypeScript 7.1. Dans ce contexte, l'équipe TypeScript donne la priorité à la garantie que TypeScript puisse fonctionner en parallèle avec TypeScript 6.0 dans un avenir proche.

Récemment, Microsoft annonce la disponibilité générale de TypeScript 7, un portage natif de TypeScript 10 fois plus rapide. Depuis ses débuts, TypeScript s’est donné pour mission d’offrir un JavaScript évolutif. En apportant une vérification de types stricte et une suite d’outils complète à l’univers JavaScript, TypeScript a permis de développer des applications non triviales et de haute qualité sur toutes les plateformes.

L'équipe de TypeScript déclare pour l'annonce : « L’année dernière, notre équipe a dévoilé la prochaine étape de TypeScript en matière d’évolutivité : rendre chaque composante de la suite d’outils un ordre de grandeur plus rapide. La mission consistait à réaliser un portage natif de TypeScript écrit en Go, capable de tirer pleinement parti du matériel moderne. Ce portage a été effectué de la manière la plus fidèle possible, en écrivant du nouveau code tout en conservant la structure et la logique de la base de code d’origine afin de garantir la cohérence et la compatibilité des résultats entre les deux compilateurs. La principale différence réside dans le fait qu’avec cette nouvelle base de code, TypeScript 7 offre la vitesse du code natif, le multithreading en mémoire partagée et un certain nombre de nouvelles optimisations qui permettent généralement des gains de vitesse compris entre 8 et 12 fois lors des compilations complètes.»

Comme pour toute autre version, TypeScript 7 est disponible via npm :

Code : Sélectionner tout
npm install -D typescript


Cela vous permettra d’obtenir le nouvel exécutable tsc dans votre espace de travail (que vous pouvez lancer via npx tsc). Bien sûr, une grande partie de l’expérience TypeScript repose également sur la prise en charge par les éditeurs. Votre éditeur de code préféré devrait facilement prendre en charge TypeScript 7 grâce à sa nouvelle compatibilité avec le protocole LSP (Language Server Protocol) et à ses nouvelles améliorations en matière de vitesse et de multithreading. Que vous utilisiez VS Code, Visual Studio, WebStorm ou tout autre éditeur moderne, TypeScript 7 devrait fonctionner à merveille. Il suffit de consulter la documentation de votre éditeur : par exemple, VS Code propose une extension dédiée à TypeScript 7 que vous pouvez utiliser dès aujourd’hui, et Visual Studio activera automatiquement TypeScript 7 en fonction de votre espace de travail.


Voici l'annonce de TypeScript 7.0 :

Annonce de TypeScript 7.0

Que signifie un TypeScript plus rapide ?

Un TypeScript plus rapide, cela semble formidable en théorie, mais qu’est-ce que cela signifie concrètement ? Il peut être utile de réfléchir aux différentes étapes du développement où TypeScript intervient.

Une journée de développement type peut consister à ouvrir votre éditeur, à ouvrir un fichier TypeScript et à lancer une opération telle que la recherche de toutes les références dans vos projets. Ensuite, lorsque vous commencez à apporter des modifications, vous vous attendez peut-être à ce que des suggestions d’autocomplétion s’affichent et à voir apparaître des ondulations rouges au fur et à mesure que vous effectuez vos modifications. Lorsque vous (et, plus récemment, peut-être un agent IA) étiez prêt à compiler votre projet, vous lanciez tsc, vérifiiez la sortie à la recherche d’erreurs, puis exécutiez d’une manière ou d’une autre le code généré.

Un TypeScript plus rapide signifie que chaque étape ci-dessus est optimisée. L’attente du chargement complet de votre projet par votre éditeur vous semblera instantanée. Les délais liés à la recherche de toutes les références, à l’autocomplétion et aux diagnostics ne devraient prendre qu’une fraction du temps qu’ils prenaient auparavant. Et lorsque vous exécuterez tsc, peut-être en mode --watch, vous pourrez raccourcir votre boucle de rétroaction et itérer plus rapidement que jamais.

Vous pouvez constater cela sur des projets concrets. En effet, vous pouvez essayer vous-même de comparer quelques projets open source. Voici les temps de compilation obtenus en exécutant TypeScript 6 et 7 sur des bases de code open source assez volumineuses.


TypeScript 7 affiche généralement de meilleures performances tout en nécessitant moins de mémoire totale sur l’ensemble d’une compilation.


Bien sûr, l’expérience ne se limite pas à la compilation complète. Sur le même ordinateur, l’ouverture d’un fichier contenant une erreur dans la base de code de VS Code prenait auparavant environ 17,5 secondes entre le moment où vous ouvriez l’éditeur et celui où vous voyiez la première erreur. Avec TypeScript 7, ce délai est inférieur à 1,3 seconde – soit plus de 13 fois plus rapide.

Éprouvé en conditions réelles et prêt pour la production

Le projet TypeScript comprend des dizaines de milliers de tests développés depuis plus d’une décennie, qui s’exécutent à chaque commit sur notre branche principale. Ils ont permis de garantir la stabilité et la fiabilité de chacune de nos versions.

Mais TypeScript 7 n’est pas une version comme les autres. Au-delà de notre suite de tests, nous avons mobilisé diverses ressources pour nous assurer que TypeScript 7 est suffisamment robuste pour une utilisation en production.

Au cours de l’année écoulée, nous avons collaboré avec de nombreuses équipes de grande envergure, tant en interne qu’en externe, afin de tester TypeScript 7 sur des bases de code réelles. Les résultats se sont révélés extrêmement positifs : des entreprises entières ont indiqué que TypeScript 7 s’était montré stable, rapide et facile à adopter. Par exemple, l’équipe de VS Code a récemment mis en avant son expérience avec les versions préliminaires de TypeScript 7, qui lui ont permis d’accélérer son cycle de développement. Nous avons également collaboré avec des équipes Microsoft telles que Loop, Office, PowerBI, Teams et Xbox afin de nous assurer que TypeScript est prêt à prendre en charge les bases de code les plus volumineuses. De même, des entreprises telles que Bloomberg, Canva, Figma, Google, Lattice, Linear, Miro, Notion, Sentry, Slack, Vanta, Vercel, VoidZero et bien d’autres ont collaboré avec nous pour tester TypeScript 7 sur leurs bases de code et nous ont fait part de leurs retours afin de l’améliorer.

De plus, nous avons refondu une grande partie de notre infrastructure de test globale pour qu’elle fonctionne avec TypeScript 7. TypeScript 6 et les versions antérieures proposaient des tests automatisés et à la demande pour les projets TypeScript et JavaScript sur GitHub, afin de détecter les régressions dans le compilateur et le service de langage. Ces mêmes tests sont de retour et s’exécutent désormais sur TypeScript 7, identifiant des problèmes dans de véritables bases de code afin que nous puissions repérer les lacunes de notre suite de tests principale et offrir une meilleure expérience.

La combinaison des retours d’expérience explicites, des rapports de plantage automatisés et des tests intensifs a permis d’améliorer sensiblement la qualité. En effet, l’analyse de nos données nous a montré que le nouveau serveur de langage de TypeScript 7.0 a réduit de plus de 80 % les échecs des commandes du serveur de langage et de plus de 60 % les plantages du serveur par rapport à TypeScript 6.0.

Nous avons également reçu des retours incroyables de la part d’équipes travaillant à grande échelle :

- Les ingénieurs de Slack nous ont indiqué que TypeScript 7 avait réduit de 40 % le temps d’attente dans leur file d’attente de fusion et ramené le temps de vérification des types en CI d’environ 7,5 minutes à 1,25 minute. Auparavant, le développement local dans l’éditeur était pratiquement « inutilisable » en raison des temps de chargement du serveur de langage, et les ingénieurs laissaient généralement le CI effectuer une vérification complète des types. TypeScript 7 a permis de charger la même base de code en quelques secondes et a rendu la vérification de types locale à nouveau possible.

- Les builds chez Vanta se sont considérablement améliorés, avec une accélération pouvant aller jusqu’à 9 fois plus rapide sur l’un de leurs plus grands projets.

- De même, l’équipe News Services de Microsoft nous a confié que l’adoption de TypeScript 7 leur avait permis d’économiser 400 heures par mois d’attente pour les builds en CI.

- L’année dernière, les ingénieurs travaillant sur PowerBI ont qualifié l’utilisation de TypeScript 7 dans l’éditeur de « salvatrice » pour leur travail sur leur base de code. Ils ont adopté cette expérience par défaut avant même que TypeScript 7 ne prenne en charge la fonctionnalité de renommage dans VS Code.

- Les développeurs travaillant sur le monorepo de Loop étaient également ravis. L’expérience précédente avec l’éditeur était jugée inutilisable à leur échelle, tandis que celle offerte par TypeScript 7 s’est avérée « incroyable ».

- Les développeurs de Canva nous ont indiqué que le service de langage de TypeScript 7 offrait des gains de vitesse spectaculaires, le temps nécessaire pour afficher la première erreur dans leurs éditeurs passant d’environ 58 secondes à environ 4,8 secondes.

Fonctionnement en parallèle avec TypeScript 6.0

Bien que TypeScript 7.0 soit désormais disponible, il n’est pas fourni avec une API. Nous prévoyons que TypeScript 7.1 sera livré avec une nouvelle API (différente), mais d’ici là, nous nous sommes fixé comme priorité de garantir que TypeScript puisse fonctionner en parallèle avec TypeScript 6.0 pour les utilitaires qui ont encore besoin d’un accès programmatique au compilateur (tels que typescript-eslint).

Dans le cadre du processus de transition entre les versions 6.0 et 7.0, nous avons publié un nouveau package de compatibilité, @typescript/typescript6. Ce package fournit un exécutable nommé tsc6, ce qui vous permet, si nécessaire, d’installer TypeScript 7.0 (qui intègre son propre binaire tsc) en parallèle sans conflit de noms. Le nouveau paquet réexporte également l’API TypeScript 6.0, ce qui vous permet d’utiliser tsc pour TypeScript 7, tandis que d’autres outils peuvent continuer à s’appuyer sur la version 6.0.

Étant donné que certains outils, comme typescript-eslint, s’attendent à importer directement depuis TypeScript via des dépendances de pair, nous vous recommandons d’utiliser des alias npm. Vous devriez pouvoir exécuter la commande suivante

Code : Sélectionner tout
npm install -D typescript@npm:@typescript/typescript6


ou modifier votre fichier package.json comme suit :

Code : Sélectionner tout
1
2
3
4
5
{
  "devDependencies": {
    "typescript": "npm:@typescript/typescript6@^6.0.2",
  }
}


Notez que cette opération ne vous laissera qu’un exécutable tsc6. Pour obtenir le tsc de la version 7.0, vous pouvez ajouter un autre alias pour TypeScript 7 et npx tsc fonctionnera alors avec la version 7.0 :

Code : Sélectionner tout
1
2
3
4
5
6
{
  "devDependencies": {
    "@typescript/native": "npm:typescript@^7.0.2",
    "typescript": "npm:@typescript/typescript6@^6.0.2"
  }
}


Builds « nightly » et @typescript/native-preview

Jusqu’à présent, la plupart des développeurs ont installé TypeScript 7 via le paquet @typescript/native-preview. Ce paquet proposait des builds « nightly » de la nouvelle base de code et a bien servi la communauté avec plus de 8,5 millions de téléchargements hebdomadaires !

Cependant, à l’avenir, les builds « nightly » reprendront bientôt sous le paquet TypeScript standard avec la balise next. Vous pouvez l’installer avec :

Code : Sélectionner tout
npm install -D typescript@next


Mise à l’échelle personnalisée : parallélisation et contrôles

TypeScript 7.0 effectue désormais de nombreuses étapes en parallèle, notamment l’analyse syntaxique, la vérification des types et la génération de code. Certaines de ces étapes, comme l’analyse syntaxique et la génération de code, peuvent généralement être réalisées indépendamment d’un fichier à l’autre. Ainsi, la parallélisation s’adapte automatiquement aux bases de code plus volumineuses avec une surcharge relativement faible. Mais toutes les étapes d’une compilation TypeScript ne sont pas facilement parallélisables.

TypeScript 7 introduit les indicateurs expérimentaux --checkers et --builders pour affiner le comportement de la parallélisation pour des étapes moins triviales telles que la vérification des types et la construction des références de projet. Il introduit également un indicateur --singleThreaded pour désactiver complètement la parallélisation, ce qui peut s’avérer utile pour le débogage ou l’exécution dans des environnements aux ressources limitées.

Parallélisation du vérificateur de types

D’autres étapes, comme la vérification des types, présentent des dépendances plus complexes entre les fichiers. La plupart des fichiers finissent par s’appuyer sur les mêmes informations de types provenant de leurs dépendances et de la portée globale ; par conséquent, exécuter les vérificateurs de types de manière totalement indépendante serait un gaspillage, tant en termes de calcul que de mémoire. D’un autre côté, la vérification des types s’appuie parfois sur l’ordre relatif des informations dans un programme ; ainsi, une vérification des types effectuée à partir de zéro doit toujours analyser les mêmes fichiers dans un ordre identique pour garantir des résultats identiques.

Pour permettre la parallélisation tout en évitant ces écueils, TypeScript 7.0 crée un nombre fixe de « workers » de vérification de types, chacun disposant de sa propre vision du monde. Ces « workers » de vérification de types peuvent finir par dupliquer certaines tâches communes, mais, à partir des mêmes fichiers d’entrée, ils les répartiront toujours de manière identique et produiront les mêmes résultats.

Le nombre par défaut de processus de vérification de types est de 4, mais il peut être configuré à l'aide du nouveau drapeau --checkers. Vous constaterez peut-être qu'augmenter ce nombre peut accélérer encore davantage les compilations sur des bases de code plus volumineuses, où les machines disposent généralement de plus de cœurs de processeur, mais cela se fera généralement au prix d'une consommation de mémoire accrue. Par exemple, dans le tableau ci-dessus, nous avons exécuté TypeScript 7 avec sa valeur par défaut de --checkers 4. Voici à quoi ressemblent les résultats sur la même machine avec --checkers 8.


Comme vous pouvez le constater, ces bases de code bénéficient d’un gain de vitesse plus important lorsque l’on leur consacre davantage de cœurs, mais les résultats varient selon les projets et les machines utilisées.

En revanche, sur des machines disposant de moins de cœurs de processeur et de moins de mémoire (par exemple, les environnements d’exécution CI), vous pouvez réduire ce nombre afin d’éviter toute surcharge inutile ou accidentelle. Vous pouvez spécifier une valeur aussi faible que --checkers 1, ce qui rendra la vérification des types monothread et éliminera les doublons.

Dans de rares cas, modifier le nombre de --checkers peut faire apparaître des résultats dépendants de l’ordre d’exécution. Spécifier un nombre fixe de vérificateurs dans tous les environnements de compilation peut aider à garantir que tout le monde obtient les mêmes résultats, mais cela reste à la discrétion de votre équipe.

Parallélisation des générateurs de références de projet

TypeScript 7.0 peut paralléliser les compilations au sein d’un même projet, mais il est désormais également capable de compiler plusieurs projets simultanément. Ce comportement peut être configuré à l’aide du nouvel indicateur --builders, qui contrôle le nombre de générateurs de références de projet parallèles pouvant s’exécuter simultanément lors d’une compilation avec l’option --build. Cela peut s’avérer particulièrement utile pour les monorepos contenant de nombreux projets.

Tout comme avec l’option --checkers, augmenter le nombre de générateurs peut accélérer les compilations, mais peut se faire au prix d’une consommation de mémoire accrue. Cela a également un effet multiplicateur avec l’option --checkers ; il est donc important de trouver le bon équilibre pour votre machine et votre base de code. Par exemple, une compilation avec --checkers 4 --builders 4 permet à jusqu’à 16 vérificateurs de types de s’exécuter simultanément, ce qui peut s’avérer excessif.

Contrairement à --checkers, faire varier le nombre de « builders » ne devrait pas produire de résultats différents ; cependant, la compilation des références de projet est fondamentalement limitée par le graphe de dépendances des projets (à l’exception de la vérification de types sur les bases de code qui exploitent --isolatedDeclarations et génèrent un fichier de déclaration syntaxique séparé).

Mode mono-thread

Dans certains cas, il peut être utile d’imposer un fonctionnement mono-thread à l’ensemble du compilateur. Cela peut s’avérer utile pour le débogage, pour comparer les performances entre TypeScript 6 et 7, lors de l’orchestration externe de compilations parallèles, ou pour l’exécution dans des environnements aux ressources très limitées. Pour activer le mode mono-thread, vous pouvez utiliser le nouvel indicateur --singleThreaded. Cela limitera non seulement le nombre de workers de vérification de types à 1, mais garantira également que l’analyse syntaxique et la génération de fichiers s’effectuent dans un seul thread.

Mode --watch amélioré

TypeScript 7 intègre un mode --watch entièrement repensé. --watch s’appuie désormais sur une nouvelle base inspirée du file-watcher du bundler Parcel, qui offre des capacités de surveillance de fichiers multiplateformes efficaces et stables.

Lorsque notre équipe s’est attelée à porter notre logique de surveillance de fichiers, nous avons rencontré quelques difficultés liées à la surveillance multiplateforme en Go. La bibliothèque standard ne fournit pas d’API intégrée de surveillance des fichiers, et les bibliothèques tierces existantes que nous avons explorées présentaient divers problèmes de stabilité, de performances, de prise en charge multiplateforme ou d’intégration avec les outils de build. Nous avons pu mettre au point des solutions reposant sur des interrogations périodiques pour détecter les modifications de fichiers, ce qui fonctionnait globalement sur tous les systèmes d’exploitation ; cependant, cela s’avérait coûteux en ressources de calcul, en particulier pour les projets à grande échelle comportant de nombreuses dépendances dans node_modules. Même avec des stratégies de planification dynamiques, nous avons constaté que les solutions reposant uniquement sur l’interrogation étaient trop gourmandes en ressources pour une utilisation courante.

Depuis de nombreuses années, Visual Studio Code s’appuie sur @parcel/watcher, et ces dernières années, TypeScript dans VS Code a indirectement tiré parti de ses capacités de surveillance de fichiers. Bien que cela semblait prometteur, l’un des problèmes que nous rencontrions avec le watcher de Parcel est qu’il est écrit en C++ et nécessite donc une chaîne d’outils C++ complète pour sa compilation. Compte tenu de notre expérience positive avec le watcher de Parcel dans VS Code, nous avons exploré la possibilité de le porter en Go à l’aide de quelques shims d’assemblage minimaux afin d’éviter d’introduire une nouvelle dépendance à une chaîne d’outils.

Cette exploration a été couronnée de succès : ce qui avait commencé comme une traduction très directe du C++ vers Go a été affiné pour devenir un code idiomatique en Go qui continue de passer avec succès la suite de tests portée. Le « watcher » est un paquet autonome qui nous a permis de maintenir une séparation claire des préoccupations entre ce que nous souhaitons surveiller et pourquoi. Nous constatons désormais des améliorations significatives en termes de ressources en mode --watch sur toutes les plateformes, et avons reçu des retours positifs de la part des premiers utilisateurs de TypeScript 7.

Nous tenons à remercier Devon Govett, dont le travail sur Parcel a apporté d’immenses avantages tant au projet Visual Studio Code qu’à celui de TypeScript. Nous espérons que ce portage offrira, à terme, de nouvelles opportunités et des perspectives pour le code source original du « watcher » de Parcel.

Mises à jour depuis la version 5.x et nouveaux comportements à partir de la version 6.0

TypeScript 7.0 est conçu pour être compatible avec la vérification des types et le comportement en ligne de commande de TypeScript 6.0. Pratiquement tout code TypeScript qui se compile sans erreur avec TypeScript 6.0 (avec le drapeau stableTypeOrdering activé et sans aucun drapeau ignoreDeprecations défini) devrait se compiler de la même manière dans TypeScript 7.0.

Cela dit, TypeScript 7.0 adopte les nouvelles valeurs par défaut de la version 6.0 et génère des erreurs fatales en cas d’utilisation de drapeaux ou de constructions obsolètes dans TypeScript 6.0. Ce point est important, car la version 6.0 est encore relativement récente et de nombreux projets devront s’adapter à ses nouveaux comportements. Nous encourageons les développeurs à adopter TypeScript 6.0 afin de faciliter la transition vers TypeScript 7.0. Vous pouvez également consulter l’article de blog consacré à la sortie de TypeScript 6.0 pour plus de détails sur ces éléments obsolètes.

En bref, les changements notables apportés aux paramètres par défaut sont les suivants :

- strict est défini sur true par défaut.
- module est défini par défaut sur esnext.
- target est défini par défaut sur la version stable actuelle d’ECMAScript précédant immédiatement esnext.
- noUncheckedSideEffectImports est défini sur true par défaut.
- libReplacement est défini sur false par défaut.
- stableTypeOrdering est défini sur true par défaut et ne peut pas être désactivé.
- rootDir est désormais défini par défaut sur ./, et les répertoires source internes doivent être explicitement définis.
- types est désormais défini par défaut sur [], et l’ancien comportement peut être rétabli en le définissant sur ["*"].

Nous pensons que les modifications apportées à rootDir et à types sont peut-être les plus « surprenantes », mais elles peuvent être facilement atténuées. Les projets dans lesquels le fichier tsconfig.json se trouve en dehors d’un répertoire tel que src devront simplement inclure rootDir pour conserver la...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !