Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lifion/lifion-verify-deps

Checks that installed NPM modules are the latest currently available version.
https://github.com/lifion/lifion-verify-deps

check dependencies installed lifion update upgrade verify version

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

# lifion-verify-deps

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

## Getting Started

To install the module:

```sh
npm install lifion-verify-deps --global
```

To run command:

```sh
lifion-verify-deps
```

To use as module:

```sh
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

* [lifion-verify-deps](#module_lifion-verify-deps)
* [verifyDeps([options])](#exp_module_lifion-verify-deps--verifyDeps) ⏏
* [~isValidNpmPackageName(name)](#module_lifion-verify-deps--verifyDeps..isValidNpmPackageName)
* [~getLatestVersions(name)](#module_lifion-verify-deps--verifyDeps..getLatestVersions) ⇒ Promise.<Array.<string>>
* [~getLatestTag(name)](#module_lifion-verify-deps--verifyDeps..getLatestTag) ⇒ Promise.<string>
* [~getLatestVersion(name, wanted)](#module_lifion-verify-deps--verifyDeps..getLatestVersion) ⇒ Promise.<string>
* [~getInstalledVersion(currentDir, name, logger)](#module_lifion-verify-deps--verifyDeps..getInstalledVersion) ⇒ string \| null
* [~pushPkgs(params)](#module_lifion-verify-deps--verifyDeps..pushPkgs) ⇒ Array.<Promise.<PackageStatus>>
* [~getPkgIds(filteredPkgs)](#module_lifion-verify-deps--verifyDeps..getPkgIds) ⇒ string
* [~removeLockedDependencies(deps)](#module_lifion-verify-deps--verifyDeps..removeLockedDependencies) ⇒ Object.<string, string> \| Object

### 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](#Logger) | | A logger instance, with a similar API as the console object. |

#### verifyDeps~isValidNpmPackageName(name)
Validates package name.

**Kind**: inner method of [verifyDeps](#exp_module_lifion-verify-deps--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](#exp_module_lifion-verify-deps--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](#exp_module_lifion-verify-deps--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](#exp_module_lifion-verify-deps--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](#exp_module_lifion-verify-deps--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) | Logger flag. |

#### verifyDeps~pushPkgs(params) ⇒ Array.<Promise.<PackageStatus>>
Builds list of packages to update.

**Kind**: inner method of [verifyDeps](#exp_module_lifion-verify-deps--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](#Logger) | Logging tool. |
| params.type | string | Type of dependency. |

#### verifyDeps~getPkgIds(filteredPkgs) ⇒ string
Formats package name for installation.

**Kind**: inner method of [verifyDeps](#exp_module_lifion-verify-deps--verifyDeps)
**Returns**: string - - Concatenated 'name@latest' for provided package.

| Param | Type | Description |
| --- | --- | --- |
| filteredPkgs | [Array.<PackageStatus>](#PackageStatus) | Package properties. |

#### verifyDeps~removeLockedDependencies(deps) ⇒ Object.<string, string> \| Object
Filters out dependencies with locked versions.

**Kind**: inner method of [verifyDeps](#exp_module_lifion-verify-deps--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](./LICENSE)