UNPKG

@wuchuheng/electron

Version:
63 lines (57 loc) 2.16 kB
import { MakerDeb } from '@electron-forge/maker-deb'; import { MakerRpm } from '@electron-forge/maker-rpm'; import { MakerSquirrel } from '@electron-forge/maker-squirrel'; import { MakerZIP } from '@electron-forge/maker-zip'; import { AutoUnpackNativesPlugin } from '@electron-forge/plugin-auto-unpack-natives'; import { FusesPlugin } from '@electron-forge/plugin-fuses'; import { WebpackPlugin } from '@electron-forge/plugin-webpack'; import type { ForgeConfig } from '@electron-forge/shared-types'; import { FuseV1Options, FuseVersion } from '@electron/fuses'; import { mainConfig } from './webpack.main.config'; import { rendererConfig } from './webpack.renderer.config'; import path from 'path'; const iconDir = path.join(__dirname, 'src/renderer/assets/genLogo'); const config: ForgeConfig = { packagerConfig: { icon: path.join(iconDir, 'icon'), asar: true, }, rebuildConfig: {}, makers: [ new MakerSquirrel({ setupIcon: path.join(iconDir, 'icon.ico') }), new MakerZIP({}, ['darwin']), new MakerRpm({ options: { icon: path.join(iconDir, 'icon.png') } }), new MakerDeb({ options: { icon: path.join(iconDir, 'icon.png') } }), ], plugins: [ new AutoUnpackNativesPlugin({}), new WebpackPlugin({ mainConfig, renderer: { config: rendererConfig, entryPoints: [ { html: './src/renderer/renderer.html', js: './src/renderer/renderer.ts', name: 'main_window', preload: { js: './src/preload/preload.ts', }, }, ], }, }), // Fuses are used to enable/disable various Electron functionality // at package time, before code signing the application new FusesPlugin({ version: FuseVersion.V1, [FuseV1Options.RunAsNode]: false, [FuseV1Options.EnableCookieEncryption]: true, [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, [FuseV1Options.EnableNodeCliInspectArguments]: false, [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, [FuseV1Options.OnlyLoadAppFromAsar]: true, }), ], }; export default config;