For the prolific authors of the node world, new tools have emerged to assist with the daily toil of
managing publish-release cycles. One tool I’m keeping an eye on is Greenkeeper.io.
It basically does the combination of
npm outdated and lots of manual regression testing to keep your
dependencies up-to-date. While that’s a terrific idea, most of the things I publish have no
However, sometimes I make mistakes when I publish or release defects. I always have to go through the mental checklist of steps to properly update and publish including: update change log, bump version number, update docs, check test coverage, etc. A continuous integration server (like TravisCI) works great for running the tests but I always hated doing the separate push to npm.
Enter semantic-release. I tried it out for the first time
with imemoize and today I realized I made one of the critical
blunders in a memoizer: forgetting to cache falsey values. So the conditional statement
fails to actually memoize. It should always be
!(key in cache).
Anyway, after writing the test, passing the test, and pushing (following the preferred process), npm was automagically updated and the version was bumped. So easy!