Skip to content

Latest commit

 

History

History
131 lines (96 loc) · 3.94 KB

TODO.md

File metadata and controls

131 lines (96 loc) · 3.94 KB

Todos

v1

  • build and deploy for all platforms (at least Mac and Windows)
    • mac, windows, linux
    • check if work if no node.js preinstalled on the machine (it should but...)

v2

Review

"buildVersion": "1.2.3",
"artifactName": "${productName}-${buildVersion}-${arch}.${ext}",
    * we can use a .js file that computes the config according to the target app

+ test auto-update locally: https://github.com/electron-userland/electron-builder/issues/3053#issuecomment-401001573

+ signing

    * [**IMPORTANT**!] https://stackoverflow.com/questions/47688943/electron-builder-repeatedly-asks-for-macos-keychain-permissions

+ notarisation appleid.apple.com

    * https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/
    * https://twitter-archive-eraser.medium.com/notarize-electron-apps-7a5f988406db (looks good)

https://twitter-archive-eraser.medium.com/notarize-electron-apps-7a5f988406db

Done

  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; in src/main.js
  • explore if we can put the electron-wrapper inside the application itself

  • codesign --verify --deep --strict --verbose=2 /path/to/como-vox/electron-build/mac/CoMo-Vox.app

    • not the electron version
    • test default output dir // "output": path.join(swAppPath, 'electron-build') -> we can copy default output dir somewhere else if needed...

    --> ok with mac.strictVerify: false, in electron-builder.js

  • 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 --> done as deps
  • find a clean way to orchestrate server from electron

    • clean target app server/index:
// 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:
[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