Closed mguihal closed 2 months ago
La dernière PR bloquante sur la configuration ayant été rejetée, cette release v2.0.0 d'Archipelago est désormais prête.
Voici ce que je propose dans l'ordre :
v1.3.0
avec la version actuelle de mastercurrent-v1.3.0
avec la version actuelle de master pour les personnes qui voudraient continuer d'utiliser la version 1 d'Archipelago et si nécessité d'y merger un fix de sécurité par exemplev2.0.0
tagguée comme latestSemapps
(ou Général ?) ici https://forums.assemblee-virtuelle.org/chat/c/semapps/15Mmh, je viens de voir qu'une release Breaking Change de Semapps middleware (v0.7.0) est sortie il y a quelques jours (j'avais raté l'info). Je me tâte à l'intégrer dans cette release aussi si les changements sont breaking... mais ça retarderait encore une fois la release si les changements sont importants, je vais investiguer
EDIT : Proposition d'upgrade ici : https://github.com/assemblee-virtuelle/archipelago/pull/180
Contenu de la release
153
172
179
180
Deadline
Cette branche peut être mergée sur master à partir du 3 avril 2024
Guide de migration
1/ Passage en Node 20
rm -rf node_modules
), upgrader votre version de Node (si vous utilisez nvm, vous pouvez fairenvm install v20.10.0
,nvm use v20.10.0
, puis réinstaller les dépendances avecyarn
.deploy
.2/ Changement d'arborescence des ressources
il faut désormais utiliser
3/ 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)
4/ 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é):
5/ 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)6/ 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 enVITE_MIDDLEWARE_URL
etVITE_MAPBOX_ACCESS_TOKEN
.7/ 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.
8/ 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.9/ Migrations en base de données à effectuer
Suite à la mise-à-jour de Semapps middleware en 0.7.0, il est nécessaire de faire une migration en base de données.
Celle-ci peut être effectuée via la commande
yarn run dbMigrate up --name 1715265397910_archipelago-updateActivitypubCollections