title: Using async/await + Bluebird to promisifyAll
body: <p>I'm constructing a library that uses <code>async/await</code>, and I would like to know if it is possible to use native modules like <code>fs</code> with the <code>async/await</code>. I know that <code>async/await</code> it's just Promises in the background, so is there a native way to promisify a method or function? Currently I'm using the Bluebird, but I don't know if it's a bad pattern. </p>
  
  <p>Example:</p>
  
  <pre class="lang-js prettyprint-override"><code>    const Bluebird = require("bluebird");
      const { access } = require("fs");
  
      const accessAsync = Bluebird.promisify(access);
  
      async function checkInput(options) {
        await accessAsync(options.file);
        /// etc
        return options;
      }
  
      module.exports = (options) =&gt; {
        Promise.resolve(options)
          .then(checkInput)
      };
  </code></pre>
  
  <p>I'm combining both native Promises and Bluebird. Should I only use Bluebird?</p>