Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

lifion-verify-deps

lifion10Apache-2.02.0.1TypeScript support: included

Verifies that installed NPM modules are the latest currently available version.

check, dependencies, installed, lifion, update, upgrade, verify, version

readme

lifion-verify-deps

Verifies that installed NPM modules are the latest currently available version.

Getting Started

To install the module:

npm install lifion-verify-deps --global

To run command:

lifion-verify-deps

To use as module:

const verifyDeps = require('lifion-verify-deps');

verifyDeps({ dir: './path-to/project-directory' })
  .then(() => /* all installed packages up to date */)
  .catch((err) => /* there are packages to be updated */)

API Reference

verifyDeps([options]) ⏏

Verifies the dependencies listed in the package.json of the given directory.

Kind: Exported function

Param Type Default Description
[options] Object | Optional parameters.
[options.autoUpgrade] boolean false Automatically upgrade all suggested dependencies.
[options.dir] string | The path where to look for the package.json file.
[options.logger] Logger | A logger instance, with a similar API as the console object.

verifyDeps~isValidNpmPackageName(name)

Validates package name.

Kind: inner method of verifyDeps
Throws:

  • Error - Package name is invalid.
Param Type Description
name string Package name.

verifyDeps~getLatestVersions(name) ⇒ Promise.<Array.<string>>

Gets available versions for provided package name.

Kind: inner method of verifyDeps
Returns: Promise.<Array.<string>> - - List of available versions.
Throws:

  • Error - Output failed JSON parse.
Param Type Description
name string Package name.

verifyDeps~getLatestTag(name) ⇒ Promise.<string>

Gets latest tag from provided package name.

Kind: inner method of verifyDeps
Returns: Promise.<string> - - Return latest version, if latest tag exists.
Throws:

  • Error - Output failed JSON parse.
Param Type Description
name string Package name.

verifyDeps~getLatestVersion(name, wanted) ⇒ Promise.<string>

Finds valid upgrade version of the provided package name.

Kind: inner method of verifyDeps
Returns: Promise.<string> - - Valid upgrade version.
Throws:

  • Error - Outdated version in package.json, version was likely unpublished.
Param Type Description
name string Package name.
wanted string Package version.

verifyDeps~getInstalledVersion(currentDir, name, logger) ⇒ string | null

Gets currently installed version for provided package name.

Kind: inner method of verifyDeps
Returns: string | null - - Installed version or null if not installed.
Throws:

  • Error - Unable to find installed versions, try installing node modules by running npm i.
Param Type Description
currentDir string Path to package.json directory.
name string Package name.
logger Logger Logger flag.

verifyDeps~pushPkgs(params) ⇒ Array.<Promise.<PackageStatus>>

Builds list of packages to update.

Kind: inner method of verifyDeps
Returns: Array.<Promise.<PackageStatus>> - - NPM package state.

Param Type Description
params Object Object with parameters.
params.deps Object.<string, string> List of dependencies.
params.dir string Directory location.
params.logger Logger Logging tool.
params.type string Type of dependency.

verifyDeps~getPkgIds(filteredPkgs) ⇒ string

Formats package name for installation.

Kind: inner method of verifyDeps
Returns: string - - Concatenated 'name@latest' for provided package.

Param Type Description
filteredPkgs Array.<PackageStatus> Package properties.

verifyDeps~removeLockedDependencies(deps) ⇒ Object.<string, string> | Object

Filters out dependencies with locked versions.

Kind: inner method of verifyDeps
Returns: Object.<string, string> | Object - List of dependencies excluding locked semver versions.

Param Type Description
deps Object.<string, string> List of dependencies.

License

Apache-2.0

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Generated by auto-changelog.

v2.0.1 (2021-12-13)

  • #244: Bring develop up to date
  • #242: Add fix to properly handle versions with ~ and locked versions
  • 4e1c194: Refactor unit tests to avoid virtual path mocking
  • 5b3c48e: Test path structure
  • b9f3791: Refactored external commands out of index.js into utils
  • 64b95fd: Add coverage exception for util files
  • 5814b9a: Update package-lock
  • c7af116: All unit tests refactored and pass
  • 658c43f: Update package-lock
  • 45ee622: Add badges and update workflows
  • fc59855: Fix skipped unit tests
  • 7e41f3b: Refactor to exclude only command execution
  • b5ce7d9: Remove extra spacing
  • b931e29: Attempt at refactoring module export
  • dc1d1a1: Bring develop upto date
  • 6690169: Test path structure
  • 788b681: Fix types
  • 782eb1f: Move test helpers outside of lib
  • 9da2413: Add documentation
  • 322ace1: Fix typo in filename
  • 007052f: Remove redundant directory name variables
  • 3c92420: Update package-lock
  • e08c7e3: Test path structure
  • f5e5b48: Workaround to fix failing virtual mocks on windows
  • a6e4eaf: Workaround to fix failing virtual mocks on windows
  • b672f89: Remove debug logs
  • 314f738: Remove redandant async
  • a69a47e: Test path structure
  • b4cc5d8: Workaround to fix failing virtual mocks on windows
  • 6fdbe7b: Fix error documentation for util files
  • 9a35936: Workaround to fix failing virtual mocks on windows
  • 5e69808: Reformatted .eslintrc
  • 0177181: Add missing description for object parameter
  • dd2e98d: Updated README
  • 3c3fa37: Uninstall chance
  • 8c8ed33: Put back report coverage
  • b3af94f: Temporarely remove coverage report
  • 47c4a6f: Remove debug logs
  • 00898cf: Test path structure
  • ef90aa1: Put back node 14
  • 653ac82: Test ndoe 16, 17 only
  • 30149df: Remove debug comment
  • b8090fa: Remove debug log
  • 3db1cc5: Remove TODO

