UNPKG

832 BJavaScriptView Raw
1const { join } = require('path')
2
3const readdirp = require('readdirp')
4
5const { getCacheDir } = require('./dir')
6const { BASES } = require('./path')
7const { isManifest } = require('./manifest')
8
9// List all cached files
10const list = async function({ cacheDir } = {}) {
11 const cacheDirA = await getCacheDir(cacheDir)
12 const files = await Promise.all(BASES.map(baseInfo => listBase(baseInfo, cacheDirA)))
13 const filesA = files.flat()
14 return filesA
15}
16
17// TODO: the returned paths are missing the Windows drive
18const listBase = async function({ name, base }, cacheDir) {
19 const files = await readdirp.promise(`${cacheDir}/${name}`, { fileFilter })
20 const filesA = files.map(({ path }) => join(base, path))
21 return filesA
22}
23
24const fileFilter = function({ basename }) {
25 return !isManifest(basename)
26}
27
28module.exports = { list }