rm.js 791 B

12345678910111213141516171819202122232425262728293031
  1. 'use strict'
  2. const { rm } = require('fs/promises')
  3. const glob = require('./util/glob.js')
  4. const index = require('./entry-index')
  5. const memo = require('./memoization')
  6. const path = require('path')
  7. const rmContent = require('./content/rm')
  8. module.exports = entry
  9. module.exports.entry = entry
  10. function entry (cache, key, opts) {
  11. memo.clearMemoized()
  12. return index.delete(cache, key, opts)
  13. }
  14. module.exports.content = content
  15. function content (cache, integrity) {
  16. memo.clearMemoized()
  17. return rmContent(cache, integrity)
  18. }
  19. module.exports.all = all
  20. async function all (cache) {
  21. memo.clearMemoized()
  22. const paths = await glob(path.join(cache, '*(content-*|index-*)'), { silent: true, nosort: true })
  23. return Promise.all(paths.map((p) => rm(p, { recursive: true, force: true })))
  24. }