mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-11-10 00:16:13 +01:00
tea/composer.json
Alexander Nitsche fc5b861bcd
[TASK] Update docs (#404)
See c2bb63bead for further details.

The README.md should mostly only cover the abstract and links.

The composer commands are the core value of this extension. List
all commands in the documentation and copy the descriptions from
the `composer.json`. This lets the global search at docs.typo3.org
find these commands.

Remove superfluous Linters page, which is integrated now in the
Running page.

Use sentence case in page titles in order to conform to the
TYPO3 documentation standards.

The ambiguous :ts: text role has been removed to
not confuse the writer with typescript and typoscript.

Add the common extension destinations to `composer.json`.
(Packagist displays them in a prominent place.)
2022-04-12 19:00:11 +02:00

211 lines
7.5 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": "developer"
}
],
"homepage": "https://extensions.typo3.org/extension/tea/",
"support": {
"issues": "https://github.com/TYPO3-Documentation/tea/issues",
"source": "https://github.com/TYPO3-Documentation/tea",
"docs": "https://docs.typo3.org/p/ttn/tea/main/en-us/"
},
"require": {
"php": "~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0 || ~8.1",
"typo3/cms-core": "^10.4 || ^11.5.2",
"typo3/cms-extbase": "^10.4 || ^11.5.2",
"typo3/cms-fluid": "^10.4 || ^11.5.2",
"typo3/cms-frontend": "^10.4 || ^11.5.2"
},
"require-dev": {
"codeception/codeception": "^4.1.30",
"doctrine/dbal": "^2.13.8",
"ergebnis/composer-normalize": "^2.19.0",
"friendsofphp/php-cs-fixer": "^3.4.0",
"helmich/typo3-typoscript-lint": "^2.5.2",
"jangregor/phpstan-prophecy": "^1.0.0",
"phpstan/extension-installer": "^1.1.0",
"phpstan/phpstan": "^1.4.9",
"phpstan/phpstan-phpunit": "^1.0.0",
"phpunit/phpunit": "^8.5.24",
"saschaegerer/phpstan-typo3": "^1.1.2",
"seld/jsonlint": "^1.8.3",
"squizlabs/php_codesniffer": "^3.6.2",
"symfony/yaml": "^4.4.29 || ^5.3.6 || ^6.0",
"typo3/cms-fluid-styled-content": "^10.4 || ^11.5.2",
"typo3/coding-standards": "^0.5.0",
"typo3/testing-framework": "^6.15.3"
},
"replace": {
"typo3-ter/tea": "self.version"
},
"conflict": {
"doctrine/dbal": "2.13.1",
"friendsofphp/php-cs-fixer": "3.5.0",
"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,
"typo3/class-alias-loader": true,
"typo3/cms-composer-installers": true
},
"preferred-install": {
"*": "dist"
},
"sort-packages": true,
"vendor-dir": ".Build/vendor"
},
"extra": {
"branch-alias": {
"dev-main": "2.0.x-dev"
},
"typo3/cms": {
"app-dir": ".Build",
"extension-key": "tea",
"web-dir": ".Build/public"
}
},
"scripts": {
"post-autoload-dump": [
"@link-extension"
],
"ci": [
"@ci:static"
],
"ci:composer:normalize": "@composer normalize --dry-run",
"ci:coverage": [
"@ci:coverage:unit",
"@ci:coverage:functional"
],
"ci:coverage:functional": ".Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml --whitelist Classes --coverage-php=coverage/functional.cov Tests/Functional",
"ci:coverage:merge": "@php tools/phpcov merge --clover=./coverage/clover.xml coverage/",
"ci:coverage:unit": ".Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml --whitelist Classes --coverage-php=coverage/unit.cov Tests/Unit",
"ci:dynamic": [
"@ci:tests"
],
"ci:json:lint": "find . ! -path '*.Build/*' ! -path '*Resources/Private/node_modules/*' -name '*.json' | xargs -r php .Build/vendor/bin/jsonlint -q",
"ci:php": [
"@ci:php:copypaste",
"@ci:php:cs-fixer",
"@ci:php:lint",
"@ci:php:sniff",
"@ci:php:stan"
],
"ci:php:copypaste": "@php ./tools/phpcpd Classes",
"ci:php:cs-fixer": "php-cs-fixer fix --config .php-cs-fixer.php -v --dry-run --using-cache no --diff",
"ci:php:lint": "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -r -0 -n 1 -P 4 php -l",
"ci:php:sniff": "phpcs Classes Configuration Tests",
"ci:php:stan": "phpstan --no-progress",
"ci:static": [
"@ci:composer:normalize",
"@ci:json:lint",
"@ci:php:copypaste",
"@ci:php:cs-fixer",
"@ci:php:lint",
"@ci:php:sniff",
"@ci:php:stan",
"@ci:ts:lint",
"@ci:yaml:lint"
],
"ci:tests": [
"@ci:tests:unit",
"@ci:tests:functional"
],
"ci:tests:functional": "find 'Tests/Functional' -wholename '*Test.php' | parallel --gnu 'echo; echo \"Running functional test suite {}\"; .Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml {}';",
"ci:tests:unit": ".Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml Tests/Unit",
"ci:ts:lint": "typoscript-lint -c Configuration/TsLint.yml --ansi -n --fail-on-warnings -vvv Configuration/TypoScript",
"ci:yaml:lint": "find . ! -path '*.Build/*' ! -path '*Resources/Private/node_modules/*' -name '*.yml' | xargs -r php ./.Build/vendor/bin/yaml-lint",
"docs:generate": [
"docker run --rm t3docs/render-documentation show-shell-commands > tempfile.sh; echo 'dockrun_t3rd makehtml' >> tempfile.sh; bash tempfile.sh; rm tempfile.sh"
],
"fix:php": [
"@fix:php:cs",
"@fix:php:sniff"
],
"fix:php:cs": "php-cs-fixer fix --config .php-cs-fixer.php",
"fix:php:sniff": "phpcbf Classes Configuration Tests",
"link-extension": [
"@php -r 'is_dir($extFolder=__DIR__.\"/.Build/public/typo3conf/ext/\") || mkdir($extFolder, 0777, true);'",
"@php -r 'file_exists($extFolder=__DIR__.\"/.Build/public/typo3conf/ext/tea\") || symlink(__DIR__,$extFolder);'"
],
"phpstan:baseline": ".Build/vendor/bin/phpstan --generate-baseline=phpstan-baseline.neon",
"prepare-release": [
"rm .gitignore",
"rm -rf .Build",
"rm -rf .ddev",
"rm -rf .github",
"rm -rf .gitlab",
"rm -rf Tests",
"rm -rf tools",
"rm .editorconfig",
"rm .gitattributes",
"rm .php-cs-fixer.php",
"rm Resources/Private/.eslintignore",
"rm Resources/Private/.eslintrc.json",
"rm Resources/Private/.prettierrc.js",
"rm Resources/Private/package.json",
"rm Resources/Private/stylelint.config.js",
"rm codeception.yml",
"rm phive.xml",
"rm phpstan-baseline.neon",
"rm phpstan.neon",
"rm phpcs.xml"
]
},
"scripts-descriptions": {
"ci": "Runs all dynamic and static code checks.",
"ci:composer:normalize": "Checks the 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:dynamic": "Runs all PHPUnit tests (unit and functional).",
"ci:json:lint": "Lints the JSON files.",
"ci:php": "Runs all static checks for the PHP files.",
"ci:php:copypaste": "Checks for copy'n'pasted PHP code.",
"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:sniff": "Checks the code style with PHP_CodeSniffer (PHPCS).",
"ci:php:stan": "Checks the PHP types using PHPStan.",
"ci:static": "Runs all static code checks (syntax, style, types).",
"ci:tests": "Runs all PHPUnit tests (unit and functional).",
"ci:tests:functional": "Runs the functional tests.",
"ci:tests:unit": "Runs the unit tests.",
"ci:ts:lint": "Lints the TypoScript files.",
"ci:yaml:lint": "Lints the YAML files.",
"docs:generate": "Renders the extension ReST documentation.",
"fix:php": "Runs all fixers for the PHP code.",
"fix:php:cs": "Fixes the code style with PHP-CS-Fixer.",
"fix:php:sniff": "Fixes the code style with PHP_CodeSniffer.",
"phpstan:baseline": "Updates the PHPStan baseline file to match the code.",
"prepare-release": "Removes development-only files in preparation of a TER release."
}
}