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