För utvecklare

Installation

Checka ut repo som vanligt och gör en npm install.

npm install

Det här kommer starta igång (bootstrap) för både rot-projekt och alla paket i mappen packages.

Beroenden kommer bli lösta genom användning av symlänkar (symboliska länkar) och ändringar blir direkt synliga mellan paketen.

Nästan alla ågärder kan genomföras i batch genom att använda kommando i rot-projektet. Till exempel, npm test kommer köra testerna i alla projekt.

Det finns också ett antal kortkommando-skript för att du ska kunna köra paket-specifika npm-kommandon från roten, till exempel npm run logic build.

Läs mer i dokumentation om Lerna hur kommadon fungerar och se hela listan med kommandon

Om du vill installera ett specifikt paket som till exempel css-variables skriv:

npm  install --save-dev @fkui/css-variables

Kommandon

Installation

För att ladda ner beroenden kör:

npm install

Efter att du har laddat ner beroenden behöver du bygga dem, se kommando nedan.

Bygga

Du bygger alla paket genom:

npm run build

För att köra webbplatsen för dokumentationen behöver du först bygga den:

npm run build:docs

Köra (Run)

För att starta dokumentationen skriver du:

npm run start

För att starta vue-paketet med Vite utvecklingsserver:

npm run vue start

Testning

Du kör igång hela test-sviten mot alla paket genom att skriva:

npm test

För att köra cypress-tester behöver du först starta servern med npm start och därefter köra:

npm exec cypress -- open

För att köra enhetstest för ett paket skriv:

npm run unit

Om du vill köra test i watch mode:

npm run unit:watch

Lintning

Du kör all lintning och konfiguration i rot-paketet genom att skriva:

npm run lint

Applicera kodstandard

Se till att all kod följer kodstandard genom att skriva:

npm run prettier:write

Paketering

För att paketera allt och lägga de resulterande filerna (tarballs) i dist/-katalogen skriv:

npm pack --workspaces --pack-destination dist/

Länkning

Länka alla paket (css-variables, logic, design, vue) så at de kan länkas till andra lokala repon genom att skriva:

npm run link-all

Du länkar till andra lokala repon genom att använda npm link {package-name}, till exempel:

npm link @fkui/vue

Kodstandard

Följ riktlinjerna nedan

  • Namnge variabler enligt BEM:s standard för namn.
  • Ta fram exempel för olika komponent-tillstånd.
  • Undvid att skapa globala CSS-klasser.
  • Använd prefix för komponenter för att underlätta för de konsumenter som kör olika versioner på samma webbplats.
  • Sätt prefix .h- för hjälp-klasser.
  • Använd rem för storlekar (finns undantag, till exempel när du inte vill att skalning ska utgå från rem-storleken).

Commit

Skriv ditt commit-meddelande enligt standard conventional commits.

type [optional scope]: description

Scope är frivilligt men ska sättas till det paket som ändringen påverkar eller använd en av de generiska typerna av ändring (Type) från tabellen längre ner.

git commit -m 'feat: new component (fixes issue number)'

Om inget scope är satt kommer det sättas automatiskt baserat på vilka paket som är påverkade.

Du kan sätta scope manuellt genom:

git commit -m 'feat(fkui-vue): new component (fixes issue number)'

För att sätta multipla scope separerar du dem i en lista med komma:

git commit -m 'fix(fkui-design,fkui-vue): update styling (fixes issue number)'

Du sätter en release som brytande (BREAKING) genom att lägga till orden BREAKING CHANGE: i sidfoten följt av en beskrivning av vad som har ändrats. Du behöver också informera konsumenten hur hen ska hantera ändringen.
Texten kommer inkluderas i CHANGELOG. Du kan också använda ett utropstecken ! efter type/scope för att visa att en release är brytande.

De olika typerna av ändring (Type) som är tillåtna och vilken release som de genererar visas i tabellen nedan.

Typer av ändring och vilken release de generar

Type Description Release
Breaking A breaking which requires the users attention,
usually in the form of code changes.
Major
feat A new feature has been added. Minor
fix An existing feature has been patched. Patch
build Changes to build-system/tooling only. -
chore Other changes not fitting any other description. -
ci Changes to CI/CD configuration only. -
docs Documentation changes only -
perf Performance improvements. Patch
refactor Code change that neither fixes a bug nor adds a feature. -
revert Revert an existing commit. Patch
style Cosmetic changes to source code, e.g. reformatting. -
test Changes to tests only -

Commit-meddelande utifrån typ av ändring

Type Scope Description
feat Package name Comma-separated list of package names affected by the change.
Automatically determined if left out.
fix Package name Above.
chore deps Use when updating dependencies only.

Esc för att stänga Pil upp/ner för att navigera Enter för att välja