Skip to content

Commit d4c005f

Browse files
committed
fix invalid semver in release. closes #61
1 parent 6c19efa commit d4c005f

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

index.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,13 @@ class Updates {
162162

163163
const releases = await res.json()
164164
for (const release of releases) {
165-
if (release.draft || release.prerelease) continue
165+
if (
166+
!semver.valid(release.tag_name) ||
167+
release.draft ||
168+
release.prerelease
169+
) {
170+
continue
171+
}
166172
for (const asset of release.assets) {
167173
const platform = assetPlatform(asset.name)
168174
if (platform && !latest[platform]) {

test/index.js

+26-1
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,24 @@ nock('https://api.github.com')
121121
]
122122
}
123123
])
124+
.get('/repos/owner/repo-invalid-semver/releases?per_page=100')
125+
.reply(200, [
126+
{
127+
name: 'name',
128+
tag_name: 'invalid-semver',
129+
body: 'notes',
130+
assets: [
131+
{
132+
name: 'win32-ia32.zip',
133+
browser_download_url: 'win32-ia32.zip'
134+
},
135+
{
136+
name: 'win32-x64.zip',
137+
browser_download_url: 'win32-x64.zip'
138+
}
139+
]
140+
}
141+
])
124142
nock('https://github.com')
125143
.get('/owner/repo/releases/download/1.0.0/RELEASES')
126144
.reply(200, 'HASH name.nupkg NUMBER')
@@ -175,13 +193,20 @@ test('Updates', async t => {
175193
}
176194
})
177195

178-
await t.test('invalid semver', async t => {
196+
await t.test('invalid semver in request', async t => {
179197
const res = await fetch(`${address}/owner/repo/darwin/latest`)
180198
t.equal(res.status, 400)
181199
const body = await res.text()
182200
t.equal(body, 'Invalid SemVer: "latest"')
183201
})
184202

203+
await t.test('invalid semver in release', async t => {
204+
const res = await fetch(
205+
`${address}/owner/repo-invalid-semver/darwin/0.0.0`
206+
)
207+
t.equal(res.status, 404)
208+
})
209+
185210
await t.test('exists but has no releases', async t => {
186211
for (let i = 0; i < 2; i++) {
187212
const res = await fetch(

0 commit comments

Comments
 (0)