Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.7 kB · 59 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960/** * Semver comparison utilities that use Bun.semver when available * and fall back to the npm `semver` package in Node.js environments. * * Bun.semver.order() is ~20x faster than npm semver comparisons. * The npm semver fallback always uses { loose: true }. */
let _npmSemver: typeof import('semver') | undefined
function getNpmSemver(): typeof import('semver') { if (!_npmSemver) { // eslint-disable-next-line @typescript-eslint/no-require-imports _npmSemver = require('semver') as typeof import('semver') } return _npmSemver}
export function gt(a: string, b: string): boolean { if (typeof Bun !== 'undefined') { return Bun.semver.order(a, b) === 1 } return getNpmSemver().gt(a, b, { loose: true })}
export function gte(a: string, b: string): boolean { if (typeof Bun !== 'undefined') { return Bun.semver.order(a, b) >= 0 } return getNpmSemver().gte(a, b, { loose: true })}
export function lt(a: string, b: string): boolean { if (typeof Bun !== 'undefined') { return Bun.semver.order(a, b) === -1 } return getNpmSemver().lt(a, b, { loose: true })}
export function lte(a: string, b: string): boolean { if (typeof Bun !== 'undefined') { return Bun.semver.order(a, b) <= 0 } return getNpmSemver().lte(a, b, { loose: true })}
export function satisfies(version: string, range: string): boolean { if (typeof Bun !== 'undefined') { return Bun.semver.satisfies(version, range) } return getNpmSemver().satisfies(version, range, { loose: true })}
export function order(a: string, b: string): -1 | 0 | 1 { if (typeof Bun !== 'undefined') { return Bun.semver.order(a, b) } return getNpmSemver().compare(a, b, { loose: true })}