JSPM

copy-file

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 569421
  • Score
    100M100P100Q164468F

Copies a file

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 and destinationPath are absolute paths.
  • size and writtenBytes are in bytes.
  • percent is a value between 0 and 1.
Notes
  • For empty files, the onProgress callback function is emitted only once.
import {copyFile} from 'copy-file';

await copyFile(source, destination, {
    onProgress: progress => {
        // …
    }
});
  • cpy - Copy files
  • cpy-cli - Copy files on the command-line
  • move-file - Move a file
  • make-dir - Make a directory and its parents if needed