Node package manager supports semantic versioning. To take full advantage of it, you can use the symbols tilde(~) or caret(^).
Tilde(~) means approximately equivalent to version.
"moment": "~2.29.1"
In this example npm install will pick up the latest release of the module moment starting from 2.29.1 but never
higher than 2.30.0.
Caret(^) means compatible with version.
"canvas": "^2.6.1"
Here, the installed version of the module canvas could range from 2.6.1 to less than 3.0.0.
This way npm ensures the compatibility of your code with the third party module.