-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvite.config.ts
35 lines (33 loc) · 1015 Bytes
/
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
import { compileLitTemplates } from '@lit-labs/compiler'
import typescript from '@rollup/plugin-typescript'
import UnheadVite from '@unhead/addons/vite'
import { builtinModules } from 'node:module'
import { type Plugin, defineConfig, mergeConfig, splitVendorChunkPlugin } from 'vite'
import { VitePWA } from 'vite-plugin-pwa'
import tsconfigPaths from 'vite-tsconfig-paths'
export const baseConfig = defineConfig({
envPrefix: ['A2Z_', 'VITE_'],
build: {
target: 'es2022',
rollupOptions: {
external: [
...builtinModules,
...builtinModules.map(module => `node:${module}`)
]
}
},
esbuild: { legalComments: 'external' },
plugins: [
typescript({
declaration: false,
outDir: 'dist',
transformers: {
before: [compileLitTemplates()]
},
}) as unknown as Plugin,
UnheadVite(),
splitVendorChunkPlugin(),
tsconfigPaths(),
],
})
export default mergeConfig(baseConfig, { plugins: [VitePWA({ injectRegister: 'inline' })] })