Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] One command to fix them all #1409

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions Build/Scripts/runTests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ Options:
- composerUpdateMax: "composer update", with no platform.php config.
- composerUpdateMin: "composer update --prefer-lowest", with platform.php set to PHP version x.x.0.
- docsGenerate: Renders the extension ReST documentation.
- fix: Runs all automatic code style fixes.
- functional: PHP functional tests
- lintCss: CSS file linting. Set -n for dry-run.
- lintJs: JavaScript file linting. Set -n for dry-run.
Expand Down Expand Up @@ -540,6 +541,15 @@ case ${TEST_SUITE} in
${CONTAINER_BIN} run ${CONTAINER_INTERACTIVE} --rm --pull always ${USERSET} -v "${ROOT_DIR}":/project ${IMAGE_DOCS} --config=Documentation --fail-on-log
SUITE_EXIT_CODE=$?
;;
fix)
oliverklee marked this conversation as resolved.
Show resolved Hide resolved
COMMAND="composer fix"
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-command-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} /bin/sh -c "${COMMAND}"
COMMAND="echo ${HELP_TEXT_NPM_CI}; npm ci --silent || { echo ${HELP_TEXT_NPM_FAILURE}; exit 1; } && npm run fix:lint:js"
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name npm-command-${SUFFIX} ${IMAGE_NODE} /bin/sh -c "${COMMAND}"
COMMAND="echo ${HELP_TEXT_NPM_CI}; npm ci --silent || { echo ${HELP_TEXT_NPM_FAILURE}; exit 1; } && npm run fix:lint:css"
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name npm-command-${SUFFIX} ${IMAGE_NODE} /bin/sh -c "${COMMAND}"
oliverklee marked this conversation as resolved.
Show resolved Hide resolved
SUITE_EXIT_CODE=$?
;;
shellcheck)
${CONTAINER_BIN} run ${CONTAINER_INTERACTIVE} --rm --pull always ${USERSET} -v "${ROOT_DIR}":/project:ro -e SHELLCHECK_OPTS="-e SC2086" ${IMAGE_SHELLCHECK} /project/Build/Scripts/runTests.sh
SUITE_EXIT_CODE=$?
Expand Down
7 changes: 7 additions & 0 deletions Documentation/Running.rst
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,13 @@ Lints the TypoScript files.

Lints the YAML files.

.. index:: Commands; composer fix
.. code-block:: bash

composer fix

Runs all fixers (except for the ones that need JavaScript).

.. index:: Commands; composer fix:php
.. code-block:: bash

Expand Down
5 changes: 5 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,10 @@
"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:cs",
Expand Down Expand Up @@ -229,6 +233,7 @@
"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.",
Expand Down