CSpell reporter with JSON output
Install it as a development package in the repository that will use it.
npm install -SD @cspell/cspell-json-reporter
cspell . --reporter @cspell/cspell-json-reporter
Add this to cspell.yaml
:
reporters: [['@cspell/cspell-json-reporter', { outFile: 'out.json' }]]
or cspell.json
{
"reporters": [["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]
}
@cspell/cspell-json-reporter
emits a JSON file with the following fields:
-
issues
- found spelling issues -
result
- CSpell linting results -
error
- CSell error messages -
progress
- file linting progress messages ifsettings.progress
is enabled -
info
- CSpell execution logs ifsettings.verbose
is enabled -
debug
- CSpell debug logs ifsettings.debug
is enabled
JSON Output Definition
import type {
ErrorLike,
Issue,
MessageType,
ProgressFileComplete,
ProgressItem,
RunResult
} from '@cspell/cspell-types';
export type CSpellJSONReporterOutput = {
/**
* Found spelling issues
*/
issues: Array<Issue>;
/**
* 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<ProgressItem | ProgressFileComplete>;
/**
* Execution result
*/
result: RunResult;
};
Possible settings:
-
outFile
(default: stdout) - path for JSON file to emit -
verbose
(default: false) - enable saving of execution logs -
debug
(default: false) - enable saving of debug logs -
progress
(default: false) - enable saving of file progress logs
Reporter Settings
/**
* 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:
* - `stdout` - 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
* @default false
*/
verbose?: boolean;
/**
* Add information useful for debugging cspell.json files
* @default false
*/
debug?: boolean;
/**
* Add progress messages
* @default false
*/
progress?: boolean;
};