directory-stat

1.0.3 • Public • Published

directory-stat

Composable directory statistics fetcher where "fs" is insufficient

INSTALLATION

Requirements

  • Node.js >= v8.0.0

Instructions

Notice:

  • To use directory-stat as a standalone CLI app, you should install the package globally.
  • To take advantages of all advanced features like custom statistics collectors, you need to use directory-stat as a library.

With npm

$ npm install directory-stat

or

$ npm install -g directory-stat

With yarn

$ yarn add directory-stat

or

$ yarn global add directory-stat

USAGE

As a Standalone CLI App

Use -h, --help flag to see more:

$ directory-stat --help
Composable directory statistics fetcher where "fs" is insufficient
 
USAGE
  $ directory-stat DIR
 
ARGUMENTS
  DIR  directory
 
OPTIONS
  -d, --depth=depth      [default: -1] how deep in directory tree statistics
                         should be fetched. Unlimited if < 0
 
  -h, --help             show CLI help
 
  -m, --[no-]minified    minify output
 
  -o, --output=output    [default: .dirstat] name of the output file
 
  -v, --version          show CLI version
 
  -x, --exclude=exclude  [default: ] ignore any children matching this glob
 
  --[no-]size            include size (in bytes)
 
  --[no-]timestamp       include timestamp
 
  --[no-]type            include type
 
DESCRIPTION
  Fetch directory statistics then save to a JSON file in that directory

As a Library

Example:

const fs = require('fs').promises // Node.js >= 10.0.0
const path = require('path')
 
const { StatWriter } = require('directory-stat')
const { StatCollector } = require('directory-stat/stat-collectors')
 
class FileContentCollector extends StatCollector {
  constructor() {
    super('content')
  }
 
  async collect(pathStr, stat) {
    if (!stat.isFile()) return undefined
    return fs.readFile(pathStr, { encoding: 'utf8' })
  }
}
 
const statWriter = new StatWriter(path.join(__dirname, 'example'), {
  depth: 1,
  exclude: ['.dirstat', 'dirstat.json'],
  output: 'dirstat.json',
  statCollectors: [new FileContentCollector()]
})
statWriter.export().then(() => console.log('Done'))

CHANGELOG

Read more here.

TODO

Read more here.

Dependents (0)

Package Sidebar

Install

npm i directory-stat

Weekly Downloads

6

Version

1.0.3

License

MIT

Unpacked Size

15.8 kB

Total Files

15

Last publish

Collaborators

  • lqmanh