analyze-deps

Compare dependencies in package.json to the latest available versions.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
analyze-deps
202.0.07 years ago7 years agoMinified + gzip package size for analyze-deps in KB

Readme

Build Status Coverage Status bitHound Overall Score npm Version
Analyze Deps
Compare dependencies in package.json to the latest available versions.

Installation

npm install analyze-deps --save

Usage

const analyzeDeps = require('analyze-deps');
const packageJson = {
  name: 'analyze-deps',
  license: 'MIT',
  dependencies: {
    'lodash.mapvalues': "^4.6.0",
    'package-json': "^1.2.0",
    'promise-all': "^1.0.0",
    'semver': "^5.2.0"
  },
  devDependencies: {
    'eslint': "^3.7.0"
  }
};

analyzeDeps(packageJson).then(analysis => console.log(analysis));
/*
  {
    dependencies: {
      'lodash.mapvalues': {
        status: 'latest'
      },
      'package-json': {
        status: 'not-latest',
        current: '^1.2.0',
        latest: '2.4.0',
        latestRange: '^2.4.0',
        diff: 'major'
      },
      'promise-all': {
        status: 'latest'
      },
      semver: {
        status: 'not-latest',
        current: '^5.2.0',
        latest: '5.3.0',
        latestRange: '^5.3.0',
        diff: 'minor'
      }
    },
    devDependencies: {
      eslint: {
        status: 'not-latest',
        current: '^3.7.0',
        latest: '3.7.1',
        latestRange: '^3.7.1',
        diff: 'patch'
      }
    }
  }
*/

Description

This library analyzes the provided package.json, and returns the packages which version range can be updated to include the latest version only.
Currently, only dependencies and devDependencies are analyzed (feel free to submit a Pull Request if you need more than that).
You can pass a second argument if you don't want to analyze everything. For example, to avoid analyzing dependencies, do:
analyzeDeps(packageJson, { dependencies: false }).then(...)

Related

License

MIT