v2.0.0 (2021-10-28)

  • #224: Bump tmpl from 1.0.4 to 1.0.5
  • #236: Feature/adopt core commons
  • #233: Bugfix/versions filter not function
  • #222: Bump prettier from 2.3.2 to 2.4.0
  • #221: Bump chance from 1.1.7 to 1.1.8
  • #220: Upgrade
  • #193: Bump codecov from 3.8.1 to 3.8.2
  • #192: Bump eslint from 7.24.0 to 7.25.0
  • #191: Bump chalk from 4.1.0 to 4.1.1
  • #187: Bump husky from 5.2.0 to 6.0.0
  • #190: Bump eslint-config-lifion from 2.0.2 to 2.0.3
  • #189: Bump eslint from 7.23.0 to 7.24.0
  • cf1746b: Add README
  • 7644a7f: Update license and contributors
  • dbb8677: Updated README
  • e411923: Adopt core-commons
  • 6bd0557: Upgrade jest
  • 448efb4: Upgrade dependencies
  • 6923953: Upgrade package-lock
  • 2fe4c07: Resolved all types and linter issues, need polishing
  • f1c41f2: Upgrade lint-staged
  • d630802: Fix descriptions
  • d3901e6: Add documentation
  • 041d76b: Upgrade npm-watch
  • fe9b399: Upgrade dependencies
  • 6ea3423: Upgrade husky
  • 13bdb61: Upgrade husky
  • bde6ff5: added test for npm view string return
  • 859bb81: edit test name and fixed formatting
  • 58b6a7f: moved array wrapper to getLatestVersions
  • 8b83114: Update contributors and maintainers
  • 901243b: Add missing return description
  • 482a889: Remove support for node 12 and support node 17
  • 6ec948a: ensure versions is an array
  • 1198d8a: Add missing return description
  • 4765ab8: Resolve conflicts
  • aae99e4: removed comment, reworded test title
  • 05a0ee5: fixed test name

v1.3.0 (2021-03-31)

  • #183: Skip explicit pre release versions
  • #188: Bump jsdoc-to-markdown from 7.0.0 to 7.0.1
  • #186: Bump eslint from 7.22.0 to 7.23.0
  • #185: Bump husky from 5.1.3 to 5.2.0
  • #184: Bump semver from 7.3.4 to 7.3.5
  • #179: Bump auto-changelog from 1.16.4 to 2.2.1
  • #180: Bump chalk from 3.0.0 to 4.1.0
  • #176: Update Node.js to >=v10.24.0
  • #178: Remove renovate and add dependabot
  • #172: Update dependency node-notifier to 8.0.1 [SECURITY]
  • #174: Update dependency eslint to ^7.22.0
  • #175: Update dependency npm-watch to ^0.9.0
  • #168: Update dependency jsdoc-to-markdown to v7
  • #171: Update dependency husky to ^5.1.3
  • 39c4402: Resolve conflicts
  • 867e233: Upgrade dependencies
  • e85eed9: Upgrade releases to latest releases
  • 7b2c0ed: Add ability to upgrade or not pre-release dependencies
  • 3be1845: Upgrade dependencies
  • a095d12: Upgrade dependencies
  • 67ec0b4: Refactor multiline to one line
  • 6ce586a: Add edge case to skip any major version upgrades for pre-release dependencies
  • f6de1b8: Refactor regex name
  • 804f3a4: Refactor broken flag
  • 8b54804: Jest v26 no longer supports node 8

