perf: optimize webapp asset delivery, split admin webapp bundle

This commit is contained in:
3252a8
2026-05-21 10:17:23 +03:00
parent f2c722bdfc
commit db3611487e
15 changed files with 820 additions and 139 deletions
+36 -31
View File
@@ -8,39 +8,44 @@ import { defineConfig } from "vite";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const templateDir = path.resolve(__dirname, "../backend/bot/app/web/templates");
export default defineConfig({
resolve: {
alias: {
$lib: path.resolve(__dirname, "src/lib"),
$components: path.resolve(__dirname, "src/lib/components"),
},
},
plugins: [tailwindcss(), svelte()],
build: {
outDir: templateDir,
emptyOutDir: false,
minify: false,
sourcemap: false,
cssCodeSplit: false,
lib: {
entry: path.resolve(__dirname, "src/main.js"),
name: "SubscriptionWebApp",
formats: ["iife"],
fileName: () => "subscription_webapp.js",
cssFileName: "subscription_webapp",
},
rolldownOptions: {
checks: {
pluginTimings: false,
export default defineConfig(({ mode }) => {
const isAdminBuild = mode === "admin";
const outputBase = isAdminBuild ? "subscription_webapp_admin" : "subscription_webapp";
return {
resolve: {
alias: {
$lib: path.resolve(__dirname, "src/lib"),
$components: path.resolve(__dirname, "src/lib/components"),
},
output: {
assetFileNames: (assetInfo) => {
if (assetInfo.name && assetInfo.name.endsWith(".css")) {
return "subscription_webapp.css";
}
return "subscription_webapp.[name][extname]";
},
plugins: [tailwindcss(), svelte()],
build: {
outDir: templateDir,
emptyOutDir: false,
minify: false,
sourcemap: false,
cssCodeSplit: false,
lib: {
entry: path.resolve(__dirname, isAdminBuild ? "src/adminEntry.js" : "src/main.js"),
name: isAdminBuild ? "SubscriptionWebAppAdmin" : "SubscriptionWebApp",
formats: ["iife"],
fileName: () => `${outputBase}.js`,
cssFileName: outputBase,
},
rolldownOptions: {
checks: {
pluginTimings: false,
},
output: {
assetFileNames: (assetInfo) => {
if (assetInfo.name && assetInfo.name.endsWith(".css")) {
return `${outputBase}.css`;
}
return `${outputBase}.[name][extname]`;
},
},
},
},
},
};
});