Copy a file
- It's super fast by cloning the file whenever possible.
- Resilient by using graceful-fs.
- User-friendly by creating non-existent destination directories for you.
- Can be safe by turning off overwriting.
- Preserves file mode but not ownership.
- User-friendly errors.
npm install copy-file
import {copyFile} from 'copy-file';
await copyFile('source/unicorn.png', 'destination/unicorn.png');
console.log('File copied');
Returns a Promise
that resolves when the file is copied.
The file is cloned if the onProgress
option is not passed and the file system supports it.
Type: string
The file you want to copy.
The file is cloned if the file system supports it.
Type: string
Where you want the file copied.
Type: object
Type: boolean
Default: true
Overwrite existing destination file.
Type: string
Default: process.cwd()
The working directory to find source files.
The source and destination path are relative to this.
Type: number
Default: 0o777
Permissions for created directories.
It has no effect on Windows.
Type: (progress: ProgressData) => void
The given function is called whenever there is measurable progress.
Only available when using the async method.
{
sourcePath: string,
destinationPath: string,
size: number,
writtenBytes: number,
percent: number
}
sourcePath
anddestinationPath
are absolute paths.size
andwrittenBytes
are in bytes.percent
is a value between0
and1
.
- For empty files, the
onProgress
callback function is emitted only once.
import {copyFile} from 'copy-file';
await copyFile(source, destination, {
onProgress: progress => {
// …
}
});