<commit_before># dependency-info 
[![Build Status](https://travis-ci.org/dmarchena/dependency-info.svg?branch=master)](https://travis-ci.org/dmarchena/dependency-info)
[![Coverage Status](https://coveralls.io/repos/dmarchena/dependency-info/badge.svg?branch=master)](https://coveralls.io/r/dmarchena/dependency-info?branch=master)
[![Dependency Status](https://david-dm.org/dmarchena/dependency-info.svg)](https://david-dm.org/dmarchena/dependency-info)
[![devDependency Status](https://david-dm.org/dmarchena/dependency-info/dev-status.svg)](https://david-dm.org/dmarchena/dependency-info#info=devDependencies)

Get your project dependency tree from NPM as well as from bower

## Install

    npm install dependency-info

## Usage

First af all, you have to retrieve your dependency tree.

### The async way

    var dependencyInfo = require('dependency-info');
    dependencyInfo.readTree({
        manager: 'npm'
    })
    .then(function (tree) {
        ...
    })
    .catch(function (err) {
        ...
    });

### Of course, you can also get it synchronously<commit_msg>Spelling mistake<commit_after># dependency-info 
[![Build Status](https://travis-ci.org/dmarchena/dependency-info.svg?branch=master)](https://travis-ci.org/dmarchena/dependency-info)
[![Coverage Status](https://coveralls.io/repos/dmarchena/dependency-info/badge.svg?branch=master)](https://coveralls.io/r/dmarchena/dependency-info?branch=master)
[![Dependency Status](https://david-dm.org/dmarchena/dependency-info.svg)](https://david-dm.org/dmarchena/dependency-info)
[![devDependency Status](https://david-dm.org/dmarchena/dependency-info/dev-status.svg)](https://david-dm.org/dmarchena/dependency-info#info=devDependencies)

Get your project dependency tree from NPM as well as from bower

## Install

    npm install dependency-info

## Usage

First of all, you have to retrieve your dependency tree.

### The async way

    var dependencyInfo = require('dependency-info');
    dependencyInfo.readTree({
        manager: 'npm'
    })
    .then(function (tree) {
        ...
    })
    .catch(function (err) {
        ...
    });

### Of course, you can also get it synchronously
{'fraction_non_alphanumeric': 0.15733456732993983, 'fraction_numerical': 0.0, 'mean_word_length': 4.123222748815166, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5116241', 'n_tokens_mistral': 727, 'n_tokens_neox': 688, 'n_words': 116}