It's important to communicate the extent of changes in a new release of code, because sometimes updates can break code that a package needs (called dependencies).Semantic versioning (semver) is a standard that was designed to solve this problem.
If a project is going to be shared with others, it should start at 1.0.0
, (though some projects on npm don't follow this rule).
After this, changes should be handled as follows:
As a consumer, you can specify which kinds of updates your app can accept in the package.json
file.
If you were starting with a package 1.0.4, this is how you would specify the ranges:
1.0
or 1.0.x
or ~1.0.4
1
or 1.x
or ^1.0.4
*
or x
For more about using semantic versioning with package.json files, see Chapter 5.
For another way to label releases, learn about npm dist tags, and how they relate to semantic versioning.
© npm, Inc. and Contributors
Licensed under the npm License.
npm is a trademark of npm, Inc.
https://docs.npmjs.com/getting-started/semantic-versioning