mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 20:10:43 +00:00
27 lines
805 B
TypeScript
27 lines
805 B
TypeScript
import { createRequire } from "node:module";
|
|
|
|
const require = createRequire(import.meta.url);
|
|
|
|
type SemverRuntime = {
|
|
satisfies(version: string, range: string, options?: { includePrerelease?: boolean }): boolean;
|
|
valid(version: string): string | null;
|
|
validRange(range: string): string | null;
|
|
};
|
|
|
|
let semver: SemverRuntime | undefined;
|
|
|
|
function getSemver(): SemverRuntime {
|
|
semver ??= require("semver") as SemverRuntime;
|
|
return semver;
|
|
}
|
|
|
|
export const satisfies = (
|
|
version: string,
|
|
range: string,
|
|
options?: { includePrerelease?: boolean },
|
|
): boolean => getSemver().satisfies(version, range, options);
|
|
|
|
export const validSemver = (version: string): string | null => getSemver().valid(version);
|
|
|
|
export const validRange = (range: string): string | null => getSemver().validRange(range);
|