Count Files
Count files, directories, and bytes in a directory recursively.
Ignore files in the count.
Usage
In javascript, use it like so:
var countFiles = require('count-files')
var stats = countFiles(dir, function (err, results) {
console.log('done counting')
console.log(results)
})
setInterval(function () {
console.log('current count', stats)
}, 500)
count-files
also has a very simple command line tool, use npm install -g count-files
to install.
❯ count-files ./
Counting files and directories in...
/joe/node_modules/count-files
Results:
Files: 13
Dirs: 4
Size: 10 KB
API
var stats = countFiles(src, [opts], cb) { }
src
can be a directory or a single file path. You can also pass a custom fs, e.g. hyperdrive and path with: {fs: customFs, name: dir}
(see tests for examples).
Callback returns the completed stats
: {files, dirs, bytes}
.
Options include:
opts = {
ignore: function (file) {
return match(['**/*.js'], file)
}
dereference: false
}
We find anymatch nice for ignoring files!
That's all folks!
Development
- Run tests!
npm test
- Run performance thingy!
npm run perf
- Yay!
Some basic performance testing in tests/perf.js
and alternate implementations in lib/
. I think I chose the fastest but didn't test all situations!
License
ISC