Draft: Resolve "METEOR 3: Refactoring Async Mongodb"
Closes #949
Début de migration à l'aide des scripts suivants + adaptations : https://github.com/minhna/meteor-async-migration
il reste au minimum à régler les problèmes suivants :
- refactorer tous les appels Meteor.call de l'UI (Meteor.callAsync + refactoring des callbacks)
- pour les appels de type method.call() --> await method.callAsync()
- les tests ne passent plus
- Il faut un async/await sur tous les appels de type method._execute()
- les tests de type assert.throw ne gèrent pas l'asynchrone (réécrire avec un try {await... } catch (err) {tester les propriétés de err}).
- Il faudra aussi probablement modifier les test des publications devenues asynchrones ( collections = await collector.collect('pubName', {params}) )
- l'autovalue de l'attribut nclocator de la table users pose problème, car il fait un appel à une méthode asynchrone, mais la librairie simpl-schema n'est pas asynchrone (un fork de la communauté meteor prévoit ce changement, voir https://github.com/Meteor-Community-Packages/meteor-simple-schema/discussions/745). en attendant une solution, il faudra peut être refactorer ce code pour attribuer le nclocator 'manuellement' après création de l'utilisateur.
- gérer la migration des composants react (en particulier avec withTracker). commencer avec les scripts du dépôt (étapes 5 et 6)
Edited by Bruno Boiget