This codebase contains the Electron 'shell' that houses the Zen web app. It enables this web app to be packaged up as a desktop app for Mac OS, Linux and Windows.
It is an installation of the Electron-Forge project - an all-in-one tool for packaging and distributing Electron applications. For more information, see the Electron-Forge docs.
The web app that this 'shell' houses, as well as information on how to actively work on it, can be found here.
Head to Releases and download the correct asset for your platform.
arm64is Apple Silicon (M1, M2, M3 chips)x64is Apple Intel
Unzip the download package and open the app.
This is not a commercial application, which means we don't send it off to Apple to code sign or notarise. After downloading the app, you may not be able to open it due to missing permissions. Approve the app using the following steps:
- On older MacOSs, go to System Preferences > Security and Privacy and give approval
- On newer MacOSs, in a terminal, run
xattr -d com.apple.quarantine /path/to/app, e.g.xattr -d com.apple.quarantine ~/Downloads/Zen.app
To install packages, run:
nvm use- switches to correct version of Nodeyarn- installs Node packages (dependencies) You can develop this application and the web application concurrently.- Spin up local version of web app
- http://localhost:5173 to view the web application
yarn startornpm run startto view the desktop application
- In the web app repo, change the svelte adaptor to
@ptkdev/sveltekit-electron-adapter - In the web app repo, run
yarn buildornpm run buildto generate a bundled version of the html, css and js files - Clear the contents of src/app in this repo
- Copy the contents of the build/ folder in the web app repo into src/app in this repo
yarn makeornpm run maketo package up the distributable for the platform you are currently working on
yarn make --arch=arm64,x64ornpm run make --arch=arm64,x64to package up distributables for both Apple Intel and Apple Silicon chips
To publish distributables, you must have write access to this Github repo.
- Generate a personal access token with write access
- Create .env file at the root of this project and token into GITHUB_TOKEN variable
- Increment the version number in package.json
yarn run publishto publish the distributable for the platform you are currently working onyarn run publish --arch=arm64,x64to publish distributables for both Apple Intel and Apple Silicon chips
Releases are available here.