Migration d'une extension utilisant WRO
Initialisation
Créer un fichier bundle.json dans src/main/resources si des assests doivent être compilés en bundle.
Exemple avec l'extension agenda
{
"name": "@ksup/extensions-agenda",
"version": "7.0.0-0",
"description": "Plugin permettant de présenter des événements sous forme calendaire (jour, semaine, mois).",
"repository": {
"type": "git",
"url": "ssh://git@git.kosmos.fr/extension/agenda.git"
},
"devDependencies": {
"husky": "^3.1.0",
"node-cli-ksup": "^1.0.1"
},
"husky": {
"hooks": {
"commit-msg": "commit-msg -E HUSKY_GIT_PARAMS"
}
},
"keywords": [],
"author": "Kosmos",
"license": "Apache-2.0"
}
Il faut supprimer les scripts en référence à sass:watch et le hook husky post-merge si présents.
Exemple d'éléments à supprimer :
{
"scripts": {
"scss": "mvn sass:update-stylesheets",
"watch": "mvn sass:watch"
},
"husky": {
"hooks": {
"post-merge": "update-style"
}
}
}
Conf wro -> conf front-build
- si le projet a une conf wro, il faut la transcrire vers la conf front-build.
-
si des scripts font référence à des libraires (jQuery notamment) il faut les déclarer en
externals -
Si le groupe contient des fichiers de traduction
-
Créer un fichier par langue avec comme suffixe la langue en question :
frontoffice-i18n.jsdevientfrontoffice-i18n_en.jsetfrontoffice-i18n_fr_FR.js. -
Traduire chacune des valeurs présentes dans ces fichiers (avec les valeurs des fichiers
*.propertiesdeSpring) -
Ajouter une section
langavec les différentes langues traduites et référencer les fichiers comme dans cet exemple :scripts/collaboratif_i18n_${lang}.js
-
Créer un fichier par langue avec comme suffixe la langue en question :
-
si des fichiers sont référencés dans la webapp, il faut ajouter le chemin relatif à la racine du module :
-
/resources/styles/no-theme/verifications.css=>styles/no-theme/verifications.css
-
bundle.json
Exemple de fichier
{
"externals": {
"jQuery": "/adminsite/scripts/libs/jquery-1.11.0.js"
},
"styles": {
"styles": {
"files": [
"src/main/webapp/resources/styles/sass/extension-agenda.scss"
]
}
},
"scripts": {
"scriptsBo_fr_FR": {
"files": [
"src/main/webapp/resources/scripts/saisie.js"
],
"externals": {
"jQuery": "jQuery"
}
},
"scriptsBo_en": {
"files": [
"src/main/webapp/resources/scripts/saisie.js"
]
},
"scriptsFo_fr_FR": {
"files": [
"src/main/webapp/resources/scripts/saisie_front.js",
"src/main/webapp/resources/scripts/saisie.js"
]
}
}
}