refac: separate front assets into esbuild bundles

Sort ~50 Mo de libs tierces hors du repo et regroupe le code
front en 6 bundles thématiques + 2 assets statiques.

Bundles produits par esbuild :
- core.bundle.min.js   : jQuery + jQuery UI + Bootstrap 4 + validation
                          + tout le code applicatif 'core'
                          (site, signout, signin, input-lib, md-helpers,
                          audiovideoinput, parallax, google.geocode,
                          google-geoloc). Chargé par _Layout.cshtml.
- chat.bundle.min.js   : core subset (sans Bootstrap) + chat.js + comment.js
                          (SignalR client chargé séparément, voir plus bas)
- dropzone.bundle.min.js : jQuery + dropzone + yavsc-remote-fs
- datetime.bundle.min.js : jQuery + jQuery UI + eonasdan datetimepicker
                          + jquery-timepicker
- timepicker.bundle.min.js : jQuery + jQuery UI + jquery-timepicker
- quill.bundle.min.js  : Quill rich text editor

Assets statiques (non bundlés, copiés depuis node_modules) :
- signalr.min.js       : client SignalR 2.x (legacy server)
- moment-with-locales.min.js : moment + 137 locales (require dynamique
                               non résolvable statiquement par esbuild)

CSS vendor copiées comme assets statiques vers wwwroot/css/ :
bootstrap.min.css, jquery-ui.min.css, dropzone.min.css,
dropzone-basic.min.css, bootstrap-datetimepicker.min.css,
jquery.timepicker.css

Exception gitignore : jonthornton-Datepair/jquery.datepair.min.js
n'est pas sur npm, conservé comme asset statique sous
wwwroot/lib/jonthornton-Datepair/ (téléchargé depuis upstream).

Vues Razor mises à jour (15 fichiers) pour pointer vers les bundles
et les CSS vendor. Suppression de la majorité de wwwroot/lib/ (1300+
fichiers). Suppression des jquery*.js, quill.js, showdown.js,
to-markdown.js, jquery.signalR-2.2.1.js, dropzone.js et de leurs
.min.js associés.

'jquery-datepair' et 'jquery-ui-map' non publiés sur npm :
- jquery-ui-map n'est utilisé nulle part dans le repo (vérifié),
  la dépendance est purement historique.
- datepair reste en static sous wwwroot/lib/jonthornton-Datepair/.
This commit is contained in:
Paul Schneider 2026-06-14 14:11:33 +01:00
commit 952d263b9f
1091 changed files with 295 additions and 333043 deletions

View file

@ -2,19 +2,18 @@
"name": "yavsc",
"version": "0.0.0",
"private": true,
"description": "Yavsc front-end toolchain (esbuild bundle for Yavsc.Org).",
"description": "Yavsc front-end toolchain (esbuild bundles for Yavsc.Org).",
"scripts": {
"build:js": "node esbuild.config.mjs",
"build:js:watch": "node esbuild.config.mjs --watch",
"clean:js": "rm -f src/Yavsc.Org/wwwroot/js/site.bundle.min.js"
"clean:js": "node esbuild.config.mjs --clean"
},
"dependencies": {
"@microsoft/signalr": "^8.0.7",
"bootstrap": "^5.3.3",
"@aspnet/signalr": "^1.0.27",
"bootstrap": "^4.6.2",
"dropzone": "^5.9.3",
"eonasdan-bootstrap-datetimepicker": "^0.0.7",
"eonasdan-bootstrap-datetimepicker": "^4.17.49",
"jquery": "^3.7.1",
"jquery-datepair": "^1.2.0",
"jquery-timepicker": "^1.3.3",
"jquery-ui": "^1.13.3",
"jquery-validation": "^1.20.0",
@ -22,7 +21,7 @@
"moment": "^2.30.1",
"quill": "^1.3.7",
"showdown": "^2.1.0",
"to-markdown": "^8.0.0"
"to-markdown": "^3.1.1"
},
"devDependencies": {
"esbuild": "^0.24.0"