Skip to content

Latest commit

 

History

History
46 lines (39 loc) · 1.88 KB

README.md

File metadata and controls

46 lines (39 loc) · 1.88 KB

NPM
GitHub tag Build Status install size GitHub issues

Why?

I did this: npm i mv,
then I saw this: + [email protected] added 15 packages,
then I said no.

It first tries fs.rename(), then falls back on fs.copyFile() and fs.unlink().

Usage:

const mvdir = require('mvdir');

await mvdir('source/file.js', 'dest/file.js'); // move file.
await mvdir('source/file.js', 'dest/');        // move file. (same as above if dest directory already exists)
await mvdir('source', 'dest');                 // move directory.
await mvdir('source', 'a/b/c/dest');           // creating necessary dirs.
await mvdir('C:\\file.js', 'D:\\file.js');     // move across drives/partitions.

// returns undefined if successful, or an error object:
const err = await mvdir('source/file.js', 'dest/file.js');
if (!err) console.log('done.');

mvdir('source/file.js', 'dest/file.js').then(err => {
  if (!err) console.log('done.');
});

Copying:

await mvdir('file1.js', 'file2.js', { copy: true });
await mvdir('dir1', 'dir2', { copy: true });

Don't overwrite:

await mvdir('file1.js', 'file2.js', { overwrite: false }); // error if file2.js already exists.
await mvdir('dir1', 'dir2', { overwrite: false });         // error if dir2     already exists.

Don't log errors:

await mvdir('dir1', 'dir2', { log: false });