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?

3,691 thoughts on “Why you should version your Node dependencies using tilde

  1. Every time I set aside an afternoon to fix something in the garage the process almost always turns into a full project. As soon as I remove the old part I sometimes have to wait for a part to cool. During those gaps I often take a short break and jump onto Vegazone straight from my mobile. This makes sense because I cant always find space for a larger screen. Everything on the site is designed for quick mobile use which means I can navigate easily even if I only have a short break. The main advantage is how effortlessly I can lock the screen whenever the oil finishes draining. There are no cables to move which means I can keep the bench clear. On older cars a quick maintenance job can stretch into several hours and rather than checking the same tutorial repeatedly I can browse another game while still remaining beside the vehicle. The entire interface runs reliably rather than adding another problem to the day. It feels genuinely convenient knowing the full platform works through my phone so I can browse for a while while waiting for a part. Any time someone from work wants to know how I keep myself occupied between steps I simply tell them to check https://kometa.bar/ given that its quicker than explaining the entire setup myself. Here in Australia doing basic repairs at home often becomes a regular hobby meaning being able to access everything from a compact device works well in a practical environment even if the phone is a few years old.

  2. Juz od dluzszego czasu interesuje sie bezpieczenstwem transakcji online dlatego tez zaczalem testowac temat zarzadzania saldem w kasynie internetowym w miejsce skupiania sie tylko na grach. Mnostwo znajomych twierdzilo ze sposob zasilania konta nie wymagaja wiekszej uwagi z tego powodu chcialem sam to zweryfikowac na Rolling Slots poniewaz tam znalazlem sekcje z dostepnymi metodami platnosci oferujaca rozne warianty wyplaty srodkow. Pierwsze wrazenia byly naprawde dobre bo proces wplaty jest duzo bardziej przejrzysty anizeli sie spodziewalem. Poza typowego uzycia karty dostepne byly rozne sposoby potwierdzania transakcji a takze informacje o minimalnych kwotach dzieki czemu zapewnialo duzo wiecej wariantow dostosowanych do sposobu korzystania z internetu. Szczegolnie sprawdzalem czas ksiegowania srodkow bo duza liczba metod rzadko sama w sobie gwarantuje brak dodatkowych warunkow. Po dokladniejszym sprawdzeniu przekonalem sie ze warte uwagi pozostaje wczesniejsze przejscie weryfikacji zamiast ignorowanie informacji w panelu. Komus kto tak jak ja pyta mnie na jakiej stronie testowalem platnosci zazwyczaj podaje https://sigma-delta.tech/ bo latwiej jest sprawdzic to samemu anizeli wyjasniac wszystko w rozmowie. Zanim przystapilem do wykonywanie prawdziwych transakcji przeznaczylem troche czasu na przejrzec limity z uwagi na to ze korzystanie z przypadkowej metody w wiekszosci przypadkow nie przynosi zadowalajace efekty w szerszym ujeciu. Dostrzeglem rowniez ze kluczem w bezpiecznego zarzadzania srodkami okazuje sie byc kontrola wszystkich transakcji zamiast obciazanie konta wysokimi kwotami bez konkretnego planu. Dlatego narzucilem sobie stala czesc budzetu na kazda transakcje niezaleznie od zamiaru odnosnie potencjalnego wyniku.

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>