JSON reporter for CSpell
npm install @cspell/cspell-json-reporter@cspell/cspell-json-reporter> CSpell reporter with JSON output
Install it as a development package in the repository that will use it.
``sh`
npm install -SD @cspell/cspell-json-reporter
`sh`
cspell . --reporter @cspell/cspell-json-reporter
Add this to cspell.yaml:
`yaml`
reporters: [['@cspell/cspell-json-reporter', { outFile: 'out.json' }]]
or cspell.json
`json`
{
"reporters": [["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]
}
@cspell/cspell-json-reporter emits a JSON file with the following fields:
- issues - found spelling issuesresult
- - CSpell linting resultserror
- - CSell error messagesprogress
- - file linting progress messages if settings.progress is enabledinfo
- - CSpell execution logs if settings.verbose is enableddebug
- - CSpell debug logs if settings.debug is enabled
JSON Output Definition
`ts
import type {
ErrorLike,
Issue,
MessageType,
ProgressFileComplete,
ProgressItem,
RunResult
} from '@cspell/cspell-types';
export type CSpellJSONReporterOutput = {
/**
* Found spelling issues
*/
issues: Array
/**
* CSpell execution logs
*/
info?: Array<{ message: string; msgType: MessageType }>;
/**
* CSpell debug logs
*/
debug?: Array<{ message: string }>;
/**
* CSpell error logs
*/
error?: Array<{ message: string; error: ErrorLike }>;
/**
* CSpell file progress logs
*/
progress?: Array
/**
* Execution result
*/
result: RunResult;
};
`
Possible settings:
- outFile (default: stdout) - path for JSON file to emitverbose
- (default: false) - enable saving of execution logsdebug
- (default: false) - enable saving of debug logsprogress
- (default: false) - enable saving of file progress logs
Reporter Settings
`tsstdout
/**
* CSpell-json-reporter settings type definition
*/
export type CSpellJSONReporterSettings = {
/**
* Path to the output file.
*
* Relative paths are relative to the current working directory.
*
* Special values:
* - - write the JSON to stdout.stderr
* - - write the JSON to stderr.``
*
* @default stdout
*/
outFile?: string;
/**
* Add more information about the files being checked and the configuration
*/
verbose?: boolean;
/**
* Level of verbosity (higher number = more verbose).
*/
verboseLevel?: number;
/**
* Add information useful for debugging cspell.json files
* @default false
*/
debug?: boolean;
/**
* Add progress messages
* @default false
*/
progress?: boolean;
};