README.md 1.42 KB
Newer Older
huahua committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
# @npmcli/move-file

A fork of [move-file](https://github.com/sindresorhus/move-file) with
compatibility with all node 10.x versions.

> Move a file (or directory)

The built-in
[`fs.rename()`](https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback)
is just a JavaScript wrapper for the C `rename(2)` function, which doesn't
support moving files across partitions or devices. This module is what you
would have expected `fs.rename()` to be.

## Highlights

- Promise API.
- Supports moving a file across partitions and devices.
- Optionally prevent overwriting an existing file.
- Creates non-existent destination directories for you.
- Support for Node versions that lack built-in recursive `fs.mkdir()`
- Automatically recurses when source is a directory.

## Install

```
$ npm install @npmcli/move-file
```

## Usage

```js
const moveFile = require('@npmcli/move-file');

(async () => {
	await moveFile('source/unicorn.png', 'destination/unicorn.png');
	console.log('The file has been moved');
})();
```

## API

### moveFile(source, destination, options?)

Returns a `Promise` that resolves when the file has been moved.

### moveFile.sync(source, destination, options?)

#### source

Type: `string`

File, or directory, you want to move.

#### destination

Type: `string`

Where you want the file or directory moved.

#### options

Type: `object`

##### overwrite

Type: `boolean`\
Default: `true`

Overwrite existing destination file(s).