Amélioration de la prise en charge de TypeScript dans Azure Functions

Publié le 25 février, 2019

Program Manager, Azure Functions

TypeScript devient de plus en plus populaire dans la communauté JavaScript. Étant donné qu’Azure Functions exécute Node.js et que TypeScript compile en JavaScript, les utilisateurs motivés pouvaient déjà obtenir du code TypeScript opérationnel dans Azure Functions. Cependant, l’expérience n’était pas transparente et des éléments tels que notre structure de dossiers par défaut rendaient la prise en main quelque peu épineuse. Nous sommes heureux d’annoncer aujourd’hui qu’une série de modifications ont été apportées aux outils, qui contribuent à améliorer la situation. Les utilisateurs d’Azure Functions peuvent désormais facilement développer avec TypeScript lorsqu’ils créent des applications pilotées par des événements.

Pour ceux qui ne connaissent pas TypeScript, il s’agit d’un sur-ensemble de JavaScript qui offre une saisie statique, des classes et des interfaces facultatifs. Ces fonctionnalités permettent de détecter des bogues plus tôt dans le processus de développement, ce qui conduit à une ingénierie logicielle plus robuste. TypeScript permet indirectement de tirer parti de la syntaxe JavaScript moderne, puisqu’il est compatible avec ECMAScript 2015.

Grâce à cette série de modifications apportées à Azure Functions Core Tools ainsi qu’à l’extension Azure Functions pour Visual Studio Code, Azure Functions prend désormais en charge TypeScript. Ces modifications comprennent un ensemble de modèles pour TypeScript, des définitions de types et des scripts npm. Poursuivez votre lecture pour en savoir plus sur la nouvelle expérience.

Modèles pour TypeScript

Dans la dernière version d’Azure Functions Core Tools et de l’extension Azure Functions pour VS Code, vous avez la possibilité d’utiliser TypeScript pour créer des fonctions. Plus précisément, lors de la création d’une application de fonction, vous pouvez désormais spécifier TypeScript lors de la sélection de la pile de langages. Cette action a pour effet de choisir les fichiers package.json et .tsconfig par défaut, en configurant l’application pour qu’elle soit compatible TypeScript. Ensuite, lors de la création d’une fonction, vous pourrez choisir parmi plusieurs modèles de fonctions spécifiques de TypeScript. Chaque modèle représente un déclencheur possible et il existe dans TypeScript un équivalent à chaque modèle pris en charge en JavaScript.

Opérez une sélection parmi plusieurs modèles de fonctions spécifiques de TypeScript pour différents déclencheurs

Ce qu’il y a de mieux dans ce nouveau flux, c’est que, pour transpiler et exécuter des fonctions TypeScript, vous n’avez pas besoin d’effectuer une action propre à Functions. Par exemple, cela signifie que, quand un utilisateur appuie sur F5 pour commencer à déboguer dans Visual Studio Code, l’éditeur exécute automatiquement les tâches d’installation requises, transpile le code TypeScript et démarre l’hôte Azure Functions. Cette expérience de développement local est la meilleure qui soit et reflète exactement la manière dont un utilisateur commencerait à déboguer toute autre application dans VS Code.

Pour en savoir plus sur la manière de rendre vos fonctions TypeScript opérationnelles, voir notre documentation.

Définitions de types pour Azure Functions

Le package @azure/functions sur npm contient des définitions de types pour Azure Functions. Vous êtes-vous jamais demandé à quoi ressemblait un objet Fonction Azure ? Ou peut-être quel objet de contexte était transmis dans chaque fonction JavaScript ? Ce package vous sera utile. Pour tirer le meilleur parti de TypeScript, ceci devrait être importé dans chaque fonction .ts. Les puristes de JavaScript peuvent également trouver un avantage dans ce package. Son inclusion dans le code permet de bénéficier d’une expérience plus riche d’Intellisense. Pour en savoir plus, découvrez le package @azure/functions sur npm.

Scripts NPM

Un fichier package.json contenant quelques scripts npm simples est inclus par défaut dans les applications de fonction TypeScript. Ces scripts permettent à Azure Functions de s’intégrer directement dans votre flux de développement habituel en appelant des commandes Azure Functions Core Tools spécifiques. Par exemple, la commande ’npm start’ exécute automatiquement ’func start’, ce qui signifie qu’après la création d’une application de fonction, vous n’avez pas à la traiter différemment d’un autre projet Node.js.

Pour voir ces scripts en action, consultez notre référentiel d’exemples.

Essayez par vous-même !

Avec Azure Functions Core Tools ou l’extension Azure Functions pour VS Code, vous pouvez essayer l’expérience améliorée pour TypeScript dans Azure Functions sur votre ordinateur local, même si vous n’avez pas de compte Azure.

Étapes suivantes

Comme toujours, n’hésitez pas à contacter l’équipe pour lui faire part de vos commentaires sur notre GitHub ou sur Twitter. Codez bien !