Skip to content

Commit 985a584

Browse files
committed
fix: preserve build in raw after inc
Fixes: #562
1 parent 2f738e9 commit 985a584

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

Diff for: classes/semver.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,10 @@ class SemVer {
291291
default:
292292
throw new Error(`invalid increment argument: ${release}`)
293293
}
294-
this.format()
295-
this.raw = this.version
294+
this.raw = this.format()
295+
if (this.build.length) {
296+
this.raw += `+${this.build.join('.')}`
297+
}
296298
return this
297299
}
298300
}

Diff for: test/classes/semver.js

+13-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ test('invalid version numbers', (t) => {
8181
})
8282

8383
test('incrementing', t => {
84-
t.plan(increments.length)
84+
t.plan(increments.length + 1)
8585
increments.forEach(([
8686
version,
8787
inc,
@@ -97,6 +97,18 @@ test('incrementing', t => {
9797
t.equal(new SemVer(version, options).inc(inc, id, base).version, expect)
9898
}
9999
}))
100+
t.test('preserve build in raw', t => {
101+
// https://github.com/npm/node-semver/issues/562
102+
t.plan(2)
103+
t.equal(
104+
new SemVer('1.0.0-rc.1+build.4').inc('prerelease', 'rc').raw,
105+
'1.0.0-rc.2+build.4'
106+
)
107+
t.equal(
108+
new SemVer('1.0.0-rc.1').inc('prerelease', 'rc').raw,
109+
'1.0.0-rc.2'
110+
)
111+
})
100112
})
101113

102114
test('compare main vs pre', (t) => {

0 commit comments

Comments
 (0)