v1.2.0 (2021-03-01)

  • #166: Update dependency eslint-config-lifion to v2
  • #152: Update dependency npm-watch to ^0.7.0
  • #162: Resolve when npm module was unpublished
  • #159: Resolve when latest is not latest version published
  • #160: Bump dot-prop from 4.2.0 to 4.2.1
  • #163: Update dependency husky to v5
  • #165: Upgrade dependencies
  • #161: Update dependency lint-staged to ^10.5.4
  • #153: Update dependency lint-staged to ^10.5.3
  • #154: Update dependency husky to ^4.3.8
  • #155: Bump node-fetch from 2.6.0 to 2.6.1
  • #156: Update dependency codecov to ^3.8.1
  • #157: Bump ini from 1.3.5 to 1.3.7
  • #158: Update dependency semver to ^7.3.4
  • #150: Update dependency chance to ^1.1.7
  • #151: Update dependency lint-staged to ^10.2.13
  • #149: Upgrade dependencies
  • #130: Update dependency minimist to ^1.2.5
  • #131: Bump acorn from 6.4.0 to 6.4.1
  • #122: Update dependency semver to ^7.1.3
  • #129: Update dependency codecov to ^3.6.5
  • #123: Update dependency lint-staged to ^10.0.8
  • #125: Update dependency husky to ^4.2.3
  • #127: Update dependency codecov to v3.6.5 [SECURITY]
  • #128: Update dependency minimist to ^1.2.4
  • #121: Update dependency lint-staged to ^10.0.6
  • #120: Update dependency lint-staged to ^10.0.3
  • 0b0dfbe: Upgrade eslint and remove ecmaVersion
  • 2bb87e6: Update reviewers for renovate bot
  • c2c6892: Resolve conflicts
  • 9a03c81: Update package-lock
  • e8055be: Update package-lock
  • 57b93d8: Refactor as per new linter rules
  • e8daf49: Resolve conflicts
  • 9097341: Update package-lock
  • fb08e63: Update dependency eslint-config-lifion to ^1.4.0
  • b0b94cf: Resolve to latest version when latest is less than most recent
  • be1133d: Add validation for npm module name
  • ff8c12f: update workflows
  • 494c95b: Refactor getLatestTag to return latest version only
  • 98627a9: Modify prettier settings
  • 5bfcad4: Upgrade prettier
  • 2fbb26a: Add validation for unpublished version

v1.1.0 (2020-01-24)

  • #116: Add option for auto upgrade
  • #117: Update dependency codecov to ^3.6.2
  • #113: Update dependency chance to ^1.1.4
  • #115: Update dependency husky to v4
  • #112: Update dependency lint-staged to ^9.5.0
  • #111: Update dependency eslint to ^6.8.0
  • #110: Update dependency jsdoc-to-markdown to ^5.0.3
  • #109: Update dependency husky to ^3.1.0
  • #108: Update dependency lint-staged to ^9.4.3
  • 7d03bd0: Upgrade dependencies, small changes
  • c258dab: Updated package-lock
  • f0296d0: Added auto-upgrade option
  • c83c209: Add short flag, refactor long flag
  • c5673cc: Fixed audit vulnerabilities
  • 7fe7557: PR Comments
  • c72c5af: Fix unit tests
  • 28ce528: Resolved conflicts
  • 069fc90: Updated string
  • 70fd6a8: Add documentation
  • 935bf0a: Make codecov its own step
  • ccfcad2: Correct the test command in the pre-push hook
  • 7455273: Make codecov run through npx

v1.0.4 (2019-11-11)

  • #106: Update dependency chalk to v3
  • #105: Update dependency prettier to ^1.19.1
  • #104: Update dependency auto-changelog to ^1.16.2
  • #103: Update dependency eslint to ^6.6.0
  • bd81f70: Adopt core commons 2.3.4

v1.0.3 (2019-10-17)

  • #95: Update dependency codecov to ^3.6.1
  • #96: Update dependency lint-staged to ^9.3.0
  • #94: Update dependency eslint to ^6.4.0
  • #93: Update dependency auto-changelog to ^1.16.1
  • #91: Update dependency chance to ^1.1.0
  • #90: Update dependency auto-changelog to ^1.16.0
  • #92: Update dependency husky to ^3.0.5
  • #89: Update dependency jsdoc-to-markdown to ^5.0.1
  • #88: Update dependency eslint to ^6.3.0
  • #87: Update dependency lint-staged to ^9.2.5
  • #80: Update dependency husky to ^3.0.2
  • #79: Update dependency lint-staged to ^9.2.1
  • #78: Update dependency semver to ^6.3.0
  • #77: Update dependency husky to ^3.0.1
  • 3323f05: Adopt core commons 2.3.3
  • ad2bfe4: Upgrade dependencies
  • 2e85605: Create CODE_OF_CONDUCT.md
  • 1b02807: Adopt core commons 2.3.3
  • c45cf5e: Update pull-request-check.yml

