npm package manager uses
semver to declare the version of the external dependancies of your package in a more flexible way. Unfortunately the current version of
npm by default uses the caret ^ as a default prefix for package’s versions which means the required package must have the same MAJOR version but can have a different MINOR and HOTFIX versions; this can lead to a broken code if a change in the MINOR version of the dependancy introduce an incompatibility with your code. Replacing manually all the carets with the tilde ~ is tedious and error prone so we need a way to set
npm to use the tilde by default.