I noticed that a lot of Node modules for doing standard Unix operations (rimraf, mkdirp, tar, etc) seem to be written entirely in pure JavaScript.
I would've thought it would be better for performance to spawn the OS's installed binaries (like rm, mkdir, tar) for these tasks where possible, and only fall back to a pure-Node solution when those binaries aren't available (e.g. Windows). But most modules seem to prefer to do everything in Node.
Why don't these apps use native commands where available? Is it discouraged, and why?