Skip to content

Commit 444f1e3

Browse files
committed
Display release notes when new version is detected
1 parent 79d70f2 commit 444f1e3

File tree

2 files changed

+15
-27
lines changed

2 files changed

+15
-27
lines changed

modules/activateDebuggerExtension.js

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const {
1717
parseSemVer,
1818
semverIsNewer,
1919
releaseNotesProvider,
20+
showReleaseNotes,
2021
} = require("./utils/utils");
2122
const fs = require("fs");
2223
const Path = require("path");
@@ -48,6 +49,7 @@ function cloneNonExistingSubProperties(obj) {
4849
};
4950
}
5051

52+
/** @returns {MidasConfig} */
5153
const sanitize_config = (cfg) => {
5254
return JSON.parse(JSON.stringify(cfg, cloneNonExistingSubProperties(default_config_contents())));
5355
};
@@ -176,25 +178,13 @@ class MidasAPI {
176178
}
177179
}
178180

179-
async notifyUserOfBreakingChanges() {
181+
maybeDisplayReleaseNotes() {
180182
let cfg = sanitize_config(this.get_config());
181-
const recorded_semver = parseSemVer(cfg.midas_version);
182-
const new_changes = (semver) => {
183-
return semverIsNewer(semver, recorded_semver);
184-
};
185-
if (breaking_changes.some(new_changes)) {
186-
// eslint-disable-next-line max-len
187-
const list = breaking_changes.filter(semver => semverIsNewer(semver, recorded_semver)).map(sem => `- ${sem.major}.${sem.minor}.${sem.patch}`).join("\n");
188-
// eslint-disable-next-line max-len
189-
const detail = `Some breaking changes has been introduced in recent versions.\nBe sure to read the NEWS section in the README, to see what has changed.\n\nVersions that introduced breaking changes:\n ${list}`;
190-
vscode.window.showWarningMessage("Midas: Breaking changes", {detail: detail, modal: true}, "Show readme").then(async res => {
191-
if(res == "Show readme") {
192-
const doc = await vscode.workspace.openTextDocument(getExtensionPathOf("README.md"));
193-
await vscode.window.showTextDocument(doc, { preview: true });
194-
}
195-
})
183+
const recordedSemVer = parseSemVer(cfg.midas_version);
184+
const currentlyLoadedSemVer = parseSemVer(this.#context.extension.packageJSON["version"]);
185+
if(semverIsNewer(currentlyLoadedSemVer, recordedSemVer)) {
186+
showReleaseNotes();
196187
}
197-
cfg.midas_version = this.#context.extension.packageJSON["version"];
198188
}
199189

200190
/** @param { MidasConfig } cfg */
@@ -252,7 +242,7 @@ class MidasAPI {
252242
/**
253243
* Write Midas version to config file
254244
*/
255-
write_midas_version() {
245+
serializeMidasVersion() {
256246
let cfg = sanitize_config(this.get_config());
257247
cfg.midas_version = this.#context.extension.packageJSON["version"];
258248
this.#write_config(cfg);
@@ -446,8 +436,8 @@ async function init_midas(api) {
446436
}
447437
}
448438
api.setup_env_vars();
449-
await api.notifyUserOfBreakingChanges();
450-
api.write_midas_version();
439+
api.maybeDisplayReleaseNotes();
440+
api.serializeMidasVersion();
451441
}
452442

453443
function registerMidasType(context) {
@@ -503,8 +493,6 @@ async function activateExtension(context) {
503493

504494
function deactivateExtension() {}
505495

506-
const breaking_changes = [{ major: 0, minor: 19, patch: 0 }];
507-
508496
module.exports = {
509497
activateExtension,
510498
deactivateExtension,

modules/utils/utils.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -482,13 +482,13 @@ function parseSemVer(string) {
482482
}
483483

484484
/**
485-
* @param {SemVer} semver
486-
* @param {SemVer} compare
485+
* @param {SemVer} lhs
486+
* @param {SemVer} rhs
487487
* @returns {boolean}
488488
*/
489-
function semverIsNewer(semver, compare) {
490-
const bits = (semver.major << 16) | (semver.minor) << 8 | semver.patch;
491-
const cmp_bits = (compare.major << 16) | (compare.minor << 8) | compare.patch;
489+
function semverIsNewer(lhs, rhs) {
490+
const bits = (lhs.major << 16) | (lhs.minor) << 8 | lhs.patch;
491+
const cmp_bits = (rhs.major << 16) | (rhs.minor << 8) | rhs.patch;
492492
return bits > cmp_bits;
493493
}
494494

0 commit comments

Comments
 (0)