-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathforge.config.ts
60 lines (57 loc) · 1.85 KB
/
forge.config.ts
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
58
59
60
// When ts-node runs this file it doesn't seem to use our tsconfig.json project
// settings, so we need to reference custom package definitions manually.
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
/// <reference path="./src/custom-package-definitions.d.ts" />
import { MakerDeb } from '@electron-forge/maker-deb';
import { MakerDMG } from '@electron-forge/maker-dmg';
import { MakerZIP } from '@electron-forge/maker-zip';
import { AutoUnpackNativesPlugin } from '@electron-forge/plugin-auto-unpack-natives';
import { WebpackPlugin } from '@electron-forge/plugin-webpack';
import ForgeExternalsPlugin from '@timfish/forge-externals-plugin';
import { mainConfig } from './webpack.main.config';
import { rendererConfig } from './webpack.renderer.config';
import type { ForgeConfig } from '@electron-forge/shared-types';
const config: ForgeConfig = {
packagerConfig: {
asar: true,
extraResource: [ './wp-files' ],
executableName: process.platform !== 'darwin' ? 'local-environment' : undefined,
},
rebuildConfig: {},
makers: [
new MakerZIP( {}, [ 'darwin' ] ),
new MakerDMG( {}, [ 'darwin' ] ),
new MakerDeb( {
options: {
genericName: 'WordPress Local Dev',
categories: [ 'Utility' ],
name: 'local-environment',
},
} ),
],
plugins: [
new AutoUnpackNativesPlugin( {} ),
new WebpackPlugin( {
mainConfig,
renderer: {
config: rendererConfig,
entryPoints: [
{
html: './src/index.html',
js: './src/renderer.ts',
name: 'main_window',
preload: {
js: './src/preload.ts',
},
},
],
},
...( process.env.PORT && {
port: parseInt( process.env.PORT, 10 ),
} ),
} ),
// This plugin bundles the externals defined in the Webpack config file.
new ForgeExternalsPlugin( { externals: Object.keys( mainConfig.externals ?? {} ) } ),
],
};
export default config;