@particle/device-os-version-checks

2.0.12 • Public • Published

@particle/device-os-version-checks

Version checking utilities for Device OS

Installation

npm install @particle/device-os-version-checks --save

API

@particle/device-os-version-checks


deviceOSVersionChecks.isObsoleteFirmware(target, allFirmware) ⇒ boolean

Determines if given Device OS version is considered obsolete based on a list of available versions.

Summary of rules: if you're on LTS, you should be on the latest major version. if you're on an RC (prerelease), it should be newer than any non-RC or LTS release and you should be on the latest RC available. if you are on a normal release (non-RC, non-LTS), you should be on the latest major and no more than 2 minor releases behind. if you're on something older than v1.4.4, you should update. otherwise, you're good!

Kind: static method of @particle/device-os-version-checks
Returns: boolean - Whether or not the given version is considered obsolete.

Param Type Description
target string | object Semver-compaitble version string or an object with a similarly formatted version field.
allFirmware string | array The list of firmware versions (either strings or objects) to check against. NOTE: MUST BE SORTED IN DESCENDING ORDER

Example

const version = '1.0.0';
const dependency = { version };

const allFirmware = [
    { version: '1.0.0' },
    { version: '0.9.0' },
    { version: '0.8.0' },
    { version: '0.7.0' }
];

if (isObsoleteFirmware(version || dependency, allFirmware)){
    console.warn('...');
}

deviceOSVersionChecks.isLTSVersion(target) ⇒ boolean

Determines if given Device OS version is an LTS (long-term support) line.

Kind: static method of @particle/device-os-version-checks
Returns: boolean - Whether or not the given version is an LTS line.

Param Type Description
target string | object Semver-compaitble version string or an object with a similarly formatted version field.

Example

const version = '4.0.0';
const dependency = { version };

if (isLTSVersion(version || dependency)){
    console.log('LTS!');
}

deviceOSVersionChecks.isReleaseVersion(target) ⇒ boolean

Determines if given Device OS version is a standard (non-LTS, non-rc) line.

Kind: static method of @particle/device-os-version-checks
Returns: boolean - Whether or not the given version is a standard (non-LTS, non-rc) line.

Param Type Description
target string | object Semver-compaitble version string or an object with a similarly formatted version field.

Example

const version = '1.0.0';
const dependency = { version };

if (isReleaseVersion(version || dependency)){
    console.log('standard release line');
}

deviceOSVersionChecks.isPreReleaseVersion(target) ⇒ boolean

Determines if given Device OS version is a pre-release (rc).

Kind: static method of @particle/device-os-version-checks
Returns: boolean - Whether or not the given version is a pre-release (rc).

Param Type Description
target string | object Semver-compaitble version string or an object with a similarly formatted version field.

Example

const version = '1.0.0-rc.1';
const dependency = { version };

if (isPreReleaseVersion(version || dependency)){
    console.log('RC!');
}

deviceOSVersionChecks.isSourceVersion(target) ⇒ boolean

Determines if given Device OS version is source (e.g. deviceOS@source).

Kind: static method of @particle/device-os-version-checks
Returns: boolean - Whether or not the given version is source (e.g. deviceOS@source).

Param Type Description
target string | object Semver-compaitble version string or an object with a similarly formatted version field.

Example

const version = 'source';

if (isSourceVersion(version)){
    console.log('working from source!');
}

deviceOSVersionChecks.pickLatestVersion(a, b) ⇒ string

Returns greater of two targets' semver-compaitble version string.

Kind: static method of @particle/device-os-version-checks
Returns: string - The greater version amongst a and b.

Param Type Description
a string | object Semver-compaitble version string or an object with a similarly formatted version field.
b string | object Semver-compaitble version string or an object with a similarly formatted version field.

Example

const a = '0.6.0';
const b = { version: '0.8.5' };
const latest = pickLatestVersion(a, b);
console.log(latest); // 0.8.5;

NOTE: Unfortunately, docs have a nasty habit of falling out of date. When in doubt, check usage in tests

Dependents (1)

Package Sidebar

Install

npm i @particle/device-os-version-checks

Weekly Downloads

8

Version

2.0.12

License

UNLICENSED

Unpacked Size

17.7 kB

Total Files

4

Last publish

Collaborators

  • jackson-particle
  • mike.grundy.npm
  • mohitparticle
  • eugene_particle
  • kmok23
  • karlag
  • cole-abbeduto-particle
  • pedrosordo
  • guohui
  • sbrust
  • particlebot
  • no1089
  • carlos.hdez
  • keeramis5
  • monkbroc
  • suda
  • mstan
  • sergeuz
  • debbie23
  • avtolstoy
  • mlauer
  • wraithan
  • azenk
  • bwalach
  • parteberseth
  • rickkas7
  • mrlambchop_particle
  • hugo.montero
  • mphsi