text: 'use strict';
  
  var fs = require('fs');
  var path = require('path');
  
  module.exports = read;
  
  function read(root, filter, files, prefix) {
    prefix = prefix || '';
    files = files || [];
    filter = filter || noDotFiles;
  
    var dir = path.join(root, prefix);
    if (!fs.existsSync(dir)) return files;
    if (fs.statSync(dir).isDirectory()) fs.readdirSync(dir).filter(function (name, index) {
      return filter(name, index, dir);
    }).forEach(function (name) {
      read(root, filter, files, path.join(prefix, name));
    });else files.push(prefix);
  
    return files;
  }
  
  function noDotFiles(x) {
    return x[0] !== '.';
  }