forge.config.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import type { ForgeConfig } from '@electron-forge/shared-types'
  2. import { MakerSquirrel } from '@electron-forge/maker-squirrel'
  3. import { MakerZIP } from '@electron-forge/maker-zip'
  4. import { MakerDeb } from '@electron-forge/maker-deb'
  5. import { MakerRpm } from '@electron-forge/maker-rpm'
  6. import { AutoUnpackNativesPlugin } from '@electron-forge/plugin-auto-unpack-natives'
  7. import { WebpackPlugin } from '@electron-forge/plugin-webpack'
  8. import { mainConfig } from './webpack.main.config'
  9. import { rendererConfig } from './webpack.renderer.config'
  10. const config: ForgeConfig = {
  11. packagerConfig: {
  12. asar: true,
  13. icon: './images/icon',
  14. extraResource: ['../server/dist/server'],
  15. },
  16. rebuildConfig: {},
  17. makers: [new MakerSquirrel({}), new MakerZIP({}, ['darwin']), new MakerRpm({}), new MakerDeb({})],
  18. plugins: [
  19. new AutoUnpackNativesPlugin({}),
  20. new WebpackPlugin({
  21. mainConfig,
  22. devContentSecurityPolicy: `default-src * 'unsafe-eval' 'unsafe-inline'`,
  23. renderer: {
  24. config: rendererConfig,
  25. entryPoints: [
  26. {
  27. html: './src/index.html',
  28. js: './src/renderer.tsx',
  29. name: 'main_window',
  30. preload: {
  31. js: './src/preload.ts',
  32. },
  33. },
  34. ],
  35. },
  36. }),
  37. ],
  38. }
  39. export default config