JSPM

  • Created
  • Published
  • Downloads 204
  • Score
    100M100P100Q92049F
  • License APACHEv2

Tools for manipulating semver strings and objects

Package Exports

  • @lazy-node/semver-simple-parse
  • @lazy-node/semver-simple-parse/index.js
  • @lazy-node/semver-simple-parse/lib/checker
  • @lazy-node/semver-simple-parse/lib/checker.js
  • @lazy-node/semver-simple-parse/lib/mergeSimpleSemVer
  • @lazy-node/semver-simple-parse/lib/mergeSimpleSemVer.js
  • @lazy-node/semver-simple-parse/lib/parseSimpleSemVer
  • @lazy-node/semver-simple-parse/lib/parseSimpleSemVer.js
  • @lazy-node/semver-simple-parse/lib/parseSimpleSemVerRange
  • @lazy-node/semver-simple-parse/lib/parseSimpleSemVerRange.js
  • @lazy-node/semver-simple-parse/lib/replaceSimpleSemVerVersion
  • @lazy-node/semver-simple-parse/lib/replaceSimpleSemVerVersion.js
  • @lazy-node/semver-simple-parse/lib/stringifySimpleSemVer
  • @lazy-node/semver-simple-parse/lib/stringifySimpleSemVer.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@lazy-node/semver-simple-parse) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

semver-utils.js

| Sponsored by ppl

Some utils that aren't provided by the mainstream semver module.

Usage

npm install --save semver-utils
'use strict';

var semverUtils = require('semver-utils');
var version = require('./package.json').version;
var semver = semverUtils.parse(version);

console.log(semver);

API

  • semverUtils.parse(semverString)
  • semverUtils.stringify(semverObject)
  • semverUtils.parseRange(rangeString)
  • semverUtils.stringifyRange(rangeArray)

semverUtils.parse(semverString)

Turns a string such as 1.0.6-1+build-623 into the object

{ semver:   '1.0.6-1+build-623'
, version:  '1.0.6'
, major:    '1'
, minor:    '0'
, patch:    '6'
, release:  '1'
, build:    'build-623'
}

returns null on error

semverUtils.stringify(semverObject)

Creates a string such as 1.0.6-1+build-623 from the object

{ major:    '1'
, minor:    '0'
, patch:    '6'
, release:  '1'
, build:    'build-623'
}

semverUtils.parseRange(rangeString)

A solution to https://github.com/isaacs/node-semver/issues/10

Parses a range string into an array of semver objects

>= 1.1.7 < 2.0.0 || 1.1.3 becomes

[
    {
        "semver": ">= v1.1.7"
      , "operator": ">="
      , "major": 1
      , "minor": 1
      , "patch": 7
    }
  , {
        "semver": "< v2.0.0"
      , "operator": "<"
      , "major": 2
      , "minor": 0
      , "patch": 0
    }
  , {
        "operator": "||"
    }
  , {
        "semver": "v1.1.3"
      , "operator": "="
      , "major": 1
      , "minor": 1
      , "patch": 3
    }

]

semverUtils.stringifyRange(rangeArray)

Creates a range string such as >= 1.1.7 < 2.0.0 || 1.1.3 from an array of semver objects (and operators) such as

[
    { "semver": ">= v1.1.7"
    , "operator": ">="
    , "major": 1
    , "minor": 1
    , "patch": 7
    }
  , { "semver": "< v2.0.0"
    , "operator": "<"
    , "major": 2
    , "minor": 0
    , "patch": 0
    }
  , { "operator": "||"
    }
  , { "semver": "v1.1.3"
    , "operator": "="
    , "major": 1
    , "minor": 1
    , "patch": 3
    }

]

Obsolete Work