* Remove process.cwd() trick from test files
* BREAKING: Switch from main to exports
* Add fs-extra/esm ESM named import module, with just fs-extra methods
Fixes#746
* move: do not create parent directory if it is root
* fix move-sync test
* move-sync test: remove dest after test is done
* remove debug log
* remove dest in afterEach
* call done() after test is done
* BREAKING: Drop old Node support, require v10+
Update CI configs
* Remove references and test fencing for old Node versions
* Use object spread properties
* Use octal literal notation
* Use optional catch bindings
* 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
* rewrite move to use fs.rename
* add old tests
* use strictEqual for error message assertion
* refactor move, remove comments
* fix move when overwrite is true and dest exists
* remove unnecessary checking of EPERM error
When trying to rename a directory over another directory, graceful-fs-4.1.10
(maybe other versions?) takes 1 minute to fail the call with an error.
This causes the test to timeout. The workaround is to increase the timeout
of that one test to 1m30s.
See https://github.com/isaacs/node-graceful-fs/issues/98
We aren't using rimraf's glob support, and glob is a rather large
dependency.
Changes:
- Remove glob support from rimraf
- Remove move()'s dependency on rimraf; use fs-extra.remove instead
- Make rimraf a devDependency; it is used in the tests
Discovered while investigating
https://github.com/Medium/phantomjs/issues/341
where moving a directory across virtual drives caused an
EXDEV error that shunted things down the "move file"
instead of "move directory" codepath