@@ -19,6 +19,9 @@ const appEnv = process.env.APP_ENV ?? 'production';
19
19
const appEnvIsProd = appEnv === 'production' ;
20
20
const appEnvIsDev = appEnv === 'development' ;
21
21
22
+ // Only load dev tools when running in development.
23
+ const appEnableDevTools = appEnvIsDev && ! app . isPackaged ;
24
+
22
25
const appPath = app . getAppPath ( ) ;
23
26
const appElectronPath = path . join ( appPath , 'electron' ) ;
24
27
const appBuildPath = path . join ( appElectronPath , 'build' ) ;
@@ -65,7 +68,7 @@ const createMainWindow = async (): Promise<void> => {
65
68
show : false , // hidden until window loads contents to avoid a blank screen
66
69
webPreferences : {
67
70
preload : path . join ( appPreloadPath , 'index.js' ) ,
68
- devTools : ! app . isPackaged ,
71
+ devTools : appEnableDevTools ,
69
72
/**
70
73
* Security Best Practices
71
74
* https://www.electronjs.org/docs/latest/tutorial/security
@@ -114,6 +117,12 @@ const createMainWindow = async (): Promise<void> => {
114
117
// Prepare the renderer once the app is ready
115
118
app . on ( 'ready' , ( ) => {
116
119
runInBackground ( async ( ) => {
120
+ if ( appEnableDevTools ) {
121
+ const { installChromeExtensions } = await import (
122
+ './chrome/install-extension'
123
+ ) ;
124
+ await installChromeExtensions ( ) ;
125
+ }
117
126
await createMainWindow ( ) ;
118
127
} ) ;
119
128
} ) ;
0 commit comments