Action Check Typescript errors
ActionsTags
(2)A Github action that compile ts files and display the errors found in whole codebase and in files changed in PR.
Used in production at Arhia
- Automatically uses
yarn
ornpm ci
when lockfiles are present - Builds your PR, then run tsc to detect errors 🔍
- Compare ts errors in base branch and in PR branch to detect new errors (handle automatically line numbers offset) 💪
- Doesn't upload anything or rely on centralized storage 👐
action-check-typescript rely on two other actions (big thanks to the authors ! ❤️) to :
- Equip-Collaboration/diff-line-numbers : retrieve line numbers of added and removed lines in files changed
- futuratrepadeira/changed-files : list files added, modified and deleted
Add a workflow (eg .github/workflows/check_ts.yml
):
name: 'check-ts'
on:
pull_request:
jobs:
ts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get diff lines
id: diff
uses: Equip-Collaboration/diff-line-numbers@v1.0.0
with:
include: '["\\.ts$"]'
- name: Detecting files changed
id: files
uses: umani/changed-files@v4.0.0
with:
repo-token: ${{ github.token }}
pattern: '^.*\.ts$'
- name: List files changed (you can remove this step, for monitoring only)
run: |
echo 'Files modified: ${{steps.files.outputs.files_updated}}'
echo 'Files added: ${{steps.files.outputs.files_created}}'
echo 'Files removed: ${{steps.files.outputs.files_deleted}}'
- uses: Arhia/action-check-typescript@v1.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
use-check: true
check-fail-mode: added
files-changed: ${{steps.files.outputs.files_updated}}
files-added: ${{steps.files.outputs.files_created}}
files-deleted: ${{steps.files.outputs.files_deleted}}
line-numbers: ${{steps.diff.outputs.lineNumbers}}
output-behaviour: both
comment-behaviour: new
By default, this action doesn't perform a status check (aka pass/fail).
You need to set use-check
on true to run a status check.
use-check: true
How the check status is determined depends on the value of check-fail-mode
Value | Behaviour |
---|---|
added |
Check fails if some errors are added in the files added/modified in the PR branch. |
errors_in_pr |
Check fails if any errors are present in the files added/modified in the PR branch (even if already in base branche). |
errors_in_code |
Check fails if any errors are present in the whole branch. |
The output behaviour depends on the value of output-behaviour
Value | Behaviour |
---|---|
comment |
Default, comments on the PR with the errors found for this run. |
annotate |
Uses github line annotations with the errors found for this run. |
both |
Does both of the above. |
The comment behaviour depends on the value of comment-behaviour
Value | Behaviour |
---|---|
new |
Default, adds a new comment for every run of the action. |
edit |
Updates a previous run's comment, if one exists, otherwise creates a new comment. |
By default, this actions uses tsconfig file located at './tsconfig.json'
You may want to use a different file for this action, in order to change tsc behaviour.
For example, if you use watch:true
in your regular tsconfig file, you should disable watching mode.
In order to do this, you would create a specific tsconfig file (eg name tsconfig.check.ts
) and setting accordingly the
parameter ts-config-path
:
ts-config-path: './tsconfig.check.json'
Action Check Typescript errors is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.