-
Notifications
You must be signed in to change notification settings - Fork 30
/
vite.config.mts
57 lines (55 loc) · 1.27 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
import prefresh from '@prefresh/vite';
import path from 'path';
import { defineConfig } from 'vite';
import obfuscatorPlugin from 'vite-plugin-javascript-obfuscator';
const server = {
host: '0.0.0.0',
port: 3000,
https: {
cert: './tls/dev.cert',
key: './tls/dev.key',
},
};
export default defineConfig({
base: '/bg1/',
root: 'src',
resolve: {
alias: {
react: 'preact/compat',
'react-dom': 'preact/compat',
'@/': path.join(__dirname, 'src') + '/',
},
},
build: {
outDir: '../dist',
emptyOutDir: false,
rollupOptions: {
input: ['src/bg1.tsx', 'src/bg1.css', 'src/responder.html'],
output: {
entryFileNames: '[name].js',
chunkFileNames: '[name].js',
assetFileNames: '[name][extname]',
},
},
},
optimizeDeps: { include: ['preact', 'preact/hooks', 'preact/compat'] },
esbuild: {
charset: 'ascii',
jsxInject: `import * as React from 'react'`,
},
server,
preview: server,
plugins: [
obfuscatorPlugin({
include: ['src/api/diu/*'],
apply: 'build',
options: {
seed: 1,
splitStrings: true,
stringArrayThreshold: 1,
stringArrayEncoding: ['base64'],
},
}),
+(process.env.HMR ?? 0) ? prefresh() : null,
],
});