vfile utility to create a report in machine readable JSON.
This package is like vfile-reporter
but it outputs machine
readable JSON.
You can use this when you need to serialize lint results for machines, use
vfile-reporter
itself for humans.
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>
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":[]}]
This package exports the identifier reporterJson
.
That identifier is also the default export.
Generate stringified JSON for files
(VFile
or Array.<VFile>
).
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.
Do not output messages without fatal
set to true (boolean
, default:
false
).
Also sets quiet
to true
.
Given as space
to JSON.stringify()
(boolean
, number
,
or string
, default: 0
).
When true
, defaults to 2
.
This package is fully typed with TypeScript.
It exports the additional type Options
.
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.