Add rudimentary version checker

This commit is contained in:
Oliver Blanthorn 2018-12-07 00:31:16 +00:00
parent 27e8ca3701
commit a5ff5ccbca
No known key found for this signature in database
GPG key ID: 2BB8C36BB504BFF3
3 changed files with 39 additions and 11 deletions

19
package-lock.json generated
View file

@ -3709,8 +3709,7 @@
"entities": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
"dev": true
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
},
"errno": {
"version": "0.1.7",
@ -9851,6 +9850,15 @@
"inherits": "^2.0.1"
}
},
"rss-parser": {
"version": "3.5.4",
"resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.5.4.tgz",
"integrity": "sha512-dC7wHtz/p8QWQnsGgCB+HEYE01Dk8/AHMzSk0ZvoV3S0mhBqQNO/yi3H2fPh3qV2NNLNNEBg+8ZDSipKxjR5tQ==",
"requires": {
"entities": "^1.1.1",
"xml2js": "^0.4.19"
}
},
"rsvp": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
@ -10294,8 +10302,7 @@
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"schema-utils": {
"version": "0.4.7",
@ -14655,7 +14662,6 @@
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"dev": true,
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~9.0.1"
@ -14664,8 +14670,7 @@
"xmlbuilder": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
"dev": true
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
},
"xmldom": {
"version": "0.1.27",

View file

@ -10,6 +10,7 @@
"css": "^2.2.4",
"fuse.js": "^3.3.0",
"mark.js": "^8.11.1",
"rss-parser": "^3.5.4",
"semver-compare": "^1.0.0"
},
"devDependencies": {

View file

@ -85,6 +85,8 @@ import * as CSS from "css"
import * as Perf from "@src/perf"
import * as Metadata from "@src/.metadata.generated"
const TRI_VERSION = "REPLACE_ME_WITH_THE_VERSION_USING_SED"
//#content_helper
// {
import "@src/lib/number.clamp"
@ -2250,7 +2252,7 @@ export function suppress(preventDefault?: boolean, stopPropagation?: boolean) {
//#background
export function version() {
fillcmdline_notrail("REPLACE_ME_WITH_THE_VERSION_USING_SED")
fillcmdline_notrail(TRI_VERSION)
}
/** Example:
@ -2455,7 +2457,7 @@ for (let fn in cmdframe_fns) {
// {
for (let editorfn in tri_editor) {
let name = "text." + editorfn
cmd_params.set(name, new Map([['arr', 'string[]']]))
cmd_params.set(name, new Map([["arr", "string[]"]]))
BGSELF[name] = (...args) => messageActiveTab("excmd_content", name, args)
}
for (let fn in cmdframe_fns) {
@ -2901,8 +2903,7 @@ export function set(key: string, ...values: string[]) {
if (key == "noiframeon") {
let noiframes = config.get("noiframeon")
// unset previous settings
if (noiframes)
noiframes.forEach(url => seturl(url, "noiframe", "false"))
if (noiframes) noiframes.forEach(url => seturl(url, "noiframe", "false"))
// store new settings
values.forEach(url => seturl(url, "noiframe", "true"))
// save as deprecated setting for compatibility
@ -3872,6 +3873,27 @@ export async function jsb(...str: string[]) {
}
}
//#background_helper
import * as Parser from "rss-parser"
import * as semverCompare from "semver-compare"
//#background
export async function checkupdate() {
let parser = new Parser()
let feed = await parser.parseURL("https://github.com/tridactyl/tridactyl/tags.atom")
try {
// If any monster any makes a novelty tag this will break.
// So let's just ignore any errors.
// let latest = feed.items[0].title
let latest = feed.items[0].title
let current = TRI_VERSION.replace(/-.*/, "")
if (semverCompare(latest, current) > 0) {
fillcmdline_notrail("A new version of Tridactyl is available.")
}
} catch (e) {}
}
/** Open a welcome page on first install.
*
* @hidden