node / coffee Makefile comforts for shared projects
This setup lets you stop thinking about manually installing or updating
your node package dependencies as they change, when you or someone else
changes package.json dependencies underfoot.
Just run make as usual, and have Makefile dependencies discover and
install new modules and versions for you as need arises. Given that you
only depend on registry-published modules (plain version strings) and
git:// package urls ending in a tag name #v<package.json version num>
this will just work and never hit the wire to resolve the version, which
means the dependency management is lightning-fast (milliseconds), rather
than many seconds each invocation, as npm usually works.
Depending on tagged versions is good hygiene, and when you encounter any
project that doesn't publish any yet, ask them to run npm version x.y.z
for you and git push vx.y.z for you, so you can depend on a fix state;
it takes care of updating package.json and tagging things appropriately.
This slightly roundabout package-versions hack would not be necessary
if npm had a flag not to hit the wire
– but unfortunately it does not.
Do you need the call to "env" in the Makefile?