You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

51 KiB

Unreleased

Added

Removed

Changed

Fixed

2.0.0 / 2017-01-16

Removed

  • BREAKING: Removed support for Node v0.12. The Node foundation stopped officially supporting it on Jan 1st, 2017.
  • BREAKING: Remove walk() and walkSync(). walkSync() was only part of fs-extra for a little over two months. Use klaw instead of walk(), in fact, walk() was just an alias to klaw. For walkSync() use klaw-sync. See: #338, #339

Changed

  • BREAKING: Renamed clobber to overwrite. This affects copy(), copySync(), and move(). #330, #333
  • Moved docs, to docs/. #340

Fixed

  • Apply filters to directories in copySync() like in copy(). #324
  • A specific condition when disk is under heavy use, copy() can fail. #326

1.0.0 / 2016-11-01

After five years of development, we finally have reach the 1.0.0 milestone! Big thanks goes to Ryan Zim for leading the charge on this release!

Added

  • walkSync()

Changed

  • BREAKING: dropped Node v0.10 support.
  • disabled rimaf globbing, wasn't used. [#280]
  • deprecate copy()/copySync() option filter if it's a RegExp. filter should now be a function.
  • inline rimraf. This is temporary and was done because rimraf depended upon the beefy glob which fs-extra does not use. #300

