11 Commits
v4.4 ... master

Author SHA1 Message Date
8c18391fdc Merge pull request #146 from creyD/dev
Minor Update
2025-06-09 23:54:26 +02:00
6b98d6d1d4 Merge branch 'master' into dev 2025-06-09 23:50:38 +02:00
afbe64738b Update README.md 2025-06-09 23:45:59 +02:00
Derek Ditch
6a7b2d092f Use npx to execute prettier (#145)
* fix: bumped version in readme

* Use npx to execute prettier

Fixes: https://github.com/creyD/prettier_action/issues/113

---------

Co-authored-by: Conrad <grosserconrad@gmail.com>
2025-06-09 23:43:18 +02:00
af8ff244c5 fix: #144 Moved to ID based noreply pattern 2025-05-09 14:39:25 +02:00
acebb0f4d5 fix: bumped version in readme 2025-05-08 13:33:09 +02:00
b185d84b38 fix: bumped version in readme 2025-05-08 13:32:56 +02:00
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 23 additions and 15 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.
@@ -59,7 +60,7 @@ jobs:
uses: actions/checkout@v4
- name: Prettify code
uses: creyD/prettier_action@v4.4
uses: creyD/prettier_action@v4.6
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
@@ -88,7 +89,7 @@ jobs:
fetch-depth: 0
- name: Prettify code
uses: creyD/prettier_action@v4.4
uses: creyD/prettier_action@v4.6
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
@@ -118,7 +119,7 @@ jobs:
persist-credentials: false
- name: Prettify code
uses: creyD/prettier_action@v4.4
uses: creyD/prettier_action@v4.6
with:
prettier_options: --write **/*.{js,md}
only_changed: True
@@ -149,7 +150,7 @@ jobs:
persist-credentials: false
- name: Prettify code
uses: creyD/prettier_action@v4.4
uses: creyD/prettier_action@v4.6
with:
dry: True
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}

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

@@ -20,7 +20,7 @@ EOF
# If GIT_IDENTITY="actor"
if [ "$INPUT_GIT_IDENTITY" = "author" ]; then
git config --global user.name "$GITHUB_ACTOR"
git config --global user.email "$GITHUB_ACTOR@users.noreply.github.com"
git config --global user.email "$GITHUB_ACTOR_ID+$GITHUB_ACTOR@users.noreply.github.com"
elif [ "$INPUT_GIT_IDENTITY" = "actions" ]; then
git config --global user.email "actions@github.com"
git config --global user.name "GitHub Action"
@@ -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
)
@@ -64,7 +66,7 @@ fi
PRETTIER_RESULT=0
echo "Prettifying files..."
echo "Files:"
prettier $INPUT_PRETTIER_OPTIONS \
npx prettier $INPUT_PRETTIER_OPTIONS \
|| { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; } >> $GITHUB_STEP_SUMMARY
echo "Prettier result: $PRETTIER_RESULT"
@@ -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