cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Kinard <cmarc...@gmail.com>
Subject [DISCUSS] shrinkwrap
Date Thu, 18 Sep 2014 04:06:42 GMT
I understand the goal of the shrinkwrap to be that all users have exactly all the same dependency
versions for execution, and the developers have the same for dev/test.

Today the process [1] is for the shrinkwrap to exist in git only during the release process.
While this covers the users for execution, it leaves out the developers for dev/test. Additionally,
continuing in this way postpones discovery of shrinkwrap issues to the release period instead
of catching it earlier.

I suggest that:
- The shrinkwrap exist in git at all times, not just during the release process. 
- At the beginning of a new dev/test cycle in a project that has a shrinkwrap, developers
should not only "git pull", but should also "rm -r node_modules ; npm install".
- Also at the beginning of a new dev cycle in a project that has a shrinkwrap, developers
should run "npm outdated" to look for opportunities to freshen versions of dependencies for
purposes of general hygiene. Whether or not to do the freshen in this case is up to the discretion
of the developer. But at least look and see if something is crusty.
- If there is a functional problem during dev/test that can be resolved by freshening the
versions of dependencies, do it.
- Only cordova-cli should have a shrinkwrap. The parent's shrinkwrap includes the whole tree
of children (dependencies).

[1]: https://github.com/apache/cordova-coho/blob/master/docs/tools-release-process.md

Whaddya think? (Credit to Carlos for stopping by my office to share ideas)
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message