vfile-reporter-json
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatvfile utility to create a report in machine readable JSON.
Contents
* [`reporter(files[, options])`](#reporterfiles-options)
What is this?
This package is likevfile-reporter
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, usevfile-reporter
itself for humans.Install
This package is ESM onlyesm. In Node.js (version 12.20+, 14.14+, or 16.0+), install with npm:npm install vfile-reporter-json
In Deno with
esm.sh
esmsh:import {reporterJson} from 'https://esm.sh/vfile-reporter-json@3'
In browsers with
esm.sh
esmsh:<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 identifierreporterJson
.
That identifier is also the default export.reporter(files[, options])
Generate stringified JSON for files
(VFile
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()
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 typeOptions
.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
Seecontributing.md
contributing in vfile/.github
health for ways to
get started.
See support.md
support for ways to get help.This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.