composer.json
{
"name": "cpsit/project-builder",
"description": "Composer package to create new projects from project templates",
"license": "GPL-3.0-or-later",
"type": "library",
"authors": [
{
"name": "Elias Häußler",
"email": "elias@haeussler.dev",
"role": "Maintainer"
},
{
"name": "Martin Adler",
"email": "mteu@mailbox.org",
"role": "Developer"
}
],
"require": {
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
"ext-filter": "*",
"ext-json": "*",
"ext-mbstring": "*",
"composer-runtime-api": "^2.1",
"cocur/slugify": "^4.1",
"cuyz/valinor": "^1.0",
"guzzlehttp/guzzle": "^7.0",
"nyholm/psr7": "^1.5",
"opis/json-schema": "^2.3",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0 || ^2.0",
"sebastianfeldmann/cli": "^3.4",
"symfony/config": "^5.4 || ^6.0 || ^7.0",
"symfony/console": "^5.4 || ^6.0",
"symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
"symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
"symfony/expression-language": "^5.4 || ^6.0 || ^7.0",
"symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
"symfony/finder": "^5.4 || ^6.0 || ^7.0",
"symfony/process": "^5.4 || ^6.0 || ^7.0",
"symfony/yaml": "^5.4 || ^6.0 || ^7.0",
"twig/twig": "^3.3.3",
"webmozart/assert": "^1.11"
},
"require-dev": {
"armin/editorconfig-cli": "^1.6 || ^2.0",
"composer/composer": "~2.2.13 || ^2.3.6",
"composer/semver": "^3.0",
"composer/xdebug-handler": "^3.0",
"cpsit/php-cs-fixer-config": "^1.1",
"donatj/mock-webserver": "^2.5",
"eliashaeussler/version-bumper": "^1.2",
"ergebnis/composer-normalize": "^2.26",
"phpstan/extension-installer": "^1.2",
"phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.1",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.2",
"phpstan/phpstan-symfony": "^1.2",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^10.1 || ^11.0",
"rector/rector": "^1.0.0",
"seld/jsonlint": "^1.9"
},
"autoload": {
"psr-4": {
"CPSIT\\ProjectBuilder\\": [
"src/",
".build/src/"
]
}
},
"autoload-dev": {
"psr-4": {
"CPSIT\\ProjectBuilder\\Tests\\": "tests/src/"
}
},
"config": {
"allow-plugins": {
"eliashaeussler/version-bumper": true,
"ergebnis/composer-normalize": true,
"phpstan/extension-installer": true
},
"sort-packages": true,
"vendor-dir": ".build/vendor"
},
"scripts": {
"post-create-project-cmd": [
"CPSIT\\ProjectBuilder\\Bootstrap::createProject"
],
"docs": [
"@docs:build",
"@docs:serve"
],
"docs:build": "docker-compose -f docs/_build/docker-compose.yaml run --rm -it build -a",
"docs:open": "open docs/_build/html/index.html",
"docs:serve": [
"Composer\\Config::disableProcessTimeout",
"docker-compose -f docs/_build/docker-compose.yaml run --rm -it --service-ports serve"
],
"fix": [
"@fix:composer",
"@fix:editorconfig",
"@fix:php"
],
"fix:composer": "@composer normalize",
"fix:editorconfig": "@lint:editorconfig --fix",
"fix:php": "php-cs-fixer fix",
"lint": [
"@lint:composer",
"@lint:editorconfig",
"@lint:json",
"@lint:php"
],
"lint:composer": "@fix:composer --dry-run",
"lint:editorconfig": "ec",
"lint:json": "jsonlint resources/config.schema.json",
"lint:php": "@fix:php --dry-run",
"migration": [
"@migration:rector"
],
"migration:rector": "rector process",
"sca": [
"@sca:php"
],
"sca:php": [
"@php tests/bootstrap.php",
"phpstan analyse -c phpstan.neon"
],
"simulate": [
"Composer\\Config::disableProcessTimeout",
"CPSIT\\ProjectBuilder\\Bootstrap::simulateCreateProject"
],
"test": [
"@test:unit",
"@test:docker --cache"
],
"test:docker": "tests/docker/docker-build.sh",
"test:unit": "@test:unit:coverage --no-coverage",
"test:unit:coverage": "phpunit -c phpunit.xml",
"validate-schema": [
"docker run --rm -v \"$(pwd)\":/code swaggest/json-cli json-cli validate-schema resources/build-artifact.schema.json",
"docker run --rm -v \"$(pwd)\":/code swaggest/json-cli json-cli validate-schema resources/config.schema.json"
]
}
}