refactor(vite.config): streamline dependency management and enhance SSR configuration

- Removed redundant dependencies from the optimization list and added them to the SSR configuration for better handling.
- Updated chunking strategy to include @dnd-kit packages with React for improved loading order.
- Introduced additional configuration for ES modules to ensure compatibility with global definitions.
This commit is contained in:
chamiakJ
2025-06-03 11:00:41 +05:30
parent e8bf84ef3a
commit 5ec7a2741c

View File

@@ -36,10 +36,6 @@ export default defineConfig(({ command }) => {
'react/jsx-runtime', 'react/jsx-runtime',
'react/jsx-dev-runtime', 'react/jsx-dev-runtime',
'antd', 'antd',
'@dnd-kit/core',
'@dnd-kit/sortable',
'@dnd-kit/modifiers',
'@dnd-kit/utilities',
'react-redux', 'react-redux',
'@reduxjs/toolkit', '@reduxjs/toolkit',
'i18next', 'i18next',
@@ -50,9 +46,26 @@ export default defineConfig(({ command }) => {
'axios', 'axios',
'socket.io-client' 'socket.io-client'
], ],
exclude: [
'@dnd-kit/core',
'@dnd-kit/sortable',
'@dnd-kit/modifiers',
'@dnd-kit/utilities'
],
force: true, // Force re-optimization on every dev server start force: true, // Force re-optimization on every dev server start
}, },
// **SSR Configuration**
ssr: {
noExternal: ['@dnd-kit/core', '@dnd-kit/utilities', '@dnd-kit/sortable', '@dnd-kit/modifiers'],
},
// **Additional Configuration for ES Modules**
define: {
// Ensure global is defined for some packages that expect it
global: 'globalThis',
},
// **Build** // **Build**
build: { build: {
// **Target** // **Target**
@@ -96,8 +109,8 @@ export default defineConfig(({ command }) => {
output: { output: {
// **Enhanced Chunking Strategy** // **Enhanced Chunking Strategy**
manualChunks(id) { manualChunks(id) {
// Core React dependencies // Core React dependencies - include @dnd-kit with React to fix loading order
if (['react', 'react-dom'].includes(id)) return 'react-vendor'; if (['react', 'react-dom'].includes(id) || id.includes('@dnd-kit')) return 'react-vendor';
// Router and navigation // Router and navigation
if (id.includes('react-router-dom') || id.includes('react-router')) return 'router'; if (id.includes('react-router-dom') || id.includes('react-router')) return 'router';
@@ -114,9 +127,6 @@ export default defineConfig(({ command }) => {
// Date and time utilities // Date and time utilities
if (id.includes('moment') || id.includes('dayjs') || id.includes('date-fns')) return 'date-utils'; if (id.includes('moment') || id.includes('dayjs') || id.includes('date-fns')) return 'date-utils';
// Drag and drop
if (id.includes('@dnd-kit')) return 'dnd-kit';
// Charts and visualization // Charts and visualization
if (id.includes('chart') || id.includes('echarts') || id.includes('highcharts') || id.includes('recharts')) return 'charts'; if (id.includes('chart') || id.includes('echarts') || id.includes('highcharts') || id.includes('recharts')) return 'charts';