👨💻 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