{
    "name": "sabberworm/php-css-parser",
    "description": "Parser for CSS Files written in PHP",
    "license": "MIT",
    "type": "library",
    "keywords": [
        "parser",
        "css",
        "stylesheet"
    ],
    "authors": [
        {
            "name": "Raphael Schweikert"
        },
        {
            "name": "Oliver Klee",
            "email": "github@oliverklee.de"
        },
        {
            "name": "Jake Hotson",
            "email": "jake.github@qzdesign.co.uk"
        }
    ],
    "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
    "require": {
        "php": "^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
        "ext-iconv": "*",
        "thecodingmachine/safe": "^1.3 || ^2.5 || ^3.4"
    },
    "require-dev": {
        "php-parallel-lint/php-parallel-lint": "1.4.0",
        "phpstan/extension-installer": "1.4.3",
        "phpstan/phpstan": "1.12.32 || 2.1.32",
        "phpstan/phpstan-phpunit": "1.4.2 || 2.0.8",
        "phpstan/phpstan-strict-rules": "1.6.2 || 2.0.7",
        "phpunit/phpunit": "8.5.52",
        "rawr/phpunit-data-provider": "3.3.1",
        "rector/rector": "1.2.10 || 2.2.8",
        "rector/type-perfect": "1.0.0 || 2.1.0",
        "squizlabs/php_codesniffer": "4.0.1",
        "thecodingmachine/phpstan-safe-rule": "1.2.0 || 1.4.1"
    },
    "suggest": {
        "ext-mbstring": "for parsing UTF-8 CSS"
    },
    "autoload": {
        "psr-4": {
            "Sabberworm\\CSS\\": "src/"
        },
        "files": [
            "src/Rule/Rule.php",
            "src/RuleSet/RuleContainer.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Sabberworm\\CSS\\Tests\\": "tests/"
        }
    },
    "config": {
        "allow-plugins": {
            "phpstan/extension-installer": true
        },
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "extra": {
        "branch-alias": {
            "dev-main": "9.4.x-dev"
        }
    },
    "scripts": {
        "check": [
            "@check:static",
            "@check:dynamic"
        ],
        "check:composer:normalize": "\"./.phive/composer-normalize\" --dry-run",
        "check:dynamic": [
            "@check:tests"
        ],
        "check:php:codesniffer": "phpcs --standard=config/phpcs.xml bin config src tests",
        "check:php:fixer": "\"./.phive/php-cs-fixer\" --config=config/php-cs-fixer.php fix --dry-run -v --show-progress=dots --diff bin config src tests",
        "check:php:lint": "parallel-lint bin config src tests",
        "check:php:rector": "rector process --no-progress-bar --dry-run --config=config/rector.php",
        "check:php:stan": "phpstan --no-progress --configuration=config/phpstan.neon",
        "check:static": [
            "@check:composer:normalize",
            "@check:php:fixer",
            "@check:php:codesniffer",
            "@check:php:lint",
            "@check:php:rector",
            "@check:php:stan"
        ],
        "check:tests": [
            "@check:tests:unit"
        ],
        "check:tests:coverage": "phpunit --do-not-cache-result --coverage-clover=coverage.xml",
        "check:tests:sof": "phpunit --stop-on-failure --do-not-cache-result",
        "check:tests:unit": "phpunit --do-not-cache-result",
        "fix": [
            "@fix:php"
        ],
        "fix:composer:normalize": "\"./.phive/composer-normalize\" --no-check-lock",
        "fix:php": [
            "@fix:composer:normalize",
            "@fix:php:rector",
            "@fix:php:codesniffer",
            "@fix:php:fixer"
        ],
        "fix:php:codesniffer": "phpcbf --standard=config/phpcs.xml bin config src tests",
        "fix:php:fixer": "\"./.phive/php-cs-fixer\" --config=config/php-cs-fixer.php fix bin config src tests",
        "fix:php:rector": "rector process --config=config/rector.php",
        "phpstan:baseline": "phpstan --configuration=config/phpstan.neon --generate-baseline=config/phpstan-baseline.neon --allow-empty-baseline",
        "phpstan:clearcache": "phpstan clear-result-cache"
    },
    "scripts-descriptions": {
        "check": "Runs all dynamic and static code checks.",
        "check:composer:normalize": "Checks the formatting and structure of the composer.json.",
        "check:dynamic": "Runs all dynamic code checks (i.e., currently, the unit tests).",
        "check:php:codesniffer": "Checks the code style with PHP_CodeSniffer.",
        "check:php:fixer": "Checks the code style with PHP CS Fixer.",
        "check:php:lint": "Checks the syntax of the PHP code.",
        "check:php:rector": "Checks the code for possible code updates and refactoring.",
        "check:php:stan": "Checks the types with PHPStan.",
        "check:static": "Runs all static code analysis checks for the code.",
        "check:tests": "Runs all dynamic tests (i.e., currently, the unit tests).",
        "check:tests:coverage": "Runs the unit tests with code coverage.",
        "check:tests:sof": "Runs the unit tests and stops at the first failure.",
        "check:tests:unit": "Runs all unit tests.",
        "fix": "Runs all fixers",
        "fix:composer:normalize": "Reformats and sorts the composer.json file.",
        "fix:php": "Autofixes all autofixable issues in the PHP code.",
        "fix:php:codesniffer": "Reformats the code with PHP_CodeSniffer.",
        "fix:php:fixer": "Fixes autofixable issues found by PHP CS Fixer.",
        "fix:php:rector": "Fixes autofixable issues found by Rector.",
        "phpstan:baseline": "Updates the PHPStan baseline file to match the code.",
        "phpstan:clearcache": "Clears the PHPStan cache."
    }
}
