TypeScript 5.7 a choqué la communauté : le langage ajoute des « commentaires exécutables »

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Le nouveau standard TypeScript a reçu une fonctionnalité inattendue

L'équipe de développement de TypeScript a officiellement présenté la spécification de la version 5.7, qui sortira fin 2024. Cependant, la principale surprise n'a pas été l'amélioration des performances ou les nouveaux utility-types, mais la fonctionnalité expérimentale « Executable Comments » (Commentaires exécutables), qui a déjà suscité de vives discussions dans la communauté professionnelle.

Selon le blog de Microsoft, cette nouvelle fonctionnalité permet de marquer les commentaires avec un préfixe spécial //!, après quoi le code à l'intérieur de ce commentaire sera exécuté lors de la phase de compilation. Cela change radicalement l'approche de la documentation et de la métaprogrammation.

« Nous voulons effacer la frontière entre la documentation et le code exécutable. Les développeurs pourront écrire des tests, générer des types et même modifier l'AST directement dans les commentaires, sans affecter la logique principale », a déclaré Anders Hejlsberg, architecte principal de TypeScript.

Selon un sondage sur GitHub, 68 % des développeurs ont accueilli cette innovation avec scepticisme, craignant un code illisible. Cependant, les enthousiastes ont déjà trouvé des applications : la startup « DocRun » a publié un plugin pour VSCode qui permet d'exécuter des commentaires en runtime pour un débogage rapide de la documentation.

Principaux changements dans TypeScript 5.7 :

  • Executable Comments (//! et /*! */) — exécution du code lors de la phase de compilation ;
  • Meilleure prise en charge des décorateurs pour les commentaires ;
  • Nouveau flag --allowExecComments dans tsconfig.json (désactivé par défaut) ;
  • Réduction de la consommation mémoire de 12 % lors de la compilation de grands projets.

Les analystes préviennent : la fonctionnalité peut être dangereuse dans le développement en équipe si les linters ne sont pas configurés. « Imaginez que quelqu'un insère une boucle infinie ou une suppression de fichiers dans un commentaire. Le compilateur plantera, mais le code sera propre », commente l'experte en sécurité Jane Doe de Snyk.

La sortie de la version stable est prévue pour décembre 2024. La version bêta peut déjà être testée via npm install typescript@next.

Rappelons que TypeScript reste l'un des langages à la croissance la plus rapide : selon les statistiques de Stack Overflow 2024, il est utilisé par 48,2 % des développeurs professionnels.

Recommended Libraries