• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict'
2
3const cacache = require('cacache')
4const log = require('npmlog')
5
6module.exports = verifyCachedFiles
7function verifyCachedFiles (cache, cb) {
8  log.info('verifyCachedFiles', `Verifying cache at ${cache}`)
9  cacache.verify(cache).then((stats) => {
10    log.info('verifyCachedFiles', `Verification complete. Stats: ${JSON.stringify(stats, 2)}`)
11    if (stats.reclaimedCount || stats.badContentCount || stats.missingContent) {
12      stats.badContentCount && log.warn('verifyCachedFiles', `Corrupted content removed: ${stats.badContentCount}`)
13      stats.reclaimedCount && log.warn('verifyCachedFiles', `Content garbage-collected: ${stats.reclaimedCount} (${stats.reclaimedSize} bytes)`)
14      stats.missingContent && log.warn('verifyCachedFiles', `Missing content: ${stats.missingContent}`)
15      log.warn('verifyCachedFiles', 'Cache issues have been fixed')
16    }
17    return stats
18  }).then((s) => cb(null, s), cb)
19}
20