For å holde kvaliteten høy mens vi utvikler Fleetwood har vi satt opp en del regler for hvordan utvikling skal gjøres.
Kjøreregler
For at vi skal ha høyest mulig kvalitet på både kode og guide, er det viktig at følgende kjøreregler følges.
- Vi følger en variant av Git Flow i prosjektet. Det betyr at branchene
master
ogdevelop
er låst for commits, og vi bruker feature branches som så merges inn. - Alle feature branches skal ha et beskrivende navn. Navnet kan enten være:
- Saksnummeret i JIRA:
feature/LKIP-135
- Et beskrivende navn for hva som ligger i branchen:
feature/stenciljs-version-upgrade
- Saksnummeret i JIRA:
- Når en feature branch er merget inn, skal branchen slettes. Dette er for å unngå stale branches.
- Kode skal kun merges inn dersom følgende kriterier møtes:
- Alle enhetstester passerer (kjør
npm run test
før du sjekker inn) - Alle tilgjengelighetstester passerer (kjør
npm run test
før du sjekker inn) - Ingen feil er funnet i linting (kjør
npm run lint
før du sjekker inn)
- Alle enhetstester passerer (kjør
- Lag alltid et eksempel i guide/_includes/examples og en passende underside i guiden som demonstrerer koden du har laget.
- Prototyper skal kun endres dersom prototypen i XD har endret seg. Trenger du å teste koden din, lag et eksempel i guide/_includes/examples.
- Bruk alltid farger, fonter og verdier som ligger i variabler i stedet for å bruke hardkodede verdier.
Kodeverktøy
Prosjektet inneholder konfigurasjoner for EditorConfig, ESLint, StyleLint Jest, Puppeteer og pa11y. Det er planlagt at vi skal bytte fra Puppeteer til Cypress på sikt. Det er spesielt viktig å installere plugins for EditorConfig, StyleLint og ESLint i editoren du bruker slik at du lettere ser hvor feil oppstår.