diff --git a/composer.json b/composer.json index b93dd19b1395ed34b03fdd239bf722c96777030b..d9a47b96db054a9958e944beec37c5f4c485c2ea 100644 --- a/composer.json +++ b/composer.json @@ -85,7 +85,8 @@ "phpunit/phpunit": "^7.0" }, "config": { - "sort-packages": true, + "sort-packages": true, + "preferred-install": "dist", "platform": { "php": "7.1.30" } @@ -95,39 +96,80 @@ "dev-master": "2.x-dev" } }, - "archive": { - "exclude": [ - "vendor", - "phpunit.xml.dist", - ".git*", - ".idea" - ] - }, - "scripts": { - "post-install-cmd": "@clobber-phpunit", - "post-update-cmd": "@clobber-phpunit", - "clobber-phpunit": "[ -d vendor/phpunit/phpunit ] && vendor/bin/pcov . clobber", + "archive": { + "exclude": [ + "/*", + "!/src", + "!/doc", + "!/composer.json", + "!/package.json", + "!/COPYING*", + "!/README.md", + ".git*", + ".idea" + ] + }, + "scripts": { + "fix-cs": "vendor/bin/php-cs-fixer fix --verbose", + "phploc": "vendor/bin/phploc src tests --exclude tests/Fixtures/var", + "make-icon-lists":[ + "npm install", + "perl -ne '/\\.@\\{fa-css-prefix\\}\\-([-\\w]+):before/ and print \"$1\\n\"' node_modules/font-awesome/scss/_icons.scss | sort -u > src/Resources/icons/fa.txt", + "perl -ne '/\\.glyphicon\\-([-\\w]+)/ and print \"$1\\n\"' src/Resources/assets/sass/main.scss | sort -u > src/Resources/icons/glyphicon.txt" + ], + "update:lowest": [ + "rm -rf vendor composer.lock #", + "@composer update --no-suggest --prefer-stable --prefer-lowest" + ], + "update:latest": [ + "rm -rf vendor composer.lock #", + "@composer clear-cache #", + "@composer update --no-suggest" + ], + "test:lowest": ["@update:lowest", "@test"], + "test:latest": ["@update:latest", "@test"], + "test": [ + "@test:lint", + "@test:php-cs-fixer", + "@test:phpcpd", + "@test:phpmd", + "@test:phpstan", + "@test:composer-require-checker", + "@test:phpunit" + ], + "test:lint": [ + "vendor/bin/parallel-lint -j $(nproc) --exclude tests/Fixtures/var src tests ", + "vendor/bin/yaml-lint src" + ], + "test:php-cs-fixer": "vendor/bin/php-cs-fixer fix --dry-run --verbose", + "test:phpcpd": "vendor/bin/phpcpd --fuzzy src tests --exclude=Fixtures/var", + "test:composer-require-checker": "vendor/bin/composer-require-checker", + "test:phpmd": "vendor/bin/phpmd src,tests/Form/,tests/Utils,tests/Listener text ./phpmd-ruleset.xml --suffixes=php", + "test:phpstan": "vendor/bin/phpstan analyse --no-progress", - "fix-cs": "vendor/bin/php-cs-fixer fix --verbose", - "phploc": "vendor/bin/phploc src tests --exclude tests/Fixtures/var", - "test": [ - "@test:lint", - "@test:php-cs-fixer", - "@test:phpcpd", - "@test:phpmd", - "@test:phpstan", - "@test:composer-require-checker", - "@test:phpunit" - ], - "test:lint": [ - "vendor/bin/parallel-lint -j $(nproc) --exclude tests/Fixtures/var src tests ", - "vendor/bin/yaml-lint src" - ], - "test:php-cs-fixer": "vendor/bin/php-cs-fixer fix --dry-run --verbose", - "test:phpcpd": "vendor/bin/phpcpd --fuzzy src tests --exclude=Fixtures/var", - "test:composer-require-checker": "vendor/bin/composer-require-checker", - "test:phpmd": "vendor/bin/phpmd src,tests text ./phpmd-ruleset.xml --suffixes=php", - "test:phpstan": "vendor/bin/phpstan analyse --no-progress", - "test:phpunit": "vendor/bin/phpunit" - } + "test:clear": [ + "if [ -z \"$CI\" ]; then cd tests/Fixtures; rm -rf package-lock.json var node_modules public/assets reports/*; fi #" + ], + "test:install-assets": [ + "@test:clear", + "cd tests/Fixtures && npm install && npm run dev #" + ], + "test:phpunit": [ + "$PANTHER_CHROME_BINARY --version #", + "$PANTHER_CHROME_DRIVER_BINARY --version #", + "vendor/bin/phpunit --coverage-text --coverage-html=reports/coverage --log-junit=reports/junit.xml" + ], + "test:serve": [ + "@test:install-assets", + "@php tests/console server:run -v --docroot=tests/Fixtures/public" + ], + + "docker:serve": [ + "@test:install-assets", + "set -x; IMG=`docker build --build-arg \"PHP_VERSION=${PHP_VERSION:-7.1}\" --pull -q .` && docker run --rm -p 8080:8080 -v ${PWD}:/var/www/theme-bundle -u `id -u`:`id -g` $IMG" + ], + "docker:test": [ + "set -x; IMG=`docker build --build-arg \"PHP_VERSION=${PHP_VERSION:-7.1}\" --pull -q .` && docker run --rm -v ${PWD}:/var/www/theme-bundle -u `id -u`:`id -g` $IMG composer test" + ] + } }