mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
more type fixing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
2ce46f67de
commit
e73dc03031
@ -2,6 +2,7 @@
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import assert from "assert";
|
||||
import semver, { type SemVer } from "semver";
|
||||
import type { LensExtensionManifest } from "../../lens-extension";
|
||||
|
||||
@ -13,9 +14,12 @@ export const isCompatibleExtension = ({ appSemVer }: Dependencies): ((manifest:
|
||||
return (manifest: LensExtensionManifest): boolean => {
|
||||
const appVersion = appSemVer.raw.split("-")[0]; // drop prerelease version if any, e.g. "-alpha.0"
|
||||
const manifestLensEngine = manifest.engines.lens;
|
||||
const validVersion = manifestLensEngine.match(/^[\^0-9]\d*\.\d+\b/); // must start from ^ or number
|
||||
const lensEngine = semver.coerce(manifestLensEngine, {
|
||||
loose: true,
|
||||
includePrerelease: false,
|
||||
});
|
||||
|
||||
if (!validVersion) {
|
||||
if (!lensEngine) {
|
||||
const errorInfo = [
|
||||
`Invalid format for "manifest.engines.lens"="${manifestLensEngine}"`,
|
||||
`Range versions can only be specified starting with '^'.`,
|
||||
@ -25,11 +29,11 @@ export const isCompatibleExtension = ({ appSemVer }: Dependencies): ((manifest:
|
||||
throw new Error(errorInfo);
|
||||
}
|
||||
|
||||
const { major: extMajor, minor: extMinor } = semver.coerce(manifestLensEngine, {
|
||||
loose: true,
|
||||
includePrerelease: false,
|
||||
});
|
||||
const supportedVersionsByExtension: string = semver.validRange(`^${extMajor}.${extMinor}`);
|
||||
const { major: extMajor, minor: extMinor } = lensEngine;
|
||||
const supportedRange = `^${extMajor}.${extMinor}`;
|
||||
const supportedVersionsByExtension = semver.validRange(supportedRange);
|
||||
|
||||
assert(supportedVersionsByExtension, `${supportedRange} should always be a valid semver range`);
|
||||
|
||||
return semver.satisfies(appVersion, supportedVersionsByExtension, {
|
||||
loose: true,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user