package funkin.util; import thx.semver.Version; import thx.semver.VersionRule; /** * Remember, increment the patch version (1.0.x) if you make a bugfix, * increment the minor version (1.x.0) if you make a new feature (but previous content is still compatible), * and increment the major version (x.0.0) if you make a breaking change (e.g. new API or reorganized file format). */ class VersionUtil { /** * Checks that a given verison number satisisfies a given version rule. * Version rule can be complex, e.g. "1.0.x" or ">=1.0.0,<1.1.0", or anything NPM supports. */ public static function validateVersion(version:String, versionRule:String):Bool { try { var v:Version = version; // Perform a cast. var vr:VersionRule = versionRule; // Perform a cast. return v.satisfies(vr); } catch (e) { trace('[VERSIONUTIL] Invalid semantic version: ${version}'); return false; } } }