1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| const fs = require('./fs.js')
| const getOptions = require('./common/get-options.js')
| const owner = require('./common/owner.js')
|
| const copyFile = async (src, dest, opts) => {
| const options = getOptions(opts, {
| copy: ['mode', 'owner'],
| wrap: 'mode',
| })
|
| const { uid, gid } = await owner.validate(dest, options.owner)
|
| // the node core method as of 16.5.0 does not support the mode being in an
| // object, so we have to pass the mode value directly
| const result = await fs.copyFile(src, dest, options.mode)
|
| await owner.update(dest, uid, gid)
|
| return result
| }
|
| module.exports = copyFile
|
|