Have ideas to improve npm?Join in the discussion! »

    cp-file
    TypeScript icon, indicating that this package has built-in type declarations

    9.1.0 • Public • Published

    cp-file

    Copy a file

    Highlights

    • Fast by using streams in the async version and fs.copyFileSync() in the synchronous version.
    • 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 cp-file
    

    Usage

    const cpFile = require('cp-file');
    
    (async () => {
    	await cpFile('source/unicorn.png', 'destination/unicorn.png');
    	console.log('File copied');
    })();

    API

    cpFile(source, destination, options?)

    Returns a Promise that resolves when the file is copied.

    cpFile.sync(source, destination, options?)

    source

    Type: string

    The file you want to copy.

    destination

    Type: string

    Where you want the file copied.

    options

    Type: object

    overwrite

    Type: boolean
    Default: true

    Overwrite existing destination file.

    directoryMode

    Type: number
    Default: 0o777

    Permissions for created directories.

    It has no effect on Windows.

    cpFile.on('progress', handler)

    Progress reporting. Only available when using the async method.

    handler(data)

    Type: Function

    data
    {
    	sourcePath: string,
    	destinationPath: string,
    	size: number,
    	writtenBytes: number,
    	percent: number
    }
    • source and destination are absolute paths.
    • size and writtenBytes are in bytes.
    • percent is a value between 0 and 1.
    Notes
    • For empty files, the progress event is emitted only once.
    • The .on() method is available only right after the initial cpFile() call. So make sure you add a handler before .then():
    const cpFile = require('cp-file');
    
    (async () => {
    	await cpFile(source, destination).on('progress', data => {
    		// …
    	});
    })();

    Related

    • 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

    Install

    npm i cp-file

    DownloadsWeekly Downloads

    1,929,743

    Version

    9.1.0

    License

    MIT

    Unpacked Size

    12.6 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar