Hoppa till huvudinnehåll

🛠️ Sätt upp utvecklingsmiljön

Här beskriver vi hur du sätter upp din utvecklingsmiljö för att kunna bidra till Midas.

🐳 Docker (Rekommenderat)

Det snabbaste sättet att komma igång är med Docker. Då behöver du inte installera Node.js, npm eller några beroenden lokalt - allt körs i en isolerad miljö med exakt rätt versioner.

Krav: Endast Docker Desktop (eller Docker Engine + Docker Compose)

Starta

docker compose up -d

Detta startar i bakgrunden:

Första uppstarten tar några minuter för att installera beroenden. Följ processen med docker compose logs -f.

Starta en specifik app:

docker compose up -d storybook  # Endast Storybook
docker compose up -d docs # Endast dokumentation

Kör kommandon

docker compose exec cli npx nx test components   # Kör tester
docker compose exec cli npx nx build components # Bygg komponenter
docker compose exec cli npm install <paket> # Installera beroenden
docker compose exec cli sh # Öppna shell i containern

Stoppa

docker compose down

Felsökning

Port redan upptagen: Stoppa processen som använder porten, eller ändra portmappning i docker-compose.yml.

Ändringar syns inte: Kontrollera loggarna med docker compose logs -f <service> eller starta om med docker compose restart <service>.

Bygga om efter beroendeändringar:

docker compose down
docker compose build --no-cache
docker compose up -d

Ren omstart:

docker compose down -v
docker compose build --no-cache
docker compose up -d

💻 Lokal installation (Alternativ)

Om du föredrar att köra allt lokalt behöver du:

Node version ^22.12.0 krävs. Installera Nx globalt: npm install --global nx@latest

Nx

Midas är ett monorepo som hanteras med Nx. Det innebär att vi har flera olika projekt i samma repo, till exempel komponentbiblioteket, dokumentationswebben och andra verktyg. Du kan köra nx graph för att se en visuell representation av hur projekten är relaterade till varandra.

Starta Storybook

nx serve storybook

Komponentbibliotek

Alla komponenter ligger under /packages/components och exporteras som ett npm-paket @midas-ds/components.

Tester

nx test components

Mer info finns på sidan om tester.

Dokumentationswebb

Dokumentationswebben ligger i apps/docs och är byggd med Docusaurus.

nx serve docs    # Kör lokalt
nx build docs # Produktionsbygge

🧪 Testa lokalt end-to-end

För att testa komponentbiblioteket i en annan app kan du publicera det till ett lokalt Verdaccio-registry.

Publicera till lokalt registry

Med Docker:

docker compose up -d verdaccio
docker compose exec cli npx nx run @midas-ds/source:release:local:docker:dev

Utan Docker:

nx run @midas-ds/source:release:local:dev

Installera i ditt testprojekt

npm install @midas-ds/components@latest --registry=http://localhost:4873/

Skriptet ändrar package.json-filer med temporära versioner (t.ex. 15.2.7-local.0). Committa inte dessa ändringar! Återställ efter testning:

git checkout -- packages/*/package.json

📚 Fördjupning