exports.init = function (db, dir, cb) { if(Array.isArray(dir)) dir = dir[0] pull( glob(join(dir || join(__dirname, '..'), '**/package.json')), pfs.readFile(JSON.parse), pull.map(function (pkg) { process.stderr.write('.') return {key: hash(pkg), value: pkg, type: 'put'} }), pl.write(db, function (err) { cb(err) }) ) }
module.exports = function (cacheDir) { cacheDir = cacheDir || '~/.npm' return pull( glob(path.join(cacheDir, '*', '.cache.json')), pfs.readFile(), pull.map(function (data) { try { return JSON.parse(data) } catch (_) { } }), pull.filter(Boolean), pull.flatMap(function (pkg) { var depns = [] var versions = pkg.versions for(var version in versions) { var tests = versions[version].scripts tests = !!(tests && tests.test) var deps = versions[version].dependencies for(var m in deps) depns.push([ m, deps[m], pkg.name, version, { shasum: versions[version].dist.shasum, dev: false, tests: tests } ]) var deps = versions[version].devDependencies for(var m in deps) depns.push([ m, deps[m], pkg.name, version, { shasum: versions[version].dist.shasum, dev: true, tests: tests } ]) } return depns }) ) }