-
Notifications
You must be signed in to change notification settings - Fork 1
/
vite.config.mts
74 lines (73 loc) · 2.14 KB
/
vite.config.mts
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
import react from '@vitejs/plugin-react';
import mkcert from 'vite-plugin-mkcert';
import path from 'path';
import { defineConfig } from 'vite';
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const scalaClassesDir = path.resolve(__dirname, 'demo/target/scala-3.6.2');
const sjs =
mode == 'production'
? path.resolve(scalaClassesDir, 'demo-opt')
: path.resolve(scalaClassesDir, 'demo-fastopt');
const common = path.resolve(__dirname, 'common/');
const webappCommon = path.resolve(common, 'src/main/webapp/');
const imagesCommon = path.resolve(webappCommon, 'images');
const themeConfig = path.resolve(webappCommon, 'theme/theme.config');
const themeSite = path.resolve(webappCommon, 'theme');
const suithemes = path.resolve(webappCommon, 'suithemes');
const publicDirProd = path.resolve(common, 'src/main/public');
const publicDirDev = path.resolve(common, 'src/main/publicdev');
const publicDir = mode == 'production' ? publicDirProd : publicDirDev;
return {
root: 'demo/src/main/webapp',
publicDir: publicDir,
resolve: {
alias: [
{
find: '@sjs',
replacement: sjs,
},
{
find: '/common',
replacement: webappCommon,
},
{
find: '/images',
replacement: imagesCommon,
},
{
find: '../../theme.config',
replacement: themeConfig,
},
{
find: 'theme/site',
replacement: themeSite,
},
{
find: 'suithemes',
replacement: suithemes,
},
],
},
server: {
strictPort: true,
port: 9090,
watch: {
ignored: [
function ignoreThisPath(_path) {
const sjsIgnored =
_path.includes('/target/stream') ||
_path.includes('/zinc/') ||
_path.includes('/classes');
return sjsIgnored;
},
],
},
},
build: {
sourcemap: true,
outDir: path.resolve(__dirname, 'static'),
},
plugins: [mkcert({ hosts: ['localhost', 'local.lucuma.xyz'] }), react()],
};
});