-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
51 lines (45 loc) · 1.34 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
import { defineConfig, Plugin } from 'vite'
import { getDirname } from '@adonisjs/core/helpers'
import inertia from '@adonisjs/inertia/client'
import react from '@vitejs/plugin-react'
import adonisjs from '@adonisjs/vite/client'
import istanbulPluginUntyped, { IstanbulPluginOptions } from 'vite-plugin-istanbul'
import env from '#start/env'
// The types for the default export of 'vite-plugin-istanbul' are not working correctly
const istanbulPlugin = istanbulPluginUntyped as unknown as (opts?: IstanbulPluginOptions) => Plugin
export default defineConfig({
plugins: [
inertia({ ssr: { enabled: true, entrypoint: 'inertia/app/ssr.tsx' } }),
react(),
adonisjs({
entrypoints: ['inertia/app/app.tsx'],
reload: ['resources/views/**/*.edge'],
}),
// Enable browser coverage collection if NYC_COVERAGE is set
...(process.env.NYC_COVERAGE
? [
istanbulPlugin({
exclude: ['inertia/app/ssr.tsx'],
extension: ['.js', '.ts', '.tsx'],
}),
]
: []),
],
build: {
sourcemap: process.env.NODE_ENV !== 'production',
},
server: {
hmr: {
port: env.get('PORT', 3000) + 1,
},
},
/**
* Define aliases for importing modules from
* your frontend code
*/
resolve: {
alias: {
'~/': `${getDirname(import.meta.url)}/inertia/`,
},
},
})