0.7.1 • Published 8 years ago

u-semver v0.7.1

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

μ-semver

A micro (~1kb) parser and version resolver following SemVer specs

npm module Bower version Codeship

Installation

for node (via npm)

$ npm install u-semver

for the browser (via bower)

$ bower install u-semver

Usage

SemVer.resolve(range: string, versions: Array<string>, preRelease: boolean?): string
var versions = [
  '1.0.1',
  '1.1.9',
  '1.0.0',
  '2.0.0',
  '0.1.1-alpha',
  '1.3.2',
  '0.2.3-pre',
  '0.2.4-pre',
  '0.2.0',
  '0.0.12',
  '0.0.13-pre'
];

// resolving a specific version
SemVer.resolve('1.1.9', versions) //=> '1.1.9'
// resolving a patch range
SemVer.resolve('~1.0.0', versions) //=> '1.0.1'
// resolving a minor range
SemVer.resolve('^1.0.0', versions) //=> '1.3.2'
// resolving the latest version
SemVer.resolve('latest', versions) //=> '2.0.1'
// allow pre-release resolution
SemVer.resolve('^0.1.0', versions, true) //=> '0.2.4-pre'
// deny pre-release resolution
SemVer.resolve('^0.1.0', versions, false) //=> '0.2.0'

Tests by example

const VERSIONS = [
  '1.0.1',
  '1.1.9',
  '1.0.0',
  '0.1.1-alpha',
  '1.3.2',
  '0.2.3-pre',
  '0.2.4-pre',
  '0.2.4-pre.0',
  '0.2.0',
  '1.3.11',
  '0.0.12',
  '0.0.13-pre',
  '1.3.10',
  '1.3.9',
  '1.3.7',
  '1.3.12-pre.12',
  '1.3.12-pre.4',
  '2.0.0-pre',
  '2.0.0-pre.4',
  '2.0.0-pre.10',
  '2.0.0',
  '2.1.0-pre.13',
  '2.1.0-pre.2',
  '2.1.0-pre'
];
package: u-semver
  SemVer.resolve
    Given a set of versions
      ✓ should resolve 1.0.2 to undefined
      ✓ should resolve 1.0.0 to 1.0.0
      ✓ should resolve 1.0.1 to 1.0.1
      ✓ should resolve 1.3.2 to 1.3.2
      ✓ should resolve ^1.3.12 to undefined
      ✓ should resolve ^1.3.12 (pre) to 1.3.12-pre.12
      ✓ should resolve ^0.1.0 to 0.2.0
      ✓ should resolve ~1.0.0 to 1.0.1
      ✓ should resolve ~0.1.0 (pre) to 0.1.1-alpha
      ✓ should resolve ^0.1.0 (pre) to 0.2.4-pre.0
      ✓ should resolve ^0.0.1 (pre) to 0.2.4-pre.0
      ✓ should resolve ~0.0.1 to 0.0.12
      ✓ should resolve ~0.0.1 (pre) to 0.0.13-pre
      ✓ should resolve ^1.0.0 to 1.3.11
      ✓ should resolve ~1.3.0 to 1.3.11
      ✓ should resolve ^1.3.0 (pre) to 1.3.12-pre.12
      ✓ should resolve ~2.0.0 (pre) to 2.0.0
      ✓ should resolve ~2.1.0 (pre) to 2.1.0-pre.13
      ✓ should resolve latest to 2.1.0-pre.13


19 passing (70ms)

License

MIT

0.7.1

8 years ago

0.7.0

8 years ago

0.6.0

8 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.4.0

8 years ago

0.3.2-beta

8 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.2

9 years ago

0.2.1-beta

9 years ago

0.2.0

9 years ago

0.1.13

9 years ago

0.1.12

9 years ago

0.1.11

9 years ago

0.1.10

9 years ago

0.1.9

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago