mirror of
https://github.com/creyD/prettier_action.git
synced 2026-04-12 19:30:30 +02:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c18391fdc | |||
| 6b98d6d1d4 | |||
| afbe64738b | |||
|
|
6a7b2d092f | ||
| af8ff244c5 | |||
| acebb0f4d5 | |||
| b185d84b38 | |||
| 5e54c68940 | |||
| ff6bab6030 | |||
| 22eb028766 | |||
| e2704493af |
@@ -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.
|
||||||
|
|
||||||
@@ -59,7 +60,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Prettify code
|
- name: Prettify code
|
||||||
uses: creyD/prettier_action@v4.4
|
uses: creyD/prettier_action@v4.6
|
||||||
with:
|
with:
|
||||||
# This part is also where you can pass other options, for example:
|
# This part is also where you can pass other options, for example:
|
||||||
prettier_options: --write **/*.{js,md}
|
prettier_options: --write **/*.{js,md}
|
||||||
@@ -88,7 +89,7 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Prettify code
|
- name: Prettify code
|
||||||
uses: creyD/prettier_action@v4.4
|
uses: creyD/prettier_action@v4.6
|
||||||
with:
|
with:
|
||||||
# This part is also where you can pass other options, for example:
|
# This part is also where you can pass other options, for example:
|
||||||
prettier_options: --write **/*.{js,md}
|
prettier_options: --write **/*.{js,md}
|
||||||
@@ -118,7 +119,7 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Prettify code
|
- name: Prettify code
|
||||||
uses: creyD/prettier_action@v4.4
|
uses: creyD/prettier_action@v4.6
|
||||||
with:
|
with:
|
||||||
prettier_options: --write **/*.{js,md}
|
prettier_options: --write **/*.{js,md}
|
||||||
only_changed: True
|
only_changed: True
|
||||||
@@ -149,7 +150,7 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Prettify code
|
- name: Prettify code
|
||||||
uses: creyD/prettier_action@v4.4
|
uses: creyD/prettier_action@v4.6
|
||||||
with:
|
with:
|
||||||
dry: True
|
dry: True
|
||||||
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
|
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ EOF
|
|||||||
# If GIT_IDENTITY="actor"
|
# If GIT_IDENTITY="actor"
|
||||||
if [ "$INPUT_GIT_IDENTITY" = "author" ]; then
|
if [ "$INPUT_GIT_IDENTITY" = "author" ]; then
|
||||||
git config --global user.name "$GITHUB_ACTOR"
|
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
|
elif [ "$INPUT_GIT_IDENTITY" = "actions" ]; then
|
||||||
git config --global user.email "actions@github.com"
|
git config --global user.email "actions@github.com"
|
||||||
git config --global user.name "GitHub Action"
|
git config --global user.name "GitHub Action"
|
||||||
@@ -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
|
||||||
)
|
)
|
||||||
@@ -64,7 +66,7 @@ fi
|
|||||||
PRETTIER_RESULT=0
|
PRETTIER_RESULT=0
|
||||||
echo "Prettifying files..."
|
echo "Prettifying files..."
|
||||||
echo "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
|
|| { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; } >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
echo "Prettier result: $PRETTIER_RESULT"
|
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
|
# 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
|
||||||
|
|||||||
Reference in New Issue
Block a user