这个问题是NPM特有的。
几年前,我编写了一个名为qnp
的工具,可以下载整个npm包列表,然后非常快速地执行本地查询,例如每个查询0.2秒。这允许对现代编程世界进行非常有趣的研究,按作者姓名,描述,标签等进行过滤,执行数百个查询,检查结果,分析,创意,进行更多查询。官方客户端很好,但不允许您以思考的速度进行快速查询。这是我的问题:
大约一年前,NPM的注册表元数据DB的位置被放弃了,现在它返回一个空文件。我现在如何下载/获取整个元数据列表?我至少需要那些字段:title / author / description / keywords / date。 (可选)下载计数,依赖项列表,版本。
以前是以前工作过的代码:
var request = http.get({
host: 'registry.npmjs.org',
path: '/-/all/static/all.json',
headers: {
'Accept-Encoding': 'gzip, deflate'
}
}, function (a,b,c) {
var done = 0 ; var all = parseInt(a.headers['content-length'])
a.on('data', function (a,b,c) {
done += a.length
process.stdout.write( '\r' + (done / (all/100)).toFixed(2)+'% ' )
})
console.log('download started')
a.pipe(S)
S.on('finish', function (a,b,c) {
console.log('download complete')
S.close(f)
})
})