Package Exports
- copy-file
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (copy-file) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
copy-file
Copy a file
Highlights
- 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.
Install
npm install copy-file
Usage
import {copyFile} from 'copy-file';
await copyFile('source/unicorn.png', 'destination/unicorn.png');
console.log('File copied');
API
copyFile(source, destination, options?)
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.
copyFileSync(source, destination, options?)
source
Type: string
The file you want to copy.
The file is cloned if the file system supports it.
destination
Type: string
Where you want the file copied.
options
Type: object
overwrite
Type: boolean
Default: true
Overwrite existing destination file.
cwd
Type: string
Default: process.cwd()
The working directory to find source files.
The source and destination path are relative to this.
directoryMode
Type: number
Default: 0o777
Permissions for created directories.
It has no effect on Windows.
onProgress
Type: (progress: ProgressData) => void
The given function is called whenever there is measurable progress.
Only available when using the async method.
ProgressData
{
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
.
Notes
- For empty files, the
onProgress
callback function is emitted only once.
import {copyFile} from 'copy-file';
await copyFile(source, destination, {
onProgress: progress => {
// …
}
});