Conversation
|
Caution Review failedThe pull request is closed. WalkthroughReplaces php-cs-fixer config with KonradMichalik presets, standardizes license headers and author attribution, qualifies global functions/constants, injects a ConfigFactory into ConfigFileReader, adds SchemaValidator::isAvailable(), and extends multiple validators with new public methods for result type, formatting, and detailed output. Changes
Sequence Diagram(s)sequenceDiagram
participant Orchestration as ValidationOrchestrationService
participant Validator as ConcreteValidator
participant Result as ValidationResult
participant Renderer as ValidationResultRenderer
rect rgb(240,248,255)
Orchestration->>Validator: processFile(File)
Validator-->>Orchestration: addIssue(Issue) / internal state
end
rect rgb(245,255,240)
Orchestration->>Validator: validate(FileSet)
Validator-->>Orchestration: issues[]
Orchestration->>Validator: resultTypeOnValidationFailure()
Note right of Validator: returns ResultType (e.g., WARNING)
end
rect rgb(255,250,240)
Orchestration->>Renderer: render(Result)
Renderer->>Validator: if Validator.shouldShowDetailedOutput() then Validator.renderDetailedOutput(output, issues)
Renderer-->>Orchestration: output produced
end
Notes:
Estimated code review effort🎯 4 (Complex) | ⏱️ ~65 minutes Rationale: Wide-spread repetitive header and import changes lower per-file cognitive load, but the validator API additions (new public methods across multiple validators), ConfigFileReader DI, and JsonParser behavior change require careful review and cross-file integration checks. Possibly related PRs
Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (107)
⛔ Files not processed due to max files limit (23)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
# Conflicts: # .php-cs-fixer.php # composer.json # composer.lock # src/Capability/ValidateTranslationCommandProvider.php # src/Command/ValidateTranslationCommand.php # src/Config/ConfigFactory.php # src/Config/ConfigFileReader.php # src/Config/ConfigReader.php # src/Config/ConfigValidator.php # src/Config/SchemaValidator.php # src/Config/TranslationValidatorConfig.php # src/Enum/KeyNamingConvention.php # src/FileDetector/Collector.php # src/FileDetector/DetectorInterface.php # src/FileDetector/DirectoryFileDetector.php # src/FileDetector/FileDetectorRegistry.php # src/FileDetector/FileSet.php # src/FileDetector/PrefixFileDetector.php # src/FileDetector/SuffixFileDetector.php # src/Parser/AbstractParser.php # src/Parser/JsonParser.php # src/Parser/ParserCache.php # src/Parser/ParserInterface.php # src/Parser/ParserRegistry.php # src/Parser/PhpParser.php # src/Parser/XliffParser.php # src/Parser/YamlParser.php # src/Plugin.php # src/Result/AbstractValidationResultRenderer.php # src/Result/FormatType.php # src/Result/Issue.php # src/Result/Output.php # src/Result/ValidationResult.php # src/Result/ValidationResultCliRenderer.php # src/Result/ValidationResultGitHubRenderer.php # src/Result/ValidationResultJsonRenderer.php # src/Result/ValidationResultRendererFactory.php # src/Result/ValidationResultRendererInterface.php # src/Result/ValidationRun.php # src/Result/ValidationStatistics.php # src/Service/ValidationOrchestrationService.php # src/Utility/ClassUtility.php # src/Utility/OutputUtility.php # src/Utility/PathUtility.php # src/Validator/AbstractValidator.php # src/Validator/DuplicateKeysValidator.php # src/Validator/DuplicateValuesValidator.php # src/Validator/EmptyValuesValidator.php # src/Validator/EncodingValidator.php # src/Validator/HtmlTagValidator.php # src/Validator/KeyCountValidator.php # src/Validator/KeyDepthValidator.php # src/Validator/KeyNamingConventionValidator.php # src/Validator/MismatchValidator.php # src/Validator/PlaceholderConsistencyValidator.php # src/Validator/ResultType.php # src/Validator/ValidatorInterface.php # src/Validator/ValidatorRegistry.php # src/Validator/XliffSchemaValidator.php # tests/src/Capability/ValidateTranslationCommandProviderTest.php # tests/src/Command/ValidateTranslationCommandConfigTestSimple.php # tests/src/Command/ValidateTranslationCommandTest.php # tests/src/Config/ConfigFactoryTest.php # tests/src/Config/ConfigFileReaderTest.php # tests/src/Config/ConfigReaderTest.php # tests/src/Config/ConfigValidatorTest.php # tests/src/Config/SchemaValidatorTest.php # tests/src/Config/TranslationValidatorConfigTest.php # tests/src/Config/ValidatorSettingsConfigTest.php # tests/src/FileDetector/CollectorTest.php # tests/src/FileDetector/DirectoryFileDetectorTest.php # tests/src/FileDetector/FileDetectorRegistryTest.php # tests/src/FileDetector/FileSetTest.php # tests/src/FileDetector/PrefixFileDetectorTest.php # tests/src/FileDetector/SuffixFileDetectorTest.php # tests/src/Parser/AbstractParserTest.php # tests/src/Parser/JsonParserTest.php # tests/src/Parser/ParserCacheTest.php # tests/src/Parser/ParserRegistryTest.php # tests/src/Parser/PhpParserTest.php # tests/src/Parser/XliffParserTest.php # tests/src/Parser/YamlParserTest.php # tests/src/PluginExtendedTest.php # tests/src/PluginTest.php # tests/src/Result/AbstractValidationResultRendererTest.php # tests/src/Result/FormatTypeTest.php # tests/src/Result/IssueTest.php # tests/src/Result/OutputTest.php # tests/src/Result/ValidationResultCliRendererTest.php # tests/src/Result/ValidationResultGitHubRendererTest.php # tests/src/Result/ValidationResultJsonRendererTest.php # tests/src/Result/ValidationResultRendererFactoryTest.php # tests/src/Result/ValidationResultTest.php # tests/src/Result/ValidationRunTest.php # tests/src/Result/ValidationStatisticsTest.php # tests/src/Service/ValidationOrchestrationServiceTest.php # tests/src/Utility/ClassUtilityTest.php # tests/src/Utility/OutputUtilityTest.php # tests/src/Utility/PathUtilityExtendedTest.php # tests/src/Utility/PathUtilityTest.php # tests/src/Validator/AbstractValidatorTest.php # tests/src/Validator/DuplicateKeysValidatorTest.php # tests/src/Validator/DuplicateValuesValidatorTest.php # tests/src/Validator/EmptyValuesValidatorTest.php # tests/src/Validator/EncodingValidatorTest.php # tests/src/Validator/HtmlTagValidatorTest.php # tests/src/Validator/KeyCountValidatorTest.php # tests/src/Validator/KeyDepthValidatorTest.php # tests/src/Validator/KeyNamingConventionValidatorConfigTest.php # tests/src/Validator/KeyNamingConventionValidatorTest.php # tests/src/Validator/MismatchValidatorTest.php # tests/src/Validator/PlaceholderConsistencyValidatorTest.php # tests/src/Validator/ResultTypeTest.php # tests/src/Validator/SchemaValidatorTest.php # tests/src/Validator/ValidatorInterfaceTest.php # tests/src/Validator/ValidatorRegistryTest.php # tests/src/Validator/XliffSchemaValidatorTest.php
Summary by CodeRabbit