TODO: PageHeader

Hoofdmenu

Linting en code formatting

In ons design system gebruiken we tools voor linting en code formatting om consistente en leesbare code te garanderen. Dit helpt bij samenwerken om:

De tools vullen elkaar aan:

Gebruikte tooling

Hier sommen we op welke tooling we gebruiken en hoe het wordt gebruikt.

ESLint

ESLint wordt gebruikt voor het linten van JavaScript/TypeScript code. Het detecteert fouten en ongewenste patronen. Het kan framework-specifieke (bijvoorbeeld React) regels toepassen.

Stylelint

Stylelint wordt gebruikt voor het linten van CSS en Sass (SCSS).

Prettier

Prettier wordt gebruikt voor het formatteren van code. Het wordt niet alleen toegepast op JavaScript en TypeScript, maar ook YAML en Markdown.

markdownlint

markdownlint wordt gebruikt om Markdown-bestanden te controleren, bijvoorbeeld op headings, witruimte of het ontbreken van alt-teksten op plaatjes.

npm-package-json-lint

Met npm-package-json-lint wordt de package.json gecontroleerd, bijvoorbeeld op het bestaan van een author. Voor NL Design System wordt onder andere bijgehouden dat de licentie op EUPL staat.

Automatisering

Automatisering met husky en lint-staged {#lint-staged}

We gebruiken husky in combinatie met lint‑staged om deze checks uit te voeren vóórdat code wordt gecommit.

Het voordeel hiervan is dat je niet hoeft te herinneren om de check uit te voeren, je snelle feedback krijgt (in plaats van pas in CI), en dat er geen checks op ongewijzigde code worden gedaan.

Daar waar mogelijk, wordt gebruik gemaakt van functionaliteit om automatisch problemen op te lossen.

:::info[Goed om te weten]

Om veiligheidsredenen worden dependencies in de NL Design System repositories geïnstalleerd met --ignore-scripts, waardoor Husky niet compleet wordt geïnstalleerd. Dit is snel opgelost: voer éénmalig pnpm prepare uit.

:::

IDE-instellingen

Voor een optimale developerervaring:

Voorbeeld en referentie

Een volledig voorbeeld van de configuratie en best practices wordt onderhouden in de example repository.

Deze repo dient als referentie‑implementatie, startpunt voor nieuwe projecten en bron voor updates aan lint‑ en formatregels. Gebruik deze altijd als leidraad bij wijzigingen of nieuwe setups.