4 Commits
v4.4 ... v4.5

Author SHA1 Message Date
5e54c68940 Merge pull request #143 from creyD/dev
Fixed a bug with ONLY_CHANGED_PR and added ALLOW_OTHER_PLUGINS
2025-05-08 13:31:00 +02:00
ff6bab6030 fix: fixed a bug with INPUT_ONLY_CHANGED_PR 2025-05-08 13:28:44 +02:00
22eb028766 fix: updated docs for action 2025-05-08 13:26:14 +02:00
e2704493af feat: #98 added option to allow for other plugins 2025-05-08 13:20:52 +02:00
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)| | 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) | 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) | 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. > 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". description: Which identity is used for git name/email when committing changes. Needs to be one of "actions" or "author".
required: false required: false
default: "actions" 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: runs:
using: "composite" using: "composite"
@@ -97,6 +101,7 @@ runs:
INPUT_GITHUB_TOKEN: ${{ inputs.github_token }} INPUT_GITHUB_TOKEN: ${{ inputs.github_token }}
INPUT_CLEAN_NODE_FOLDER: ${{ inputs.clean_node_folder }} INPUT_CLEAN_NODE_FOLDER: ${{ inputs.clean_node_folder }}
INPUT_GIT_IDENTITY: ${{ inputs.git_identity }} INPUT_GIT_IDENTITY: ${{ inputs.git_identity }}
INPUT_ALLOW_OTHER_PLUGINS: ${{ inputs.allow_other_plugins }}
branding: branding:
icon: "award" icon: "award"

View File

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