Run ESLint on either all files which performs slow in most cases or selectively run ESLint on only changed files in a pull request with support for error reporting via GitHub checks.
- Easy to debug
- Fast execution
- Glob pattern extension filtering
- Excludes ignored files from change detection.
- Inline annotations of ESLint Warnings & Errors.
- Inline annotations with possible resolutions that can be applied to the Pull Request.
- Monorepo support.
...:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: npm ci # OR: yarn
- name: Run eslint on changed files
uses: tj-actions/eslint-changed-files@v14
with:
config_path: "/path/to/.eslintrc"
ignore_path: "/path/to/.eslintignore"
extra_args: "--max-warnings=0"
file_extensions: |
**/*.ts
**/*.tsx
If you feel generous and want to show some extra appreciation:
Support this project with a ⭐
INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
---|---|---|---|---|
all_files | string | false | "false" |
Run ESlint on all matching files |
config_path | string | false | ESlint configuration file. Optionally omit this input for Mono repositories. |
|
extra_args | string | false | Extra arguments passed to ESlint |
|
fail_on_error | string | false | "true" |
Exit code for reviewdog when errors are found [true,false]. |
file_extensions | string | false | "**/*.ts" "**/*.tsx" "**/*.js" "**/*.jsx" |
List of file extensions to watch for changes and run ESlint against |
filter_mode | string | false | "added" |
Filter mode for the reviewdog command [added,diff_context,file,nofilter]. |
ignore_path | string | false | ESlint ignore file | |
level | string | false | "error" |
Report level for reviewdog [info,warning,error] |
path | string | false | "." |
Relative path under GITHUB_WORKSPACE to the repository |
reporter | string | false | "github-pr-review" |
Reporter of reviewdog command [github-check,github-pr-review]. github-pr-review can use Markdown and add a link to rule page in reviewdog reports. |
skip_annotations | string | false | "false" |
Skip running reviewdog i.e don't add any annotations. |
token | string | true | "${{ github.token }}" |
GITHUB_TOKEN or a repo scoped Personal Access Token |
- Free software: MIT license
Thanks goes to these wonderful people (emoji key):
Clinton Blackburn 💻 |
Sava Vidakovic 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!