From d4dda4a64d18ad3fed9b9591cbacde119264b8a2 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sun, 18 Dec 2022 18:50:21 +0100 Subject: [PATCH] Add manual chunking for libraries and AlekSIS apps --- aleksis/core/vite.config.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/aleksis/core/vite.config.js b/aleksis/core/vite.config.js index 2da114abc..12a7bcc5b 100644 --- a/aleksis/core/vite.config.js +++ b/aleksis/core/vite.config.js @@ -31,6 +31,28 @@ export default defineConfig({ manifest: true, rollupOptions: { input: django_values.coreEntrypoint, + output: { + manualChunks(id) { + // Split big libraries into own chunks + if (id.includes("node_modules/vue")) { + return "vue"; + } else if (id.includes("node_modules/apollo")) { + return "apollo"; + } else if (id.includes("node_modules/graphql")) { + return "graphql"; + } else if (id.includes("node_modules")) { + // Fallback for all other libraries + return "vendor"; + } + + // Split each AlekSIS app in its own chunk + for (const [appPackage, ep] of Object.entries(django_values.appEntrypoints)) { + if (id.includes(ep)) { + return appPackage; + } + } + }, + }, }, }, server: { -- GitLab