2022-04-18 23:36:09 +00:00
|
|
|
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
|
|
|
|
{
|
2023-01-23 03:25:45 +00:00
|
|
|
/**
|
|
|
|
* 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;
|
|
|
|
}
|
|
|
|
}
|
2022-04-18 23:36:09 +00:00
|
|
|
}
|