node package manager


Filesystem methods as promises with fs-extra


Build Status

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


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).


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.