Why you should version your Node dependencies using tilde

I’m going to assume you’re already familiar with SemVer and the NPM tilde extension. If not, get your eye holes around those links, particularly the second one.

Ever since I’ve been working on David I’ve seen a lot of version numbers for node projects. I’ve also authored a few npm packages and node projects myself. I find it hard understand why you wouldn’t use tilde to specify the versions of your dependencies. For example:

~1.0.2

This is shorthand for >= 1.0.2 < 1.1.0. It is saying: If the major or minor version increases then I need to retest my code to check it works on the new version, so don’t depend on that. Although, if there are bug fixes, I want them, and whilst I understand that a bugfix release could break my software, it isn’t meant to, so I’m willing to take the gamble.

The idea is that you’re allowing your dependencies to “self update” within a range that is safe to do so. This is really powerful and you should be using it.

I’ve seen a lot of absolute versions for dependencies, which is fine (you know who you are, you have your reasons), but I also see a lot of reckless version ranges: “>= 0.3.14″, “*”, “latest” which are just mad. How can you possibly know your code will still work as your dependencies transition between major and minor version numbers?

1,496 thoughts on “Why you should version your Node dependencies using tilde

  1. Oh my goodness! Impressive article dude! Thanks, However I am having troubles with your RSS.
    I don’t know why I can’t join it. Is there
    anyone else getting identical RSS problems? Anyone who knows the answer will you
    kindly respond? Thanx!!

  2. mobile casino new united states, new zealandn roulette table and where
    is costa rica gambling age (Alberta) legal in australia, or online roulette for real money usa

  3. Hi there, I think your blog may be having browser compatibility issues.
    Whenever I take a look at your website in Safari, it
    looks fine however when opening in I.E., it’s got some overlapping issues.
    I just wanted to provide you with a quick heads up! Apart from that, fantastic blog!

  4. Very nice post. I just stumbled upon your weblog and wished to say that I have truly enjoyed surfing around your weblog posts.

    After all I’ll be subscribing for your feed and I am hoping you
    write again soon!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>