Structure des fichiers générés
Structure des fichiers générés
La commande views generate génère les fichiers nécessaires au fonctionnement des vues dans le dossier views de l’application.
Cette structure contient à la fois :
- des fichiers communs à l’ensemble des vues ;
- les fichiers propres à chaque vue ;
- les fichiers d’exposition utilisés par l’application pour organiser et charger les vues générées.
Arborescence générée
Après génération, le dossier views peut contenir une structure de ce type :
Cette arborescence est donnée à titre d’exemple. Elle peut varier selon la configuration des vues, les options utilisées lors de la génération et la structure choisie avec l’option --tree-structure.
Dossier _common
Le dossier _common regroupe les éléments mutualisés entre les différentes vues.
Il peut notamment contenir :
- des hooks client réutilisables ;
- des helpers de requêtes ou de mutations ;
- des éléments GraphQL côté serveur ;
- des fichiers techniques nécessaires au fonctionnement commun des vues générées.
Exemple :
Ces fichiers évitent de dupliquer certaines logiques techniques dans chaque vue générée.
Dossier d’une vue
Chaque vue générée dispose de son propre dossier dans views.
Exemple :
Ce dossier contient généralement deux parties :
- une partie client ;
- une partie server.
Partie client
La partie client regroupe les fichiers nécessaires au rendu de la vue côté front-end.
Elle peut notamment contenir :
- le composant React de la vue ;
- les hooks associés à la vue ;
- les queries GraphQL ;
- les fichiers générés par Relay ou par les outils GraphQL utilisés dans le projet.
Exemple :
Partie serveur
La partie server regroupe les fichiers nécessaires au traitement serveur de la vue.
Elle peut notamment contenir :
- les resolvers GraphQL ;
- les types GraphQL ;
- les fichiers d’index ;
- les éléments nécessaires au traitement des queries et mutations déclarées dans le fichier YAML de la vue.
Exemple :
Fichiers d’exposition des vues
Les fichiers générés à la racine du dossier views permettent d’organiser et d’exposer les vues dans le fonctionnement global de l’application.
Exemple :
Ces fichiers peuvent notamment être utilisés pour :
- référencer les vues disponibles ;
- exposer les vues générées ;
- organiser les transitions ou les enchaînements de vues ;
- fournir des points d’entrée utilisés par l’application.
Lien avec les fichiers YAML
La structure générée dépend directement des fichiers de configuration présents dans le dossier config/views.
Par exemple, une vue déclarée avec le champ suivant :
peut générer un dossier :
Les queries, mutations et resolvers générés dépendent également de la configuration GraphQL déclarée dans le fichier YAML de la vue.
Lien avec les transitions
Les fichiers de transition ne sont pas définis directement dans le dossier views.
Ils sont attendus dans le dossier suivant :
La commande views generate vérifie toutefois leur présence et leur conformité lors de la génération.
Fichiers générés à ne pas modifier
Certains fichiers générés automatiquement ne doivent pas être modifiés manuellement.
Ils peuvent être identifiés par l’en-tête suivant :
Tout fichier contenant cet en-tête peut être écrasé lors d’une prochaine génération.
Remarques
La structure générée peut varier selon :
- les vues déclarées dans config/views ;
- les queries et mutations configurées ;
- les options passées à la commande views generate ;
- la valeur utilisée pour l’option --tree-structure.
Après toute modification significative d’un fichier YAML, il est recommandé de relancer la génération des vues.