cp-file
Copy a file
- Fast by using streams in the async version.
- Resilient by using graceful-fs.
- User-friendly by creating non-existent destination directories for you.
- Can be safe by turning off overwriting.
- User-friendly errors.
Install
$ npm install --save cp-file
Usage
const cpFile = require('cp-file');
cpFile('src/unicorn.png', 'dist/unicorn.png').then(() => {
console.log('File copied');
});
API
cpFile(source, destination, [options])
Returns a Promise
.
cpFile.sync(source, destination, [options])
source
Type: string
File you want to copy.
destination
Type: string
Where you want the file copied.
options
Type: Object
overwrite
Type: boolean
Default: true
Overwrite existing file.
cpFile.on('progress', handler)
Progress reporting. Only available when using the async method.
handler(data)
Type: Function
data
{
src: String,
dest: String,
size: Number,
written: Number,
percent: Number
}
src
anddest
are absolute paths.size
andwritten
are in bytes.percent
is a value between0
and1
.
Notes
- For empty files, the
progress
event is emitted only once. - The
.on()
method is available only right after the initialcpFile()
call. So make sure you add ahandler
before.then()
:
cpFile(src, dest).on('progress', data => {
// ...
}).then(() => {
// ...
})
Related
See cpy if you need to copy multiple files or want a CLI.
License
MIT © Sindre Sorhus