From e60c6905da589b898e4a2ca10d4a8c930f3d123d Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Mon, 5 Jul 2021 23:17:35 +0300 Subject: [PATCH] Fix problem with in-tree extension load (#3274) * Revert "don't set prerelease version info when non-prerelease (#3261)" This reverts commit 3f01abbddfd3a72d69034943f3bbdc949576ec18. * include fix from #3256 Signed-off-by: Jari Kolehmainen --- build/set_build_version.ts | 14 ++++++++------ src/extensions/extension-discovery.ts | 8 +++++++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/build/set_build_version.ts b/build/set_build_version.ts index 3f503e93ba..ebf74d6fab 100644 --- a/build/set_build_version.ts +++ b/build/set_build_version.ts @@ -32,6 +32,8 @@ function getBuildChannel(): string { switch (versionInfo.prerelease?.[0]) { case "beta": return "beta"; + case undefined: + return "latest"; default: return "alpha"; } @@ -57,16 +59,16 @@ async function writeOutNewVersions() { } function main() { - if (versionInfo.prerelease && versionInfo.prerelease.length > 1) { - const prereleaseParts: string[] = [getBuildChannel()]; + const prereleaseParts: string[] = [getBuildChannel()]; + if (versionInfo.prerelease && versionInfo.prerelease.length > 1) { prereleaseParts.push(versionInfo.prerelease[1].toString()); - prereleaseParts.push(buildNumber); - appInfo.version = `${versionInfo.major}.${versionInfo.minor}.${versionInfo.patch}-${prereleaseParts.join(".")}`; - } else { - appInfo.version = `${versionInfo.major}.${versionInfo.minor}.${versionInfo.patch}+${buildNumber}`; } + prereleaseParts.push(buildNumber); + + appInfo.version = `${versionInfo.major}.${versionInfo.minor}.${versionInfo.patch}-${prereleaseParts.join(".")}`; + writeOutNewVersions() .catch((error) => { console.error(error); diff --git a/src/extensions/extension-discovery.ts b/src/extensions/extension-discovery.ts index 9f2fe15067..85231cc88e 100644 --- a/src/extensions/extension-discovery.ts +++ b/src/extensions/extension-discovery.ts @@ -365,7 +365,13 @@ export class ExtensionDiscovery extends Singleton { let isCompatible = isBundled; if (manifest.engines?.lens) { - isCompatible = semver.satisfies(appSemVer, manifest.engines.lens); + const appSemVerLatestImplied = appSemVer; + + if (appSemVerLatestImplied.prerelease?.[0] === "latest") { + /* remove the "latest" prerelease tag so as not to require the extension to specify it */ + appSemVerLatestImplied.prerelease = []; + } + isCompatible = semver.satisfies(appSemVerLatestImplied, manifest.engines.lens); } return {