@@ -2,14 +2,17 @@ import type { ForgeConfig } from "@electron-forge/shared-types";
22import path from "path" ;
33import fs from "fs-extra" ;
44
5- function removeNextjsModules ( exceptionList : string [ ] , nodeModulesPath : string ) {
6- fs . readdirSync ( nodeModulesPath ) . forEach ( ( module ) => {
7- if ( ! exceptionList . includes ( module ) ) {
8- fs . removeSync ( path . join ( nodeModulesPath , module ) ) ;
9- }
5+ function moveModule ( moduleList : string [ ] , resourcePath : string ) {
6+ moduleList . forEach ( ( module ) => {
7+ fs . moveSync (
8+ path . join ( resourcePath , module ) ,
9+ path . join ( resourcePath , "app/node_modules" , module ) ,
10+ ) ;
1011 } ) ;
1112}
1213
14+ const electronModules = [ "electron-serve" ] ;
15+
1316const config : ForgeConfig = {
1417 outDir : "out-desktop" ,
1518 packagerConfig : {
@@ -25,35 +28,29 @@ const config: ForgeConfig = {
2528 return false ;
2629 } else if ( path . match ( / d e s k t o p / ) ) {
2730 return false ;
28- } else if ( path . match ( / n o d e _ m o d u l e s / ) ) {
29- return false ;
3031 }
3132 return true ;
3233 } ,
34+ extraResource : electronModules . map ( ( module ) => `node_modules/${ module } ` ) ,
3335 afterComplete : [
3436 ( extractPath , electronVersion , platform , arch , done ) => {
3537 // We need electron-serve to exist inside the electron build's node_modules.
3638 // All other modules from nextjs are not needed and can be removed.
37-
38- const electronModules = [ "electron-serve" ] ;
3939 if ( platform === "win32" ) {
40- removeNextjsModules (
40+ moveModule (
4141 electronModules ,
42- path . join ( extractPath , "resources/app/node_modules " ) ,
43- ) ;
42+ path . join ( extractPath , "resources" ) ,
43+ )
4444 } else if ( platform === "darwin" ) {
45- removeNextjsModules (
45+ moveModule (
4646 electronModules ,
47- path . join (
48- extractPath ,
49- "chisel-editor.app/Contents/Resources/app/node_modules" ,
50- ) ,
51- ) ;
47+ path . join ( extractPath , "chisel-editor.app/Contents/Resources" ) ,
48+ )
5249 } else if ( platform === "linux" ) {
53- removeNextjsModules (
50+ moveModule (
5451 electronModules ,
55- path . join ( extractPath , "resources/app/node_modules " ) ,
56- ) ;
52+ path . join ( extractPath , "resources" ) ,
53+ )
5754 }
5855
5956 done ( ) ;
0 commit comments