From 4a641ac8027cae0f681358ab0ce7544508c1456a Mon Sep 17 00:00:00 2001 From: louispaulb Date: Fri, 3 Jul 2026 20:35:30 -0400 Subject: [PATCH] =?UTF-8?q?perf(ops):=20lazy-load=20heavy=20libs=20&=20she?= =?UTF-8?q?ll=20components=20=E2=80=94=20chunks=20route/shell=20bien=20plu?= =?UTF-8?q?s=20l=C3=A9gers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Batch 1 de l'audit d'optimisation. Les libs lourdes étaient statiquement importées donc livrées même inutilisées → passées en import dynamique / defineAsyncComponent : - MainLayout : ConversationPanel/PhoneModal/FlowEditor/NewTicket/Orchestrator/ ServiceStatus/OutboxPanel → async (chunk shell 312 KB → 56 KB, chargé sur CHAQUE page) - TaskGraphPage : TaskGantt (hy-vue-gantt) → async (2.6 MB → 20 KB ; le Gantt ne charge que dans la vue Gantt) - NetworkPage : cytoscape → import() dans loadNetworkMap (484 KB → 52 KB) - ReportAR/Revenu/Taxes : chart.js/auto → import() dans renderChart (async) (~150→~10 KB/page) Total dist inchangé (~8 M) — le code est DÉFÉRÉ en chunks à la demande, pas supprimé. Gain réel = ce que l'utilisateur télécharge pour VOIR une page. Build OK, leak-check propre, shell + route rapport vérifiés (aucune erreur d'import). Co-Authored-By: Claude Opus 4.8 --- apps/ops/src/layouts/MainLayout.vue | 18 ++++++++++-------- apps/ops/src/pages/NetworkPage.vue | 3 ++- apps/ops/src/pages/ReportARPage.vue | 5 +++-- apps/ops/src/pages/ReportRevenuPage.vue | 5 +++-- apps/ops/src/pages/ReportTaxesPage.vue | 5 +++-- apps/ops/src/pages/TaskGraphPage.vue | 5 +++-- 6 files changed, 24 insertions(+), 17 deletions(-) diff --git a/apps/ops/src/layouts/MainLayout.vue b/apps/ops/src/layouts/MainLayout.vue index 930fda5..44323ce 100644 --- a/apps/ops/src/layouts/MainLayout.vue +++ b/apps/ops/src/layouts/MainLayout.vue @@ -168,7 +168,7 @@