Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle code.20251120.Runtime.TypeScript
Les scripts apportés par des plugins pour l'outil de script supportent maintenant le typescript, l'auto-complétion et la documentation intégrée.
En conséquence, l'outil d'aide de script ne propose dont plus que Des exemples.
Cette migration va consister à migrer les déclarations de variables et fonctions apportés par le projet.
L'aide d'un développeur est recommandé.
Les scripts à migrer peuvent être déclarés :
Dans chaque fichier concerné vous pouvez retirer les balises et tout ce qu'elles contiennent <text> et <signature>, de sorte qu'il ne reste dans une fonction ou variable que : <name> <script> et <exemples>.
Si ces balisent référençaient des clés i18n, vous pouvez supprimer les textes associés dans les catalogue.
Conservez ces textes pour la suite de la procédure
Dans la balise <script>, renommez js en ts. Et déplacez les fichiers associés (en renommant le dossier js en ts, et chaque extension de fichier)
Par exemple :
<script file="js/Migration.addVersion.js"/> devient <script file="ts/Migration.addVersion.ts"/>
Dupliquez cette balise en <definition> et changez l'extension .ts en .d.ts . Puis créez les fichiers vierges nommés.
Par exemple
<definition file="ts/Migration.addVersion.d.ts"/>
Dans les exemples, changez l'extension de fichier .js en .ts puis renommez les fichiers en question.
Modifiez le fichier .ts ainsi si nécessaire :
Remplacez Ametys.namespace par une déclaration de namespace typescript.
Si le fichier est organisé par namespace, l'ensemble du fichier (ou presque) est englobé dans une instruction
Ametys.namespace("X", { ... });qui n'existe plus, il faut utiliser désormais
namespace X { ... }Les méthodes et variables publiques sont celles déclarées dans le fichier de binding xml.
Ajouter export devant les méthodes ou constantes publiques.
Attention, si l'ancien code utilisait une fonction pour ne retourner que certaines méthodes publiques, cela doit être remplacé par des méthodes classiques.
Ajouter le typage des arguments et valeurs de retours des fonctions, ainsi que le typage des variables publiques.
Regarde les différences de code du ticket RUNTIME-3445 pour vous en inspirer.
Faire le fichier de définition .d.ts associé avec la documentation mise de côté plus haut.
Cela consiste globalement à recopier les signatures du fichier .ts.
Demander l'aide d'un IA pour cette tâche est assez efficace.
Démarrer Ametys et dans l'éditeur de script, vérifier que les fonctions sont accessibles en autocomplétion, avec la documentation associée et que les méthodes privées ne sont pas accessibles.
Dans l'outil d'aide vérifiez que les exemples sont toujours accessibles et fonctionnels sans erreur de syntaxe (soulignement rouge).