dependencies
v0.0.1
Published
Auto generate dependencies in package.json
Downloads
8,417
Readme
自动依赖分析器
项目的目标是创建一个小程序,自动帮用户分析出一个项目中所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.