Fixed

  • bug fix proper closing of file handle on utimesMillis() [#271]
  • proper escaping of files with dollar signs #291
  • copySync() failed if user didn't own file. [#199], #301

0.30.0 / 2016-04-28

  • Brought back Node v0.10 support. I didn't realize there was still demand. Official support will end 2016-10-01.

0.29.0 / 2016-04-27

  • BREAKING: removed support for Node v0.10. If you still want to use Node v0.10, everything should work except for ensureLink()/ensureSymlink(). Node v0.12 is still supported but will be dropped in the near future as well.

0.28.0 / 2016-04-17

0.27.0 / 2016-04-15

  • add dereference option to copySync(). [#235][#235]

0.26.7 / 2016-03-16

  • fixed copy() if source and dest are the same. [#230][#230]

0.26.6 / 2016-03-15

  • fixed if emptyDir() does not have a callback: [#229][#229]

0.26.5 / 2016-01-27

  • copy() with two arguments (w/o callback) was broken. See: [#215][#215]

0.26.4 / 2016-01-05

  • copySync() made preserveTimestamps default consistent with copy() which is false. See: [#208][#208]

0.26.3 / 2015-12-17

  • fixed copy() hangup in copying blockDevice / characterDevice / /dev/null. See: [#193][#193]

0.26.2 / 2015-11-02

  • fixed outputJson{Sync}() spacing adherence to fs.spaces

0.26.1 / 2015-11-02

  • fixed copySync() when clogger=true and the destination is read only. See: [#190][#190]

0.26.0 / 2015-10-25

  • extracted the walk() function into its own module klaw.

0.25.0 / 2015-10-24

  • now has a file walker walk()

0.24.0 / 2015-08-28

  • removed alias delete() and deleteSync(). See: [#171][#171]

0.23.1 / 2015-08-07

  • Better handling of errors for move() when moving across devices. [#170][#170]
  • ensureSymlink() and ensureLink() should not throw errors if link exists. [#169][#169]

0.23.0 / 2015-08-06

  • added ensureLink{Sync}() and ensureSymlink{Sync}(). See: [#165][#165]

0.22.1 / 2015-07-09

  • Prevent calling hasMillisResSync() on module load. See: [#149][#149]. Fixes regression that was introduced in 0.21.0.

0.22.0 / 2015-07-09

  • preserve permissions / ownership in copy(). See: [#54][#54]

0.21.0 / 2015-07-04

  • add option to preserve timestamps in copy() and copySync(). See: [#141][#141]
  • updated graceful-fs@3.x to 4.x. This brings in features from amazing-graceful-fs (much cleaner code / less hacks)

0.20.1 / 2015-06-23

0.20.0 / 2015-06-19

  • removed jsonfile aliases with File in the name, they weren't documented and probably weren't in use e.g. this package had both fs.readJsonFile and fs.readJson that were aliases to each other, now use fs.readJson.
  • preliminary walker created. Intentionally not documented. If you use it, it will almost certainly change and break your code.
  • started moving tests inline
  • upgraded to jsonfile@2.1.0, can now pass JSON revivers/replacers to readJson(), writeJson(), outputJson()

0.19.0 / 2015-06-08

  • fs.copy() had support for Node v0.8, dropped support

0.18.4 / 2015-05-22

0.18.3 / 2015-05-08

  • bugfix: handle EEXIST when clobbering on some Linux systems. [#134][#134]

0.18.2 / 2015-04-17

0.18.1 / 2015-04-15

  • improved windows support for move() a bit. 92838980f2
  • fixed a lot of tests for Windows (appveyor)

0.18.0 / 2015-03-31

  • added emptyDir() and emptyDirSync()

0.17.0 / 2015-03-28

  • copySync added clobber option (before always would clobber, now if clobber is false it throws an error if the destination exists). Only works with files at the moment.
  • createOutputStream() added. See: [#118][#118]

0.16.5 / 2015-03-08

  • fixed fs.move when clobber is true and destination is a directory, it should clobber. [#114][#114]

0.16.4 / 2015-03-01

0.16.3 / 2015-01-28

0.16.2 / 2015-01-28

  • fixed fs.copy for Node v0.8 (support is temporary and will be removed in the near future)

0.16.1 / 2015-01-28

  • if setImmediate is not available, fall back to process.nextTick

0.16.0 / 2015-01-28

  • bugfix fs.move() into itself. Closes #104
  • bugfix fs.move() moving directory across device. Closes #108
  • added coveralls support
  • bugfix: nasty multiple callback fs.copy() bug. Closes #98
  • misc fs.copy code cleanups

0.15.0 / 2015-01-21

  • dropped ncp, imported code in
  • because of previous, now supports io.js
  • graceful-fs is now a dependency

0.14.0 / 2015-01-05

  • changed copy/copySync from fs.copy(src, dest, [filters], callback) to fs.copy(src, dest, [options], callback) [#100][#100]
  • removed mockfs tests for mkdirp (this may be temporary, but was getting in the way of other tests)

0.13.0 / 2014-12-10

  • removed touch and touchSync methods (they didn't handle permissions like UNIX touch)
  • updated "ncp": "^0.6.0" to "ncp": "^1.0.1"
  • imported mkdirp => minimist and mkdirp are no longer dependences, should now appease people who wanted mkdirp to be --use_strict safe. See #59

0.12.0 / 2014-09-22

  • copy symlinks in copySync() [#85][#85]

0.11.1 / 2014-09-02

  • bugfix copySync() preserve file permissions [#80][#80]

0.11.0 / 2014-08-11

0.10.0 / 2014-06-29

  • bugfix: upgaded "jsonfile": "~1.1.0" to "jsonfile": "^1.2.0", bumped minor because of jsonfile dep change from ~ to ^. #67

0.9.1 / 2014-05-22

  • removed Node.js 0.8.x support, 0.9.0 was published moments ago and should have been done there

0.9.0 / 2014-05-22

  • upgraded ncp from ~0.4.2 to ^0.5.1, #58
  • upgraded rimraf from ~2.2.6 to ^2.2.8
  • upgraded mkdirp from 0.3.x to ^0.5.0
  • added methods ensureFile(), ensureFileSync()
  • added methods ensureDir(), ensureDirSync() #31
  • added move() method. From: https://github.com/andrewrk/node-mv

0.8.1 / 2013-10-24

  • copy failed to return an error to the callback if a file doesn't exist (ulikoehler #38, #39)

0.8.0 / 2013-10-14

  • filter implemented on copy() and copySync(). (Srirangan / #36)

0.7.1 / 2013-10-12

  • copySync() implemented (Srirangan / #33)
  • updated to the latest jsonfile version 1.1.0 which gives options params for the JSON methods. Closes #32

0.7.0 / 2013-10-07

  • update readme conventions
  • copy() now works if destination directory does not exist. Closes #29

0.6.4 / 2013-09-05

  • changed homepage field in package.json to remove NPM warning

0.6.3 / 2013-06-28

  • changed JSON spacing default from 4 to 2 to follow Node conventions
  • updated jsonfile dep
  • updated rimraf dep

0.6.2 / 2013-06-28

  • added .npmignore, #25

0.6.1 / 2013-05-14

  • modified for strict mode, closes #24
  • added outputJson()/outputJsonSync(), closes #23

0.6.0 / 2013-03-18

  • removed node 0.6 support
  • added node 0.10 support
  • upgraded to latest ncp and rimraf.
  • optional graceful-fs support. Closes #17

0.5.0 / 2013-02-03

  • Removed readTextFile.
  • Renamed readJSONFile to readJSON and readJson, same with write.
  • Restructured documentation a bit. Added roadmap.

0.4.0 / 2013-01-28

  • Set default spaces in jsonfile from 4 to 2.
  • Updated testutil deps for tests.
  • Renamed touch() to createFile()
  • Added outputFile() and outputFileSync()
  • Changed creation of testing diretories so the /tmp dir is not littered.
  • Added readTextFile() and readTextFileSync().

0.3.2 / 2012-11-01

  • Added touch() and touchSync() methods.

0.3.1 / 2012-10-11

  • Fixed some stray globals.

0.3.0 / 2012-10-09

  • Removed all CoffeeScript from tests.
  • Renamed mkdir to mkdirs/mkdirp.

0.2.1 / 2012-09-11

  • Updated rimraf dep.

0.2.0 / 2012-09-10

0.1.3 / 2012-08-13

  • Added method readJSONFile.

0.1.2 / 2012-06-15

  • Bug fix: deleteSync() didn't exist.
  • Verified Node v0.8 compatibility.

0.1.1 / 2012-06-15

  • Fixed bug in remove()/delete() that wouldn't execute the function if a callback wasn't passed.

0.1.0 / 2012-05-31

  • Renamed copyFile() to copy(). copy() can now copy directories (recursively) too.
  • Renamed rmrf() to remove().
  • remove() aliased with delete().
  • Added mkdirp capabilities. Named: mkdir(). Hides Node.js native mkdir().
  • Instead of exporting the native fs module with new functions, I now copy over the native methods to a new object and export that instead.

0.0.4 / 2012-03-14

  • Removed CoffeeScript dependency

0.0.3 / 2012-01-11

  • Added methods rmrf and rmrfSync
  • Moved tests from Jasmine to Mocha

[#281]: https://github.com/jprichardson/node-fs-extra/issues/281 "remove function executes "successfully" but doesn't do anything?" [#280]: https://github.com/jprichardson/node-fs-extra/pull/280 "Disable rimraf globbing" [#279]: https://github.com/jprichardson/node-fs-extra/issues/279 "Some code is vendored instead of included [awaiting-reply]" [#278]: https://github.com/jprichardson/node-fs-extra/issues/278 "copy() does not preserve file/directory ownership" [#277]: https://github.com/jprichardson/node-fs-extra/pull/277 "Mention defaults for clobber and dereference options" [#276]: https://github.com/jprichardson/node-fs-extra/issues/276 "Cannot connect to Shared Folder [awaiting-reply]" [#275]: https://github.com/jprichardson/node-fs-extra/issues/275 "EMFILE, too many open files on Mac OS with JSON API" [#274]: https://github.com/jprichardson/node-fs-extra/issues/274 "Use with memory-fs? [enhancement, future]" [#273]: https://github.com/jprichardson/node-fs-extra/pull/273 "tests: rename remote.test.js to remove.test.js" [#272]: https://github.com/jprichardson/node-fs-extra/issues/272 "Copy clobber flag never err even when true [bug, feature-copy]" [#271]: https://github.com/jprichardson/node-fs-extra/issues/271 "Unclosed file handle on futimes error" [#270]: https://github.com/jprichardson/node-fs-extra/issues/270 "copy not working as desired on Windows [feature-copy, platform-windows]" [#269]: https://github.com/jprichardson/node-fs-extra/issues/269 "Copying with preserveTimeStamps: true is inaccurate using 32bit node [feature-copy]" [#268]: https://github.com/jprichardson/node-fs-extra/pull/268 "port fix for mkdirp issue #111" [#267]: https://github.com/jprichardson/node-fs-extra/issues/267 "WARN deprecated wrench@1.5.9: wrench.js is deprecated!" [#266]: https://github.com/jprichardson/node-fs-extra/issues/266 "fs-extra" [#265]: https://github.com/jprichardson/node-fs-extra/issues/265 "Link the fs.stat fs.exists etc. methods for replace the fs module forever?" [#264]: https://github.com/jprichardson/node-fs-extra/issues/264 "Renaming a file using move fails when a file inside is open (at least on windows) [wont-fix]" [#263]: https://github.com/jprichardson/node-fs-extra/issues/263 "ENOSYS: function not implemented, link [needs-confirmed]" [#262]: https://github.com/jprichardson/node-fs-extra/issues/262 "Add .exists() and .existsSync()" [#261]: https://github.com/jprichardson/node-fs-extra/issues/261 "Cannot read property 'prototype' of undefined" [#260]: https://github.com/jprichardson/node-fs-extra/pull/260 "use more specific path for method require" [#259]: https://github.com/jprichardson/node-fs-extra/issues/259 "Feature Request: isEmpty" [#258]: https://github.com/jprichardson/node-fs-extra/issues/258 "copy files does not preserve file timestamp" [#257]: https://github.com/jprichardson/node-fs-extra/issues/257 "Copying a file on windows fails" [#256]: https://github.com/jprichardson/node-fs-extra/pull/256 "Updated Readme " [#255]: https://github.com/jprichardson/node-fs-extra/issues/255 "Update rimraf required version" [#254]: https://github.com/jprichardson/node-fs-extra/issues/254 "request for readTree, readTreeSync, walkSync method" [#253]: https://github.com/jprichardson/node-fs-extra/issues/253 "outputFile does not touch mtime when file exists" [#252]: https://github.com/jprichardson/node-fs-extra/pull/252 "Fixing problem when copying file with no write permission" [#251]: https://github.com/jprichardson/node-fs-extra/issues/251 "Just wanted to say thank you" [#250]: https://github.com/jprichardson/node-fs-extra/issues/250 "fs.remove() not removing files (works with rm -rf)" [#249]: https://github.com/jprichardson/node-fs-extra/issues/249 "Just a Question ... Remove Servers" [#248]: https://github.com/jprichardson/node-fs-extra/issues/248 "Allow option to not preserve permissions for copy" [#247]: https://github.com/jprichardson/node-fs-extra/issues/247 "Add TypeScript typing directly in the fs-extra package" [#246]: https://github.com/jprichardson/node-fs-extra/issues/246 "fse.remove() && fse.removeSync() don't throw error on ENOENT file" [#245]: https://github.com/jprichardson/node-fs-extra/issues/245 "filter for empty dir [enhancement]" [#244]: https://github.com/jprichardson/node-fs-extra/issues/244 "copySync doesn't apply the filter to directories" [#243]: https://github.com/jprichardson/node-fs-extra/issues/243 "Can I request fs.walk() to be synchronous?" [#242]: https://github.com/jprichardson/node-fs-extra/issues/242 "Accidentally truncates file names ending with $$ [bug, feature-copy]" [#241]: https://github.com/jprichardson/node-fs-extra/pull/241 "Remove link to createOutputStream" [#240]: https://github.com/jprichardson/node-fs-extra/issues/240 "walkSync request" [#239]: https://github.com/jprichardson/node-fs-extra/issues/239 "Depreciate regular expressions for copy's filter [documentation, feature-copy]" [#238]: https://github.com/jprichardson/node-fs-extra/issues/238 "Can't write to files while in a worker thread." [#237]: https://github.com/jprichardson/node-fs-extra/issues/237 ".ensureDir(..) fails silently when passed an invalid path..." [#236]: https://github.com/jprichardson/node-fs-extra/issues/236 "[Removed] Filed under wrong repo" [#235]: https://github.com/jprichardson/node-fs-extra/pull/235 "Adds symlink dereference option to fse.copySync (#191)" [#234]: https://github.com/jprichardson/node-fs-extra/issues/234 "ensureDirSync fails silent when EACCES: permission denied on travis-ci" [#233]: https://github.com/jprichardson/node-fs-extra/issues/233 "please make sure the first argument in callback is error object [feature-copy]" [#232]: https://github.com/jprichardson/node-fs-extra/issues/232 "Copy a folder content to its child folder. " [#231]: https://github.com/jprichardson/node-fs-extra/issues/231 "Adding read/write/output functions for YAML" [#230]: https://github.com/jprichardson/node-fs-extra/pull/230 "throw error if src and dest are the same to avoid zeroing out + test" [#229]: https://github.com/jprichardson/node-fs-extra/pull/229 "fix 'TypeError: callback is not a function' in emptyDir" [#228]: https://github.com/jprichardson/node-fs-extra/pull/228 "Throw error when target is empty so file is not accidentally zeroed out" [#227]: https://github.com/jprichardson/node-fs-extra/issues/227 "Uncatchable errors when there are invalid arguments [feature-move]" [#226]: https://github.com/jprichardson/node-fs-extra/issues/226 "Moving to the current directory" [#225]: https://github.com/jprichardson/node-fs-extra/issues/225 "EBUSY: resource busy or locked, unlink" [#224]: https://github.com/jprichardson/node-fs-extra/issues/224 "fse.copy ENOENT error" [#223]: https://github.com/jprichardson/node-fs-extra/issues/223 "Suspicious behavior of fs.existsSync" [#222]: https://github.com/jprichardson/node-fs-extra/pull/222 "A clearer description of emtpyDir function" [#221]: https://github.com/jprichardson/node-fs-extra/pull/221 "Update README.md" [#220]: https://github.com/jprichardson/node-fs-extra/pull/220 "Non-breaking feature: add option 'passStats' to copy methods." [#219]: https://github.com/jprichardson/node-fs-extra/pull/219 "Add closing parenthesis in copySync example" [#218]: https://github.com/jprichardson/node-fs-extra/pull/218 "fix #187 #70 options.filter bug" [#217]: https://github.com/jprichardson/node-fs-extra/pull/217 "fix #187 #70 options.filter bug" [#216]: https://github.com/jprichardson/node-fs-extra/pull/216 "fix #187 #70 options.filter bug" [#215]: https://github.com/jprichardson/node-fs-extra/pull/215 "fse.copy throws error when only src and dest provided [bug, documentation, feature-copy]" [#214]: https://github.com/jprichardson/node-fs-extra/pull/214 "Fixing copySync anchor tag" [#213]: https://github.com/jprichardson/node-fs-extra/issues/213 "Merge extfs with this repo" [#212]: https://github.com/jprichardson/node-fs-extra/pull/212 "Update year to 2016 in README.md and LICENSE" [#211]: https://github.com/jprichardson/node-fs-extra/issues/211 "Not copying all files" [#210]: https://github.com/jprichardson/node-fs-extra/issues/210 "copy/copySync behave differently when copying a symbolic file [bug, documentation, feature-copy]" [#209]: https://github.com/jprichardson/node-fs-extra/issues/209 "In Windows invalid directory name causes infinite loop in ensureDir(). [bug]" [#208]: https://github.com/jprichardson/node-fs-extra/pull/208 "fix options.preserveTimestamps to false in copy-sync by default [feature-copy]" [#207]: https://github.com/jprichardson/node-fs-extra/issues/207 "Add compare suite of functions" [#206]: https://github.com/jprichardson/node-fs-extra/issues/206 "outputFileSync" [#205]: https://github.com/jprichardson/node-fs-extra/issues/205 "fix documents about copy/copySync [documentation, feature-copy]" [#204]: https://github.com/jprichardson/node-fs-extra/pull/204 "allow copy of block and character device files" [#203]: https://github.com/jprichardson/node-fs-extra/issues/203 "copy method's argument options couldn't be undefined [bug, feature-copy]" [#202]: https://github.com/jprichardson/node-fs-extra/issues/202 "why there is not a walkSync method?" [#201]: https://github.com/jprichardson/node-fs-extra/issues/201 "clobber for directories [feature-copy, future]" [#200]: https://github.com/jprichardson/node-fs-extra/issues/200 "'copySync' doesn't work in sync" [#199]: https://github.com/jprichardson/node-fs-extra/issues/199 "fs.copySync fails if user does not own file [bug, feature-copy]" [#198]: https://github.com/jprichardson/node-fs-extra/issues/198 "handle copying between identical files [feature-copy]" [#197]: https://github.com/jprichardson/node-fs-extra/issues/197 "Missing documentation for outputFile options 3rd parameter [documentation]" [#196]: https://github.com/jprichardson/node-fs-extra/issues/196 "copy filter: async function and/or function called with fs.stat result [future]" [#195]: https://github.com/jprichardson/node-fs-extra/issues/195 "How to override with outputFile?" [#194]: https://github.com/jprichardson/node-fs-extra/pull/194 "allow ensureFile(Sync) to provide data to be written to created file" [#193]: https://github.com/jprichardson/node-fs-extra/issues/193 "fs.copy fails silently if source file is /dev/null [bug, feature-copy]" [#192]: https://github.com/jprichardson/node-fs-extra/issues/192 "Remove fs.createOutputStream()" [#191]: https://github.com/jprichardson/node-fs-extra/issues/191 "How to copy symlinks to target as normal folders [feature-copy]" [#190]: https://github.com/jprichardson/node-fs-extra/pull/190 "copySync to overwrite destination file if readonly and clobber true" [#189]: https://github.com/jprichardson/node-fs-extra/pull/189 "move.test fix to support CRLF on Windows" [#188]: https://github.com/jprichardson/node-fs-extra/issues/188 "move.test failing on windows platform" [#187]: https://github.com/jprichardson/node-fs-extra/issues/187 "Not filter each file, stops on first false [feature-copy]" [#186]: https://github.com/jprichardson/node-fs-extra/issues/186 "Do you need a .size() function in this module? [future]" [#185]: https://github.com/jprichardson/node-fs-extra/issues/185 "Doesn't work on NodeJS v4.x" [#184]: https://github.com/jprichardson/node-fs-extra/issues/184 "CLI equivalent for fs-extra" [#183]: https://github.com/jprichardson/node-fs-extra/issues/183 "with clobber true, copy and copySync behave differently if destination file is read only [bug, feature-copy]" [#182]: https://github.com/jprichardson/node-fs-extra/issues/182 "ensureDir(dir, callback) second callback parameter not specified" [#181]: https://github.com/jprichardson/node-fs-extra/issues/181 "Add ability to remove file securely [enhancement, wont-fix]" [#180]: https://github.com/jprichardson/node-fs-extra/issues/180 "Filter option doesn't work the same way in copy and copySync [bug, feature-copy]" [#179]: https://github.com/jprichardson/node-fs-extra/issues/179 "Include opendir" [#178]: https://github.com/jprichardson/node-fs-extra/issues/178 "ENOTEMPTY is thrown on removeSync " [#177]: https://github.com/jprichardson/node-fs-extra/issues/177 "fix remove() wildcards (introduced by rimraf) [feature-remove]" [#176]: https://github.com/jprichardson/node-fs-extra/issues/176 "createOutputStream doesn't emit 'end' event" [#175]: https://github.com/jprichardson/node-fs-extra/issues/175 "[Feature Request].moveSync support [feature-move, future]" [#174]: https://github.com/jprichardson/node-fs-extra/pull/174 "Fix copy formatting and document options.filter" [#173]: https://github.com/jprichardson/node-fs-extra/issues/173 "Feature Request: writeJson should mkdirs" [#172]: https://github.com/jprichardson/node-fs-extra/issues/172 "rename clobber flags to overwrite" [#171]: https://github.com/jprichardson/node-fs-extra/issues/171 "remove unnecessary aliases" [#170]: https://github.com/jprichardson/node-fs-extra/pull/170 "More robust handling of errors moving across virtual drives" [#169]: https://github.com/jprichardson/node-fs-extra/pull/169 "suppress ensureLink & ensureSymlink dest exists error" [#168]: https://github.com/jprichardson/node-fs-extra/pull/168 "suppress ensurelink dest exists error" [#167]: https://github.com/jprichardson/node-fs-extra/pull/167 "Adds basic (string, buffer) support for ensureFile content [future]" [#166]: https://github.com/jprichardson/node-fs-extra/pull/166 "Adds basic (string, buffer) support for ensureFile content" [#165]: https://github.com/jprichardson/node-fs-extra/pull/165 "ensure for link & symlink" [#164]: https://github.com/jprichardson/node-fs-extra/issues/164 "Feature Request: ensureFile to take optional argument for file content" [#163]: https://github.com/jprichardson/node-fs-extra/issues/163 "ouputJson not formatted out of the box [bug]" [#162]: https://github.com/jprichardson/node-fs-extra/pull/162 "ensure symlink & link" [#161]: https://github.com/jprichardson/node-fs-extra/pull/161 "ensure symlink & link" [#160]: https://github.com/jprichardson/node-fs-extra/pull/160 "ensure symlink & link" [#159]: https://github.com/jprichardson/node-fs-extra/pull/159 "ensure symlink & link" [#158]: https://github.com/jprichardson/node-fs-extra/issues/158 "Feature Request: ensureLink and ensureSymlink methods" [#157]: https://github.com/jprichardson/node-fs-extra/issues/157 "writeJson isn't formatted" [#156]: https://github.com/jprichardson/node-fs-extra/issues/156 "Promise.promisifyAll doesn't work for some methods" [#155]: https://github.com/jprichardson/node-fs-extra/issues/155 "Readme" [#154]: https://github.com/jprichardson/node-fs-extra/issues/154 "/tmp/millis-test-sync" [#153]: https://github.com/jprichardson/node-fs-extra/pull/153 "Make preserveTimes also work on read-only files. Closes #152" [#152]: https://github.com/jprichardson/node-fs-extra/issues/152 "fs.copy fails for read-only files with preserveTimestamp=true [feature-copy]" [#151]: https://github.com/jprichardson/node-fs-extra/issues/151 "TOC does not work correctly on npm [documentation]" [#150]: https://github.com/jprichardson/node-fs-extra/issues/150 "Remove test file fixtures, create with code." [#149]: https://github.com/jprichardson/node-fs-extra/issues/149 "/tmp/millis-test-sync" [#148]: https://github.com/jprichardson/node-fs-extra/issues/148 "split out Sync methods in documentation" [#147]: https://github.com/jprichardson/node-fs-extra/issues/147 "Adding rmdirIfEmpty" [#146]: https://github.com/jprichardson/node-fs-extra/pull/146 "ensure test.js works" [#145]: https://github.com/jprichardson/node-fs-extra/issues/145 "Add fs.exists and fs.existsSync if it doesn't exist." [#144]: https://github.com/jprichardson/node-fs-extra/issues/144 "tests failing" [#143]: https://github.com/jprichardson/node-fs-extra/issues/143 "update graceful-fs" [#142]: https://github.com/jprichardson/node-fs-extra/issues/142 "PrependFile Feature" [#141]: https://github.com/jprichardson/node-fs-extra/pull/141 "Add option to preserve timestamps" [#140]: https://github.com/jprichardson/node-fs-extra/issues/140 "Json file reading fails with 'utf8'" [#139]: https://github.com/jprichardson/node-fs-extra/pull/139 "Preserve file timestamp on copy. Closes #138" [#138]: https://github.com/jprichardson/node-fs-extra/issues/138 "Preserve timestamps on copying files" [#137]: https://github.com/jprichardson/node-fs-extra/issues/137 "outputFile/outputJson: Unexpected end of input" [#136]: https://github.com/jprichardson/node-fs-extra/pull/136 "Update license attribute" [#135]: https://github.com/jprichardson/node-fs-extra/issues/135 "emptyDir throws Error if no callback is provided" [#134]: https://github.com/jprichardson/node-fs-extra/pull/134 "Handle EEXIST error when clobbering dir" [#133]: https://github.com/jprichardson/node-fs-extra/pull/133 "Travis runs with sudo: false" [#132]: https://github.com/jprichardson/node-fs-extra/pull/132 "isDirectory method" [#131]: https://github.com/jprichardson/node-fs-extra/issues/131 "copySync is not working iojs 1.8.4 on linux [feature-copy]" [#130]: https://github.com/jprichardson/node-fs-extra/pull/130 "Please review additional features." [#129]: https://github.com/jprichardson/node-fs-extra/pull/129 "can you review this feature?" [#128]: https://github.com/jprichardson/node-fs-extra/issues/128 "fsExtra.move(filepath, newPath) broken;" [#127]: https://github.com/jprichardson/node-fs-extra/issues/127 "consider using fs.access to remove deprecated warnings for fs.exists" [#126]: https://github.com/jprichardson/node-fs-extra/issues/126 " TypeError: Object #