@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

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

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

    Weekly Downloads

    22

    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