{
    "name": "pelago/emogrifier",
    "description": "Converts CSS styles into inline style attributes in your HTML code",
    "license": "MIT",
    "keywords": [
        "email",
        "css",
        "pre-processing"
    ],
    "authors": [
        {
            "name": "Oliver Klee",
            "email": "github@oliverklee.de"
        },
        {
            "name": "Zoli Szabó",
            "email": "zoli.szabo+github@gmail.com"
        },
        {
            "name": "John Reeve",
            "email": "jreeve@pelagodesign.com"
        },
        {
            "name": "Jake Hotson",
            "email": "jake.github@qzdesign.co.uk"
        },
        {
            "name": "Cameron Brooks"
        },
        {
            "name": "Jaime Prado"
        }
    ],
    "homepage": "https://www.myintervals.com/emogrifier.php",
    "support": {
        "issues": "https://github.com/MyIntervals/emogrifier/issues",
        "source": "https://github.com/MyIntervals/emogrifier"
    },
    "require": {
        "php": "~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
        "ext-dom": "*",
        "ext-libxml": "*",
        "sabberworm/php-css-parser": "^9.1.0",
        "symfony/css-selector": "^5.4.35 || ~6.3.12 || ^6.4.3 || ^7.0.3 || ^8.0.0",
        "thecodingmachine/safe": "^1.3 || ^2.5 || ^3.3"
    },
    "require-dev": {
        "php-parallel-lint/php-parallel-lint": "1.4.0",
        "phpmd/phpmd": "2.15.0",
        "phpstan/extension-installer": "1.4.3",
        "phpstan/phpstan": "1.12.32 || 2.1.31",
        "phpstan/phpstan-phpunit": "1.4.2 || 2.0.7",
        "phpstan/phpstan-strict-rules": "1.6.2 || 2.0.7",
        "phpunit/phpunit": "9.6.29",
        "rawr/phpunit-data-provider": "3.3.1",
        "rector/rector": "1.2.10 || 2.2.2",
        "rector/type-perfect": "1.0.0 || 2.1.0",
        "squizlabs/php_codesniffer": "4.0.1",
        "thecodingmachine/phpstan-safe-rule": "1.2.0 || 1.4.3"
    },
    "prefer-stable": true,
    "autoload": {
        "psr-4": {
            "Pelago\\Emogrifier\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Pelago\\Emogrifier\\Tests\\": "tests/"
        }
    },
    "config": {
        "allow-plugins": {
            "phpstan/extension-installer": true
        },
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "extra": {
        "branch-alias": {
            "dev-main": "8.3.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 config src tests",
        "check:php:fixer": "\"./.phive/php-cs-fixer\" --config=config/php-cs-fixer.php fix --dry-run -v --show-progress=dots config/ src/ tests/",
        "check:php:lint": "parallel-lint config src tests",
        "check:php:md": "phpmd src text config/phpmd.xml",
        "check:php:rector": "rector --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:lint",
            "@check:php:fixer",
            "@check:php:codesniffer",
            "@check:php:md",
            "@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:composer:normalize",
            "@fix:php:rector",
            "@fix:php:codesniffer",
            "@fix:php:fixer"
        ],
        "fix:composer:normalize": "\"./.phive/composer-normalize\" --no-check-lock",
        "fix:php:codesniffer": "phpcbf --standard=config/phpcs.xml config src tests",
        "fix:php:fixer": "\"./.phive/php-cs-fixer\" --config=config/php-cs-fixer.php fix config/ src/ tests/",
        "fix:php:rector": "rector --config=config/rector.php",
        "php:version": "@php -v | grep -Po 'PHP\\s++\\K(?:\\d++\\.)*+\\d++(?:-\\w++)?+'",
        "phpstan:baseline": "phpstan --configuration=config/phpstan.neon --generate-baseline=config/phpstan-baseline.neon --allow-empty-baseline"
    },
    "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 tests (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": "Lints the PHP files for syntax errors.",
        "check:php:md": "Checks the code complexity with PHPMD.",
        "check:php:rector": "Checks the code for possible code updates and refactoring.",
        "check:php:stan": "Checks the PHP types using PHPStan.",
        "check:static": "Runs all static code analysis checks for the code and the composer.json.",
        "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:codesniffer": "Reformats the code with PHP_CodeSniffer.",
        "fix:php:fixer": "Reformats the code with php-cs-fixer.",
        "fix:php:rector": "Fixes autofixable issues found by Rector.",
        "php:version": "Outputs the installed PHP version.",
        "phpstan:baseline": "Updates the PHPStan baseline file to match the code."
    }
}
