37 Commits
v4.0 ... v4.2

Author SHA1 Message Date
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
b305fc89f5 Merge pull request #76 from creyD/dev
Bugfix for #74
2021-12-06 12:26:52 +01:00
26c4892179 Fixed a bug with missing " 2021-12-06 12:22:36 +01:00
86625cc217 Merged the input commit description if statement 2021-12-06 12:18:46 +01:00
fdbbee3567 Bugfix for the commit description 2021-12-06 12:15:24 +01:00
f9f10e0719 Added spacing for commit description 2021-12-06 12:11:52 +01:00
2b5c9a8de1 Merge pull request #75 from insyri/dev
Fix for #74
2021-12-06 12:02:31 +01:00
insyri
f44961013c Variable assignment fix, issued via CodeFactor 2021-12-04 18:58:13 -05:00
insyri
a9474e2eb8 Corrected if/else for INPUT_COMMIT_DESCRIPTION. 2021-12-04 18:46:31 -05:00
dbdc55734e Merge pull request #73 from creyD/dev
v4.1 Deployment
2021-11-30 18:42:58 +01:00
9accc7b9f5 Added further context for the working_directory 2021-11-30 18:03:30 +01:00
41bf601bb6 Merge pull request #71 from sksat/handle-space-in-fname
handle space in file name
2021-11-30 17:58:28 +01:00
fabe625ef2 Bumped versions 2021-11-30 17:52:15 +01:00
b072432b6b Added slight explanation to the readme 2021-11-30 17:22:11 +01:00
aecd8574c0 Merge pull request #65 from JLHasson/patch-1
Use 'main' instead of 'master' for examples
2021-11-30 17:20:12 +01:00
8efb5a885e Added working_directory parameter 2021-11-30 17:18:31 +01:00
sksat
b90e27731a fix: handle space in changed file name 2021-11-24 00:30:10 +09:00
b1dc9cd3b3 Merge pull request #67 from AndyA/master
Don't delete package-lock.json
2021-10-31 15:06:10 +01:00
61783f508e Merge pull request #69 from insyri/master
Commit Description Option
2021-10-22 17:55:05 +02:00
insyri
902197aeb2 typo fix in README 2021-10-22 09:04:15 -04:00
insyri
39357d386a added $INPUT_COMMIT_DESCRIPTION to entrypoint.sh
im unfamiliar with shell so this is what i did with some research, the inline if statement is just a personal design/formatting choice.
2021-10-22 09:03:21 -04:00
insyri
6296a68dfd added commit-description as option to action.yml 2021-10-22 08:52:00 -04:00
insyri
23135339e3 added commit-description as option in README 2021-10-22 08:49:41 -04:00
Andy Armstrong
a6d8de1638 Don't delete package-lock.json 2021-10-19 13:42:28 +01:00
Lance Hasson
762be84685 use 'main' instead of 'master' for examples 2021-09-21 09:17:32 -07:00
5 changed files with 99 additions and 69 deletions

View File

@@ -3,12 +3,12 @@ name: Bug report
about: Report a problem!
title: "[BUG]"
labels: bug
assignees: ''
assignees: ""
---
**What exactly happened?**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
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.
**Where did you encounter the problem?**
- OS: [e.g. iOS]
- 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! -->

View File

@@ -3,12 +3,11 @@ name: Feature request
about: Request a feature!
title: "[FEATURE]"
labels: enhancement
assignees: ''
assignees: ""
---
**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?**
A clear and concise description of why your feature would improve the program.

117
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)
[![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).
## Usage
@@ -18,11 +17,13 @@ A GitHub action for styling files with [prettier](https://prettier.io).
| - | :-: | :-: | - |
| dry | :x: | `false` | Runs the action in dry mode. Files wont get changed and the action fails if there are unprettified files. Recommended to use with prettier_options --check |
| prettier_version | :x: | `false` | Specific prettier version (by default use latest) |
| working_directory | :x: | `false` | Specify a directory to cd into before installing prettier and running it, use relative file path to the repository root for example `app/` |
| prettier_options | :x: | `"--write **/*.js"` | Prettier options (by default it applies to the whole repository) |
| commit_options | :x: | - | Custom git commit options |
| push_options | :x: | - | Custom git push options |
| same_commit | :x: | `false` | Update the current commit instead of creating a new one, created by [Joren Broekema](https://github.com/jorenbroekema), this command works only with the checkout action set to fetch depth '0' (see example 2) |
| 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` |
| 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` |
| 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)|
@@ -32,7 +33,10 @@ A GitHub action for styling files with [prettier](https://prettier.io).
### Example Config
#### Example 1 (run on push in master)
> 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)
```yaml
name: Continuous Integration
@@ -41,111 +45,114 @@ on:
pull_request:
push:
branches:
- master
- main
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
- name: Checkout
uses: actions/checkout@v2
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
- name: Prettify code
uses: creyD/prettier_action@v4.0
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
- name: Prettify code
uses: creyD/prettier_action@v4.2
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
```
#### Example 2 (using the only_changed or same_commit option on PR)
```yaml
name: Continuous Integration
on:
pull_request:
branches: [master]
branches: [main]
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
# This is important to fetch the changes to the previous commit
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v2
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
# This is important to fetch the changes to the previous commit
fetch-depth: 0
- name: Prettify code
uses: creyD/prettier_action@v4.0
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
only_changed: True
- name: Prettify code
uses: creyD/prettier_action@v4.2
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
only_changed: True
```
#### Example 3 (using a custom access token on PR)
```yaml
name: Continuous Integration
on:
pull_request:
branches: [master]
branches: [main]
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false
- name: Prettify code
uses: creyD/prettier_action@v4.0
with:
prettier_options: --write **/*.{js,md}
only_changed: True
# Set your custom token
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
- name: Prettify code
uses: creyD/prettier_action@v4.2
with:
prettier_options: --write **/*.{js,md}
only_changed: True
# Set your custom token
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
```
#### Example 4 (dry run)
```yaml
name: Continuous Integration
on:
pull_request:
branches: [master]
branches: [main]
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false
- name: Prettify code
uses: creyD/prettier_action@v4.0
with:
dry: True
github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
- name: Prettify code
uses: creyD/prettier_action@v4.2
with:
dry: True
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).

View File

@@ -8,6 +8,10 @@ inputs:
description: Commit message, will be ignored if used with same_commit
required: false
default: "Prettified Code!"
commit_description:
description: Extended commit message, will be ignored if used with same_commit
required: false
default: ""
same_commit:
description: Update the current commit instead of creating a new one
required: false
@@ -34,6 +38,10 @@ inputs:
description: Specific version of prettier (by default just use the latest version)
required: false
default: false
working_directory:
description: Specify a directory to cd into before installing prettier and running it
required: false
default: false
only_changed:
description: Only prettify files changed in the last commit, can't be used with file_pattern!
required: false
@@ -41,13 +49,12 @@ inputs:
prettier_plugins:
description: Install Prettier plugins, i.e. `@prettier/plugin-php @prettier/plugin-other`
required: false
default: ''
default: ""
github_token:
description: GitHub Token or PAT token used to authenticate against a repository
required: false
default: ${{ github.token }}
runs:
using: "composite"
steps:
@@ -58,6 +65,7 @@ runs:
${{ github.action_path }}/entrypoint.sh
env:
INPUT_COMMIT_MESSAGE: ${{ inputs.commit_message }}
INPUT_COMMIT_DESCRIPTION: ${{ inputs.commit_description }}
INPUT_SAME_COMMIT: ${{ inputs.same_commit }}
INPUT_COMMIT_OPTIONS: ${{ inputs.commit_options }}
INPUT_FILE_PATTERN: ${{ inputs.file_pattern }}
@@ -66,6 +74,7 @@ runs:
INPUT_PRETTIER_VERSION: ${{ inputs.prettier_version }}
INPUT_ONLY_CHANGED: ${{ inputs.only_changed }}
INPUT_PRETTIER_PLUGINS: ${{ inputs.prettier_plugins }}
INPUT_WORKING_DIRECTORY: ${{ inputs.working_directory }}
INPUT_GITHUB_TOKEN: ${{ inputs.github_token }}
branding:

View File

@@ -37,6 +37,14 @@ cd "$GITHUB_ACTION_PATH"
echo "Installing prettier..."
case $INPUT_WORKING_DIRECTORY in
false)
;;
*)
cd $INPUT_WORKING_DIRECTORY
;;
esac
case $INPUT_PRETTIER_VERSION in
false)
npm install --silent prettier
@@ -51,12 +59,12 @@ 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\-]+)'; 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."
exit 1
fi
done
npm install --silent --global $INPUT_PRETTIER_PLUGINS
npm install --silent $INPUT_PRETTIER_PLUGINS
fi
)
@@ -74,7 +82,7 @@ else
fi
if [ -f 'package-lock.json' ]; then
git reset --hard package-lock.json || rm package-lock.json
git checkout -- package-lock.json
else
echo "No package-lock.json file."
fi
@@ -93,10 +101,13 @@ if _git_changed; then
if $INPUT_ONLY_CHANGED; then
# --diff-filter=d excludes deleted files
OLDIFS="$IFS"
IFS=$'\n'
for file in $(git diff --name-only --diff-filter=d HEAD^..HEAD)
do
git add $file
git add "$file"
done
IFS="$OLDIFS"
else
# Add changes to git
git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}"
@@ -109,7 +120,11 @@ if _git_changed; then
git commit --amend --no-edit
git push origin -f
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"
if [ "$INPUT_COMMIT_DESCRIPTION" != "" ]; 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"
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"
fi
git push origin ${INPUT_PUSH_OPTIONS:-}
fi
echo "Changes pushed successfully."