xt0rted / stylelint-problem-matcher

A GitHub Action that registers a problem matcher for Stylelint's report format
MIT License
19 stars 4 forks source link
annotations github-actions linting problem-matcher stylelint stylelint-problem-matcher

Problem Matcher for stylelint

CI CodeQL

Adds a problem matcher that will detect errors from Stylelint and create annotations for them.

Usage

on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v2
          with:
            node-version: 16
      - uses: xt0rted/stylelint-problem-matcher@v1
      - run: npm ci
      - run: npm test

Example of inline annotations

Example of build log with highlighted errors

Options

Name Allowed values Description
action add (default), remove If the problem matcher should be registered or removed

Using with sub folders

If you're running Stylelint from a sub folder, or using the working-directory option on your build step, you'll need to switch your report formatter to stylelint-actions-formatters. This package is a copy of the formatters that Stylelint ships with (string and verbose) but they're modified so the file paths are rooted to GITHUB_WORKSPACE instead of your subfolder. Without this change the actions runner won't be able to associate the annotations with the correct file.

package.json

{
  "scripts": {
    "test": "stylelint \"scss/**/*.scss\" --custom-formatter=node_modules/stylelint-actions-formatters"
  }
}

ci.yml

on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v2
          with:
            node-version: 16
      - uses: xt0rted/stylelint-problem-matcher@v1
      - run: npm ci
        working-directory: "src/website"
      - run: npm test
        working-directory: "src/website"

License

The scripts and documentation in this project are released under the MIT License