# @cloudcmd/copy-file

> simply copy a file

Latest version **4.0.0** (published 2021-02-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install @cloudcmd/copy-file
pnpm add @cloudcmd/copy-file
yarn add @cloudcmd/copy-file
bun add @cloudcmd/copy-file
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.0.0 |
| Published | 2021-02-10 |
| First published | 2018-05-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=14 |
| Dependencies | 4 |
| Unpacked size | 8.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | coderaiser |
| Maintainers | coderaiser |
| Keywords | copy, stream, file |

## Links

- npm: https://www.npmjs.com/package/@cloudcmd/copy-file
- Repository: https://github.com/cloudcmd/copy-file
- Issues: https://github.com/cloudcmd/copy-file/issues
- npm.io page: https://npm.io/package/@cloudcmd/copy-file

## Dependencies (4)

- [pipe-io](https://npm.io/package/pipe-io.md) ^4.0.0
- [wraptile](https://npm.io/package/wraptile.md) ^3.0.0
- [copy-symlink](https://npm.io/package/copy-symlink.md) ^2.0.0
- [try-to-catch](https://npm.io/package/try-to-catch.md) ^3.0.0

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 4.0.0 (latest) — 2021-02-10
- 3.0.1 — 2020-09-25
- 3.0.0 — 2020-02-27
- 2.1.4 — 2019-10-16
- 2.1.3 — 2019-09-18
- 2.1.2 — 2018-11-23
- 2.1.1 — 2018-11-01
- 2.1.0 — 2018-09-26
- 2.0.0 — 2018-09-26
- 1.1.1 — 2018-05-03
- 1.1.0 — 2018-05-03
- 1.0.0 — 2018-05-02

## README

# Copy File [![License][LicenseIMGURL]][LicenseURL] [![NPM version][NPMIMGURL]][NPMURL] [![Dependency Status][DependencyStatusIMGURL]][DependencyStatusURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Coverage Status][CoverageIMGURL]][CoverageURL]

Simply copy a file. If an error occurs after the destination file has been opened for writing, `copy-file` will attempt to remove the destination. Correctly copies `symlinks`.

## Install

```
npm i @cloudcmd/copy-file
```

## API

### copyFile(src, dest [, streams])

- `src` `<string>` - source filename to copy
- `dest` `<string>`-  destination filename of the copy operation
- `streams` `<array>`-  file processing streams (optional)

```js
const copyFile = require('@cloudcmd/copy-file');

const ok = () => 'ok';
const error = (e) => e.message;

copyFile('./package.json', './package2.json')
    .then(ok)
    .catch(error)
    .then(console.log);
```

You can use preprocessing `streams` of copied file:

```js
const copyFile = require('@cloudcmd/copy-file');

const zlib = require('zlib');
const gzip = zlib.createGzip();

const ok = () => 'ok';
const error = (e) => e.message;

copyFile('./package.json', './package2.json', [gzip])
    .then(ok)
    .catch(error)
    .then(console.log);
```

You can use `copyFile` with `async-await`:

```js
const tryToCatch = require('try-to-catch');
const copyFile = require('@cloudcmd/copy-file');

(async () => {
    const [e] = await tryToCatch(copyFile, './package.json', './package2.json');
    
    if (!e)
        return;
    
    console.error(e.message);
})();
```

## Related

- [fs-copy-file](https://github.com/coderaiser/fs-copy-file "fs-copy-file") - Node.js `v8.5.0` `fs.copyFile` ponyfill
- [fs-copy-file-sync](https://github.com/coderaiser/fs-copy-file-sync "fs-copy-file-sycn") - Node.js `v8.5.0` `fs.copyFile` ponyfill
- [copy-symlink](https://github.com/coderaiser/copy-symlink) - Copy symlink because `fs.copyFile` can't.

## License

MIT

[NPMIMGURL]:                https://img.shields.io/npm/v/@cloudcmd/copy-file.svg?style=flat
[BuildStatusIMGURL]:        https://img.shields.io/travis/cloudcmd/copy-file/master.svg?style=flat
[DependencyStatusIMGURL]:   https://img.shields.io/david/cloudcmd/copy-file.svg?style=flat
[LicenseIMGURL]:            https://img.shields.io/badge/license-MIT-317BF9.svg?style=flat
[CoverageIMGURL]:           https://coveralls.io/repos/cloudcmd/copy-file/badge.svg?branch=master&service=github
[NPMURL]:                   https://npmjs.org/package/@cloudcmd/copy-file "npm"
[BuildStatusURL]:           https://travis-ci.org/cloudcmd/copy-file  "Build Status"
[DependencyStatusURL]:      https://david-dm.org/cloudcmd/copy-file "Dependency Status"
[LicenseURL]:               https://tldrlegal.com/license/mit-license "MIT License"
[CoverageURL]:              https://coveralls.io/github/cloudcmd/copy-file?branch=master

---
_Source: https://npm.io/package/@cloudcmd/copy-file · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
