compare-versions

WebJar for compare-versions

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

compare-versions
Last Version

Last Version

3.6.0
Release Date

Release Date

Type

Type

jar
Description

Description

compare-versions
WebJar for compare-versions
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/omichelsen/compare-versions

Download compare-versions

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/compare-versions/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>compare-versions</artifactId>
    <version>3.6.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/compare-versions/
implementation 'org.webjars.npm:compare-versions:3.6.0'
// https://jarcasting.com/artifacts/org.webjars.npm/compare-versions/
implementation ("org.webjars.npm:compare-versions:3.6.0")
'org.webjars.npm:compare-versions:jar:3.6.0'
<dependency org="org.webjars.npm" name="compare-versions" rev="3.6.0">
  <artifact name="compare-versions" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='compare-versions', version='3.6.0')
)
libraryDependencies += "org.webjars.npm" % "compare-versions" % "3.6.0"
[org.webjars.npm/compare-versions "3.6.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

compare-versions

Build Status Coverage Status npm bundle size (minified + gzip)

Compare semver version strings to find greater, equal or lesser. Runs in the browser as well as Node.js/React Native etc. Has no dependencies and is tiny (~630 bytes gzipped).

This library supports the full semver specification, including comparing versions with different number of digits like 1.0.0, 1.0, 1, and pre-release versions like 1.0.0-alpha. Additionally supports the following variations:

  • Supports wildcards for minor and patch version like 1.0.x or 1.0.*.
  • Supports Chromium version numbers with 4 parts, e.g. version 25.0.1364.126.
  • Any leading v is ignored, e.g. v1.0 is interpreted as 1.0.
  • Leading zero is ignored, e.g. 1.01.1 is interpreted as 1.1.1.

Install

$ npm install compare-versions

Usage

Import

// ES6/TypeScript
import compareVersions from 'compare-versions';

// Node
var compareVersions = require('compare-versions');

Compare

compareVersions('10.1.8', '10.0.4'); //  1
compareVersions('10.0.1', '10.0.1'); //  0
compareVersions('10.1.1', '10.2.2'); // -1

Can also be used for sorting:

var versions = [
  '1.5.19',
  '1.2.3',
  '1.5.5'
]
var sorted = versions.sort(compareVersions);
/*
[
  '1.2.3',
  '1.5.5',
  '1.5.19'
]
*/
var sortDescending = versions.sort(compareVersions).reverse();
/*
[
  '1.5.19'
  '1.5.5',
  '1.2.3',
]
*/

"Human Readable" Compare

The normal compare function doesn't return a self-explanatory value (using 1, 0 and -1). This version returns the boolean which fulfills the specified operator.

compareVersions.compare('10.1.8', '10.0.4', '>'); // return true
compareVersions.compare('10.0.1', '10.0.1', '='); // return true
compareVersions.compare('10.1.1', '10.2.2', '<'); // return true
compareVersions.compare('10.1.1', '10.2.2', '<='); // return true
compareVersions.compare('10.1.1', '10.2.2', '>='); // return false

Validate version numbers

Applies the same ruleset as used before comparing version numbers and returns a boolean:

compareVersions.validate('1.0.0-rc.1'); // return true
compareVersions.validate('1.0-rc.1'); // return false
compareVersions.validate('foo'); // return false

Browser

If included directly in the browser, compareVersions() is available on the global window:

<script src="compare-versions/index.js"></script>
<script>
  window.compareVersions('10.0.0', '10.1.0');
</script>

Versions

Version
3.6.0
3.5.1
3.4.0
2.0.1