Skip to content

Commit

Permalink
Infer semver versions from numeric tags
Browse files Browse the repository at this point in the history
Fixes #126
  • Loading branch information
cookpete committed Jul 10, 2019
1 parent 85bd073 commit 69eaf98
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 6 deletions.
8 changes: 2 additions & 6 deletions src/releases.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { niceDate } from './utils'

const MERGE_COMMIT_PATTERN = /^Merge (remote-tracking )?branch '.+'/
const COMMIT_MESSAGE_PATTERN = /\n+([\S\s]+)/
const NUMERIC_PATTERN = /^\d+(\.\d+)?$/

export function parseReleases (commits, remote, latestVersion, options) {
let release = newRelease(latestVersion)
Expand Down Expand Up @@ -53,9 +52,6 @@ export function sortReleases (a, b) {
if (semver.valid(tags.a) && semver.valid(tags.b)) {
return semver.rcompare(tags.a, tags.b)
}
if (NUMERIC_PATTERN.test(tags.a) && NUMERIC_PATTERN.test(tags.b)) {
return parseFloat(tags.a) < parseFloat(tags.b) ? 1 : -1
}
if (tags.a === tags.b) {
return 0
}
Expand All @@ -67,11 +63,11 @@ export function sortReleases (a, b) {
}

function inferSemver (tag) {
if (/^v\d+$/.test(tag)) {
if (/^v?\d+$/.test(tag)) {
// v1 becomes v1.0.0
return `${tag}.0.0`
}
if (/^v\d+\.\d+$/.test(tag)) {
if (/^v?\d+\.\d+$/.test(tag)) {
// v1.0 becomes v1.0.0
return `${tag}.0`
}
Expand Down
2 changes: 2 additions & 0 deletions test/releases.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ describe('sortReleases', () => {
expect(sortReleases({ tag: '22.0' }, { tag: '22.1' })).to.equal(1)
expect(sortReleases({ tag: '123.0' }, { tag: '22.1' })).to.equal(-1)
expect(sortReleases({ tag: '0.1' }, { tag: '0.01' })).to.equal(-1)
expect(sortReleases({ tag: '0.14' }, { tag: '0.2' })).to.equal(-1)
expect(sortReleases({ tag: '0.2' }, { tag: '0.14' })).to.equal(1)
})

it('supports partial semver tags', () => {
Expand Down

0 comments on commit 69eaf98

Please sign in to comment.