optimize chunks
Deploy frontend / frontend (push) Successful in 1m6s

This commit is contained in:
2024-12-02 18:16:33 +02:00
parent dab15d1886
commit ab66c5a40c
3 changed files with 69 additions and 2 deletions
+2 -1
View File
@@ -13,7 +13,8 @@
"build-only": "vite build",
"type-check": "vue-tsc --build --force",
"lint": "eslint . --fix",
"format": "prettier --write src/"
"format": "prettier --write src/",
"vite-bundle-visualizer": "npx vite-bundle-visualizer"
},
"dependencies": {
"@f3ve/vue-markdown-it": "^0.2.3",
+67
View File
@@ -15,6 +15,73 @@ export default defineConfig(({ mode }) => {
build: {
sourcemap: mode === 'development',
reportCompressedSize: false,
rollupOptions: {
output: {
manualChunks(id) {
if (id.includes('node_modules')) {
// PouchDB и его плагины
if (id.includes('pouchdb')) {
return 'vendor_pouchdb'
}
// QR-коды и библиотеки для работы с ними
if (id.includes('qr-code-styling')) {
return 'vendor_qr-code-styling'
}
// PrimeVue и связанные модули
if (id.includes('primevue')) {
return 'vendor_primevue'
}
// SVGO и зависимости
if (id.includes('svgo') || id.includes('@trysound')) {
return 'vendor_svgo'
}
// Танстэк Vue Query и ядро
if (id.includes('@tanstack')) {
return 'vendor_tanstack-query'
}
// Vue и связанные библиотеки
if (id.includes('vue')) {
return 'vendor_vue'
}
if (id.includes('css-tree')) {
return 'vendor_css-tree'
}
if (id.includes('css-what')) {
return 'vendor_css-what'
}
if (id.includes('domutils')) {
return 'vendor_domutils'
}
if (id.includes('source-map-js')) {
return 'vendor_source-map-js'
}
if (id.includes('csso')) {
return 'vendor_csso'
}
if (id.includes('entities')) {
return 'vendor_entities'
}
// Остальные модули из node_modules в vendor
return 'vendor'
}
// По умолчанию ничего не делим
return null
},
},
},
},
plugins: [
vue(),
-1
View File
@@ -7,7 +7,6 @@
"node": ">=v20.10.0",
"pnpm": ">=8.15.9"
},
"packageManager": "pnpm@8.15.9+sha512.499434c9d8fdd1a2794ebf4552b3b25c0a633abcee5bb15e7b5de90f32f47b513aca98cd5cfd001c31f0db454bc3804edccd578501e4ca293a6816166bbd9f81",
"workspaces": {
"packages": [
"apps/*",