🛠️ 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:
- Storybook på http://localhost:4400
- Dokumentation på http://localhost:3000
- Playground på http://localhost:4200
- Next.js på http://localhost:3001
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
- Arkitektur - Vår designfilosofi och val av beroenden
- Arbetsflöde - Commit-format och versionshantering