/
2022-09: Guide de migration springboard

2022-09: Guide de migration springboard

Motivations

 

Nous souhaitons uniformiser la gestion des dépendances front et alléger le build front qui n’est pas performant.

Pour cela nous allons alléger le tooling : suppression de bower et gulp => npm devient l’outil principale

Le thème gère ses overrides et le springboard ne tire que les dépendances déjà buildé: lib js, thème css, widgets.

 

Migration

Gestion des thèmes

Créer un dossier “assets/themes” contenant uniquement un fichier package.json comme suit:

{ "name": "themes", "version": "1.0.0", "description": "", "license": "ISC", "dependencies": { "theme-open-ent":"npm:ode-csslib-openent@dev-produit", "panda":"npm:ode-csslib-panda@dev-produit", "paris":"npm:theme-open-ent-paris@dev-produit", "paris1d":"npm:panda-paris@dev-produit", "ode-bootstrap-neo":"npm:ode-bootstrap-neo@dev-produit", "ode-bootstrap-one":"npm:ode-bootstrap-one@dev-produit" } }

 

Pour chaque dépendance spécifier le tag (ici “dev-produit” ou le numéro de version).

Eventuellement il est possible de renommer le thème par exemple ici nous allons avoir le thème panda-paris installé dans le dossier “paris”

"paris":"npm:theme-open-ent-paris@dev-produit",

A noter que si assets/themes existait déjà, supprimer le contenu de ce dossier avant la migration

Gestion des lib JS

Créer un dossier “assets/js” contenant uniquement un fichier package.json comme suit:

{ "name": "js", "version": "1.0.0", "description": "", "license": "ISC", "dependencies": { "ode-ngjs-front":"dev-produit", "ode-ts-client":"dev-produit", "entcore": "dev-produit" } }

Pour chaque dépendance spécifier le tag (ici “dev-produit” ou le numéro de version).

Gestion des widgets

Créer un dossier “assets/widgets” contenant uniquement un fichier package.json comme suit:

 

Pour chaque dépendance spécifier la branche sur laquelle tirer le widget.

A noter que si assets/widgets existait déjà, supprimer le contenu de ce dossier avant la migration

Nettoyage

Supprimer les fichiers: bower.json, gulpfile.js

Déplacer le fichier “theme-conf.js” dans le dossier “assets” et ne conserver que cette section:

 

Modification du build.sh

 

La fonction buildFront du build.sh devient:

 

Migration vers déploiement auto (facultatif)

Motivations

Avec le déploiement auto nous n’avons plus besoin de packager un springboard avec des jar par conséquent gradle n’est plus nécessaire.

 

Supprimer gradle

 

Supprimer les fichiers et dossiers suivants: conf.properties, build.gradle, gradlew, gradlew.bat, gradle/.

 

Nettoyer gradle.properties

 

Le fichier gradle.properties ne contient que ces clés:

 

Nettoyer le build.sh

 

Le fichier build.sh ne contient que ces fonctions:

 

Nettoyer le JenkinsFile

 

Le JenkinsFile ne contient que ces taches:

Related content

2022-09: Guide de migration infra-front
2022-09: Guide de migration infra-front
More like this
2022-10 : Guide de migration PostgreSQL (droits restreints)
2022-10 : Guide de migration PostgreSQL (droits restreints)
Read with this
2022-10: Guide de migration rénovation front
2022-10: Guide de migration rénovation front
More like this
2023-07 : Guide de migration des modules (frontend)
2023-07 : Guide de migration des modules (frontend)
More like this
2022-07 : Guide de migration du thème CSS historique
2022-07 : Guide de migration du thème CSS historique
More like this
2023-07 : Guide de migration d'une application complète en React
2023-07 : Guide de migration d'une application complète en React
More like this