mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2025-03-27 06:43:50 +01:00
tea/composer.json
Oliver Klee 16ce60f222
[FEATURE] Add rector/type-perfect PHPStan rules ()
This package provides some opiniated PHPStan rules to make
our code more explicit and easier to read.

https://github.com/rectorphp/type-perfect

As our code already is in pretty good shape, the new rules do
not create any new warnings.

Also add some blank lines to the PHPStan configuration file to
make it more readable.

Fixes 
2025-02-19 16:23:40 +01:00

243 lines
8.3 KiB
JSON

{
"name": "ttn/tea",
"description": "TYPO3 example extension for unit testing and best practices",
"license": "GPL-2.0-or-later",
"type": "typo3-cms-extension",
"keywords": [
"typo3",
"example",
"extension",
"tdd",
"phpunit",
"unit testing",
"best practices"
],
"authors": [
{
"name": "Oliver Klee",
"email": "typo3-coding@oliverklee.de",
"homepage": "https://www.oliverklee.de",
"role": "maintainer"
},
{
"name": "Daniel Siepmann",
"email": "coding@daniel-siepmann.de",
"homepage": "https://daniel-siepmann.de/",
"role": "maintainer"
},
{
"name": "Łukasz Uznański",
"email": "lukaszuznanski94@gmail.com",
"homepage": "https://uznanski.pl/",
"role": "maintainer"
}
],
"homepage": "https://extensions.typo3.org/extension/tea/",
"support": {
"issues": "https://github.com/TYPO3BestPractices/tea/issues",
"source": "https://github.com/TYPO3BestPractices/tea",
"docs": "https://docs.typo3.org/p/ttn/tea/main/en-us/"
},
"require": {
"php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
"psr/http-message": "^1.0.1",
"typo3/cms-core": "^12.4.26",
"typo3/cms-extbase": "^12.4.26",
"typo3/cms-fluid": "^12.4.26",
"typo3/cms-frontend": "^12.4.26"
},
"require-dev": {
"brianium/paratest": "6.11.1",
"ergebnis/composer-normalize": "2.45.0",
"friendsofphp/php-cs-fixer": "3.69.1",
"helmich/typo3-typoscript-lint": "^3.3.0",
"icanhazstring/composer-unused": "0.8.11",
"php-parallel-lint/php-parallel-lint": "1.4.0",
"phpmd/phpmd": "2.15.0",
"phpstan/extension-installer": "1.4.3",
"phpstan/phpstan": "1.12.14",
"phpstan/phpstan-phpunit": "1.4.2",
"phpstan/phpstan-strict-rules": "1.6.1",
"phpunit/phpunit": "9.6.22",
"rector/type-perfect": "1.0.0",
"saschaegerer/phpstan-typo3": "1.10.2",
"seld/jsonlint": "1.11.0",
"spaze/phpstan-disallowed-calls": "4.3.1",
"ssch/typo3-rector": "2.12.2",
"ssch/typo3-rector-testing-framework": "2.0.1",
"symfony/console": "6.4.17 || 7.2.1",
"symfony/translation": "6.4.13 || 7.2.2",
"symfony/yaml": "6.4.18 || 7.2.3",
"tomasvotruba/cognitive-complexity": "0.2.3",
"tomasvotruba/type-coverage": "1.0.0",
"typo3/cms-fluid-styled-content": "^12.4.26",
"typo3/coding-standards": "0.6.1 || 0.8.0",
"typo3/testing-framework": "7.1.1",
"webmozart/assert": "^1.11.0"
},
"replace": {
"typo3-ter/tea": "self.version"
},
"conflict": {
"typo3/class-alias-loader": "< 1.1.0"
},
"prefer-stable": true,
"autoload": {
"psr-4": {
"TTN\\Tea\\": "Classes/"
}
},
"autoload-dev": {
"psr-4": {
"TTN\\Tea\\Tests\\": "Tests/"
}
},
"config": {
"allow-plugins": {
"ergebnis/composer-normalize": true,
"phpstan/extension-installer": true,
"sbuerk/typo3-cmscomposerinstallers-testingframework-bridge": true,
"typo3/class-alias-loader": true,
"typo3/cms-composer-installers": true
},
"bin-dir": ".Build/bin",
"lock": false,
"preferred-install": {
"*": "dist"
},
"sort-packages": true,
"vendor-dir": ".Build/vendor"
},
"extra": {
"branch-alias": {
"dev-main": "4.0.x-dev"
},
"typo3/cms": {
"extension-key": "tea",
"web-dir": ".Build/public"
}
},
"scripts": {
"ci:composer:normalize": "@composer normalize --no-check-lock --dry-run",
"ci:composer:psr-verify": "@composer dumpautoload --optimize --strict-psr --no-plugins",
"ci:composer:unused": "composer-unused",
"ci:coverage": [
"@ci:coverage:unit",
"@ci:coverage:functional"
],
"ci:coverage:functional": [
"@ci:tests:create-directories",
"@coverage:create-directories",
"paratest -c Build/phpunit/FunctionalTests.xml --whitelist Classes --coverage-php=build/coverage/functional.cov Tests/Functional"
],
"ci:coverage:merge": [
"@coverage:create-directories",
"@php tools/phpcov merge --clover=build/logs/clover.xml build/coverage/"
],
"ci:coverage:unit": [
"@coverage:create-directories",
"paratest -c Build/phpunit/UnitTests.xml --whitelist Classes --coverage-php=build/coverage/unit.cov Tests/Unit"
],
"ci:json:lint": "find . ! -path '*/.cache/*' ! -path '*/.Build/*' ! -path '*/node_modules/*' -name '*.json' | xargs -r php .Build/bin/jsonlint -q",
"ci:php": [
"@ci:php:cs-fixer",
"@ci:php:lint",
"@ci:php:stan"
],
"ci:php:cs-fixer": "php-cs-fixer fix --config ./Build/php-cs-fixer/php-cs-fixer.php -v --dry-run --diff",
"ci:php:lint": "parallel-lint *.php Build Classes Configuration Tests",
"ci:php:mess": "phpmd Classes text Build/phpmd/phpmd.xml",
"ci:php:rector": "rector --dry-run",
"ci:php:stan": "phpstan --no-progress -v",
"ci:static": [
"@ci:composer:normalize",
"@ci:composer:unused",
"@ci:json:lint",
"@ci:php:lint",
"@ci:php:rector",
"@ci:php:stan",
"@ci:php:cs-fixer",
"@ci:typoscript:lint",
"@ci:xliff:lint",
"@ci:yaml:lint"
],
"ci:tests:create-directories": "mkdir -p .Build/public/typo3temp/var/tests",
"ci:tests:functional": [
"@ci:tests:create-directories",
"paratest -c Build/phpunit/FunctionalTests.xml Tests/Functional"
],
"ci:tests:unit": "paratest -c Build/phpunit/UnitTests.xml Tests/Unit",
"ci:typoscript:lint": "typoscript-lint -c Configuration/TsLint.yml --ansi -n --fail-on-warnings -vvv Configuration/TypoScript",
"ci:xliff:lint": "php Build/xliff/xliff-lint lint:xliff Resources/Private/Language",
"ci:yaml:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' \\( -name '*.yaml' -o -name '*.yml' \\) | xargs -r php ./.Build/bin/yaml-lint",
"coverage:create-directories": "mkdir -p build/coverage build/logs",
"docs:generate": "docker run --rm --pull always -v $(pwd):/project -it ghcr.io/typo3-documentation/render-guides:latest --config=Documentation",
"fix": [
"@fix:composer:normalize",
"@fix:php"
],
"fix:composer:normalize": "@composer normalize --no-check-lock",
"fix:php": [
"@fix:php:rector",
"@fix:php:cs"
],
"fix:php:cs": "php-cs-fixer fix --config ./Build/php-cs-fixer/php-cs-fixer.php",
"fix:php:rector": "rector",
"phpstan:baseline": "phpstan --generate-baseline --allow-empty-baseline",
"prepare-release": [
"rm -rf .Build",
"rm -rf .ddev",
"rm -rf .github",
"rm -rf .gitlab",
"rm -rf Build",
"rm -rf Tests",
"rm -rf tools",
"rm .editorconfig",
"rm .eslintignore",
"rm .eslintrc.json",
"rm .gitattributes",
"rm .gitignore",
"rm .npmrc",
"rm .nvmrc",
"rm .prettierrc.js",
"rm package-lock.json",
"rm package.json",
"rm phive.xml",
"rm phpstan-baseline.neon",
"rm phpstan.neon",
"rm rector.php",
"rm stylelint.config.js"
]
},
"scripts-descriptions": {
"ci:composer:normalize": "Checks the composer.json.",
"ci:composer:psr-verify": "Verifies PSR-4 namespace correctness.",
"ci:composer:unused": "Finds unused Composer packages required in composer.json.",
"ci:coverage:functional": "Generates the code coverage report for functional tests.",
"ci:coverage:merge": "Merges the code coverage reports for unit and functional tests.",
"ci:coverage:unit": "Generates the code coverage report for unit tests.",
"ci:json:lint": "Lints the JSON files.",
"ci:php": "Runs all static checks for the PHP files.",
"ci:php:cs-fixer": "Checks the code style with the PHP Coding Standards Fixer (PHP-CS-Fixer).",
"ci:php:lint": "Lints the PHP files for syntax errors.",
"ci:php:mess": "Runs PHP mess detection.",
"ci:php:rector": "Checks for code for changes by Rector.",
"ci:php:stan": "Checks the PHP types using PHPStan.",
"ci:static": "Runs all static code checks (syntax, style, types).",
"ci:tests:create-directories": "Creates the directories required to smoothely run the functional tests.",
"ci:tests:functional": "Runs the functional tests.",
"ci:tests:unit": "Runs the unit tests.",
"ci:typoscript:lint": "Lints the TypoScript files.",
"ci:xliff:lint": "Lints the XLIFF files.",
"ci:yaml:lint": "Lints the YAML files.",
"coverage:create-directories": "Creates the directories needed for recording and merging the code coverage reports.",
"docs:generate": "Renders the extension ReST documentation.",
"fix": "Runs all automatic code style fixes.",
"fix:composer:normalize": "Normalizes composer.json file content.",
"fix:php": "Runs all fixers for the PHP code.",
"fix:php:cs": "Fixes the code style with PHP-CS-Fixer.",
"fix:php:rector": "Updates the code with Rector.",
"phpstan:baseline": "Updates the PHPStan baseline file to match the code.",
"prepare-release": "Removes development-only files in preparation of a TER release."
}
}