HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //var/dev/shahnamag/back-end/node_modules/bin-version-check/index.js
import semver from 'semver';
import binaryVersion from 'bin-version';
import semverTruncate from 'semver-truncate';

export default async function binaryVersionCheck(binary, semverRange, options) {
	if (typeof binary !== 'string' || typeof semverRange !== 'string') {
		throw new TypeError('`binary` and `semverRange` arguments required');
	}

	if (!semver.validRange(semverRange)) {
		throw new Error('Invalid version range');
	}

	const version = await binaryVersion(binary, options);

	if (semver.satisfies(semverTruncate(version, 'patch'), semverRange)) {
		return;
	}

	const error = new Error(`${binary} ${version} doesn't satisfy the version requirement of ${semverRange}`);
	error.name = 'InvalidBinaryVersion';
	throw error;
}