- TypeScript 64.4%
- Vue 25.6%
- JavaScript 7.6%
- Python 1.6%
- HTML 0.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| .gitignore | ||
| .npmrc | ||
| entitlements.plist | ||
| icon.png | ||
| notarize.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
crimata-electron
Project setup
yarn install
Compiles and hot-reloads for development
yarn electron:serve
Compiles and minifies for production
yarn electron:build
Customize configuration
Sign and Notarize
Prerequisites:
- Apple Developer Account ($99)
- Valid Apple Developer ID Application Certificate on keychain
Sign and Notarize:
node notarize.js
Debug electron-osx-sign:
export DEBUG=electron-osx-sign*
Some things to note:
Notarize only when distributing outside the Mac App Store.
Gatekeeper Assess
Electron-osx-sign seems to have a bug where the sign will fail if "gatekeeper-assess" is true (default).
Entitlements.plist
Not to be confused with Info.plist, this file specifies entitlements the app can have in hardened runtime (e.g. Can I use the microphone?). Only including the ones Electron reccommends seems to work (including audio of course and omitting allow-unsigned-executable-memory).
The Benifit of Electron OSX Sign
Without this package, we would have to manually go in and figure out how to sign each level of the app. While it didn't work out of the box (gatekeeper-assess) it seems to be good otherwise. However, there is a bug where it puts multiple runtime flags on each command - not catastrophic though.
Apple Password
This must be an app specific password, not your normal Apple ID password.
--Signiture-Flags OSX Sign
Not exactly sure what this does or why its important, but Electron includes it.