自动依赖分析器
===
项目的目标是创建一个小程序，自动帮用户分析出一个项目中所require的模块，以帮助用户编写出精确的`package.json`文件的dependencies和devDependencies属性。

## 实现思路
通过扫描目录中的js文件，正则表达式匹配require调用，提取出项目中require到的所有模块。并且排除掉Node的原生模块、文件模块，提取出依赖的第三方模块。并自动从NPM服务器上查看最新的版本以提供一个推荐的依赖列表。  

## 求谁来帮忙实现
哥太忙了。求对Node感兴趣的人来帮忙实现下。可以玩玩分析文本文件。项目完成后，**奖励两本图灵社区的书**。

## Usage
Example: 

    var deps = require('./lib/dependencies');
    deps.analyze('./test/', {
      cache: true,
      latest: true,
      black_lists: ['black/']
    }, function(err, version) {
      if (err) {
        console.log(err);
      } else {
        console.log('Packages version info: ');
        console.log(JSON.stringify(version, null, 4));
      }
    });

Outputs:

    Fetch from cache: /home/boris/.npm/thisisatest/.cache.json
    Fetch from cache failed, package: thisisatest, err: cache not found!
    Fetch from server: https://registry.npmjs.org/thisisatest
    Fetch from cache: /home/boris/.npm/underscore/.cache.json
    Fetch from cache: /home/boris/.npm/async/.cache.json
    Fetch from cache: /home/boris/.npm/request/.cache.json
    Fetch from cache: /home/boris/.npm/node-walker/.cache.json
    Fetch from cache: /home/boris/.npm/ejs/.cache.json
    Fetch from cache: /home/boris/.npm/jade/.cache.json
    Fetch from cache: /home/boris/.npm/hbs/.cache.json
    Fetch from cache: /home/boris/.npm/connect/.cache.json
    Packages version info: 
    {
        "thisisatest": "*",
        "underscore": "1.4.2",
        "async": "0.1.22",
        "request": "2.11.4",
        "node-walker": "0.1.0",
        "ejs": "0.8.3",
        "jade": "0.27.6",
        "hbs": "1.0.5",
        "connect": "2.6.0"
    }

Options: 

`cache`: default is `true`, try to read npm cache first.

`latest`: defalt is `false`, try to read the latest version.

`black_lists`: default is `['node_modules/']`, files or dirs to be ignored.
