Download the PHP package tuchsoft/issue-reporter without Composer
On this page you can find all versions of the php package tuchsoft/issue-reporter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tuchsoft/issue-reporter
More information about tuchsoft/issue-reporter
Files in tuchsoft/issue-reporter
Package issue-reporter
Short Description A reporting library for static code analysis issues. It reads, aggregates, and formats common issue formats into various report types.
License Apache-2.0
Homepage https://github.com/TuchSoft/issue-reporter
Informations about the package issue-reporter
IssueReporter
A PHP library for reading, aggregating, transforming and formatting static code analysis issues.
IssueReporter reads reports produced by many tools (PHP_CodeSniffer, Checkstyle, SARIF, JUnit, GitLab,
SonarQube, LSP, Emacs, ...), normalizes them into a single in-memory model (Report + Issue),
optionally transforms them, and renders them into any supported output format
(JSON, XML, Markdown, HTML, ANSI text, SARIF, ...).
It is dual-use: use it as a library inside your own PHP code, or as a standalone
CLI (bin/console) to convert and merge report files in a pipeline.
- Package:
tuchsoft/issue-reporter - License: Apache-2.0
- PHP:
>=8.0
Features
- Read many report formats into one model (
phpcs,checkstyle,junit,gitlab,sonarqube,sarif,lsp,emacs,raw,rawxml). - Merge several reports into a single hierarchical
Reporttree. - Transform the model (e.g. Mustache message interpolation from issue
extradata). - Format the result as JSON, XML, Markdown, HTML, ANSI text or SARIF.
- Extend: register your own formats and transformers at runtime.
- A JSON recipe file can describe a whole complex run (inputs, tree, options, output).
Requirements
- PHP
>= 8.0 - Extensions:
ext-dom,ext-simplexml,ext-libxml
Installation
Usage
As a library
Report::error(), warning() and tip() are shorthands for Report::issue() with the matching
severity; they accept ($code, $message, $path, $line, $column, $help, $ref). Report::start() must
be called before adding issues.
Parsing an existing report
Any parsable format can turn a raw report string into a Report:
As a CLI
Each input uses a [format:]path syntax; prefix the path with a registered format name to parse it
with that format, or omit it to use --from. Diagnostics go to STDERR so the report on STDOUT stays
pipeable. When --config is given, all other flags/arguments are ignored (the recipe is the single
source of truth).
Supported formats
| Name | Output kind | Parsable |
|---|---|---|
info |
ANSI text | no (native renderer) |
infohtml |
HTML | no (native renderer) |
infomd |
Markdown | no (native renderer) |
emacs |
text | yes |
phpcs |
JSON | yes |
gitlab |
JSON | yes |
lsp |
JSON | yes |
raw |
JSON | yes |
sarif |
JSON | yes |
sonarqube |
JSON | yes |
checkstyle |
XML | yes |
junit |
XML | yes |
rawxml |
XML | yes |
Parsable formats can both generate and parse a report (usable as input).
Native formats are rich human-readable renderers; they cannot be used as input.
raw is the library's own complete JSON representation (round-trips everything).
Run bin/console list-format for the full list, descriptions and options.
Transformers
| Name | Description | Enabled by default |
|---|---|---|
messagereplacer |
Replaces Mustache syntax in the message/help fields using the issue extra data. |
yes |
Run bin/console list-transformer for the full list and options.
Extending
Register your own formats/transformers with the Factory:
Any class implementing FormatInterface (and optionally ParsableFormatInterface) or
TransformerInterface is discovered and instantiated with its own declared options.
Documentation
Extended documentation lives in docs/:
docs/index.md— overview and quick start.docs/cli.md— full CLI reference: commands, options, recipe/config file schema.docs/architecture.md— how the library is structured and how data flows.docs/todo.md— roadmap, planned features and known issues.
License
Released under the Apache License 2.0 — © 2026 TuchSoft.
All versions of issue-reporter with dependencies
ext-dom Version *
ext-simplexml Version *
ext-libxml Version *
symfony/console Version ^5 || ^6 || ^7
davidbadura/markdown-builder Version ^1.1
erusev/parsedown Version ^1
riimu/kit-pathjoin Version ^1.2
mustache/mustache Version ^2 | ^3