- auto-update stuff
-
Requirements
- apple sign stuff (needs XCode)
- github token
-
@note: should release according to target app version, not according to the wrapper version
- this is possible using
"buildVersion": "1.2.3",
"artifactName": "${productName}-${buildVersion}-${arch}.${ext}",
* we can use a .js file that computes the config according to the target app
-
configuration script
- ask for target application path
- install
electron-rebuild
in target application - update package json "from" / "to"
- create config file w/ target app path, default client for electron
- consume this file in
src/main.js
to launch the target app
-
find a clean way to orchestrate server from electron
- clean target app
server/index
:
- clean target app
// for electron
process.send('ready');
e.g.
// parent.js
child_process.fork('./child', { env : { FORK : 1 } });
// child.js
if (process.env.FORK) {
console.log('started from fork()');
}
+ idealy: need a way to send informations back and forth between electron and server
- create a
npm run rebuild
that runs./node_modules/.bin/electron-rebuild
in target application- call it in npm
npm run release
- process could be something like:
- call it in npm
[target] npm install electron rebuild
[target] `./node_modules/.bin/electron-rebuild -v [electron version]`
[electron] npm run release
[target] rm -Rf node_modules
[target] npm install
-
clean application menus
- e.g. cmd + w problem: electron/electron#5536
- etc.
-
user defined app icon
-
doc / README
-
upload file
-
code signing
-
test
- mac, windows, linux
- check if work if no node.js preinstalled on the machine (it should but...)
-
clean all unused files & dependencies
-
check compiled dependencies (OSC, XMM, etc.)
- https://www.electronjs.org/docs/tutorial/using-native-node-modules
- https://www.electron.build/tutorials/two-package-structure (not used)
works w/ xmm, in the soundworks app run: -> test dev mode ok -> test release ok
npm install --save-dev electron-rebuild
# rebuild against the version of electron we use
./node_modules/.bin/electron-rebuild -v 13.0.1
-
portfinder
- pass PORT to forked process
- ok to do
process.env.PORT = 8080;
insrc/main.js
-
explore if we can put the
electron-wrapper
inside the application itself- cf. https://www.electron.build/configuration/contents
extraFiles.filter
- @todo: define
- cf. https://www.electron.build/configuration/contents