From 83e334c3f87534efda754d0e255b53dc86a0b0c2 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Wed, 6 Mar 2019 02:16:27 +0200 Subject: [PATCH] Getters, debug --- core/src/modules/updater.js | 74 +++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/core/src/modules/updater.js b/core/src/modules/updater.js index 50f80002..70a27c76 100644 --- a/core/src/modules/updater.js +++ b/core/src/modules/updater.js @@ -9,25 +9,65 @@ */ import Module from './modulebase'; +import semver from 'semver'; const TEST_UPDATE = [ { 'id': 'core', - 'currentVersion': '2.0.0-beta.4', 'version': '2.0.0-beta.5' }, { 'id': 'client', - 'currentVersion': '2.0.0-beta.4', 'version': '2.0.0-beta.5' }, { 'id': 'editor', - 'currentVersion': '0.4.0', 'version': '0.4.1' } ]; +class ReleaseInfo { + + constructor(versions) { + this.versions = versions; + } + + get core() { + const f = this.files.find(f => f.id === 'core'); + return { + id: 'core', + currentVersion: this.versions.core, + version: f.version, + upToDate: semver.satisfies(this.versions.core, `>=${f.version}`, { includePrerelease: true }) + } + } + + get client() { + const f = this.files.find(f => f.id === 'client'); + return { + id: 'client', + currentVersion: this.versions.core, + version: f.version, + upToDate: semver.satisfies(this.versions.client, `>=${f.version}`, { includePrerelease: true }) + } + } + + get editor() { + const f = this.files.find(f => f.id === 'editor'); + return { + id: 'editor', + currentVersion: this.versions.editor, + version: f.version, + upToDate: semver.satisfies(this.versions.editor, `>=${f.version}`, { includePrerelease: true }) + } + } + + test() { + this.files = TEST_UPDATE; + } + +} + export default class Updater extends Module { constructor(bd) { @@ -50,7 +90,12 @@ export default class Updater extends Module { try { const { coreVersion, clientVersion, editorVersion } = this.bd.config; - console.log('[BetterDiscord:Updater]', coreVersion, clientVersion, editorVersion); + const releaseInfo = new ReleaseInfo({ core: coreVersion, client: clientVersion, editor: editorVersion }); + + releaseInfo.test(); + this.debug(releaseInfo); + + return true; } catch (err) { console.log('[BetterDiscord:Updater]', err); @@ -58,4 +103,25 @@ export default class Updater extends Module { } } + debug(releaseInfo) { + const { core, client, editor } = releaseInfo; + if (!core.upToDate) { + console.log(`[BetterDiscord:Updater] Core update available: ${core.currentVersion} > ${core.version}`); + } else { + console.log(`[BetterDiscord:Updater] Core up to date: ${core.currentVersion} = ${core.version}`); + } + + if (!client.upToDate) { + console.log(`[BetterDiscord:Updater] Client update available: ${client.currentVersion} > ${client.version}`); + } else { + console.log(`[BetterDiscord:Updater] Client up to date: ${client.currentVersion} = ${client.version}`); + } + + if (!editor.upToDate) { + console.log(`[BetterDiscord:Updater] Editor update available: ${editor.currentVersion} > ${editor.version}`); + } else { + console.log(`[BetterDiscord:Updater] Editor up to date: ${editor.currentVersion} = ${editor.version}`); + } + } + }