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 !

Node.js intègre enfin le support de TypeScript en natif : avec Node.js v22.18.0 (LTS), les développeurs peuvent exécuter directement leurs fichiers TypeScript sans configuration supplémentaire

Le , par Stéphane le calme

273PARTAGES

14  0 
Historiquement, le mariage entre Node.js et TypeScript a toujours nécessité une étape de préparation un peu fastidieuse. On devait d'abord compiler le code TypeScript en JavaScript, puis lancer le JavaScript compilé avec Node.js. C'était comme préparer un gâteau en deux fois : d'abord la pâte, puis la cuisson, sans pouvoir sauter l'une des étapes.

Heureusement, les choses ont changé ! Les versions récentes de Node.js, y compris la version 22, peuvent désormais exécuter des fichiers TypeScript directement. C'est un gain de temps considérable, surtout pour les projets simples ou les scripts. On peut maintenant lancer un fichier .ts sans avoir à le transformer au préalable en .js, à condition que le code ne contienne que des éléments qui peuvent être simplement ignorés, comme les annotations de types.


Comment ça marche ?

Node.js gère cette exécution directe grâce à une fonctionnalité appelée "type stripping" (ou "suppression des types". Au moment de l'exécution, Node.js examine votre code TypeScript et supprime tout ce qui concerne les types, comme les indications string ou number, les laissant se transformer en simples espaces blancs. Le code restant est du JavaScript pur, que Node.js comprend et exécute sans problème.

C'est un peu comme si vous lisiez une recette de cuisine et que vous ignoriez les commentaires sur le type d'ingrédients à utiliser (par exemple, « farine de blé », « sucre blanc »). L'essentiel de la recette (les quantités et les étapes) reste lisible et vous permet de cuisiner sans problème.

Exécuter du TypeScript sans configuration, une petite révolution pour les développeurs

Chaque nouvelle version de Node.js, la célèbre plateforme d’exécution JavaScript, apporte son lot d’améliorations. Mais la sortie de Node.js 22.18.0 LTS (Jod) marque un véritable tournant : pour la première fois, il devient possible d’exécuter directement des fichiers TypeScript sans configuration supplémentaire ni outil tiers. Une avancée technique qui peut sembler discrète, mais qui change la vie de nombreux développeurs et simplifie l’adoption de TypeScript, devenu un standard incontournable.

Qu’est-ce que Node.js, au juste ?

Pour bien comprendre la portée de cette nouveauté, faisons un petit détour. Node.js est une plateforme qui permet d’exécuter du JavaScript en dehors du navigateur. Concrètement, c’est grâce à Node.js que l’on peut utiliser JavaScript pour créer des serveurs web, des applications back-end, des outils en ligne de commande, et même des applications multiplateformes.

Depuis sa création en 2009, Node.js est devenu l’un des piliers du développement moderne. On lui doit notamment la montée en puissance du JavaScript au-delà du simple « langage du web ».

Et TypeScript, dans tout ça ?

TypeScript, créé par Microsoft en 2012, est une surcouche de JavaScript qui ajoute un système de types. Cela signifie que les développeurs peuvent préciser dans leur code à quoi sert chaque variable, fonction ou objet. Cela leur permet de détecter les erreurs potentielles pendant la phase de développement plutôt qu'au moment de l'exécution.

Les caractéristiques de TypeScript, telles que les interfaces, les espaces de noms et l'inférence de type, en font une option attrayante pour les applications à grande échelle où un code propre et fiable est primordial. Alors que JavaScript devient de plus en plus complexe avec la programmation asynchrone et de nombreuses bibliothèques, TypeScript peut servir de filet de sécurité pour les développeurs.

TypeScript, qui, comme son nom l'indique, est un langage fortement typé, se compile en JavaScript et est populaire pour les applications qui s'exécutent soit dans le navigateur, soit sur un moteur d'exécution JavaScript tel que V8, parrainé par Google et utilisé par Node.js. Les enquêtes placent généralement TypeScript parmi les dix premiers langages de programmation. Par exemple, dans l'édition de juillet 2025 de l'index PYPL qui mesure la popularité des langages en fonction de la fréquence des recherches de tutoriels pour chaque langage sur Google, TypeScript est classé à la 7ème position.


D'ailleurs, Robert Vitonsky est allé plus loin en déclarant : « refuser TypeScript est un signal que vous ne vous souciez pas de la qualité du code ».

Et d'estimer que :

Citation Envoyé par Robert Vitonsky
Le contrôle de la qualité du code est un processus complexe qui permet de maintenir le code à jour. Vous ne pouvez pas simplement couvrir le code avec des tests à 100% ou examiner chaque pull request et être sûr que votre code est maintenable, et quelqu'un d'autre que vous peut le découvrir dans ce désordre.

Vous ne pouvez pas vous assurer que votre code n'a pas de...
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 !

Avatar de DrHelmut
Membre actif https://www.developpez.com
Le 22/08/2025 à 9:03
Perso, sur mes projet front, j'utilise du js pur pour mes scripts la plupart du temps. TS c'est bien pour le côté applicatif, avec d'ailleurs ce petit paradoxe toujours gênant qui est que les certains dev ne comprenant pas comment fonctionne JS : ils t'écrivent leur code comme du C#

Et pour du code backend pur, le support est bien trop limité pour être utilisé. Cela dit, ça laisse entrevoir une version prochaine avec un support complet natif, et ça, ça fait plaisir.

Pour en revenir à la qualité, TS seul ne suffit pas. Je préfère largement un projet en JS pur mais avec des tests unitaires pertinents qu'un projet TS sans le moindre TU.
Je trouve par contre que c'est devenu un gage de meilleure productivité, et que cet aspect est très peu mis en avant
0  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 22/08/2025 à 12:41
Je me rappelle mes débuts avec un framework complexe (Zope ? Ou un autre du même acabit). J’avais fait une erreur bête… 1/ n’a été détectée qu’à l’exécution, 2/ et l’erreur est identifié au cœur du framework, là où ma variable fait vraiment l’objet d’un traitement. Cela était donc une franche perte de temps, qu’un language à typage statique aurait évité !
Donc, oui, pour une petite application, mais dès que l’on fait un minimum complexe, les vérifications de types sont une aide précieuse.

L’idéal, est peut-être les languages à type statique, mais inférence de type. On l’a depuis le début dans les languages ML (en 1973, ce n’est pas la grande nouveauté !…), introduit partiellement dans C#3 (2007) et Java 10 (2018) : «*var a=10;*».

Si je tape en ReScript :

Code : Sélectionner tout
1
2
3
let f = a => { 
  a + 1
}
Le compilateur déduit que f attend un entier… et si j’appelle f("abc", le compilateur trouve l’incohérence avant même d’exécuter le code. Bref des principes de 1973… il serait temps de les appliquer !

NB : dans le dernier exemple, on peut préciser les types comme dans let f = (a:int):int = a+1; À appliquer selon le degré de concision ou d’explicite souhaité.
0  0