LaserWeb/lw.comm-server

FEATURE: Clean up the horrible build system

janschiefer opened this issue · 3 comments

TODO: Merge lw.comm-server, lw.comm-server#electron_bundler and LaserWeb4 into one repsitory and remove duplicates.

TODO: Move from npm to yarn.

TODO: Migrate to newer package versions of dependencies (especially electron and electron-builder).

TODO: Implement .deb building for Linux.

There are reasons why it was setup like this.

  • lw.comm-server was made to be an independant websocket to machine gateway that could serve different frontends.
  • The master branch was only for development.
  • The electron_builder branch was for building different OS versions of LW4.
  • The Windows standalone EXE makes >90% of usage.

Sure, it would be nice to migrate to actual dependencies, but this needs a bigger effort.

Isn't .deb only for Debian but AppImage for all sorts of Linux?

My opinion as a newcomer to the project (just my 2 cents, take it only as an opinion):

  • I like the separation of concerns of having gui separated from the api, in matter of fact, I think it should even go further and fully separate gui from api. API shouldn't know about gui. Gui should connect to the server by host and that is it
  • I don't find any point in moving to yarn
  • Definitely dependencies are quite outdated and even moving the app gui to Tauri could be a very interesting move
  • You could use docker cross app (I've made a PR to make it work)

What about moving the API to something more resilient as golang? Is that of any interest to you? It would provide a better build system, a better security (code wise), a single file build without dependencies to run cross platform, less dependency hell... I wouldn't mind to work on that new version and research on how we could do it slowly.

.deb is used also by ubuntu systems I think