@report-toolkit/core
Index
References
- builtinTransformerIds
- compatibleTransformers
- deregisterPlugins
- isPluginRegistered
- registeredRuleDefinitions
External modules
Functions
References
builtinTransformerIds
• builtinTransformerIds:
compatibleTransformers
• compatibleTransformers:
deregisterPlugins
• deregisterPlugins:
isPluginRegistered
• isPluginRegistered:
registeredRuleDefinitions
• registeredRuleDefinitions:
Functions
diff
▸ diff(report1: DiagnosticReport | Report, report2: DiagnosticReport | Report, opts?: Partial‹DiffOptions›): Promise‹DiffResult[]›
Returns the difference between two reports.
Example:
const {diff} = require('@report-toolkit/core');const report1 = process.report.getReport();const report2 = process.report.getReport();const results = await diff(report1, report2, {filterProperties: ['header', 'javascriptStack', 'nativeStack'],showSecretsUnsafe: false});results.forEach(({op, path, newValue, oldValue}) => {console.log(`[${op}] <${path}> ${oldValue} => ${newValue}`);});
Parameters:
| Name | Type | Description |
|---|---|---|
report1 | DiagnosticReport | Report | First report to diff |
report2 | DiagnosticReport | Report | Second report to diff |
opts? | Partial‹DiffOptions› | - |
Returns: Promise‹DiffResult[]›
Array of results, one per difference
inspect
▸ inspect(reports: DiagnosticReport | Report, opts?: Partial‹InspectOptions›): Promise‹Message[]›
Inspect one or more reports, running rules against each. Resolves with an array of zero or more Messages.
Example:
const {inspect} = require('@report-toolkit/core');const report = process.report.getReport();const results = await inspect(report, {severity: 'info',sort: true,sortDirection: 'asc',sortField: 'header.dumpEventTimestamp',showSecretsUnsafe: false,ruleConfig: {'long-timeout': {timeout: '2s'}}});results.forEach(({message, filename}) => {console.log(`${filename}: ${message}`);});
Parameters:
| Name | Type | Description |
|---|---|---|
reports | DiagnosticReport | Report | One or more reports |
opts? | Partial‹InspectOptions› | - |
Returns: Promise‹Message[]›
loadConfig
▸ loadConfig(config: any): Promise‹any›
Resolves with a normalized config object from a raw config object.
Example:
const {loadConfig} = require('@report-toolkit/core');// or require('./path/to/.rtkrc.js')const rawConfig = ['report-toolkit:recommended',{rules: {'long-timeout': {timeout: '2s'}}}];// `normalizedConfig` contains contents of "recommended" settings,// with our override of custom rule configconst normalizedConfig = await loadConfig(rawConfig);
Parameters:
| Name | Type | Description |
|---|---|---|
config | any | Raw config object |
Returns: Promise‹any›
A normalized config object
toReportFromObject
▸ toReportFromObject(value: any, opts?: Partial‹ToReportFromObjectOptions›): Promise‹Readonly‹Report››
Convert a plain object (usually parsed from a JSON report generated by See process.report.writeReport) to a Report instance.
Example:
const {toReportFromObject} = require('@report-toolkit/core');const json = fs.readFileSync('./report-xxxxx.json');// `Report` instance with secrets redactedconst report = await toReportFromObject(json, {showSecretsUnsafe: false});
Parameters:
| Name | Type | Description |
|---|---|---|
value | any | Raw report |
opts? | Partial‹ToReportFromObjectOptions› | - |
Returns: Promise‹Readonly‹Report››
transform
▸ transform(transformerIds: string | string[], source: any, config?: Partial‹any›, options?: Partial‹TransformOptions›): Promise‹any[]›
Run source through chain of one or more transformers. Performs validation before piping.
If the final transformer does not output the desired endType, the defaultTransformer will be appended to the chain; otherwise it is ignored.
Example:
const {transform, toReportFromObject} = require('@report-toolkit/core');// by default, `report` has its secrets redactedconst report = await toReportFromObject(process.report.getReport());const [header, ...data] = await transform(['filter', 'csv'], report, {transformers: {filter: {include: 'header'},csv: {flatten: true}}});
Parameters:
| Name | Type | Description |
|---|---|---|
transformerIds | string | string[] | Unique transformer identifier(s), in order. Can be one of csv, filter, json, newline, redact, stack-hash, table. |
source | any | Source, typically one or more Reports. |
config? | Partial‹any› | As returned by loadConfig; can contain transformer-specific settings. |
options? | Partial‹TransformOptions› | Optional constraints & default behavior; overrides settings in config, if present. |
Returns: Promise‹any[]›
use
▸ use(pluginId: string): Promise‹RTKPlugin›
Register & enable a plugin.
Example:
const {use} = require('@report-toolkit/core');await use('some-plugin-in-node_modules');await use('./relative/path/to/plugin.js');
Parameters:
| Name | Type | Description |
|---|---|---|
pluginId | string | ID of plugin to register; a resolvable path to a module |
Returns: Promise‹RTKPlugin›