The Chrome and Electron versions of the app share the exact same UI code, but in both systems the UI code must communicate with a separate background system. We use fulcro-devtools-remote to abstract this away.
Fulcro App <-> Fulcro Devtool Remote Fulcro Devtool Remote <-> Dev Tools UI: serialized
See Fulcro Devtool Remote for more details.
Building MacOS Electron releases is done as follows:
$ npm install
$ cd shells/electron
$ vi package.json # Update version number
$ yarn
$ cd ../..
$ shadow-cljs release electron-main electron-renderer
$ cd shells/electron
$ electron-builder build -m
See the Makefile
for other builds
First, make sure to update the version number in shells/chrome/manifest.edn
.
Then build the zip file that can be uploaded to the Chrome store:
npm install
script/release-chrome
The result will be in a zip file in releases
.