[Major] (v2.0.0) Change bundler to Vite #172
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
Comme précédemment mentionné dans #153, webpack 5 est désormais déprécié.
Je propose de passer sur Vite pour le remplacer.
Cette PR se compose de trois commits :
.js
contenant du JSX en.jsx
, comme requis par Vite (j'ai séparé ça en un commit séparé pour pouvoir s'y retrouver dans les modifications)Guide de migration
1/ Changement de nom du dossier contenant les fichiers buildés
Le dossier cible contenant les fichiers buildés est maintenant
/dist
et non plus/build
.Il est nécessaire de changer ce dossier dans le Dockerfile de la partie frontend (comme fait ici)
2/ Changement d'emplacement du fichier
index.html
Le fichier html qui charge l'application était auparavant situé dans le dossier
/public/index.html
, il est maintenant situé directement à la racine/index.html
.Il contient également la ligne suivante en plus à la fin du body (à rajouter si ce fichier est personnalisé):
3/ Changement des commandes de dev
Auparavant, pour démarrer le frontend en mode dev, il fallait faire
yarn start
, désormais il faut faireyarn dev
.La commande pour builder l'application reste inchangée :
yarn build
.Une nouvelle commande
yarn preview
s'ajoute, pour tester l'application localement une fois buildée (voir https://vitejs.dev/guide/cli.html#vite-preview)4/ Changement des variables d'environnement
Auparavant, les variables d'environnement (REACT_APP_MIDDLEWARE_URL et REACT_APP_MAPBOX_ACCESS_TOKEN) étaient utilisés à divers endroits du code. Désormais, elles sont regroupées dans le fichier
/config/config.ts
pour plus de maintenabilité.De plus, ces variables sont renommées désormais en
VITE_MIDDLEWARE_URL
etVITE_MAPBOX_ACCESS_TOKEN
.5/ Utilisation de Typescript
Une configuration Typescript a été mise en place (/tsconfig.json).
Pour l'instant, seuls deux fichiers ont été migrés en Typescript :
/src/index.tsx
: Appelé avec son extension dans le index.html, donc difficilement renommable par la suite/src/config/config.ts
: Potentiellement customisable et surchargé par les instances, donc autant le renommer dès maintenantPour les instances qui surchargent le fichier
/src/config/config.js
actuellement, il est nécessaire de renommer le fichier en.ts
.Le reste des fichiers sera migré dans un second temps.
6/ Utilisation de ESLint
Une configuration ESLint a été mise en place (/.eslintrc.js), ainsi qu'une configuration basique Prettier (dans package.json).
Une commande
yarn lint
a été rajoutée permettant de valider les fichiers via ESLint.Pour l'instant le linting n'est pas automatisé. Il convient à chacun de paramétrer son IDE pour ces outils.