Skip to content

GitHub action that yells if JS/TS formatting and linting is not up to snuff!

Notifications You must be signed in to change notification settings

reload/action-jsts-quality

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 

Repository files navigation

action-jsts-quality

GitHub action that yells if JS/TS formatting and linting is not up to snuff!

Requirements

npm >= 7

Install D(A)FT:

npm install @reloaddk/daft --save-dev

or the minimally required packages:

npm install eslint prettier --save-dev

The action will make use of your installed version of the required tools. So make sure to have them specified in your package.json and available from node_modules/.bin

Usage

Root configuration

name: JSTS Quality

on: pull_request

jobs:
  quality:
    name: JSTS Quality
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - name: Setup Node
      uses: actions/setup-node@v2
      with:
        node-version: '16'
        cache: 'npm'

    - name: Install dependencies
      run: npm ci

    - name: JSTS Quality
      uses: reload/[email protected]
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}

Subdirectory (theme) configuration

name: JSTS Quality

on: pull_request

jobs:
  quality:
    name: JSTS Quality
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - name: Setup Node
      uses: actions/setup-node@v2
      with:
        node-version: '16'
        cache: 'npm'
        cache-dependency-path: ./web/themes/custom/custom-theme/package-lock.json

    - name: Install dependencies
      run: npm ci
      working-directory: ./web/themes/custom/custom-theme

    - name: JSTS Quality
      uses: reload/[email protected]
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        working_directory: ./web/themes/custom/custom-theme/js

Change targeted files

jobs:
  quality:
    name: JSTS Quality
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - name: Setup Node
      uses: actions/setup-node@v2
      with:
        node-version: '16'
        cache: 'npm'

    - name: Install dependencies
      run: npm ci

    - name: JSTS Quality
      uses: reload/[email protected]
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        file_extensions: '.ts,' # Default: '.js,.jsx,.ts,.tsx,.mjs'

Override eslint and prettier targets

jobs:
  quality:
    name: JSTS Quality
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - name: Setup Node
      uses: actions/setup-node@v2
      with:
        node-version: '16'
        cache: 'npm'

    - name: Install dependencies
      run: npm ci

    - name: JSTS Quality
      uses: reload/[email protected]
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        # Both of the specified targets have their origin at whatever
        # 'working_directory' is set to.
        working_directory: './src' # Default: ''
        prettier_target: './code/**/*' # Default: './**/*'
        eslint_target: './code' # Default: '.'