Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
award

GitHub Action

Prettier Action

v4.0 Pre-release

Prettier Action

award

Prettier Action

Automatically runs prettier on all your changes

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Prettier Action

uses: creyD/prettier_action@v4.0

Learn more about this action in creyD/prettier_action

Choose a version

GitHub Prettier Action

CodeFactor code style: prettier License MIT Latest Release Contributors Issues

A GitHub action for styling files with prettier.

Usage

Parameters

Parameter Required Default Description
dry 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 false Specific prettier version (by default use latest)
prettier_options "--write **/*.js" Prettier options (by default it applies to the whole repository)
commit_options - Custom git commit options
push_options - Custom git push options
same_commit false Update the current commit instead of creating a new one, created by Joren Broekema, this command works only with the checkout action set to fetch depth '0' (see example 2)
commit_message "Prettified Code!" Custom git commit message, will be ignored if used with same_commit
file_pattern * Custom git add file pattern, can't be used with only_changed!
prettier_plugins - Install Prettier plugins, i.e. @prettier/plugin-php @prettier/plugin-other
only_changed 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 ${{ github.token }} The default GITHUB_TOKEN or a Personal Access Token

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.

Example Config

Example 1 (run on push in master)

name: Continuous Integration

# This action works with pull requests and pushes
on:
  pull_request:
  push:
    branches:
    - master

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: 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}

Example 2 (using the only_changed or same_commit option on PR)

name: Continuous Integration

on:
  pull_request:
    branches: [master]

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: 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

Example 3 (using a custom access token on PR)

name: Continuous Integration

on:
  pull_request:
    branches: [master]

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: 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 }}

Example 4 (dry run)

name: Continuous Integration

on:
  pull_request:
    branches: [master]

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: Prettify code
      uses: creyD/prettier_action@v4.0
      with:
        dry: True
        github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}

More documentation for writing a workflow can be found here.

Issues

Please report all bugs and feature request using the GitHub issues function. Thanks!