On my machine (Ubuntu 12.04, 64-bit desktop), since Node v0.6.0 this code:
pw('*', process.stdin, process.stderr, callback);
Makes this happen:
On Node 0.4.12, only the asterisks are printed.
This is super strange! On my machine (also ubuntu) with both node 0.6 and 0.8 the same code only prints *s.
Sorry, turns out this a side effect of me also starting a readline session at the same time. I can probably confine that to the code path it's needed in, which is separate from the password prompt path.
This fixes my problem. jcoglan/vault@de686e7
Not sure if this is a problem with pw or not, i.e. whether it should know how not to conflict with readline. I'll leave that up to you.