69 lines
1.4 KiB
Markdown
69 lines
1.4 KiB
Markdown
# @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).
|