mirror of
https://github.com/jprichardson/node-fs-extra.git
synced 2026-01-18 16:13:55 +00:00
* Remove secure-random from dev-deps (#610) * fix ensureDir() doc * moveSync: refactor to use renameSync * copy*(): fix copying bind-mounted directories (#618) * copy*(): fix copying bind-mounted dirs * copy*(): fix case-insensitive-paths tests * copy*(): refactor to check paths more efficiently * destructure stats object after checking err * move*(): check paths before moving * move*(): add case-insensitive paths test * remove unnecessary done callback from test * copy*(): add new option checkPathsBeforeCopying * update copy*() docs to include checkPathsBeforeCopying * some reformatting * copy*(): use fs.stat with bigint option * move*(): refactor to use the internal stat functions * move*(): add test for prevent moving identical * disable graceful-fs in copy and move tests * fix parsing node version * tiny reformat * update copy*() docs * refactor parsing node version * use semver to parse node version in tests
1.7 KiB
1.7 KiB
copySync(src, dest[, options])
Copy a file or directory. The directory can have contents. Like cp -r.
src<String>Note that ifsrcis a directory it will copy everything inside of this directory, not the entire directory itself (see issue #537).dest<String>Note that ifsrcis a file,destcannot be a directory (see issue #323).options<Object>overwrite<boolean>: overwrite existing file or directory, default istrue. Note that the copy operation will silently fail if you set this tofalseand the destination exists. Use theerrorOnExistoption to change this behavior.errorOnExist<boolean>: whenoverwriteisfalseand the destination exists, throw an error. Default isfalse.dereference<boolean>: dereference symlinks, default isfalse.preserveTimestamps<boolean>: When true, will set last modification and access times to the ones of the original source files. When false, timestamp behavior is OS-dependent. Default isfalse.filter<Function>: Function to filter copied files. Returntrueto include,falseto exclude.
Example:
const fs = require('fs-extra')
// copy file
fs.copySync('/tmp/myfile', '/tmp/mynewfile')
// copy directory, even if it has subdirectories or files
fs.copySync('/tmp/mydir', '/tmp/mynewdir')
Using filter function
const fs = require('fs-extra')
const filterFunc = (src, dest) => {
// your logic here
// it will be copied if return true
}
fs.copySync('/tmp/mydir', '/tmp/mynewdir', { filter: filterFunc })