docs: function listFiles(dir, callback) {
    return new Promise((resolveThis, reject) => {
      walk.walk(dir, { followLinks: true })
      .on('file', (root, stats, next) => {
        const destDir = relative(dir, root);
        const relativePath = destDir ? join(destDir, stats.name) : stats.name;
        resolve(relativePath).then(callback).then(next);
      })
      .on('errors', reject)
      .on('end', resolveThis);
    });
  }