{
	"name": "eliashaeussler/cache-warmup",
	"description": "Composer package to warm up website caches, based on a given XML sitemap",
	"license": "GPL-3.0-or-later",
	"type": "library",
	"authors": [
		{
			"name": "Elias Häußler",
			"email": "elias@haeussler.dev",
			"homepage": "https://haeussler.dev",
			"role": "Maintainer"
		}
	],
	"homepage": "https://cache-warmup.dev/",
	"require": {
		"php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
		"ext-filter": "*",
		"ext-json": "*",
		"ext-libxml": "*",
		"ext-mbstring": "*",
		"ext-simplexml": "*",
		"ext-zlib": "*",
		"cuyz/valinor": "^2.3.1",
		"guzzlehttp/guzzle": "^7.8.2",
		"guzzlehttp/promises": "^2.0.3",
		"guzzlehttp/psr7": "^2.0",
		"psr/event-dispatcher": "^1.0",
		"psr/http-message": "^2.0",
		"psr/log": "^2.0 || ^3.0",
		"symfony/console": "^6.4.3 || ^7.0.3 || ^8.0",
		"symfony/event-dispatcher": "^6.4.3 || ^7.0.3 || ^8.0",
		"symfony/filesystem": "^6.4.3 || ^7.0.3 || ^8.0",
		"symfony/options-resolver": "^6.4.3 || ^7.0.3 || ^8.0",
		"symfony/yaml": "^6.4.3 || ^7.0.3 || ^8.0"
	},
	"require-dev": {
		"armin/editorconfig-cli": "^2.0",
		"eliashaeussler/deep-closure-comparator": "^1.2.1",
		"eliashaeussler/php-cs-fixer-config": "^3.0",
		"eliashaeussler/phpstan-config": "^4.0.0",
		"eliashaeussler/rector-config": "^4.0",
		"eliashaeussler/transient-logger": "^2.0",
		"eliashaeussler/version-bumper": "^4.0",
		"ergebnis/composer-normalize": "^2.28",
		"phpstan/extension-installer": "^1.2",
		"phpstan/phpstan-phpunit": "^2.0",
		"phpstan/phpstan-symfony": "^2.0",
		"phpunit/phpunit": "^11.5.1 || ^12.0 || ^13.0",
		"shipmonk/composer-dependency-analyser": "^1.8",
		"symfony/event-dispatcher-contracts": "^3.4.2",
		"symfony/string": "^6.4.3 || ^7.0.3 || ^8.0"
	},
	"autoload": {
		"psr-4": {
			"EliasHaeussler\\CacheWarmup\\": "src"
		}
	},
	"autoload-dev": {
		"psr-4": {
			"EliasHaeussler\\CacheWarmup\\Tests\\": "tests/unit"
		}
	},
	"bin": [
		"bin/cache-warmup"
	],
	"config": {
		"allow-plugins": {
			"eliashaeussler/version-bumper": true,
			"ergebnis/composer-normalize": true,
			"phpstan/extension-installer": true
		},
		"audit": {
			"abandoned": "report"
		},
		"sort-packages": true
	},
	"extra": {
		"version-bumper": {
			"config-file": "build/version-bumper.yaml"
		}
	},
	"scripts": {
		"check": [
			"@check:deps",
			"@check:refactor",
			"@check:static",
			"@check:style"
		],
		"check:deps": "composer-dependency-analyser --config build/composer-dependency-analyser.php",
		"check:refactor": [
			"@check:refactor:php"
		],
		"check:refactor:php": "@refactor:php --dry-run",
		"check:static": "phpstan analyse -c build/phpstan.php",
		"check:style": [
			"@check:style:composer",
			"@check:style:editorconfig",
			"@check:style:php",
			"@check:style:shell"
		],
		"check:style:composer": "@fix:composer --dry-run",
		"check:style:editorconfig": "ec",
		"check:style:php": "@fix:php --dry-run",
		"check:style:shell": "find tests/e2e -name '*.sh' -print0 | xargs -0 -I{} shellcheck {}",
		"ci": [
			"@composer validate",
			"@composer audit",
			"@check:deps",
			"@check:refactor",
			"@check:static --error-format github",
			"@check:style"
		],
		"fix": [
			"@fix:composer",
			"@fix:editorconfig",
			"@fix:php"
		],
		"fix:composer": "@composer normalize",
		"fix:editorconfig": "@check:style:editorconfig --fix",
		"fix:php": "php-cs-fixer fix --config build/.php-cs-fixer.php",
		"refactor": [
			"@refactor:php"
		],
		"refactor:php": "rector process -c build/rector.php",
		"test": [
			"@test:e2e",
			"@test:unit"
		],
		"test:coverage": [
			"@test:unit:coverage"
		],
		"test:e2e": "tests/e2e/run.sh",
		"test:e2e:docker": "@test:e2e docker",
		"test:e2e:phar": "@test:e2e phar",
		"test:unit": "@test:unit:coverage --no-coverage",
		"test:unit:coverage": "phpunit -c build/phpunit.xml"
	}
}
