fs.rename but works across devices. same as the unix utility 'mv'

npm install mv
917 downloads in the last day
17 250 downloads in the last week
75 196 downloads in the last month

Build Status


var mv = require('mv');

mv('source/file', 'dest/file', function(err) {
  // done. it tried fs.rename first, and then falls back to
  // piping the source file to the dest file and then unlinking
  // the source file.

Another example:

mv('source/dir', 'dest/a/b/c/dir', {mkdirp: true}, function(err) {
  // done. it first created all the necessary directories, and then
  // tried fs.rename, then falls back to using ncp to copy the dir
  // to dest and then rimraf to remove the source dir

Another example:

mv('source/file', 'dest/file', {clobber: false}, function(err) { // done. If 'dest/file' exists, an error is returned // with err.code === 'EEXIST'. });

npm loves you