Zum Hauptinhalt springen

ESLint konfigurieren

Neuer Branch erstellen

git checkout -b feat/eslint

ESLint Dateien generieren

Mit dem Befehl ng lint lintet Angular das Projekt. Beim ersten Ausführen werden direkt alle Konfigurationsdateien erstellt.

  • ng lint ausführen
  • alles mit "yes" akzeptieren

ESLint Script definieren

Es wird automatisch ein Task lint im package.json erstellt. Nun kann via npm run lint das Projekt gelintet werden.

Nun wäre es aber noch hilfreich, wenn bei einem Pull-Request automatisch gelintet wird und sogleich auf den jeweiligen Zeilen eine Anmerkung gemacht.

Dafür muss das Linting das Resultat in eine Datei schreiben.

  • Im package.json folgendes Script ergänzen

    "lint:ci": "ng lint --output-file eslint_report.json --format json"

Der Task npm run lint schreibt nun das Resultat in eine Ausgabedatei eslint_report.json

Der Test Job in der Github Action erweitern

  • in der Github Action ./github/workflows/deploy.yml vor dem testen linten
.github/workflows/deploy.yml
# ...
test:
name: Test
name: Lint & Test
runs-on: ubuntu-latest
steps:
- name: Install headless chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: 120
install-chromedriver: true
- uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: 22 # lts
cache: "npm"
cache-dependency-path: ihr-projekt/package-lock.json
- name: Install Dependencies # neu eigener step
working-directory: ihr-projekt
run: npm ci
- name: Lint
working-directory: ihr-projekt
run: npm run lint:ci
- name: Annotate Code
uses: DerLev/eslint-annotations@v2
with:
eslint-report: ihr-projekt/eslint_report.json
continue-on-error: true
- name: Test
working-directory: ihr-projekt
run: npm ci && npm run test:ci # Installiert wurde schon
run: npm run test:ci
GitHub Action eslint-annotations

Die verwendete GitHub Action _DerLev/eslint-annotations@v2_ liest die eslint Ausgabedatei und macht direkt im Pull-Request Bemerkungen an die Linien! 🤯