I've been developing Node apps and packages for a while, and have always written in CoffeeScript.
To use npm, I generally do a local install of coffee-script, then set a script within package.json to run the app, as such:
"start": "coffee app.coffee"
Is this the best practice? I understand that there is an alternative of providing coffee-script as a dev dependency, then having a prepublish script to compile coffee -> JS.