isaacs/npm — pull request #3512 by diwu1989 (2013-06-03 19:13:33+00:00)
Title: NPM shrinkwrap should not strip out devDependency if it's also listed under dependency

This is specific to this kind of situation:
dependency:
moduleA: '*'
devDependency:
moduleA: 'git+ssh://blahblah'

The same module is listed in both dependency and devDependency, with the dev dependency pointing to the source of the module. In my situation, we have minified and coffee-script compiled modules and unminified coffee-script source.

For dev setup, we just npm install
For build process, we npm install in production mode and then npm shrinkwraps. We would prefer that shrinkwrap doesn't strip out devDependencies that are also listed as dependency.