- 
                Notifications
    
You must be signed in to change notification settings  - Fork 164
 
Mise à jour du système de construction du code JavaScript #6718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
| 
           Pourquoi est-ce qu'il est nécessaire de transformer tous les   | 
    
          Contrôle qualité
 Vérification du remplacement des autres fonctionnalités de GulpAvec les dépendances de ViteJS installées, 
 À corriger
 Remarques
  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je viens jeter un œil au code. J'ai l'impression que les tâches qu'il restaient à faire d'après le message initial de cette PR sont maintenant faites ?
En revanche, il reste à corriger les erreurs rapportées par le linter pour que la CI puisse passer et mettre à jour la documentation pour expliquer globalement comment fonctionne la construction du front.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
À quoi sert ce fichier ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour que vitejs traite des assets d'images (et les mettent au final dans le dist/), ces assets doivent être chargés dans un fichier source html, car le moteur (faignant/optimisé par défaut) ne traite que les assets réellement utilisés dans le frontend final. Ici, nous avons créé un frontend artificiel étant donné que le vrai est celui généré par django à partir des fichiers de template et des données du backend.
Je suis d'accord qu'on a là de l'ingénierie qui n'est pas produit habituellement dans les projets de vitejs, surtout que les projets vitejs qui comprennent ensuite un backend comme django utilisent généralement des plugins d'intégration pour que la construction en développement ou en production par vite se fasse en même temps que les constructions faites par django depuis ses templates (dans ce cas là, pas besoin alors de faire de fichiers pictures.html artificiels pour centraliser le chargement de tous les assets : on charge directement les assets utiles dans les fichiers de template de django)
Pour générer le CSS, lancez la commande `yarn vite build`. Rq. : Les sprites n'étant pas encore générés par Vite, le fichier `_sprites.css` est manquant, empêchant la compilation du SCSS. Un fix temporaire est de générer ce fichier en utilisant Gulp (make build-front) et de copier `dist/scss/_sprite.scss` dans `assets/scss/_sprite.scss`.
A certains endroits, les directives import ont été gardées, une bascule vers use/forward demandant des modifications majeures dans l'organisation du code.
Import des css, mais mauvais placement pour le style des pages d'erreur. Script dynamique pour conserver la hiérarchie des fichiers d'assets Import (incomplet) des images d'assets Manque les imports des assets en js
TODO: faire en sorte que les assets en trop récupérés de mathjax soient retirés du dist
En supplément, ajustement du vite.config.mjs pour sortir des bundles css et js avec imports relatifs entre les fichiers pour un chargement correct des assets du dossier dist par django, peu importe le préfixage fixé par ce dernier
Cette règle dépend de la dernière version de eslint et est exécutable indépendamment de gulp TODO: intégrer le formatteur stylish à eslint
Exclusion des assets intermédiaires pour éviter une boucle infinie de construction dûe au watch mode Modification du package.json pour mettre à jour a règle yarn
Avec yarn run build (sans le mode watch), on s'assure que la construction s'achève bien et qu'aucune surveillance des fichiers n'est faite par vitejs Retrait également dans le Makefile du mode speed qui n'est pas utilisé par vitejs et qui n'est pas pris en compte par son CLI
Retrait des variables non-utilisées dans les fichiers javascript rédigés pour vitejs
Avec le retrait de Gulp, une ligne de configuration de ViteJS ne sert plus à rien. Elle a été retirée
Meilleure utilisation de la librairie path dans node pour un calcul des chemins compatible avec plus de plateformes
Utilisation de chemins absolus résolus pour le déplacement et la suppression de fichiers dans le `dist/` produit par vitejs. Ce commit a pour objectif d'essayer de fixer les problèmes de manipulation du système de fichier dans la CI
Encore une reecriture des chemins pour esperer qu'ils sont resolus dans n'importe quel environnement, incluant celui de la CI
Pour tester une construction du frontend avec toutes les dépendances requises, zmardkown est aussi installé dans la tâche build-front de la CI
Remplacement de Gulp par le bundler Vite.
Étapes à suivre :
-  Compilation liée au CSS
 
-  Production d'un sprite avec les icônes du site
 
-  Minification des images
 
-  Fichiers de police d'icônes
 
-  Transpilation du Javascript
 
-  Linting et formatting du Javascript
 
-  Modification du Makefile pour utiliser Vite
 
-  Retrait de Gulp
 
Fix #6447Contrôle qualité
Instructions données plus loin dans la PR