|
1 |
| -import { defineConfig, UserConfigExport } from 'vite' |
| 1 | +import { defineConfig, BuildOptions } from 'vite' |
2 | 2 | import electron from 'vite-plugin-electron'
|
3 | 3 | import react from '@vitejs/plugin-react-swc'
|
4 | 4 | import svgr from 'vite-plugin-svgr'
|
5 |
| -import path from 'path' |
| 5 | +import * as path from 'path' |
6 | 6 |
|
7 | 7 | const srcAliases = ['backend', 'frontend', 'common'].map((srcFolder) => {
|
8 | 8 | return {
|
9 | 9 | find: srcFolder,
|
10 | 10 | replacement: path.resolve(__dirname, `./src/${srcFolder}`)
|
11 | 11 | }
|
12 | 12 | })
|
| 13 | +srcAliases.push({ |
| 14 | + find: '~@fontsource', |
| 15 | + replacement: path.resolve(__dirname, 'node_modules/@fontsource') |
| 16 | +}) |
13 | 17 |
|
14 |
| -const electronViteConfig: UserConfigExport = { |
15 |
| - build: { outDir: 'build/electron', target: 'esnext' }, |
16 |
| - resolve: { |
17 |
| - alias: [ |
18 |
| - { |
19 |
| - find: '~@fontsource', |
20 |
| - replacement: path.resolve(__dirname, 'node_modules/@fontsource') |
21 |
| - }, |
22 |
| - ...srcAliases |
23 |
| - ] |
24 |
| - } |
| 18 | +const otherBuildOptions: BuildOptions = { |
| 19 | + reportCompressedSize: false, |
| 20 | + target: 'esnext' |
25 | 21 | }
|
26 | 22 |
|
27 | 23 | export default defineConfig({
|
28 | 24 | build: {
|
29 |
| - target: 'esnext', |
30 |
| - outDir: 'build' |
| 25 | + outDir: 'build', |
| 26 | + ...otherBuildOptions |
31 | 27 | },
|
32 | 28 | resolve: {
|
33 |
| - alias: [ |
34 |
| - { |
35 |
| - find: '~@fontsource', |
36 |
| - replacement: path.resolve(__dirname, 'node_modules/@fontsource') |
37 |
| - }, |
38 |
| - ...srcAliases |
39 |
| - ] |
| 29 | + alias: srcAliases |
40 | 30 | },
|
41 | 31 | plugins: [
|
42 | 32 | react(),
|
43 | 33 | electron([
|
44 | 34 | {
|
45 | 35 | entry: 'src/backend/main.ts',
|
46 |
| - vite: electronViteConfig |
| 36 | + vite: { |
| 37 | + build: { |
| 38 | + outDir: 'build/main', |
| 39 | + ...otherBuildOptions |
| 40 | + }, |
| 41 | + resolve: { |
| 42 | + alias: srcAliases |
| 43 | + }, |
| 44 | + clearScreen: false |
| 45 | + } |
47 | 46 | },
|
48 | 47 | {
|
49 | 48 | entry: 'src/backend/preload.ts',
|
50 |
| - vite: electronViteConfig, |
| 49 | + vite: { |
| 50 | + build: { |
| 51 | + outDir: 'build/preload', |
| 52 | + ...otherBuildOptions |
| 53 | + }, |
| 54 | + resolve: { |
| 55 | + alias: srcAliases |
| 56 | + }, |
| 57 | + clearScreen: false |
| 58 | + }, |
51 | 59 | onstart: ({ reload }) => reload()
|
52 | 60 | }
|
53 | 61 | ]),
|
|
0 commit comments