Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 1.41 KB

DEVELOPING.md

File metadata and controls

55 lines (41 loc) · 1.41 KB

How this works

There are 2 main parts of the app:

  1. 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.
  2. 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.

How to develop

The most up-to-date instructions can always be derived from CI:

.github/workflows/main.yml

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 dev

How to build

cd renderer
npm install
npm run make-index-files
npm run build

cd ../main
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" yarn package

How to release a build

  1. Commit all changes
  2. Bump version in main/package.json
  3. npm i in renderer & main (update package-lock.json with new version)
  4. npm run build in renderer & main
  5. Stage & commit bumped version
  6. git push
  7. git tag vX.X.X
  8. git push origin vX.X.X
  9. Open release page, create release with tag & title as text of tag & save as draft