1 | const { join } = require('path')
|
2 |
|
3 | const readdirp = require('readdirp')
|
4 |
|
5 | const { getCacheDir } = require('./dir')
|
6 | const { BASES } = require('./path')
|
7 | const { isManifest } = require('./manifest')
|
8 |
|
9 |
|
10 | const 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 |
|
18 | const 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 |
|
24 | const fileFilter = function({ basename }) {
|
25 | return !isManifest(basename)
|
26 | }
|
27 |
|
28 | module.exports = { list }
|