{
	"name": "praetorius/vite-asset-collector",
	"description": "Use AssetCollector to embed frontend assets generated by vite",
	"type": "typo3-cms-extension",
	"license": [
		"GPL-2.0-or-later"
	],
	"require": {
		"php": ">=8.2",
		"typo3/cms-core": "^14.3 || ^13.4 || dev-main",
		"typo3/cms-fluid": "^14.3 || ^13.4 || dev-main",
		"symfony/console": "^7.0"
	},
	"require-dev": {
		"typo3/coding-standards": "^0.8",
		"editorconfig-checker/editorconfig-checker": "^10.6",
		"typo3/testing-framework": "^8.0 || ^9.0 || dev-main",
		"phpstan/phpstan": "^1.12",
		"saschaegerer/phpstan-typo3": "^1.10",
		"phpunit/phpunit": "^11"
	},
	"suggest": {
		"t3docs/fluid-documentation-generator": "To update ViewHelper documentation with doc:viewhelpers"
	},
	"autoload": {
		"psr-4": {
			"Praetorius\\ViteAssetCollector\\": "Classes/"
		}
	},
	"autoload-dev": {
		"psr-4": {
			"Praetorius\\ViteAssetCollector\\Tests\\": "Tests/"
		}
	},
	"config": {
		"vendor-dir": ".Build/vendor",
		"bin-dir": ".Build/bin",
		"allow-plugins": {
			"typo3/class-alias-loader": true,
			"typo3/cms-composer-installers": true
		}
	},
	"extra": {
		"typo3/cms": {
			"web-dir": ".Build/web",
			"extension-key": "vite_asset_collector",
			"version": "1.17.0",
			"Package": {
				"providesPackages": {
					"symfony/console": ""
				}
			}
		},
		"typo3/class-alias-loader": {
			"class-alias-maps": [
				"Migrations/Code/ClassAliasMap.php"
			]
		}
	},
	"scripts": {
		"lint": [
			"@lint:php",
			"@lint:phpstan",
			"@lint:editorconfig"
		],
		"lint:php": "php-cs-fixer fix --config=./Build/CodeQuality/.php-cs-fixer.dist.php --diff --dry-run",
		"lint:editorconfig": "ec -config Build/CodeQuality/.ecrc .",
		"lint:phpstan": "phpstan analyse -c Build/CodeQuality/phpstan.neon",

		"fix": [
			"@fix:php"
		],
		"fix:php": "php-cs-fixer fix --config=./Build/CodeQuality/.php-cs-fixer.dist.php",

		"test": [
			"@test:unit",
			"@test:functional"
		],
		"test:unit": [
			"@putenv TYPO3_CONTEXT=Testing",
			"@putenv VITE_SERVER_URI=",
			"phpunit -c Build/Testing/UnitTests.xml"
		],
		"test:functional": [
			"@putenv TYPO3_CONTEXT=Testing",
			"phpunit -c Build/Testing/FunctionalTests.xml"
		],

		"coverage": [
			"@coverage:unit",
			"@coverage:functional",
			"@coverage:report"
		],
		"coverage:unit": "phpunit -c Build/Testing/UnitTests.xml --coverage-clover .Build/logs/clover.unit.xml --coverage-php .Build/logs/clover.unit.cov",
		"coverage:functional": "phpunit -c Build/Testing/FunctionalTests.xml --coverage-clover .Build/logs/clover.functional.xml --coverage-php .Build/logs/clover.functional.cov",
		"coverage:report": "phpcov merge --html .Build/logs/report .Build/logs",

		"doc:viewhelpers": "fluidDocumentation generate Build/Documentation/ViewHelpers.json && cp fluidDocumentationOutput/ViteAssetCollector.json Documentation/Reference/ViewHelpers/"
	}
}
