CNCjs can be found here: https://www.npmjs.com/package/cncjs
There are soo many nice features of this software, layout, style/theme, customizable widgets, 3D view, auto connect serial port, easy edit macros, loading macros as production, sleep/unlock, laser test, etc.
The biggest feature, which I would encourage anyone to use, is system variables in macros. The script below will trace the boundary of the current production file (what is loaded into 3D viewer). It takes all the guess work out of clearances.
; Traverse around the boundary G90 G0 Z40 ; go to z-safe G0 X[xmin] Y[ymin] G0 X[xmax] G0 Y[ymax] G0 X[xmin] G0 Y[ymin]
Many macros can be found here: https://github.com/cncjs/CNCjs-Macros
I’m curious to explore/start using these!