Merge pull request #143 from creyD/dev

Fixed a bug with ONLY_CHANGED_PR and added ALLOW_OTHER_PLUGINS
This commit is contained in:
2025-05-08 13:31:00 +02:00
committed by GitHub
3 changed files with 17 additions and 9 deletions

View File

@@ -31,6 +31,7 @@ A GitHub action for styling files with [prettier](https://prettier.io).
| only_changed | :x: | `false` | Only prettify changed files, can't be used with file_pattern! This command works only with the checkout action set to fetch depth '0' (see example 2)|
| github_token | :x: | `${{ github.token }}` | The default [GITHUB_TOKEN](https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret) or a [Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)
| git_identity | :x: | `actions` | Set to `author` to use author's user as committer. This allows triggering [further workflow runs](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs)
| allow_other_plugins | :x: | `false` | Allow other plugins to be installed (prevents the @prettier-XYZ regex check) |
> Note: using the same_commit option may lead to problems if other actions are relying on the commit being the same before and after the prettier action has ran. Keep this in mind.

View File

@@ -70,6 +70,10 @@ inputs:
description: Which identity is used for git name/email when committing changes. Needs to be one of "actions" or "author".
required: false
default: "actions"
allow_other_plugins:
description: Allow other plugins to be installed. By default, we are checking if the plugins are actually prettier plugins.
required: false
default: false
runs:
using: "composite"
@@ -97,6 +101,7 @@ runs:
INPUT_GITHUB_TOKEN: ${{ inputs.github_token }}
INPUT_CLEAN_NODE_FOLDER: ${{ inputs.clean_node_folder }}
INPUT_GIT_IDENTITY: ${{ inputs.git_identity }}
INPUT_ALLOW_OTHER_PLUGINS: ${{ inputs.allow_other_plugins }}
branding:
icon: "award"

View File

@@ -49,14 +49,16 @@ npm install --silent prettier@$INPUT_PRETTIER_VERSION
# Install plugins
if [ -n "$INPUT_PRETTIER_PLUGINS" ]; then
for plugin in $INPUT_PRETTIER_PLUGINS; do
echo "Checking plugin: $plugin"
# check regex against @prettier/xyz
if ! echo "$plugin" | grep -Eq '(@prettier\/plugin-|(@[a-z\-]+\/)?prettier-plugin-){1}([a-z\-]+)'; then
echo "$plugin does not seem to be a valid @prettier/plugin-x plugin. Exiting."
exit 1
fi
done
if [ "$INPUT_ALLOW_OTHER_PLUGINS" != "true" ]; then
for plugin in $INPUT_PRETTIER_PLUGINS; do
echo "Checking plugin: $plugin"
# check regex against @prettier/xyz
if ! echo "$plugin" | grep -Eq '(@prettier\/plugin-|(@[a-z\-]+\/)?prettier-plugin-){1}([a-z\-]+)'; then
echo "$plugin does not seem to be a valid @prettier/plugin-x plugin. Exiting."
exit 1
fi
done
fi
npm install --silent $INPUT_PRETTIER_PLUGINS
fi
)
@@ -87,7 +89,7 @@ fi
# If running under only_changed, reset every modified file that wasn't also modified in the last commit
# This allows only_changed and dry to work together, and simplified the non-dry logic below
if [ $INPUT_ONLY_CHANGED = true ] || [$INPUT_ONLY_CHANGED_PR = true ] ; then
if [ $INPUT_ONLY_CHANGED = true ] || [ $INPUT_ONLY_CHANGED_PR = true ] ; then
BASE_BRANCH=origin/$GITHUB_BASE_REF
if $INPUT_ONLY_CHANGED; then
BASE_BRANCH=HEAD~1