1.0.6 • Published 2 years ago

@attistech/semver-compare v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Semver Compare

Validate and compare two highly opinionated semantic version strings (aka not technically Semantic Versioning).

For those of you looking for an actual semantic versioning project, I recommend a quick google search to find some other fine projects that will suit your needs. This project is primarily suited to meet the needs of attis tech.

Overview

This is a highly simplified format for versioning that does not allow for anything other than a simple 1.2.3 format with optional -beta.[number] or -alpha.[number] suffixes.

See the regex in use: https://regex101.com/r/EQl8V2/1

Examples:

Version StringValid
1.2.3valid
v1.2.3valid
v1.2.3+somethinginvalid
1.2.3-betainvalid
1.2.3-beta.1valid
1.2.3-alphainvalid
1.2.3-alpha.1valid

See tests (src/__tests__/isValidSemver.test.ts) for more examples.

Comparison

While obviously major > minor > patch, it is also true that main > beta > alpha.

v1comparisonv2
1.2.3>1.2.2
1.2.3>1.1.2
1.2.3-beta.1>1.2.3-alpha.1
1.2.3-alpha.1>1.2.2
1.2.3>1.2.3-alpha.1

Usage

import { isValidSemver, parseSemver, compareSemver, VersionType } from '@attistech/semver-compare'; 

...

if(isValidSemver('1.2.3-beta.1')) { 
    // The version is valid
    ...
}

if(parseSemver('1.2.3-beta.1')[3] === VersionType.Beta) { 
    // The version is beta
    ...
}

if(compareSemver('1.2.3', '1.2.4') === -1) { 
    // The first version is less than the second version. 
    ...
}

Development

# Be sure to build before publishing 
npm run build 

# Bump the version 
npm version 

# Publish the package 
npm publish

Testing

Test like the best. Test with Jest

cd project/root
jest

License

Semver-Compare is MIT Licensed.

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

0.1.0

2 years ago