1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Add extensionUpdateUrl to package.json

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-01-24 14:21:20 +03:00
parent 2e78aba80e
commit de75d9d680
5 changed files with 9 additions and 7 deletions

View File

@ -49,7 +49,8 @@
"config": { "config": {
"bundledKubectlVersion": "1.21.2", "bundledKubectlVersion": "1.21.2",
"bundledHelmVersion": "3.6.3", "bundledHelmVersion": "3.6.3",
"sentryDsn": "" "sentryDsn": "",
"extensionUpdateUrl": ""
}, },
"engines": { "engines": {
"node": ">=14 <15" "node": ">=14 <15"

View File

@ -61,3 +61,4 @@ export const appSemVer = new SemVer(packageInfo.version);
export const docsUrl = "https://docs.k8slens.dev/main/" as string; export const docsUrl = "https://docs.k8slens.dev/main/" as string;
export const sentryDsn = packageInfo.config?.sentryDsn ?? ""; export const sentryDsn = packageInfo.config?.sentryDsn ?? "";
export const extensionUpdateUrl = packageInfo.config?.extensionUpdateUrl ?? "";

View File

@ -5,6 +5,7 @@
import { SemVer } from "semver"; import { SemVer } from "semver";
import logger from "../common/logger"; import logger from "../common/logger";
import { extensionUpdateUrl } from "../common/vars";
import { DownloadFileOptions, downloadJson } from "../renderer/utils"; import { DownloadFileOptions, downloadJson } from "../renderer/utils";
import type { LensExtensionManifest } from "./lens-extension"; import type { LensExtensionManifest } from "./lens-extension";
import type { LensExtensionLatestVersionChecker } from "./lens-extension-latest-version-checker"; import type { LensExtensionLatestVersionChecker } from "./lens-extension-latest-version-checker";
@ -25,8 +26,7 @@ export class BundledVersionChecker implements LensExtensionLatestVersionChecker
return null; return null;
} }
const updateUrl = process.env.BUNDLED_EXTENSIONS_URL; const json = await this.getJson(extensionUpdateUrl);
const json = await this.getJson(updateUrl);
if (!json || json.error || !json[manifest.name]) { if (!json || json.error || !json[manifest.name]) {
logger.info(`[BUNDLED-EXTENSIONS-UPDATER]: No version found for ${manifest.name}.`); logger.info(`[BUNDLED-EXTENSIONS-UPDATER]: No version found for ${manifest.name}.`);
@ -36,7 +36,7 @@ export class BundledVersionChecker implements LensExtensionLatestVersionChecker
const version = json[manifest.name]; const version = json[manifest.name];
return { return {
input: `${updateUrl}/${manifest.name}-${version}.tar`, input: `${extensionUpdateUrl}/${manifest.name}-${version}.tar`,
version: new SemVer(version).version version: new SemVer(version).version
} }
} }

View File

@ -7,5 +7,5 @@ import type { LensExtensionManifest } from "./lens-extension";
import type { LensExtensionAvailableUpdate } from "./lens-extension-update-checker"; import type { LensExtensionAvailableUpdate } from "./lens-extension-update-checker";
export interface LensExtensionLatestVersionChecker { export interface LensExtensionLatestVersionChecker {
getLatestVersion(manifest: LensExtensionManifest): Promise<LensExtensionAvailableUpdate> getLatestVersion(manifest: LensExtensionManifest, isBundled?: boolean): Promise<LensExtensionAvailableUpdate>
} }

View File

@ -26,7 +26,7 @@ export class LensExtensionUpdateChecker {
this.updateSources = updateSources; this.updateSources = updateSources;
} }
public async run(manifest: LensExtensionManifest): Promise<LensExtensionAvailableUpdate|undefined> { public async run(manifest: LensExtensionManifest, isBundled?: boolean): Promise<LensExtensionAvailableUpdate|undefined> {
const { name, version } = manifest; const { name, version } = manifest;
logger.debug(`Check update for extension ${name}`); logger.debug(`Check update for extension ${name}`);
@ -34,7 +34,7 @@ export class LensExtensionUpdateChecker {
const versions: LensExtensionAvailableUpdate[] = []; const versions: LensExtensionAvailableUpdate[] = [];
for(const checker of Object.values(this.updateSources)) { for(const checker of Object.values(this.updateSources)) {
const latestVersionFromSource = await checker.getLatestVersion(manifest); const latestVersionFromSource = await checker.getLatestVersion(manifest, isBundled);
if (latestVersionFromSource && this.isUpdate(version, latestVersionFromSource.version)) { if (latestVersionFromSource && this.isUpdate(version, latestVersionFromSource.version)) {
versions.push(latestVersionFromSource); versions.push(latestVersionFromSource);