@@ -4,118 +4,120 @@ import path from 'node:path'
44import copy from 'rollup-plugin-copy'
55import tailwindcss from '@tailwindcss/vite'
66
7- export default defineConfig ( {
8- main : {
9- plugins : [
10- externalizeDepsPlugin ( ) ,
11- copy ( {
12- targets : [
13- { src : 'translations/*.json' , dest : 'out/main/translations' } ,
14- ] ,
15- hook : 'writeBundle'
16- } )
17- ] ,
18- build : {
19- outDir : 'out/main' ,
20- minify : 'esbuild' ,
21- sourcemap : false ,
22- target : 'node22' ,
23- rollupOptions : {
24- input : {
25- index : path . resolve ( __dirname , 'src/main/index.ts' ) ,
26- server : path . resolve ( __dirname , 'src/main/server.ts' ) ,
27- } ,
28- external : [ 'electron' , 'child_process' , 'fs' , 'path' , 'net' , 'url' , 'zlib' , 'crypto' , 'stream' ] ,
29- output : {
30- manualChunks : undefined
7+ export default defineConfig ( ( ) => {
8+ return {
9+ main : {
10+ plugins : [
11+ externalizeDepsPlugin ( ) ,
12+ copy ( {
13+ targets : [
14+ { src : 'translations/*.json' , dest : 'out/main/translations' } ,
15+ ] ,
16+ hook : 'writeBundle'
17+ } )
18+ ] ,
19+ build : {
20+ outDir : 'out/main' ,
21+ minify : 'esbuild' ,
22+ sourcemap : false ,
23+ target : 'node22' ,
24+ rollupOptions : {
25+ input : {
26+ index : path . resolve ( __dirname , 'src/main/index.ts' ) ,
27+ server : path . resolve ( __dirname , 'src/main/server.ts' ) ,
28+ } ,
29+ external : [ 'electron' , 'child_process' , 'fs' , 'path' , 'net' , 'url' , 'zlib' , 'crypto' , 'stream' ] ,
30+ output : {
31+ manualChunks : undefined
32+ }
3133 }
32- }
33- } ,
34- resolve : {
35- alias : {
36- '@main' : path . resolve ( __dirname , 'src/main' )
37- }
38- }
39- } ,
40- preload : {
41- plugins : [
42- externalizeDepsPlugin ( )
43- ] ,
44- build : {
45- outDir : 'out/preload' ,
46- lib : {
47- entry : path . resolve ( __dirname , 'src/preload/index.ts' ) ,
48- formats : [ 'cjs' ]
4934 } ,
50- rollupOptions : {
51- external : [ 'electron' ]
52- }
53- }
54- } ,
55- renderer : {
56- root : path . resolve ( __dirname , 'src' ) ,
57- build : {
58- outDir : path . resolve ( __dirname , 'out/renderer' ) ,
59- minify : 'esbuild' ,
60- sourcemap : false ,
61- rollupOptions : {
62- input : {
63- index : path . resolve ( __dirname , 'src/index.html' ) ,
64- group : path . resolve ( __dirname , 'src/group.html' ) ,
65- history : path . resolve ( __dirname , 'src/history.html' ) ,
66- device : path . resolve ( __dirname , 'src/device.html' ) ,
67- settings : path . resolve ( __dirname , 'src/settings.html' ) ,
68- monsters : path . resolve ( __dirname , 'src/monsters.html' ) ,
69- update : path . resolve ( __dirname , 'src/update.html' ) ,
70- } ,
71- output : {
72- manualChunks ( id : string ) {
73- if ( id . includes ( 'node_modules' ) ) {
74- if ( id . includes ( 'react' ) || id . includes ( 'react-dom' ) ) {
75- return 'vendor-react' ;
76- }
77- if ( id . includes ( 'socket.io-client' ) ) {
78- return 'vendor-socket' ;
79- }
80- return 'vendor' ;
81- }
82- }
35+ resolve : {
36+ alias : {
37+ '@main' : path . resolve ( __dirname , 'src/main' )
8338 }
8439 }
8540 } ,
86- plugins : [
87- react ( {
88- babel : {
89- plugins : [ 'babel-plugin-react-compiler' ] ,
41+ preload : {
42+ plugins : [
43+ externalizeDepsPlugin ( )
44+ ] ,
45+ build : {
46+ outDir : 'out/preload' ,
47+ lib : {
48+ entry : path . resolve ( __dirname , 'src/preload/index.ts' ) ,
49+ formats : [ 'cjs' ]
9050 } ,
91- } ) ,
92- tailwindcss ( ) ,
93- copy ( {
94- targets : [
95- { src : 'src/icons/*' , dest : 'out/renderer/icons' } ,
96- { src : 'translations/*.json' , dest : 'out/renderer/translations' } ,
97- ] ,
98- hook : 'writeBundle'
99- } ) ,
100- ] ,
101- resolve : {
102- alias : {
103- '@' : path . resolve ( __dirname , 'src/renderer' ) ,
104- '@shared' : path . resolve ( __dirname , 'src/renderer/src/shared' ) ,
105- '@server' : path . resolve ( __dirname , 'src/server' ) ,
106- '@utils' : path . resolve ( __dirname , 'src/utils' )
51+ rollupOptions : {
52+ external : [ 'electron' ]
53+ }
10754 }
10855 } ,
109- server : {
110- port : 5173 ,
111- proxy : {
112- '^/api' : {
113- target : 'http://localhost:8989' ,
114- changeOrigin : true ,
115- secure : false
56+ renderer : {
57+ root : path . resolve ( __dirname , 'src' ) ,
58+ build : {
59+ outDir : path . resolve ( __dirname , 'out/renderer' ) ,
60+ minify : 'esbuild' ,
61+ sourcemap : false ,
62+ rollupOptions : {
63+ input : {
64+ index : path . resolve ( __dirname , 'src/index.html' ) ,
65+ group : path . resolve ( __dirname , 'src/group.html' ) ,
66+ history : path . resolve ( __dirname , 'src/history.html' ) ,
67+ device : path . resolve ( __dirname , 'src/device.html' ) ,
68+ settings : path . resolve ( __dirname , 'src/settings.html' ) ,
69+ monsters : path . resolve ( __dirname , 'src/monsters.html' ) ,
70+ update : path . resolve ( __dirname , 'src/update.html' ) ,
71+ } ,
72+ output : {
73+ manualChunks ( id : string ) {
74+ if ( id . includes ( 'node_modules' ) ) {
75+ if ( id . includes ( 'react' ) || id . includes ( 'react-dom' ) ) {
76+ return 'vendor-react' ;
77+ }
78+ if ( id . includes ( 'socket.io-client' ) ) {
79+ return 'vendor-socket' ;
80+ }
81+ return 'vendor' ;
82+ }
83+ }
84+ }
85+ }
86+ } ,
87+ plugins : [
88+ react ( {
89+ babel : {
90+ plugins : [ 'babel-plugin-react-compiler' ] ,
91+ } ,
92+ } ) ,
93+ tailwindcss ( ) ,
94+ copy ( {
95+ targets : [
96+ { src : 'src/icons/*' , dest : 'out/renderer/icons' } ,
97+ { src : 'translations/*.json' , dest : 'out/renderer/translations' } ,
98+ ] ,
99+ hook : 'writeBundle'
100+ } ) ,
101+ ] ,
102+ resolve : {
103+ alias : {
104+ '@' : path . resolve ( __dirname , 'src/renderer' ) ,
105+ '@shared' : path . resolve ( __dirname , 'src/renderer/src/shared' ) ,
106+ '@server' : path . resolve ( __dirname , 'src/server' ) ,
107+ '@utils' : path . resolve ( __dirname , 'src/utils' )
108+ }
109+ } ,
110+ server : {
111+ port : 5173 ,
112+ proxy : {
113+ '^/api' : {
114+ target : 'http://localhost:8989' ,
115+ changeOrigin : true ,
116+ secure : false
117+ }
116118 }
117119 }
118120 }
119121 }
120- } )
122+ } ) ;
121123
0 commit comments