symplify / skipper
This package is abandoned and no longer maintained.
No replacement package was suggested.
Skip files by rule class, directory, file or fnmatch
11.1.6
2022-08-31 08:18 UTC
Requires
- php: >=8.0
- nette/utils: ^3.2
- symfony/config: ^6.0
- symfony/dependency-injection: ^6.0
- symfony/filesystem: ^6.0
- symfony/finder: ^6.0
- symplify/package-builder: ^11.1.6
- symplify/smart-file-system: ^11.1.6
- symplify/symplify-kernel: ^11.1.6
Requires (Dev)
- phpunit/phpunit: ^9.5.23
Conflicts
- symplify/autowire-array-parameter: <11.1.6
- symplify/coding-standard: <11.1.6
- symplify/composer-json-manipulator: <11.1.6
- symplify/config-transformer: <11.1.6
- symplify/easy-ci: <11.1.6
- symplify/easy-coding-standard: <11.1.6
- symplify/easy-parallel: <11.1.6
- symplify/easy-testing: <11.1.6
- symplify/monorepo-builder: <11.1.6
- symplify/php-config-printer: <11.1.6
- symplify/phpstan-extensions: <11.1.6
- symplify/phpstan-rules: <11.1.6
- symplify/rule-doc-generator: <11.1.6
- symplify/rule-doc-generator-contracts: <11.1.6
- symplify/symfony-static-dumper: <11.1.6
- symplify/vendor-patches: <11.1.6
This package is auto-updated.
Last update: 2022-08-31 14:15:41 UTC
README
Skip files by rule class, fnmatch or regex.
Install
composer require symplify/skipper
Register package in your config:
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symplify\Skipper\ValueObject\SkipperConfig; return static function (ContainerConfigurator $containerConfigurator): void { $containerConfigurator->import(SkipperConfig::FILE_PATH); };
Use
1. Configure with Option::SKIP parameter.
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symplify\Skipper\ValueObject\Option; return static function (ContainerConfigurator $containerConfigurator): void { $parameters = $containerConfigurator->parameters(); $parameters->set(Option::SKIP, [ // absolute directory __DIR__ . '/some-path', // absolute file __DIR__ . '/some-path/some-file.php', // with mask '*/Fixture/*', // specific class SomeClass::class, ]); };
Or for rules and paths specific ignores:
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symplify\Skipper\ValueObject\Option; return static function (ContainerConfigurator $containerConfigurator): void { $parameters = $containerConfigurator->parameters(); $parameters->set(Option::SKIP, [ // specific class SomeClass::class => [__DIR__ . '/src/OnlyHere'], // class code in paths SomeSniff::class . '.SomeCode' => ['*Sniff.php', '*YamlFileLoader.php'], ]); };
2. Use Skipper service in Your Project
You have 3 way to decide, if the something should be skipped:
- the element
- the file info
- the element in the file info
use Symplify\Skipper\Skipper\Skipper; use Symplify\SmartFileSystem\SmartFileInfo; final class SomeClass { /** * @var Skipper */ private $skipper; public function __construct(Skipper $skipper) { $this->skipper = $skipper; } public function run(string|object $element, SmartFileInfo $fileInfo): void { // 1. skip the element? $shouldBeSkipped = $this->skipper->shouldSkipElement($element); // 2. skip the file path? $shouldBeSkipped = $this->skipper->shouldSkipFileInfo($fileInfo); // 3. skip the element in the file path? $shouldBeSkipped = $this->skipper->shouldSkipElementAndFileInfo($element, $fileInfo); } }
Report Issues
In case you are experiencing a bug or want to request a new feature head over to the Symplify monorepo issue tracker
Contribute
The sources of this package are contained in the Symplify monorepo. We welcome contributions for this package on symplify/symplify.