đšâđ» KodknĂ„p med ESLint
PÄ jobbet har vi velat experimentera med nya, hjÀlpsamma, eslint-regler i ett av vÄra huvudrepositories. Det har dock kÀnts en smula övermÀktigt att introducera strama regler i en befintlig kodbas.
En lösning som vi landat i Àr att enbart köra eslint pÄ de filer vi jobbar med. I vÄrt fall de filer som ingÄr i en merge request. SÄ smÄningom, nÀr vi lÀmnat frÄn oss varje fil nÄgot prydligare Àn vi hittade den, har vi sÄledes en genomgÄngen kodbas. En merge request i taget.
I GitLab har vi lagt till det hÀr jobbet i vÄr CI/CD-pipeline:
code-quality:
image: node:16-alpine
stage: test
before_script:
- apk add git
script:
- git fetch
- DIFFED_FILES_TO_LINT=$(git diff origin/$CI_DEFAULT_BRANCH... --name-only -- "*.ts" "*.tsx" "*.js" "*.jsx")
- npm ci
- npx eslint $DIFFED_FILES_TO_LINT
only:
- merge_requests