mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-05 18:18:51 +01:00
📦 refactor: Add Additional Chunking to Vite Config (#7544)
* ⚡ refactor: Add Additional Chunking to Vite Config
* chore: Integrate rollup-plugin-visualizer for bundle analysis in Vite config & add @codemirror chunks
This commit is contained in:
parent
b45ff8e4ed
commit
deb8a00e27
3 changed files with 111 additions and 8 deletions
|
|
@ -1,9 +1,10 @@
|
|||
import path, { resolve } from 'path';
|
||||
import path from 'path';
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
import { VitePWA } from 'vite-plugin-pwa';
|
||||
import { defineConfig } from 'vite';
|
||||
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
||||
import { visualizer } from 'rollup-plugin-visualizer';
|
||||
import { compression } from 'vite-plugin-compression2';
|
||||
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
||||
import type { Plugin } from 'vite';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
|
|
@ -84,7 +85,15 @@ export default defineConfig({
|
|||
compression({
|
||||
threshold: 10240,
|
||||
}),
|
||||
],
|
||||
process.env.VITE_BUNDLE_ANALYSIS === 'true' &&
|
||||
visualizer({
|
||||
filename: 'dist/bundle-analysis.html',
|
||||
open: true,
|
||||
gzipSize: true,
|
||||
brotliSize: true,
|
||||
template: 'treemap', // 'treemap' | 'sunburst' | 'network'
|
||||
}),
|
||||
].filter(Boolean),
|
||||
publicDir: './public',
|
||||
build: {
|
||||
sourcemap: process.env.NODE_ENV === 'development',
|
||||
|
|
@ -128,6 +137,41 @@ export default defineConfig({
|
|||
return 'security-ui';
|
||||
}
|
||||
|
||||
if (id.includes('@codemirror/view')) {
|
||||
return 'codemirror-view';
|
||||
}
|
||||
if (id.includes('@codemirror/state')) {
|
||||
return 'codemirror-state';
|
||||
}
|
||||
if (id.includes('@codemirror/language')) {
|
||||
return 'codemirror-language';
|
||||
}
|
||||
if (id.includes('@codemirror')) {
|
||||
return 'codemirror-core';
|
||||
}
|
||||
|
||||
if (id.includes('react-markdown') || id.includes('remark-') || id.includes('rehype-')) {
|
||||
return 'markdown-processing';
|
||||
}
|
||||
if (id.includes('monaco-editor') || id.includes('@monaco-editor')) {
|
||||
return 'code-editor';
|
||||
}
|
||||
if (id.includes('react-window') || id.includes('react-virtual')) {
|
||||
return 'virtualization';
|
||||
}
|
||||
if (id.includes('zod') || id.includes('yup') || id.includes('joi')) {
|
||||
return 'validation';
|
||||
}
|
||||
if (id.includes('axios') || id.includes('ky') || id.includes('fetch')) {
|
||||
return 'http-client';
|
||||
}
|
||||
if (id.includes('react-spring') || id.includes('react-transition-group')) {
|
||||
return 'animations';
|
||||
}
|
||||
if (id.includes('react-select') || id.includes('downshift')) {
|
||||
return 'advanced-inputs';
|
||||
}
|
||||
|
||||
// Existing chunks
|
||||
if (id.includes('@radix-ui')) {
|
||||
return 'radix-ui';
|
||||
|
|
@ -138,7 +182,10 @@ export default defineConfig({
|
|||
if (id.includes('node_modules/highlight.js')) {
|
||||
return 'markdown_highlight';
|
||||
}
|
||||
if (id.includes('node_modules/hast-util-raw') || id.includes('node_modules/katex')) {
|
||||
if (id.includes('katex') || id.includes('node_modules/katex')) {
|
||||
return 'math-katex';
|
||||
}
|
||||
if (id.includes('node_modules/hast-util-raw')) {
|
||||
return 'markdown_large';
|
||||
}
|
||||
if (id.includes('@tanstack')) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue