refactor: remove mvp wording from unsupported subset messaging#8
Conversation
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
The PR is titled and described as a small refactor to remove "MVP" wording from the UnsupportedSubsetException message, but the diff actually delivers a broad set of changes: a real refactor extracting TemplateDocumentBuilder from XObjectTemplateCompiler, a bug fix in PdfEscaper's backslash escaping, new unit tests (builder, layout, color, escaper, parser inheritance), SPDX headers across the repo, license-file expansion, REUSE config rewrite, removal of .env.example/package.json/commitlint.config.cjs/scripts/lint-shell.sh/README docker section, and a large CI rewrite (composite shell-quality action, shell-based DCO/commitlint, many GitHub Action major-version bumps, and PHP-version detection from composer.json).
Changes:
- Replace MVP-specific exception message with generic unsupported-tag message and extend parser/escaper test coverage.
- Extract PDF content/resource/metadata assembly into
Pdf\TemplateDocumentBuilder, mark compiler/layout enginereadonly, and fixPdfEscaperbackslash escaping. - Rewrite tooling/CI: add SPDX headers everywhere, replace npm-based commitlint +
tim-actions/dcowith shell scripts, bump many action majors, add compositeshell-qualityaction, and drop thereuse/reuseComposer bin.
Reviewed changes
Copilot reviewed 89 out of 89 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Html/SubsetHtmlParser.php | Removes "MVP subset" wording, splits parser into element/text helpers, hardens libxml error handling. |
| src/XObjectTemplateCompiler.php | Delegates PDF assembly to TemplateDocumentBuilder; keeps legacy escaper/parser arguments. |
| src/Pdf/TemplateDocumentBuilder.php | New builder producing content stream, resources, metadata, and bbox. |
| src/Pdf/PdfEscaper.php | Fixes incorrect double-escaped backslash search/replace. |
| src/Pdf/ColorParser.php, src/Layout/, src/Css/, src/Dto/, src/Contract/, src/Exception/, src/Integration/ | SPDX headers and minor formatting; layout engine marked readonly and split into multi-line calls. |
| tests/Unit/TemplateDocumentBuilderTest.php, TemplateDocumentBuilderCompatibilityTest.php, SubsetHtmlParserAdvancedTest.php, LinearLayoutEngineTest.php, ColorParserTest.php, PdfEscaperTest.php, PdfEscaperColorParserTest.php | New unit tests for builder, parser inheritance, layout, escaping, and color parsing. |
| tests/Unit/XObjectTemplateCompilerTest.php, tests/Unit/SubsetHtmlParserTest.php, tests/Unit/SignatureAppearanceXObjectAdapterTest.php, tests/Integration/VisibleSignatureBusinessRuleTest.php | SPDX headers and string-wrapping cleanups. |
| composer.json, vendor-bin/qa/composer.json, vendor-bin/mutation/composer.json, infection.json5, rector.php, phpcs.xml, phpmd.xml, phpcpd.xml, psalm.xml | Allow infection/extension-installer, drop reuse/reuse, skip NewInInitializerRector, relax PHPMD rules, add SPDX headers. |
| REUSE.toml, LICENSE, LICENSES/AGPL-3.0-or-later.txt | Restructure REUSE annotations; add full AGPL license text. |
| docker-compose.yml, scripts/licenses-check.php, benchmarks/*.php | SPDX headers only. |
| package.json, commitlint.config.cjs, scripts/lint-shell.sh, .env.example | Removed (npm dev-deps, lint-shell script, env example). |
| README.md, CHANGELOG.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, .github/copilot-instructions.md, .github/PULL_REQUEST_TEMPLATE.md, .github/FUNDING.yml, .github/release-drafter.yml, .github/dependabot.yml, .github/ISSUE_TEMPLATE/* | SPDX headers; remove Docker section + MVP wording; add release-drafter template body. |
| .github/actions/shell-quality/action.yml | New composite action consolidating shell-quality checks. |
| .github/workflows/*.yml | Bump action major versions, detect PHP from composer.json, replace npm commitlint and tim-actions/dco with shell scripts, reuse composite shell-quality action, harden hadolint invocation, drop PHP matrix in compatibility-matrix. |
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
No description provided.