Auto generate dependencies in package.json
npm install dependencies自动依赖分析器
===
项目的目标是创建一个小程序,自动帮用户分析出一个项目中所require的模块,以帮助用户编写出精确的package.json文件的dependencies和devDependencies属性。
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.