Update Notifier Tweaks
This commit is contained in:
parent
238dd4a996
commit
a26f829399
@ -3,10 +3,11 @@
|
|||||||
import { commands, ExtensionContext } from 'vscode';
|
import { commands, ExtensionContext } from 'vscode';
|
||||||
import { formatXml, linearizeXml } from './features/xmlFormatting';
|
import { formatXml, linearizeXml } from './features/xmlFormatting';
|
||||||
import { evaluateXPath } from './features/xmlXPathEngine';
|
import { evaluateXPath } from './features/xmlXPathEngine';
|
||||||
|
import { checkForUpdates } from './utils/UpdateNotifier';
|
||||||
|
|
||||||
export function activate(ctx: ExtensionContext) {
|
export function activate(ctx: ExtensionContext) {
|
||||||
// check for update
|
// check for update
|
||||||
//...
|
checkForUpdates();
|
||||||
|
|
||||||
// register palette commands
|
// register palette commands
|
||||||
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.formatXml', formatXml));
|
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.formatXml', formatXml));
|
||||||
|
@ -5,6 +5,7 @@ import { extensions, Extension } from 'vscode';
|
|||||||
export class ExtensionManifestReader {
|
export class ExtensionManifestReader {
|
||||||
constructor(extensionId: string) {
|
constructor(extensionId: string) {
|
||||||
this._extension = extensions.getExtension(extensionId);
|
this._extension = extensions.getExtension(extensionId);
|
||||||
|
this.refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
private _extension: Extension<any>
|
private _extension: Extension<any>
|
||||||
@ -27,7 +28,7 @@ export class ExtensionManifestReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
refresh(): void {
|
refresh(): void {
|
||||||
let manifest: any = this._extension.packageJSON;
|
let manifest = this._extension.packageJSON;
|
||||||
|
|
||||||
for (let property in manifest)
|
for (let property in manifest)
|
||||||
{
|
{
|
||||||
@ -35,5 +36,7 @@ export class ExtensionManifestReader {
|
|||||||
this[property] = manifest[property];
|
this[property] = manifest[property];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.displayName = manifest.displayName;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,9 +6,9 @@ import { ExtensionManifestReader } from './ManifestUtils';
|
|||||||
let req = require('request');
|
let req = require('request');
|
||||||
let semver = require('semver');
|
let semver = require('semver');
|
||||||
|
|
||||||
export function checkForUpdates() {
|
export function checkForUpdates() {
|
||||||
let manifestReader: ExtensionManifestReader = new ExtensionManifestReader('DotJoshJohnson.xml');
|
let manifestReader: ExtensionManifestReader = new ExtensionManifestReader('DotJoshJohnson.xml');
|
||||||
let currentVersion = manifestReader.version;
|
let currentVersion = '0.0.0';//manifestReader.version;
|
||||||
|
|
||||||
// use the GitHub api to determine the latest released version
|
// use the GitHub api to determine the latest released version
|
||||||
let url = 'https://api.github.com/repos/DotJoshJohnson/vscode-xml/releases/latest';
|
let url = 'https://api.github.com/repos/DotJoshJohnson/vscode-xml/releases/latest';
|
||||||
@ -24,7 +24,7 @@ export function checkForUpdates() {
|
|||||||
req(options, (error, response, body) => {
|
req(options, (error, response, body) => {
|
||||||
if (!error && response.statusCode == 200) {
|
if (!error && response.statusCode == 200) {
|
||||||
let release = JSON.parse(body);
|
let release = JSON.parse(body);
|
||||||
let latestVersion = release.name.substring(1); // the telease/tag is prefixed with a "v"
|
let latestVersion = release.name.substring(1); // the release/tag is prefixed with a "v"
|
||||||
|
|
||||||
if (!release.draft && semver.gt(latestVersion, currentVersion)) {
|
if (!release.draft && semver.gt(latestVersion, currentVersion)) {
|
||||||
let updateNowLabel = 'Update Now';
|
let updateNowLabel = 'Update Now';
|
||||||
@ -35,5 +35,9 @@ export function checkForUpdates() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
console.log('XML Tools: Failed to get latest release information from GitHub.');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user