forge.config.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. const path = require('path')
  2. const fs = require('fs')
  3. module.exports = {
  4. packagerConfig: {
  5. name: 'Logseq',
  6. icon: './icons/logseq_big_sur.icns',
  7. buildVersion: 84,
  8. protocols: [
  9. {
  10. "protocol": "logseq",
  11. "name": "logseq",
  12. "schemes": "logseq"
  13. }
  14. ],
  15. osxSign: {
  16. identity: 'Developer ID Application: Tiansheng Qin',
  17. 'hardened-runtime': true,
  18. entitlements: 'entitlements.plist',
  19. 'entitlements-inherit': 'entitlements.plist',
  20. 'signature-flags': 'library'
  21. },
  22. osxNotarize: process.env['APPLE_ID'] ? {
  23. tool: 'notarytool',
  24. appleId: process.env['APPLE_ID'],
  25. appleIdPassword: process.env['APPLE_ID_PASSWORD'],
  26. teamId: process.env['APPLE_TEAM_ID']
  27. } : undefined,
  28. },
  29. makers: [
  30. {
  31. 'name': '@electron-forge/maker-squirrel',
  32. 'config': {
  33. 'name': 'Logseq',
  34. 'setupIcon': './icons/logseq.ico',
  35. 'loadingGif': './icons/installing.gif',
  36. 'certificateFile': process.env.CODE_SIGN_CERTIFICATE_FILE,
  37. 'certificatePassword': process.env.CODE_SIGN_CERTIFICATE_PASSWORD,
  38. "rfc3161TimeStampServer": "http://timestamp.digicert.com"
  39. }
  40. },
  41. {
  42. 'name': '@electron-forge/maker-wix',
  43. 'config': {
  44. name: 'Logseq',
  45. icon: path.join(__dirname, './icons/logseq.ico'),
  46. language: 1033,
  47. manufacturer: 'Logseq',
  48. appUserModelId: 'com.logseq.logseq',
  49. upgradeCode: "3778eb84-a0ce-4109-9120-5d4315e0d7de",
  50. ui: {
  51. enabled: false,
  52. chooseDirectory: true,
  53. images: {
  54. banner: path.join(__dirname, './windows/banner.jpg'),
  55. background: path.join(__dirname, './windows/background.jpg')
  56. },
  57. },
  58. // Standard WiX template appends the unsightly "(Machine - WSI)" to the name, so use our own template
  59. beforeCreate: (msiCreator) => {
  60. return new Promise((resolve, reject) => {
  61. fs.readFile(path.join(__dirname,"./windows/wix.xml"), "utf8" , (err, content) => {
  62. if (err) {
  63. reject (err);
  64. }
  65. msiCreator.wixTemplate = content;
  66. resolve();
  67. });
  68. });
  69. }
  70. }
  71. },
  72. {
  73. name: '@electron-forge/maker-dmg',
  74. config: {
  75. format: 'ULFO',
  76. icon: './icons/logseq_big_sur.icns',
  77. name: 'Logseq'
  78. }
  79. },
  80. {
  81. name: '@electron-forge/maker-zip',
  82. platforms: ['darwin', 'linux', 'win32'],
  83. },
  84. {
  85. name: 'electron-forge-maker-appimage',
  86. platforms: ['linux'],
  87. config: {
  88. mimeType: ["x-scheme-handler/logseq"]
  89. }
  90. }
  91. ],
  92. publishers: [
  93. {
  94. name: '@electron-forge/publisher-github',
  95. config: {
  96. repository: {
  97. owner: 'logseq',
  98. name: 'logseq'
  99. },
  100. prerelease: true
  101. }
  102. }
  103. ]
  104. }