v1.0.2 (2019-07-12)

  • #69: Update dependency lint-staged to v9
  • #68: Update dependency semver to ^6.1.3
  • #70: Update dependency husky to v3
  • #67: Update dependency husky to ^2.7.0
  • #66: Update dependency eslint to ^6.0.1
  • #63: Update dependency eslint to v6
  • #64: Update dependency semver to ^6.1.2
  • #65: Update dependency husky to ^2.5.0
  • #54: Update dependency eslint-config-lifion to ^1.2.3
  • #60: Update dependency prettier to ^1.18.2
  • #61: Update dependency husky to ^2.4.1
  • #62: Update dependency lint-staged to ^8.2.1
  • #58: Update dependency husky to ^2.4.0
  • #59: Update dependency lint-staged to ^8.2.0
  • #57: Bump handlebars from 4.1.0 to 4.1.2
  • #56: Update dependency semver to ^6.1.1
  • #55: Update dependency semver to ^6.1.0
  • #53: Update dependency lint-staged to ^8.1.7
  • #52: Update dependency codecov to ^3.5.0
  • #51: Update dependency husky to ^2.3.0
  • #50: Update dependency prettier to ^1.17.1
  • #49: Update dependency jsdoc-to-markdown to v5
  • #48: Update dependency codecov to ^3.4.0
  • #47: Update dependency jest to ^24.8.0
  • #46: Update dependency lint-staged to ^8.1.6
  • #45: Update dependency jest-junit to ^6.4.0
  • #44: Update dependency husky to ^2.2.0
  • #43: Update dependency husky to v2
  • #42: Update dependency auto-changelog to ^1.13.0
  • #41: Update dependency prettier to ^1.17.0
  • #40: Update dependency auto-changelog to ^1.12.1
  • #39: Update dependency codecov to ^3.3.0
  • #38: Update dependency jest to ^24.7.1
  • #37: Update dependency eslint to ^5.16.0
  • #36: Update dependency semver to v6
  • #35: Update dependency semver to ^5.7.0
  • #34: Update dependency auto-changelog to ^1.12.0
  • #33: Update dependency eslint to ^5.15.3
  • #32: Update dependency jest to ^24.5.0
  • #31: Update dependency jest to ^24.4.0
  • #30: Update dependency jest to ^24.3.1
  • #29: Update dependency eslint to ^5.15.1
  • #28: Update dependency lint-staged to ^8.1.5
  • fb80427: Adopt the latest linter
  • e49e2da: Adopt GitHub Actions
  • a72c909: Update main.workflow

v1.0.1 (2019-02-27)

  • #27: Update dependency eslint to ^5.14.1
  • #26: Update dependency jest-junit to ^6.3.0
  • #25: Update dependency lint-staged to ^8.1.4
  • #24: Update dependency codecov to ^3.2.0
  • #23: Update dependency jest to ^24.1.0
  • #21: Update dependency eslint to ^5.13.0
  • #22: Update dependency lint-staged to ^8.1.3
  • #20: Update dependency prettier to ^1.16.4
  • #19: Update dependency jest-junit to ^6.2.1
  • #17: Update dependency jest to v24
  • #16: Update dependency jest-junit to ^6.1.0
  • #15: Update dependency npm-watch to ^0.6.0
  • #14: Update dependency prettier to ^1.16.1
  • #13: Update dependency eslint to ^5.12.1
  • #12: Update dependency auto-changelog to ^1.11.0
  • #8: Update dependency eslint to ^5.12.0
  • #9: Update dependency auto-changelog to ^1.10.3
  • #11: Update dependency jest-junit to v6
  • #7: Update dependency husky to ^1.3.1
  • #10: Update dependency chalk to ^2.4.2
  • #6: Update dependency eslint to ^5.10.0
  • #4: Update dependency chance to ^1.0.18
  • #5: Update dependency prettier to ^1.15.3
  • #3: Update dependency npm-watch to ^0.5.0
  • 3e2a8c3: Upgrade eslint-config-lifion
  • 3088415: Merge pull request #18 from lifion/feature/renovate-lint-staged-8.x
  • 9b80c09: Re-create lock file, optimize renovate
  • cbd7ab8: Update dependency lint-staged to ^8.1.1

v1.0.0 (2018-11-28)

  • #2: Feature/initial implementation
  • b008486: Add initial implementation
  • 0e11984: Add circleci and update bin name
  • c08083f: Respond to PR comments
  • 5d661f8: Add test coverage
  • 3290370: Bring test coverage to 100 percent
  • f55bdc9: Initial commit
  • c76c49e: Update dependencies
  • 34bb108: Add verify-deps script
  • b6a7d36: Add API docs
  • 517824d: Set test coverage threshold at 100
  • bb99ee7: Update package lock and license
  • bafa5cd: Set initial version