12345678910111213141516171819202122 |
- 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
|