I implemented an interface to the LIFX API in TypeScript. I based in on node-lifx-lan but made major cleanups taking advantage of TypeScript. My style is, well, eclectic, but I used TypeScript’s type hinting and async to make the code as readable as I can. It also makes it easier to see the internal information flows. I also remove redundant code.
It fully works (at least for me) support nearly all of the Lifx capabilities but I hesitate to share it widely unless there is some interest in sharing responsibility and bringing it up to Github standards.