There are 2 main parts of the app:
- renderer: this is the HTML/Javascript-based UI rendered within the Electron container. This runs Vue.js, a React-like Javascript framework for rendering front-end.
- main: includes the main app (written in Electron). Handles keyboard shortcuts, brings up the UI and overlays.
Note that these 2 both depend on each other, and one cannot run without the other.
The most up-to-date instructions can always be derived from CI:
Here's what that looks like as of 2023-12-03.
cd renderer
npm install
npm run make-index-files
npm run dev
# In a second shell
cd main
npm install
npm run devcd renderer
npm run formatcd renderer
npm install
npm run make-index-files
npm run build
cd ../main
npm install
npm run build
# We want to sign with a distribution certificate to ensure other users can
# install without errors
CSC_NAME="Certificate name in Keychain" npm run package- Commit all changes
- Bump version in
main/package.json npm iin renderer & main (updatepackage-lock.jsonwith new version)npm run buildin renderer & main- Stage & commit bumped version
git pushgit tag vX.X.Xgit push origin vX.X.X- Open release page, create release with tag & title as text of tag & save as draft
sh testUpdate.shRead the contents of testUpdate.sh to understand what it does. Running random scripts from the internet is not recommended so you really should read the code before running it.