My Wayland implementation is in JS; it doesn't use libwayland, so I've had to figure out a lot of things from scratch because there's quite a lot about the protocol that just isn't documented. But once you can send and mmap file descriptors (two things Node.js does not do natively), it's very much viable!
The protocol is honestly not that complicated to implement. The problem really is just the documentation.