perf(web): разбиение бандла и runtime-оптимизации

- autoCodeSplitting роутов: начальный JS 1012КБ/298гз → 426КБ/131гз (−58%),
  админ-чанки грузятся по требованию
- фильтры грида: убрана искусственная задержка 200мс
- SystemMonitorPopover: поллинг 4 запросов/30с только при открытом поповере
- /me в beforeLoad через ensureQueryData (кэш вместо запроса на каждую навигацию)
- глобальный staleTime 30с (мутации инвалидируют кэш явно)
- режим analyze + rollup-plugin-visualizer (pnpm --filter web analyze)
This commit is contained in:
Denozordec
2026-09-23 14:51:14 +07:00
parent 87f35631b4
commit 15073f53d9
5 changed files with 46 additions and 31 deletions
+11 -3
View File
@@ -3,12 +3,20 @@ import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
import { TanStackRouterVite } from '@tanstack/router-vite-plugin'
import { visualizer } from 'rollup-plugin-visualizer'
export default defineConfig({
export default defineConfig(({ mode }) => ({
plugins: [
TanStackRouterVite({ routesDirectory: './src/routes' }),
TanStackRouterVite({
routesDirectory: './src/routes',
autoCodeSplitting: true,
}),
react(),
tailwindcss(),
// pnpm --filter web analyze → dist/stats.html
...(mode === 'analyze'
? [visualizer({ filename: 'dist/stats.html', gzipSize: true })]
: []),
],
resolve: {
alias: {
@@ -32,4 +40,4 @@ export default defineConfig({
'/oauth': 'http://localhost:8080',
},
},
})
}))