Accepté
L'application est écrite en Elm. Le backend est accessible via Hasura avec son API GraphQL.
Par conséquent, nous devons appeler GraphQL à partir du code Elm (au lieu de Svelte).
Cet appel se fait actuellement soit avec Http.get
et la requête en chaîne de charactère, soit avec elm-graphql.
L'appel avec Http.get
ne fournit que peu de sécurité, on ne s'assure que du format de la donnée au runtime.
L'appel avec elm-graphql
fournit la garantie à la compilation que la requête correspond au schéma GraphQL.
Cependant, il génère beaucoup de code et ralentit considérablement les outils (elm-ls
et elm-review
).
De plus, l'écriture des requêtes doit se faire en Elm et le code à produire est compliqué.
Utiliser graphql-to-elm.
Cette librairie génère du Elm grâce à des requêtes GraphQL écrites dans des fichiers .graphql
. Donc l'écriture reste simple.
Lors de la génération, elle s'assure que la requête est valide par rapport au schéma. On bénéficie donc de validation à la compilation.
Enfin, le code généré est beaucoup plus petit (4 fois plus petit) que celui généré par elm-graphql
et devrait donc soulager les outils d'analyse statique.
À terme, plus nous aurons de requêtes plus ce volume de code pourra grandir.
Nous décidons d'utiliser graphql-to-elm
.