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

View file

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

View file

@ -85,6 +85,8 @@ import * as CSS from "css"
import * as Perf from "@src/perf" import * as Perf from "@src/perf"
import * as Metadata from "@src/.metadata.generated" import * as Metadata from "@src/.metadata.generated"
const TRI_VERSION = "REPLACE_ME_WITH_THE_VERSION_USING_SED"
//#content_helper //#content_helper
// { // {
import "@src/lib/number.clamp" import "@src/lib/number.clamp"
@ -2250,7 +2252,7 @@ export function suppress(preventDefault?: boolean, stopPropagation?: boolean) {
//#background //#background
export function version() { export function version() {
fillcmdline_notrail("REPLACE_ME_WITH_THE_VERSION_USING_SED") fillcmdline_notrail(TRI_VERSION)
} }
/** Example: /** Example:
@ -2455,7 +2457,7 @@ for (let fn in cmdframe_fns) {
// { // {
for (let editorfn in tri_editor) { for (let editorfn in tri_editor) {
let name = "text." + editorfn 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) BGSELF[name] = (...args) => messageActiveTab("excmd_content", name, args)
} }
for (let fn in cmdframe_fns) { for (let fn in cmdframe_fns) {
@ -2901,8 +2903,7 @@ export function set(key: string, ...values: string[]) {
if (key == "noiframeon") { if (key == "noiframeon") {
let noiframes = config.get("noiframeon") let noiframes = config.get("noiframeon")
// unset previous settings // unset previous settings
if (noiframes) if (noiframes) noiframes.forEach(url => seturl(url, "noiframe", "false"))
noiframes.forEach(url => seturl(url, "noiframe", "false"))
// store new settings // store new settings
values.forEach(url => seturl(url, "noiframe", "true")) values.forEach(url => seturl(url, "noiframe", "true"))
// save as deprecated setting for compatibility // 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. /** Open a welcome page on first install.
* *
* @hidden * @hidden