gui/modules/desktop/electron-builder.config.cjs
Neil 2243eaad69
#248 apply correct mac icon (#250)
Co-authored-by: neil <neil@neils-MacBook-Pro.local>
2023-03-03 08:52:50 +08:00

62 lines
1.5 KiB
JavaScript

const { notarize } = require("@electron/notarize");
const fs = require("fs");
const path = require("path");
const otaClient = require("@crowdin/ota-client");
const _ = require("lodash");
module.exports = {
appId: "xyz.tea.gui",
productName: "tea",
asar: false,
directories: { output: "dist" },
files: ["electron/dist/electron.cjs", { from: "build", to: "" }],
linux: {
icon: "./icon.png"
},
mac: {
icon: "./electron/mac-icon.icns",
target: {
target: "default",
arch: ["x64", "arm64"]
}
},
afterSign: async (params) => {
if (process.platform !== "darwin") {
return;
}
console.log("afterSign hook triggered", params);
const appBundleId = "xyz.tea.gui";
let appPath = path.join(params.appOutDir, `${params.packager.appInfo.productFilename}.app`);
if (!fs.existsSync(appPath)) {
console.log("skip");
return;
}
console.log(
`Notarizing ${appBundleId} found at ${appPath} with Apple ID ${process.env.APPLE_ID}`
);
try {
await notarize({
appBundleId,
appPath,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_APP_SPECIFIC_PASSWORD
});
} catch (error) {
console.error(error);
}
console.log(`Done notarizing`);
},
// this determines the configuration of the auto-update feature
publish: {
provider: "generic",
// TODO: replace this with tea branded domain: gui-dist.tea.xyz
// url: "https://d2ovumu63qzbn6.cloudfront.net/"
url: "https://s3.amazonaws.com/preview.gui.tea.xyz/release"
}
};