Skip to content

Commit 0c3a1be

Browse files
author
Colin Yang
committed
Front - Use semver to check version upgrade
1 parent 9f225db commit 0c3a1be

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

frontend/tinywebdb-php-vue/package-lock.json

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/tinywebdb-php-vue/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
},
2525
"devDependencies": {
2626
"@types/qs": "^6.5.3",
27+
"@types/semver": "^6.0.1",
2728
"autoprefixer": "^7.1.2",
2829
"babel-core": "^6.22.1",
2930
"babel-eslint": "^8.2.1",

frontend/tinywebdb-php-vue/src/components/manage/Frame.vue

+10-9
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
<script>
5252
import axios from 'axios'
5353
import qs from 'qs'
54+
import semver from 'semver'
5455
5556
export default {
5657
name: 'ManageFrame',
@@ -141,16 +142,16 @@ export default {
141142
try {
142143
let { data } = await axios.get(this.$root.REPO_API_URL + '/releases/latest')
143144
let tagName = data.tag_name
144-
let match = tagName.match(/v(\d+)\.(\d+)\.(\d+)/)
145-
let currentVersionCode = this.$root.VERSION_CODE
146-
if (match) {
147-
if ((match[1] > currentVersionCode[0]) ||
148-
(match[1] === currentVersionCode[0] && match[2] > currentVersionCode[1]) ||
149-
(match[1] === currentVersionCode[0] && match[2] === currentVersionCode[1] && match[3] > currentVersionCode[2])) {
150-
this.update_available = true
151-
}
152-
} else {
145+
if (!tagName.startsWith('v')) {
146+
console.log(`latest tag not a formal release: ${tagName}`)
147+
return
148+
}
149+
if (!semver.valid(tagName)) {
153150
console.log(`latest tag is invalid: ${tagName}`)
151+
return
152+
}
153+
if (semver.gt(tagName, this.$root.VERSION_NAME)) {
154+
this.update_available = true
154155
}
155156
} catch (e) {
156157
console.error('Can\'t load latest release info', e)

frontend/tinywebdb-php-vue/src/main.js

-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ new Vue({
5454
REPO_API_URL: 'https://api.github.com/repos/ColinTree/tinywebdb-php-vue',
5555
SERVICE_BASE_URL: '/',
5656
VERSION_NAME: '1.0.0',
57-
VERSION_CODE: [ 1, 0, 0 ],
5857

5958
service: null
6059
}

0 commit comments

Comments
 (0)