Project: vfile/vfile-statistics

Package: vfile-statistics@2.0.0

  1. Dependents: 0
  2. vfile utility to count messages per category: failures, warnings, etc
  1. util 147
  2. utility 143
  3. file 34
  4. virtual 19
  5. vfile 17
  6. vfile-util 15
  7. message 8
  8. count 4


Build Coverage Downloads Size Sponsors Backers Chat

vfile utility to count messages per category (fatal, warn, info, etc).


What is this?

This tiny package gives you stats about messages in files.

When should I use this?

This is really tiny, you could do it yourself, but this is useful as a building block.


This package is ESM only. In Node.js (version 12.20+, 14.14+, or 16.0+), install with npm:

npm install vfile-statistics

In Deno with esm.sh:

import {statistics} from 'https://esm.sh/vfile-statistics@2'

In browsers with esm.sh:

<script type="module">
  import {statistics} from 'https://esm.sh/vfile-statistics@2?bundle'


import {VFile} from 'vfile'
import {statistics} from 'vfile-statistics'

const file = new VFile({path: '~/example.md'})

file.message('This could be better')
file.message('That could be better')

try {
  file.fail('This is terribly wrong')
} catch {}

file.info('This is perfect')



{fatal: 1, nonfatal: 3, warn: 2, info: 1, total: 4}


This package exports the identifier statistics. There is no default export.


Pass a vfile, list of vfiles, or a list of messages (file.messages), get counts per category.


An object with the following fields set to numbers:


This package is fully typed with TypeScript. It exports the additional type Statistics.


Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 12.20+, 14.14+, 16.0+, and 18.0+. Our projects sometimes work with older versions, but this is not guaranteed.


See contributing.md in vfile/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.


MIT © Titus Wormer