forge.config.js 2.9 KB

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