-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathvite.config.ts
More file actions
54 lines (49 loc) · 1.54 KB
/
vite.config.ts
File metadata and controls
54 lines (49 loc) · 1.54 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
import { existsSync } from 'node:fs'
import { fileURLToPath } from 'node:url'
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import istanbul from 'vite-plugin-istanbul'
import { keycloakify } from 'keycloakify/vite-plugin'
import * as path from 'path'
const sharedBuildModuleUrl = [
new URL('./build/spaVersionMetadata.mjs', import.meta.url),
new URL('../build/spaVersionMetadata.mjs', import.meta.url),
new URL('../../build/spaVersionMetadata.mjs', import.meta.url)
].find((candidate) => existsSync(fileURLToPath(candidate)))
if (!sharedBuildModuleUrl) {
throw new Error('Could not locate build/spaVersionMetadata.mjs')
}
const { createSpaVersionDefines, resolveProjectRoot } = (await import(sharedBuildModuleUrl.href)) as {
createSpaVersionDefines: (projectRoot: string) => Record<string, string>
resolveProjectRoot: (configDir: string) => string
}
const projectRoot = resolveProjectRoot(__dirname)
export default defineConfig({
base: '/modern',
define: createSpaVersionDefines(projectRoot),
plugins: [
react(),
istanbul({
cypress: true,
requireEnv: false
}),
keycloakify({
themeName: 'dataverse-spa',
keycloakifyBuildDirPath: './dist_keycloak',
accountThemeImplementation: 'none',
keycloakVersionTargets: {
'22-to-25': false,
'all-other-versions': 'dv-spa-kc-theme.jar'
}
})
],
preview: {
port: 5173
},
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'),
'@tests': path.resolve(__dirname, 'tests')
}
}
})