* Upgrade jsonfile
Fixes#745
* Test from main entry point
* Make outputJson() mutation-proof
Fixes#702
* Update outputJsonSync() to match async implementation
* BREAKING: Use internal fork of make-dir for mkdirs implementation
Resolves#619
Everything should work similarly to how it did before; except that
we no longer return a file path on success (to match fs.mkdir).
Also, errors may be different.
* Hopefully fix Windows tests
- Error codes are different
- Match fs.mkdir behavior on Windows when creating root
* Port https://github.com/sindresorhus/make-dir/pull/24
* Add comment for clarity
* Use at-least-node for version sniffing
* Consistent error codes across OSes
* Allow different error codes on different Node versions
* Refactor internal getStats() util
Fixes#762
* Proper promise tests for copy()
Our hacky tests don't play well with multiple layers of
callback/promise switching
* Simplify internal checkParentPaths()
* Port improvments to sync methods
* 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
* Add promise support for fs.writev()
* Add promise support for fs.opendir()
Sort array to match Node docs
* Fix tests for fs.writev()
* Fix requested changes
* Check createFileSync gives clear error if node in directory tree is a file
* Make error code check work in Node.js 6
* Throw ENOTDIR error when dir doesn't exist
* Add test for createFile
* Throw ENOTDIR error when dir doesn't exist for makeFile async
* Make stat call on parent directory instead of first checking exists
Co-authored-by: Luke Childs <lukechilds123@gmail.com>
fs-extra is probably the most popular promise-supporting fs
library on npm, but if you search npmjs.com for "fs promise",
it doesn’t even show up. This change should hopefully fix
that :-).
I have fixed the following error.
```
node-fs-extra/lib/ensure/symlink-paths.js:37:9: Unnecessarily quoted property 'toCwd' found.
node-fs-extra/lib/ensure/symlink-paths.js:38:9: Unnecessarily quoted property 'toDst' found.
node-fs-extra/lib/ensure/symlink-paths.js:48:11: Unnecessarily quoted property 'toCwd' found.
node-fs-extra/lib/ensure/symlink-paths.js:49:11: Unnecessarily quoted property 'toDst' found.
node-fs-extra/lib/ensure/symlink-paths.js:58:13: Unnecessarily quoted property 'toCwd' found.
node-fs-extra/lib/ensure/symlink-paths.js:59:13: Unnecessarily quoted property 'toDst' found.
node-fs-extra/lib/ensure/symlink-paths.js:73:7: Unnecessarily quoted property 'toCwd' found.
node-fs-extra/lib/ensure/symlink-paths.js:74:7: Unnecessarily quoted property 'toDst' found.
node-fs-extra/lib/ensure/symlink-paths.js:82:9: Unnecessarily quoted property 'toCwd' found.
node-fs-extra/lib/ensure/symlink-paths.js:83:9: Unnecessarily quoted property 'toDst' found.
node-fs-extra/lib/ensure/symlink-paths.js:89:9: Unnecessarily quoted property 'toCwd' found.
node-fs-extra/lib/ensure/symlink-paths.js:90:9: Unnecessarily quoted property 'toDst' found.
node-fs-extra/lib/mkdirs/__tests__/clobber.test.js:22:18: There should be no space after '['.
node-fs-extra/lib/mkdirs/__tests__/clobber.test.js:22:29: There should be no space before ']'.
node-fs-extra/lib/mkdirs/__tests__/race.test.js:24:18: There should be no space after '['.
node-fs-extra/lib/mkdirs/__tests__/race.test.js:24:29: There should be no space before ']'.
```