From 2228e79096d8955ce419f963e60f9c508290ef86 Mon Sep 17 00:00:00 2001 From: Matt Stauffer Date: Tue, 5 May 2026 10:07:11 -0400 Subject: [PATCH 1/2] Escape . in regex --- standards/Tighten/ruleset.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/standards/Tighten/ruleset.xml b/standards/Tighten/ruleset.xml index ab4635c..cbabfe7 100644 --- a/standards/Tighten/ruleset.xml +++ b/standards/Tighten/ruleset.xml @@ -3,12 +3,13 @@ Tighten PHP CS rules for Laravel + */cache/* - */*.js - */*.css - */*.xml - */*.blade.php - */autoload.php + */*\.js + */*\.css + */*\.xml + */*\.blade\.php + */autoload\.php */storage/* */docs/* */vendor/* From c777408be54ded0215de910e351d3ad1724bc5bc Mon Sep 17 00:00:00 2001 From: Matt Stauffer Date: Tue, 5 May 2026 11:25:14 -0400 Subject: [PATCH 2/2] Add tests to cover new ruleset changes --- tests/Feature/LintCommandTest.php | 16 ++++++++++++++++ .../ExampleClass.php | 5 +++++ .../Excluded.blade.php | 5 +++++ .../autoload-php.php | 5 +++++ .../PhpCodeSnifferRulesetExclusions/autoload.php | 5 +++++ .../PhpCodeSnifferRulesetExclusions/excluded.css | 1 + .../PhpCodeSnifferRulesetExclusions/excluded.js | 1 + .../PhpCodeSnifferRulesetExclusions/excluded.xml | 2 ++ 8 files changed, 40 insertions(+) create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/ExampleClass.php create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/Excluded.blade.php create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/autoload-php.php create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/autoload.php create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/excluded.css create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/excluded.js create mode 100644 tests/Fixtures/PhpCodeSnifferRulesetExclusions/excluded.xml diff --git a/tests/Feature/LintCommandTest.php b/tests/Feature/LintCommandTest.php index aad73ae..5b19399 100755 --- a/tests/Feature/LintCommandTest.php +++ b/tests/Feature/LintCommandTest.php @@ -82,6 +82,22 @@ expect($statusCode)->toBe(0); }); +it('lints with PHP_CodeSniffer respecting ruleset exclude-patterns', function () { + [$statusCode, $output] = run('lint', [ + 'path' => base_path('tests/Fixtures/PhpCodeSnifferRulesetExclusions'), + '--using' => 'phpcs', + ]); + + expect($statusCode)->toBe(1) + ->and($output) + ->toContain('Linting using PHP_CodeSniffer') + ->toContain('Filename doesn\'t match class name') + ->toContain('WrongName') + ->toContain('NarrowingFileMustBeLinted') + ->not->toContain('AutoloadShouldNotBeLinted') + ->not->toContain('BladeShouldNotBeLinted'); +}); + it('lints with PHP CS Fixer', function () { [$statusCode, $output] = run('lint', [ 'path' => base_path('tests/Fixtures/PhpCsFixerFixableIssues'), diff --git a/tests/Fixtures/PhpCodeSnifferRulesetExclusions/ExampleClass.php b/tests/Fixtures/PhpCodeSnifferRulesetExclusions/ExampleClass.php new file mode 100644 index 0000000..b8d53ff --- /dev/null +++ b/tests/Fixtures/PhpCodeSnifferRulesetExclusions/ExampleClass.php @@ -0,0 +1,5 @@ + +