UNPKG

684 BJavaScriptView Raw
1'use strict'
2const fs = require('fs')
3const glob = require('glob')
4
5module.exports = function (dir, options, callback) {
6 const metadata = {}
7 return glob(dir + '/**/*', options, function (error, filenames) {
8 if (error) { return callback(error) }
9 for (const filename of filenames) {
10 const stat = fs.lstatSync(filename)
11 if (stat.isFile()) {
12 metadata[filename] = {type: 'file', stat: stat}
13 } else if (stat.isDirectory()) {
14 metadata[filename] = {type: 'directory', stat: stat}
15 } else if (stat.isSymbolicLink()) {
16 metadata[filename] = {type: 'link', stat: stat}
17 }
18 }
19 return callback(null, filenames, metadata)
20 })
21}