Full document, spreadsheet, slideshow, and diagram tooling
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'chore: wire up Apple notarization for Electron builds' (#183) from chore/electron-notarize into main

scott 258f8bee d63971ca

+49 -4
+4 -1
electron-builder.yml
··· 14 14 extraMetadata: 15 15 main: electron/main.js 16 16 asar: true 17 + afterSign: electron/notarize.cjs 17 18 mac: 18 19 category: public.app-category.productivity 19 - notarize: false 20 + hardenedRuntime: true 21 + entitlements: electron/entitlements.plist 22 + entitlementsInherit: electron/entitlements.plist 20 23 target: 21 24 - target: dmg 22 25 arch:
+14
electron/entitlements.plist
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>com.apple.security.cs.allow-jit</key> 6 + <true/> 7 + <key>com.apple.security.cs.allow-unsigned-executable-memory</key> 8 + <true/> 9 + <key>com.apple.security.network.client</key> 10 + <true/> 11 + <key>com.apple.security.network.server</key> 12 + <true/> 13 + </dict> 14 + </plist>
+28
electron/notarize.cjs
··· 1 + const { notarize } = require('@electron/notarize'); 2 + 3 + exports.default = async function notarizing(context) { 4 + const { electronPlatformName, appOutDir } = context; 5 + if (electronPlatformName !== 'darwin') return; 6 + 7 + const appleId = process.env.APPLE_ID; 8 + const appleIdPassword = process.env.APPLE_APP_SPECIFIC_PASSWORD; 9 + const teamId = process.env.APPLE_TEAM_ID; 10 + 11 + if (!appleId || !appleIdPassword || !teamId) { 12 + console.log('Skipping notarization — missing APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, or APPLE_TEAM_ID'); 13 + return; 14 + } 15 + 16 + const appName = context.packager.appInfo.productFilename; 17 + console.log(`Notarizing ${appName}...`); 18 + 19 + await notarize({ 20 + appBundleId: 'tools.lobster-hake.ts.net', 21 + appPath: `${appOutDir}/${appName}.app`, 22 + appleId, 23 + appleIdPassword, 24 + teamId, 25 + }); 26 + 27 + console.log('Notarization complete'); 28 + };
+2 -2
package-lock.json
··· 1 1 { 2 2 "name": "tools", 3 - "version": "0.14.3", 3 + "version": "0.14.4", 4 4 "lockfileVersion": 3, 5 5 "requires": true, 6 6 "packages": { 7 7 "": { 8 8 "name": "tools", 9 - "version": "0.14.3", 9 + "version": "0.14.4", 10 10 "dependencies": { 11 11 "@tiptap/core": "^2.11.0", 12 12 "@tiptap/extension-collaboration": "^2.11.0",
+1 -1
package.json
··· 1 1 { 2 2 "name": "tools", 3 - "version": "0.14.3", 3 + "version": "0.14.4", 4 4 "private": true, 5 5 "type": "module", 6 6 "main": "electron/main.js",