2.6.3 • Published 5 years ago

dai-count-files v2.6.3

Weekly downloads
8
License
ISC
Repository
github
Last release
5 years ago

Count Files

Travis npm

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) // { files: 10, dirs: 2, bytes: 234 }
})

setInterval(function () {
  console.log('current count', stats) // { files: 4, dirs: 1, bytes: 34 }
}, 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) // return true to ignore file
  }
  dereference: false // dereference any symlinks
}

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