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