forge.config.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. const APPLE_API_KEY_ID = process.env.APPLE_API_KEY_ID;
  3. const APPLE_API_KEY_ISSUER_ID = process.env.APPLE_API_KEY_ISSUER_ID;
  4. */
  5. export default {
  6. outDir: 'dist',
  7. packagerConfig: {
  8. icon: 'publish/icon',
  9. dir: [
  10. 'source'
  11. ],
  12. ignore: [
  13. 'publish',
  14. 'third_party',
  15. 'test',
  16. 'tools'
  17. ],
  18. /*
  19. osxNotarize: {
  20. tool: 'notarytool',
  21. appleApiKey: `~/.private_keys/AuthKey_${APPLE_API_KEY_ID}.p8`,
  22. appleApiKeyId: APPLE_API_KEY_ID,
  23. appleApiIssuer: APPLE_API_KEY_ISSUER_ID
  24. },
  25. */
  26. asar: true
  27. },
  28. /*
  29. makeTargets: {
  30. win32: ['nsis'],
  31. darwin: ['dmg', 'zip'],
  32. linux: ['snap'],
  33. },
  34. */
  35. makers: [
  36. {
  37. name: '@electron-forge/maker-zip',
  38. config: {
  39. platforms: ['darwin'],
  40. // name: '${name}-${version}-mac.zip'
  41. }
  42. },
  43. {
  44. name: '@electron-forge/maker-dmg',
  45. config: {
  46. background: './publish/background.png',
  47. /* eslint-disable no-template-curly-in-string */
  48. name: 'Netron-${version}'
  49. /* eslint-enable no-template-curly-in-string */
  50. }
  51. },
  52. {
  53. // sudo snap install snapcraft --classic --channel=7.x/stable
  54. // DEBUG=electron-installer-snap:snapcraft npx electron-forge make --arch x64 --targets=@electron-forge/maker-snap
  55. // DEBUG=electron-installer-snap:snapcraft npx electron-forge make --arch arm64 --targets=@electron-forge/maker-snap
  56. // Using "DEBUG=electron-installer-snap:snapcraft" will enable --destructive-mode and skip multipass
  57. // To unpack the .snap: unsquashfs dist/make/snap/arm64/netron_8.0.0_arm64.snap
  58. name: '@electron-forge/maker-snap',
  59. platforms: ['linux'],
  60. config: {
  61. grade: 'stable',
  62. // base: 'core20',
  63. apps: {
  64. electronApp: {
  65. plugs: [
  66. 'removable-media'
  67. ]
  68. }
  69. }
  70. }
  71. }
  72. ],
  73. publishers: [
  74. {
  75. 'name': '@electron-forge/publisher-github',
  76. 'config': {}
  77. },
  78. {
  79. 'name': '@electron-forge/publisher-snapcraft',
  80. 'config': {
  81. release: 'latest/stable'
  82. }
  83. }
  84. ]
  85. };