Setup build configuration

This commit is contained in:
AkiraFukushima 2023-11-07 00:48:07 +09:00
parent 470c77c1c1
commit 03f5da5086
No known key found for this signature in database
GPG Key ID: B6E51BAC4DE1A957
8 changed files with 93 additions and 2 deletions

View File

@ -1,6 +1,7 @@
appId: social.whalebird.app
productName: Whalebird
copyright: Copyright © 2023 Akira Fukushima
artifactName: "${productName}-${version}-${os}-${arch}.${ext}"
directories:
output: dist
buildResources: resources
@ -9,7 +10,36 @@ files:
filter:
- package.json
- app
mac:
icon: resources/icons/icon.icns
target:
- target: dmg
arch:
- universal
category: "public.app-category.social-networking"
entitlements: "plist/entitlements.mac.plist"
entitlementsInherit: "plist/entitlements.mac.plist"
entitlementsLoginHelper: "plist/loginhelper.plist"
hardenedRuntime: true
gatekeeperAssess: false
darkModeSupport: false
win:
icon: resources/icons/icon.ico
target:
- nsis
linux:
target: AppImage
icon: resources/icons
target:
- AppImage
- deb
- rpm
- tar.bz2
- snap
category: Network
publish: null
afterSign: "notarize.js"
dmg:
sign: false
nsis:
oneClick: false
allowToChangeInstallationDirectory: true

20
notarize.js Normal file
View File

@ -0,0 +1,20 @@
const { notarize } = require('@electron/notarize')
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context
if (electronPlatformName !== 'darwin') {
return
}
const appName = context.packager.appInfo.productFilename
return await notarize({
tool: 'notarytool',
appBundleId: 'social.whalebird.app',
ascProvider: process.env.ASC_PROVIDER,
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_APP_SPECIFIC_PASSWORD,
teamId: process.env.TEAM_ID
})
}

View File

@ -24,6 +24,7 @@
},
"devDependencies": {
"@babel/runtime-corejs3": "^7.23.2",
"@electron/notarize": "^2.1.0",
"@types/node": "^18.11.18",
"@types/react": "^18.0.26",
"autoprefixer": "^10.4.16",

10
plist/child.plist Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
</dict>
</plist>

8
plist/loginhelper.plist Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>

12
plist/parent.plist Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>

View File

@ -1036,7 +1036,7 @@
optionalDependencies:
global-agent "^3.0.0"
"@electron/notarize@2.1.0":
"@electron/notarize@2.1.0", "@electron/notarize@^2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.1.0.tgz#76aaec10c8687225e8d0a427cc9df67611c46ff3"
integrity sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA==