26 Commits
v4.1.1 ... v4.3

Author SHA1 Message Date
31355f8eef Merge pull request #109 from creyD/dev 2023-02-19 16:38:13 +01:00
6fe86ce41d Added note for new npm 9 issue 2023-02-19 16:33:58 +01:00
a21409da47 Merge pull request #112 from tropictim/fix_path 2023-02-19 16:23:29 +01:00
Tim Talbert
191599deb6 Don't use the npm bin command to resolve the bin path 2023-02-17 17:24:11 -05:00
9436c53771 Added debug for prettier test result in the log 2023-01-23 14:16:43 +01:00
2826053f0c Added option clean_node_folder for #108 2023-01-23 12:56:23 +01:00
dc62bca389 Merge pull request #105 from creyD/dev
Minor Readme Updates
2023-01-10 22:47:52 +01:00
2e9c875edd Merge pull request #104 from AnimeAllstar/patch-1
Bumped actions/checkout to v3 in examples
2023-01-10 22:46:42 +01:00
Asad Dhorajiwala
2bf66dcd9f Bumped actions/checkout to v3 in examples
actions/checkout@v2 uses node12. GitHub gives a deprecation warning for this since node12 is out of support. actions/checkout@v3 uses node16 by default.

https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12
2023-01-10 13:45:18 -08:00
0eebd17ea5 Merge pull request #102 from JuanDa237/patch-1
Not Github Workflow Warnings
2022-12-22 09:17:34 +01:00
Juan David Gaviria Correa
360ac97374 #101 Update README.md
Use v3 as suggested here https://github.com/marketplace/actions/checkout
2022-12-21 20:09:05 -05:00
a18ea90a1c Merge pull request #99 from WesleyYue/patch-1
Add note that Prettier plugins must be wrapped in quotes
2022-12-01 13:51:13 +01:00
Wesley
30fe71e314 Update README.md 2022-11-30 15:34:05 -08:00
6602189cf8 Merge pull request #88 from creyD/dev
Minor Feature & Bugfix Update
2022-01-15 22:20:08 +01:00
0bf5ce065a Updated bug and feature templates 2022-01-15 22:15:20 +01:00
ac20e98371 Using latest version in the examples 2022-01-15 22:13:48 +01:00
607ddfdc57 Merge pull request #87 from bercos/master
Fix #78
2022-01-15 22:08:45 +01:00
Bernie Cosgriff
9dff813935 Fix #78
Fix https://github.com/creyD/prettier_action/issues/78 by updating the regex.

I tested the regex but was not sure how to test the action. The regex should cover all three valid cases outlined here https://prettier.io/docs/en/plugins.html.
2022-01-14 16:27:39 -07:00
058125065f Merge pull request #86 from seven1m/master
fix(Plugin): don't install plugins globally
2022-01-13 10:25:14 +01:00
Tim Morgan
8a16fc9688 Don't install plugins globally
This fixes a problem where @prettier/plugin-ruby was not being used.
2022-01-08 12:37:59 -06:00
661230a857 Merge pull request #85 from creyD/dev
Updated Readme
2021-12-28 18:39:49 +01:00
49aca57540 Merge pull request #84 from creyD/master
Update from master
2021-12-28 18:38:47 +01:00
eafd91e372 Merge pull request #82 from Anselmoo/master
Fixed #81
2021-12-28 18:37:50 +01:00
Anselm Hahn
13fd7a03b4 Fixed #81 2021-12-28 18:32:29 +01:00
b8440d072c Merge pull request #77 from AdamMartinCote/master
Update examples to use 4.1.1 instead of 4.1
2021-12-06 20:55:36 +01:00
Adam
89919dc836 Update example to use 4.1.1 instead of 4.1
Update the examples so first time users don't experience the bug that was fixed by 26c4892179
2021-12-06 06:52:46 -05:00
5 changed files with 91 additions and 69 deletions

View File

@@ -3,12 +3,12 @@ name: Bug report
about: Report a problem! about: Report a problem!
title: "[BUG]" title: "[BUG]"
labels: bug labels: bug
assignees: '' assignees: ""
--- ---
**What exactly happened?** **What exactly happened?**
Steps to reproduce the behavior: Steps to reproduce the behavior:
1. Go to '...' 1. Go to '...'
2. Click on '....' 2. Click on '....'
3. Scroll down to '....' 3. Scroll down to '....'
@@ -21,8 +21,8 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem. If applicable, add screenshots to help explain your problem.
**Where did you encounter the problem?** **Where did you encounter the problem?**
- OS: [e.g. iOS]
- Repo: [e.g. URL to your repository] - Repo: [e.g. URL to your repository]
- Version [e.g. 22] - Version [e.g. 22]
<!-- If you think you can help us with that, please note it here! --> <!-- If you think you can help us with that, please note it here! -->

View File

