-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathvite.config.ts
More file actions
96 lines (95 loc) · 3.03 KB
/
vite.config.ts
File metadata and controls
96 lines (95 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import tailwindcss from '@tailwindcss/vite';
import react from '@vitejs/plugin-react';
import path from 'node:path';
import { defineConfig } from 'vite';
// https://vite.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
build: {
outDir: 'web',
emptyOutDir: true,
sourcemap: true,
rollupOptions: {
external: ['**/*.test.*', '**/*.spec.*'],
output: {
chunkFileNames: 'assets/[name]-[hash].js',
entryFileNames: 'assets/[name]-[hash].js',
assetFileNames: 'assets/[name]-[hash].[ext]',
manualChunks(id) {
if (id.includes('node_modules')) {
if (id.includes('react') || id.includes('scheduler')) {
return 'vendor-react';
}
if (id.includes('@tanstack')) {
return 'vendor-tanstack';
}
if (id.includes('lucide-react')) {
return 'vendor-lucide';
}
if (
id.includes('mermaid') || id.includes('d3') || id.includes('dagre') || id.includes('cytoscape')
|| id.includes('roughjs')
) {
return 'vendor-viz';
}
if (
id.includes('swagger-ui-react') || id.includes('swagger-client') || id.includes('braintree-web-webhook')
) {
return 'vendor-swagger';
}
if (id.includes('recharts')) {
return 'vendor-charts';
}
if (
id.includes('axios') || id.includes('zod') || id.includes('lodash') || id.includes('ajv')
|| id.includes('class-variance-authority') || id.includes('clsx') || id.includes('tailwind-merge')
) {
return 'vendor-core';
}
if (
id.includes('@radix-ui') || id.includes('vaul') || id.includes('cmdk') || id.includes('sonner')
|| id.includes('react-hook-form') || id.includes('@hookform/resolvers')
) {
return 'vendor-ui';
}
if (id.includes('@monaco-editor') || id.includes('monaco-editor')) {
return 'vendor-monaco';
}
if (id.includes('@stripe')) {
return 'vendor-stripe';
}
if (id.includes('@datadog')) {
return 'vendor-datadog';
}
if (id.includes('react-complex-tree')) {
return 'vendor-tree';
}
if (id.includes('react-dropzone')) {
return 'vendor-dropzone';
}
if (id.includes('recharts') || id.includes('d3') || id.includes('victory') || id.includes('prop-types')) {
return 'vendor-charts';
}
if (
id.includes('react-markdown') || id.includes('remark-') || id.includes('micromark')
|| id.includes('vfile') || id.includes('unist-') || id.includes('decode-named-character-reference')
|| id.includes('mdast-util-') || id.includes('ccount') || id.includes('character-entities')
|| id.includes('escape-string-regexp') || id.includes('markdown-table')
) {
return 'vendor-markdown';
}
if (id.includes('reodotdev') || id.includes('property-information') || id.includes('hast-util-')) {
return 'vendor-html';
}
return 'vendor-misc';
}
},
},
},
},
});