I think the npm modules cordova and plugman should be enable and publish with shrinkwrap.
It doesn't mean that cordova-cli/plugman locks down dependency tree for ever, they can be updated as needed at any time a new version if publish to npm.
This provides multiple benefits:
- Everyone testing cordova rc test the same code not just the cordova module, but all its dependencies
- All users that npm install cordova or plugman get the same code including all dependencies
- Easier to recreate an user environment, if user reports that is having problems with firstname.lastname@example.org then another cordova contributor or committer wil be sure 100% that is running the same code as the user.
- Avoids "it works on my system and not yours" without shrinkwrap it depends when an user installs cordova or plugman, and if any dependencies inside the whole dependency tree changes a version
- Could be use to better clarify ALL dependencies including the versions that cordova/plugman was tested, so if a downstream distribution or end user wants to know what is a full list of dependencies to get cordova-cli and plugman working they can take a look at shrinkwrap.json
- If a downstream distribution wants to redistribute cordova-cli and plugman, then it has higher confident of what dependencies where use at time of testing and releasing a specific version of cordov-cli/plugman, and if it wants to distribute cordova-cli/plugman including its dependencies it's easier to distribute only the versions that where use at time of testing/release.