@@ -3,12 +3,11 @@ name: Feature request
about: Request a feature! about: Request a feature!
title: "[FEATURE]" title: "[FEATURE]"
labels: enhancement labels: enhancement
assignees: '' assignees: ""
--- ---
**What would you like to change about the program?** **What would you like to change about the program?**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] A clear and concise description of what the problem is.
**Why do you think this is a cool idea?** **Why do you think this is a cool idea?**
A clear and concise description of why your feature would improve the program. A clear and concise description of why your feature would improve the program.

118
README.md
View File

@@ -7,7 +7,6 @@
[![Contributors](https://img.shields.io/github/contributors-anon/creyD/prettier_action)](https://github.com/creyD/prettier_action/graphs/contributors) [![Contributors](https://img.shields.io/github/contributors-anon/creyD/prettier_action)](https://github.com/creyD/prettier_action/graphs/contributors)
[![Issues](https://img.shields.io/github/issues/creyD/prettier_action)](https://github.com/creyD/prettier_action/issues) [![Issues](https://img.shields.io/github/issues/creyD/prettier_action)](https://github.com/creyD/prettier_action/issues)
A GitHub action for styling files with [prettier](https://prettier.io). A GitHub action for styling files with [prettier](https://prettier.io).
## Usage ## Usage
@@ -26,7 +25,8 @@ A GitHub action for styling files with [prettier](https://prettier.io).
| commit_message | :x: | `"Prettified Code!"` | Custom git commit message, will be ignored if used with `same_commit` | | commit_message | :x: | `"Prettified Code!"` | Custom git commit message, will be ignored if used with `same_commit` |
| commit_description | :x: | - | Custom git extended commit message, will be ignored if used with `same_commit` | | commit_description | :x: | - | Custom git extended commit message, will be ignored if used with `same_commit` |
| file_pattern | :x: | `*` | Custom git add file pattern, can't be used with only_changed! | | file_pattern | :x: | `*` | Custom git add file pattern, can't be used with only_changed! |
| prettier_plugins | :x: | - | Install Prettier plugins, i.e. `@prettier/plugin-php @prettier/plugin-other` | | prettier_plugins | :x: | - | Install Prettier plugins, i.e. `"@prettier/plugin-php" "@prettier/plugin-other"`. Must be wrapped in quotes since @ is a reserved character in YAML. |
| clean_node_folder | :x: | `true` | Delete the node_modules folder before committing |
| 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)
@@ -35,7 +35,9 @@ A GitHub action for styling files with [prettier](https://prettier.io).
### Example Config ### Example Config
> Hint: if you still use the old naming convention or generally a different branch name, please replace the `main` in the following configurations. > Hint: if you still use the old naming convention or generally a different branch name, please replace the `main` in the following configurations.
#### Example 1 (run on push in branch main) #### Example 1 (run on push in branch main)
```yaml ```yaml
name: Continuous Integration name: Continuous Integration
@@ -44,27 +46,28 @@ on:
pull_request: pull_request:
push: push:
branches: branches:
- main - main
jobs: jobs:
prettier: prettier:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
# Make sure the actual branch is checked out when running on pull requests # Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }} ref: ${{ github.head_ref }}
- name: Prettify code - name: Prettify code
uses: creyD/prettier_action@v4.1 uses: creyD/prettier_action@v4.2
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}
``` ```
#### Example 2 (using the only_changed or same_commit option on PR) #### Example 2 (using the only_changed or same_commit option on PR)
```yaml ```yaml
name: Continuous Integration name: Continuous Integration
@@ -77,23 +80,24 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
# Make sure the actual branch is checked out when running on pull requests # Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }} ref: ${{ github.head_ref }}
# This is important to fetch the changes to the previous commit # This is important to fetch the changes to the previous commit
fetch-depth: 0 fetch-depth: 0
- name: Prettify code - name: Prettify code
uses: creyD/prettier_action@v4.1 uses: creyD/prettier_action@v4.2
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}
only_changed: True only_changed: True
``` ```
#### Example 3 (using a custom access token on PR) #### Example 3 (using a custom access token on PR)
```yaml ```yaml
name: Continuous Integration name: Continuous Integration
@@ -106,24 +110,25 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
fetch-depth: 0 fetch-depth: 0
ref: ${{ github.head_ref }} ref: ${{ github.head_ref }}
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config # Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false persist-credentials: false
- name: Prettify code - name: Prettify code
uses: creyD/prettier_action@v4.1 uses: creyD/prettier_action@v4.2
with: with:
prettier_options: --write **/*.{js,md} prettier_options: --write **/*.{js,md}
only_changed: True only_changed: True
# Set your custom token # Set your custom token
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
``` ```
#### Example 4 (dry run) #### Example 4 (dry run)
```yaml ```yaml
name: Continuous Integration name: Continuous Integration
@@ -136,19 +141,19 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
fetch-depth: 0 fetch-depth: 0
ref: ${{ github.head_ref }} ref: ${{ github.head_ref }}
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config # Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false persist-credentials: false
- name: Prettify code - name: Prettify code
uses: creyD/prettier_action@v4.1 uses: creyD/prettier_action@v4.2
with: with:
dry: True dry: True
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
``` ```
More documentation for writing a workflow can be found [here](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions). More documentation for writing a workflow can be found [here](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions).
@@ -156,3 +161,12 @@ More documentation for writing a workflow can be found [here](https://help.githu
## Issues ## Issues
Please report all bugs and feature request using the [GitHub issues function](https://github.com/creyD/prettier_action/issues/new). Thanks! Please report all bugs and feature request using the [GitHub issues function](https://github.com/creyD/prettier_action/issues/new). Thanks!
### Problem with NPM v9 (19.02.2023)
This issue was discussed in https://github.com/creyD/prettier_action/issues/113. The action until release 4.2 uses the npm bin command, which apparently doesn't work on npm v9. A fix is introduced with v4.3 of this action. If you need an older version of the action working it works until v3.3 and between v3.3 and v4.2 you could use the workaround described in https://github.com/creyD/prettier_action/issues/113 by adding the below to your workflow file:
```
- name: Install npm v8
run: npm i -g npm@8
```

View File

@@ -54,6 +54,10 @@ inputs:
description: GitHub Token or PAT token used to authenticate against a repository description: GitHub Token or PAT token used to authenticate against a repository
required: false required: false
default: ${{ github.token }} default: ${{ github.token }}
clean_node_folder:
description: Remove the node_modules folder before committing changes
required: false
default: true
runs: runs:
using: "composite" using: "composite"
@@ -61,7 +65,7 @@ runs:
- name: Prettify code! - name: Prettify code!
shell: bash shell: bash
run: >- run: >-
PATH=$(cd $GITHUB_ACTION_PATH; npm bin):$PATH PATH=$GITHUB_ACTION_PATH/node_modules/.bin:$PATH
${{ github.action_path }}/entrypoint.sh ${{ github.action_path }}/entrypoint.sh
env: env:
INPUT_COMMIT_MESSAGE: ${{ inputs.commit_message }} INPUT_COMMIT_MESSAGE: ${{ inputs.commit_message }}
@@ -76,6 +80,7 @@ runs:
INPUT_PRETTIER_PLUGINS: ${{ inputs.prettier_plugins }} INPUT_PRETTIER_PLUGINS: ${{ inputs.prettier_plugins }}
INPUT_WORKING_DIRECTORY: ${{ inputs.working_directory }} INPUT_WORKING_DIRECTORY: ${{ inputs.working_directory }}
INPUT_GITHUB_TOKEN: ${{ inputs.github_token }} INPUT_GITHUB_TOKEN: ${{ inputs.github_token }}
INPUT_CLEAN_NODE_FOLDER: ${{ inputs.clean_node_folder }}
branding: branding:
icon: "award" icon: "award"

View File

@@ -59,12 +59,12 @@ if [ -n "$INPUT_PRETTIER_PLUGINS" ]; then
for plugin in $INPUT_PRETTIER_PLUGINS; do for plugin in $INPUT_PRETTIER_PLUGINS; do
echo "Checking plugin: $plugin" echo "Checking plugin: $plugin"
# check regex against @prettier/xyz # check regex against @prettier/xyz
if ! echo "$plugin" | grep -Eq '(@prettier\/)+(plugin-[a-z\-]+)'; then 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." echo "$plugin does not seem to be a valid @prettier/plugin-x plugin. Exiting."
exit 1 exit 1
fi fi
done done
npm install --silent --global $INPUT_PRETTIER_PLUGINS npm install --silent $INPUT_PRETTIER_PLUGINS
fi fi
) )
@@ -74,11 +74,16 @@ echo "Files:"
prettier $INPUT_PRETTIER_OPTIONS \ prettier $INPUT_PRETTIER_OPTIONS \
|| { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; } || { PRETTIER_RESULT=$?; echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"; exit 1; }
# Ignore node modules and other action created files echo "Prettier result: $PRETTIER_RESULT"
if [ -d 'node_modules' ]; then
rm -r node_modules/ # Removing the node_modules folder, so it doesn't get committed if it is not added in gitignore
else if $INPUT_CLEAN_NODE_FOLDER; then
echo "No node_modules/ folder." echo "Deleting node_modules/ folder..."
if [ -d 'node_modules' ]; then
rm -r node_modules/
else
echo "No node_modules/ folder."
fi
fi fi
if [ -f 'package-lock.json' ]; then if [ -f 'package-lock.json' ]; then
@@ -120,8 +125,7 @@ if _git_changed; then
git commit --amend --no-edit git commit --amend --no-edit
git push origin -f git push origin -f
else else
if [ "$INPUT_COMMIT_DESCRIPTION" != "" ] if [ "$INPUT_COMMIT_DESCRIPTION" != "" ]; then
then
git commit -m "$INPUT_COMMIT_MESSAGE" -m "$INPUT_COMMIT_DESCRIPTION" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} || echo "No files added to commit" git commit -m "$INPUT_COMMIT_MESSAGE" -m "$INPUT_COMMIT_DESCRIPTION" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} || echo "No files added to commit"
else else
git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} || echo "No files added to commit" git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} || echo "No files added to commit"