{ "name": "ttn/tea", "type": "typo3-cms-extension", "description": "TYPO3 example extension for unit testing and best practices", "keywords": [ "typo3", "example", "extension", "tdd", "phpunit", "unit testing", "best practices" ], "license": "GPL-2.0-or-later", "authors": [ { "name": "Oliver Klee", "email": "typo3-coding@oliverklee.de", "homepage": "https://www.oliverklee.de", "role": "developer" } ], "require": { "php": "~7.2.0 || ~7.3.0 || ~7.4.0", "typo3/cms-core": "^9.5 || ^10.4", "typo3/cms-extbase": "^9.5 || ^10.4", "typo3/cms-fluid": "^9.5 || ^10.4", "typo3/cms-frontend": "^9.5 || ^10.4" }, "replace": { "typo3-ter/tea": "self.version" }, "conflict": { "doctrine/dbal": "2.13.1", "typo3/class-alias-loader": "< 1.1.0" }, "require-dev": { "codeception/codeception": "^4.1.5", "helhum/typo3-composer-setup": "^0.5.7", "nimut/testing-framework": "^5.0.3", "phpunit/phpunit": "^7.5.20", "seld/jsonlint": "^1.8", "typo3/cms-fluid-styled-content": "^9.5 || ^10.4" }, "config": { "preferred-install": { "*": "dist" }, "sort-packages": true, "vendor-dir": ".Build/vendor" }, "extra": { "branch-alias": { "dev-main": "2.0.x-dev" }, "typo3/cms": { "extension-key": "tea", "web-dir": ".Build/public" } }, "autoload": { "psr-4": { "TTN\\Tea\\": "Classes/" } }, "autoload-dev": { "psr-4": { "TTN\\Tea\\Tests\\": "Tests/" } }, "prefer-stable": true, "scripts": { "post-autoload-dump": [ "@link-extension" ], "ci": [ "@ci:static" ], "ci:composer:normalize": "php ./tools/composer-normalize --dry-run", "ci:dynamic": [ "@ci:tests" ], "ci:json:lint": "find . ! -path '*.Build/*' ! -path '*Resources/Private/node_modules/*' -name '*.json' | xargs .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 Configuration Tests", "ci:php:cs-fixer": "php ./tools/php-cs-fixer fix --config .php_cs.php -v --dry-run --using-cache false --diff --diff-format=udiff", "ci:php:lint": "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l", "ci:php:sniff": "php ./tools/phpcs Classes Configuration Tests", "ci:php:stan": "php ./tools/phpstan analyse Classes", "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/nimut/testing-framework/res/Configuration/FunctionalTests.xml {}';", "ci:tests:unit": ".Build/vendor/bin/phpunit -c .Build/vendor/nimut/testing-framework/res/Configuration/UnitTests.xml Tests/Unit", "ci:ts:lint": "php ./tools/typo3-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 php ./tools/yaml-lint", "fix:php": [ "@fix:php:cs", "@fix:php:sniff" ], "fix:php:cs": "./tools/php-cs-fixer fix --config .php_cs.php", "fix:php:sniff": ".Build/vendor/bin/phpcs 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);'" ], "prepare-release": [ ".gitignore", "rm -rf .Build", "rm -rf .github", "rm -rf .gitlab", "rm -rf Tests", "rm -rf tools", "rm .editorconfig", "rm .gitattributes", "rm .php_cs.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 phpcs.xml" ] }, "support": { "issues": "https://github.com/TYPO3-Documentation/tea/issues", "source": "https://github.com/TYPO3-Documentation/tea" } }