vfile-reporter-json
vfile utility to create a report in machine readable JSON.
Contents
What is this?
This package is like vfile-reporter
but it outputs machine readable JSON.
When should I use this?
You can use this when you need to serialize lint results for machines, use vfile-reporter
itself for humans.
Install
This package is ESM only. In Node.js (version 12.20+, 14.14+, or 16.0+), install with npm:
npm install vfile-reporter-json
In Deno with esm.sh
:
import {reporterJson} from 'https://esm.sh/vfile-reporter-json@3'
In browsers with esm.sh
:
<script type="module">
import {reporterJson} from 'https://esm.sh/vfile-reporter-json@3?bundle'
</script>
Use
import {VFile} from 'vfile'
import {reporterJson} from 'vfile-reporter-json'
const one = new VFile({path: 'test/fixture/1.js'})
const two = new VFile({path: 'test/fixture/2.js'})
one.message('Warning!', {line: 2, column: 4})
console.log(reporterJson([one, two]))
Yields:
[{"path":"test/fixture/1.js","cwd":"/Users/tilde/projects/oss/vfile-reporter-json","history":["test/fixture/1.js"],"messages":[{"reason":"Warning!","line":2,"column":4,"position":{"start":{"line":2,"column":4},"end":{"line":null,"column":null}},"ruleId":null,"source":null,"fatal":false,"stack":null}]},{"path":"test/fixture/2.js","cwd":"/Users/tilde/projects/oss/vfile-reporter-json","history":["test/fixture/2.js"],"messages":[]}]
API
This package exports the identifier reporterJson
. That identifier is also the default export.
reporter(files[, options])
Generate stringified JSON for files
(VFile
or Array.<VFile>
).
options.quiet
Do not output anything for a file which has no warnings or errors (boolean
, default: false
). The default behavior is to show a success message.
options.silent
Do not output messages without fatal
set to true (boolean
, default: false
). Also sets quiet
to true
.
options.pretty
Given as space
to JSON.stringify()
(boolean
, number
, or string
, default: 0
). When true
, defaults to 2
.
Types
This package is fully typed with TypeScript. It exports the additional type Options
.
Compatibility
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.
Contribute
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.