generated from richard-unterberg/ts-react-vike-start
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
52 lines (49 loc) · 1.63 KB
/
vite.config.ts
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
import path from 'path'
import react from '@vitejs/plugin-react'
// eslint-disable-next-line import/no-extraneous-dependencies
import { visualizer } from 'rollup-plugin-visualizer'
import vike from 'vike/plugin'
// eslint-disable-next-line import/no-extraneous-dependencies
import { defineConfig, PluginOption } from 'vite'
import { AppConfig } from './lib/constants'
// to analyze bundle, run `ANALYZE=true npm run build`
const analyze = process.env.ANALYZE === 'true'
export default defineConfig({
base: AppConfig.viteBaseUrl, // remove for using root
plugins: [
react(),
vike({ prerender: true, trailingSlash: true }),
analyze &&
(visualizer({
template: 'treemap',
open: true,
filename: 'bundle-analyze.html', // will be saved in project's root
}) as PluginOption),
],
optimizeDeps: {
include: ['react/jsx-runtime', './renderer/onRenderClient'],
},
server: {
port: 5247,
},
preview: {
port: 4248,
},
ssr: {
noExternal: ['tailwind-styled-components', 'wavefile-reader', 'riff-file', 'react-dropzone'],
},
resolve: {
alias: {
'#utils': path.resolve(__dirname, './lib/utils/'),
'#hooks': path.resolve(__dirname, './lib/hooks/'),
'#types': path.resolve(__dirname, './lib/types/'),
'#lamejs': path.resolve(__dirname, './lib/lamejs/'),
'#lib': path.resolve(__dirname, './lib/'),
'#pages': path.resolve(__dirname, './pages/'),
'#layouts': path.resolve(__dirname, './layouts/'),
'#renderer': path.resolve(__dirname, './renderer/'),
'#components': path.resolve(__dirname, './components/'),
'#root': __dirname,
},
},
})