diff options
Diffstat (limited to 'node_modules/fs-extra/lib/move/move.js')
| -rw-r--r-- | node_modules/fs-extra/lib/move/move.js | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/node_modules/fs-extra/lib/move/move.js b/node_modules/fs-extra/lib/move/move.js deleted file mode 100644 index 992bd0fc..00000000 --- a/node_modules/fs-extra/lib/move/move.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict' - -const fs = require('../fs') -const path = require('path') -const { copy } = require('../copy') -const { remove } = require('../remove') -const { mkdirp } = require('../mkdirs') -const { pathExists } = require('../path-exists') -const stat = require('../util/stat') - -async function move (src, dest, opts = {}) { - const overwrite = opts.overwrite || opts.clobber || false - - const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, 'move', opts) - - await stat.checkParentPaths(src, srcStat, dest, 'move') - - // If the parent of dest is not root, make sure it exists before proceeding - const destParent = path.dirname(dest) - const parsedParentPath = path.parse(destParent) - if (parsedParentPath.root !== destParent) { - await mkdirp(destParent) - } - - return doRename(src, dest, overwrite, isChangingCase) -} - -async function doRename (src, dest, overwrite, isChangingCase) { - if (!isChangingCase) { - if (overwrite) { - await remove(dest) - } else if (await pathExists(dest)) { - throw new Error('dest already exists.') - } - } - - try { - // Try w/ rename first, and try copy + remove if EXDEV - await fs.rename(src, dest) - } catch (err) { - if (err.code !== 'EXDEV') { - throw err - } - await moveAcrossDevice(src, dest, overwrite) - } -} - -async function moveAcrossDevice (src, dest, overwrite) { - const opts = { - overwrite, - errorOnExist: true, - preserveTimestamps: true - } - - await copy(src, dest, opts) - return remove(src) -} - -module.exports = move |
