count-files

2.6.2 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i count-files

Weekly Downloads

597

Version

2.6.2

License

ISC

Last publish

Collaborators

  • jhand