diff --git a/action.yml b/action.yml index 5072dcd..720b330 100644 --- a/action.yml +++ b/action.yml @@ -74,6 +74,10 @@ inputs: description: Allow other plugins to be installed. By default, we are checking if the plugins are actually prettier plugins. required: false default: false + only_show_changed: + description: Only show files that were changed by Prettier instead of all processed files. Useful for large projects where output is overwhelming. + required: false + default: false runs: using: "composite" @@ -102,6 +106,7 @@ runs: INPUT_CLEAN_NODE_FOLDER: ${{ inputs.clean_node_folder }} INPUT_GIT_IDENTITY: ${{ inputs.git_identity }} INPUT_ALLOW_OTHER_PLUGINS: ${{ inputs.allow_other_plugins }} + INPUT_ONLY_SHOW_CHANGED: ${{ inputs.only_show_changed }} branding: icon: "award" diff --git a/entrypoint.sh b/entrypoint.sh index ec9b329..32c2aec 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -65,12 +65,27 @@ fi PRETTIER_RESULT=0 echo "Prettifying files..." -echo "Files:" -npx prettier $INPUT_PRETTIER_OPTIONS \ - || { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; } >> $GITHUB_STEP_SUMMARY +if [ "$INPUT_ONLY_SHOW_CHANGED" = "true" ]; then + # New behavior: don't show all files, only show changed files later + npx prettier $INPUT_PRETTIER_OPTIONS \ + || { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; } +else + # Original behavior: show all files processed by prettier + echo "Files:" + npx prettier $INPUT_PRETTIER_OPTIONS \ + || { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; } >> $GITHUB_STEP_SUMMARY +fi echo "Prettier result: $PRETTIER_RESULT" +# Show only the files that were changed by prettier (when flag is enabled) +if [ "$INPUT_ONLY_SHOW_CHANGED" = "true" ] && _git_changed; then + echo "" + echo "Changed files:" + git status --short | tee -a $GITHUB_STEP_SUMMARY + echo "" +fi + # Removing the node_modules folder, so it doesn't get committed if it is not added in gitignore if $INPUT_CLEAN_NODE_FOLDER; then echo "Deleting node_modules/ folder..."