AFAIU some JS messages files are generated at build time. These will depend on the build environment at the time node-gyp is run. Calls to custom messages and services will raise errors if they were not present at build time - or won't they?- I got an error (something like fs: file not found) but maybe I did it wrong?)
This IMO is not typical ROS behavior. We want to be able to build code independently and then compose. In python project I can import my_msgs.msg without a care as long as there are references to it in my environment at run-time. And I don't have to rebuild rclpy.
I believe the purpose of the adapters is to give a unified ROS feel regardless of the language so I find this is rather important albeit maybe more time consuming to implement.
somewhat related : #356