I'm impressed, lw.comm-server runs fine on Fedora35 and node 16

I just tried a little experiment; I cloned my lw.comm-server onto my Fedora35 development machine and ran npm install to see what would happen. Fedora 35 defaults to Node16 and NPM8

NPM install worked :slight_smile:
So I then ran node server and, after an initial failure (npm io is not standard on fF35, I had to run node install io), the server started and ran successfully. So I plugged in a spare GRBL-mega board I have lying around, and verified that comms are working and I could talk to the controller. Everything worked perfectly.

I thought I’d mention here because I’m pretty happy with this; it means lw-comm server builds and runs on Node16 without issues, and this is good since 16 is a LTS release.

[owen@hobbes lw.comm-server]$ node server
        ---- LaserWeb Comm Server 4.1.000 ----        
  Use to connect to this server.
* Updates: 
  Remember to check the commit log on
  regularly, to know about updates and fixes, and then when ready
  update accordingly by running git pull
* Support: 
  If you need help / support, come over to 
Server binding to all local IP addresses on port: 8000
App connected! (id=0)
Connect (0) Sending Interfaces list: USB,ESP8266,Telnet
INFO: Requesting Server Config 
Connect(0) Sending Ports list: [<snip>]
INFO: Connecting to USB,/dev/ttyUSB1,115200
Sent: \n
INFO: Connected to /dev/ttyUSB1 at 115200
GRBL detected (1.1f)
[owen@hobbes lw.comm-server]$ cat /etc/fedora-release 
Fedora release 35 (Thirty Five)

[owen@hobbes lw.comm-server]$ node -v

[owen@hobbes lw.comm-server]$ npm -v

NB: attempting to rebuild LW4 itself on this system fails during the npm install with a whole bunch of errors when compiling serialport. SInce serialport isnt a direct dependency I assume that another dependency is dragging it in, probably at a very early version… I’m not going to pursue this further at this time.


Very nice to hear that lw.comm-server runs on F35 with node 16!

About compiling LW4:
The frontend imports lw.comm-server (I don’t know why). This could be the reason for the problem with serialport. But why is compiling serialport a problem, when it runs with lw.comm-server directly?

I have a theory on that… I think it is was possibly used for testing and development in the past. In package.json there is a line:
"start-server": "node node_modules/lw.comm-server/server.js",
but it is not not referenced anywhere other than in the package.* files.


Good news;

Deleting package-lock.json and re-running npm install on the Fedora machine was enough to get me clear of the errors. The rest of the install went smoothly(*) and so did npm run bundle-dev afterwards. The resulting LW app runs properly in a browser when opened via the file manager.

So; I’ve now successfully built both lw.comm-server and LW4 under node16 and npm8, which seems like a positive step towards the future.

(*) well, actually with a bunch of warnings about depreciated and vulnerable dependencies, but these are the same as seen on a Pi)