1 | const { basename, dirname } = require('path')
|
2 | const { stat } = require('fs')
|
3 | const { promisify } = require('util')
|
4 |
|
5 | const cpy = require('cpy')
|
6 | const moveFile = require('move-file')
|
7 |
|
8 | const pStat = promisify(stat)
|
9 |
|
10 |
|
11 | const moveCacheFile = async function(src, dest, move) {
|
12 |
|
13 | if (move) {
|
14 | return moveFile(src, dest, { overwrite: false })
|
15 | }
|
16 |
|
17 | const srcGlob = await getSrcGlob(src)
|
18 | return cpy(srcGlob, dirname(dest), { cwd: dirname(src), parents: true, overwrite: false })
|
19 | }
|
20 |
|
21 | const getSrcGlob = async function(src) {
|
22 | const srcBasename = basename(src)
|
23 | const stat = await pStat(src)
|
24 |
|
25 | if (stat.isDirectory()) {
|
26 | return `${srcBasename}/**`
|
27 | }
|
28 |
|
29 | return srcBasename
|
30 | }
|
31 |
|
32 | module.exports = { moveCacheFile }
|