Why isn't node a dependency for node-mersenne though?
It is. node-mersenne uses node-build-system, which has node (or node-lts, dunno) in its implicit inputs.
Did you mean: 'Why isn't node propagated?'
For the same reasons as why any plugins don't propagate the thing they are plugging in, and why any library doesn't propagate its interpreter:
Also, see my answer on 'Is there really a use case for shipping
...’.