node package manager

fs-promise

Filesystem methods as promises with fs-extra

fs-promise

var fsp = require('fs-promise');
 
fsp.writeFile('/tmp/hello1.txt', 'hello world')
  .then(function(){
    return fsp.readFile('/tmp/hello1.txt', {encoding:'utf8'});
  })
  .then(function(contents){});

fs-promise is now a thin wrapper on top of mz/fs adding support for async functions from fs-extra. If you do not need the functions from fs-extra, consider using mz directly.

  • Proxies async fs and fs-extra methods exposing them as ES 2015 (ES6) compatible promises.
  • Uses any-promise to load preferred Promise implementation.
  • Directly uses mz/fs for all fs functions.
  • Proxies walk from fs-extra to resolve Promise as arrays of items.
  • Proxies the following functions from fs-extra using thenify-all. (Proxies all other functions directly).
[
  'copy',
  'emptyDir',
  'ensureFile',
  'ensureDir',
  'ensureLink'
  'ensureSymlink',
  'mkdirs',
  'move',
  'outputFile',
  'outputJson',
  'readJson',
  'remove',
  'writeJson'
]

Detects a Promise implementation using any-promise. If you have a preferred implementation, or are working in an environment without a global implementation, you must explicitly register a Promise implementation and it will be used. See any-promise for details.

Typical installation:

$ npm install --save fs-promise

Note that fs-extra depends on graceful-fs, so you will get the benefits of both libraries.