1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| 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] !== '.'
| }
|
|