package json version compatiability code example

Example 1: what does "*" version mean in npm package dependency

Finally there is the *, which while available, isn’t used as often. The primary reason for its less frequent use is the fact that it acts as a stand in for either the major, minor, or patch number and catches any version number for the place that it represents. For example a dependency with a version of * would equate to any version that was greater than or equal to 0.0.0, while 1.* would allow versions greater than or equal to 1.0.0 and less than 2.0.0.

Example 2: npm version notation

1.2.3 => 1.2.3 (Matching exactly same version)
~1.2.3 => >=1.2.3 && < 1.3.0 (Matching minor version)
^1.2.3 => >=1.2.3 && < 2.0.0 (Matching major version)