summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/lib/doctor/verify-cached-files.js
blob: f00dbd6256059c4df11f5361648d9fa76ba3055a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'use strict'

const cacache = require('cacache')
const log = require('npmlog')

module.exports = verifyCachedFiles
function verifyCachedFiles (cache, cb) {
  log.info('verifyCachedFiles', `Verifying cache at ${cache}`)
  cacache.verify(cache).then((stats) => {
    log.info('verifyCachedFiles', `Verification complete. Stats: ${JSON.stringify(stats, 2)}`)
    if (stats.reclaimedCount || stats.badContentCount || stats.missingContent) {
      stats.badContentCount && log.warn('verifyCachedFiles', `Corrupted content removed: ${stats.badContentCount}`)
      stats.reclaimedCount && log.warn('verifyCachedFiles', `Content garbage-collected: ${stats.reclaimedCount} (${stats.reclaimedSize} bytes)`)
      stats.missingContent && log.warn('verifyCachedFiles', `Missing content: ${stats.missingContent}`)
      log.warn('verifyCachedFiles', 'Cache issues have been fixed')
    }
    return stats
  }).then((s) => cb(null, s), cb)
}