@@ -47,16 +47,17 @@ deno task install
4747semver < command>
4848
4949Commands:
50- semver get Get the version
51- semver set < value> Set the version
52- semver inc Increment the version
53- semver parse [value] Parse the version and print
54- semver cmp < v1> < v2> Compare v1 to v2 and return -1/0/1
55- semver gt < v1> < v2> Return 0 if v1 is greater than v2, else 1
56- semver gte < v1> < v2> Return 0 if v1 is greater than or equal to v2, else 1
57- semver lt < v1> < v2> Return 0 if v1 is less than v2, else 1
58- semver lte < v1> < v2> Return 0 if v1 is less than or equal to v2, else 1
59- semver eq < v1> < v2> Return 0 if v1 is equal to v2, else 1
50+ semver get Get the version
51+ semver set < value> Set the version
52+ semver inc Increment the version
53+ semver parse [value] Parse the version and print
54+ semver cmp < v1> < v2> Compare v1 to v2 and return -1/0/1
55+ semver gt < v1> < v2> Return 0 if v1 is greater than v2, else 1
56+ semver gte < v1> < v2> Return 0 if v1 is greater than or equal to v2, else 1
57+ semver lt < v1> < v2> Return 0 if v1 is less than v2, else 1
58+ semver lte < v1> < v2> Return 0 if v1 is less than or equal to v2, else 1
59+ semver eq < v1> < v2> Return 0 if v1 is equal to v2, else 1
60+ semver sort [versions..] Sort semantic versions
6061
6162Options:
6263 --help Show help [boolean]
@@ -74,6 +75,10 @@ command will create the `VERSION` file if it doesn't already exist.
7475The `parse` command accepts a version string as input and parses and prints that
7576version as output if it is valid.
7677
78+ The `sort` command accepts one or more version strings and outputs them in
79+ sorted order (descending by default, one version per line). Use the `-a` flag
80+ for ascending order, or read versions from stdin using `--`.
81+
7782#### examples
7883
7984```sh
@@ -97,6 +102,28 @@ semver get # 1.2.3
97102semver parse 1.0.0 # {"major":1,"minor":1,"patch":0,"prerelease":[],"build":[]}
98103```
99104
105+ ```sh
106+ # sort versions in descending order (default)
107+ semver sort 2.0.0 1.0.0 3.0.0
108+ # 3.0.0
109+ # 2.0.0
110+ # 1.0.0
111+ ```
112+
113+ ```sh
114+ # sort versions in ascending order
115+ semver sort -a 2.0.0 1.0.0 3.0.0
116+ # 1.0.0
117+ # 2.0.0
118+ # 3.0.0
119+ ```
120+
121+ ```sh
122+ # sort versions from stdin
123+ cat versions.txt | semver sort --
124+ # (sorted output)
125+ ```
126+
100127### Incrementing
101128
102129When calling the command `inc` the `VERSION` file will be updated based on the
0 commit comments