Første clone og setup

1. Første clone og setup

Får du dev-environment'et op at køre på en frisk maskine — typisk 15-30 min hvis alt går glat.

Forudsætninger

  • Node.js 22+ (node --version) — vi bruger experimental Node middleware som kræver 22
  • Git (git --version)
  • PowerShell (default på Windows) eller bash (Mac/Linux)
  • Azurite — Azure Storage emulator (npm i -g azurite)
  • Azure CLI (az --version) — kun nødvendigt hvis du skal deploy'e
  • En editor — anbefalet VSCode med ESLint + Prettier extensions

Clone repo

git clone https://github.com/nissimonjacobsen/tesseracms.git
cd tesseracms
npm install

Det tager 2-5 min. Hvis npm-install fejler med peer-dep-warnings, prøv npm install --legacy-peer-deps (vi har enkelte pakker der er strict om peer-deps).

Start Azurite

Azurite er en local emulator for Azure Storage (tables + blobs). Den skal køre konstant under dev.

# I et separat PowerShell-vindue:
azurite --silent --location ./azurite-data --debug ./azurite-data/debug.log

Default porte: 10000 (blob), 10001 (queue), 10002 (table). Hvis du har konflikter, brug --blobPort/--tablePort flags.

Tip: lav en VSCode task så du kan start/stop Azurite fra Command Palette.

.env.local

Kopiér .env.example til .env.local og udfyld med Azurite-værdier:

# Storage — pegér på Azurite
AZURE_STORAGE_CONNECTION_STRING="UseDevelopmentStorage=true"
AZURE_STORAGE_ACCOUNT_NAME=devstoreaccount1

# Auth — disable Easy Auth lokalt; vi mocker bruger via dev-header
NEXT_PUBLIC_BYPASS_AUTH=1

# Graph API — kun nødvendigt hvis du vil teste user-invite-flow
GRAPH_TENANT_ID=...
GRAPH_CLIENT_ID=...
GRAPH_CLIENT_SECRET=...

# Mail — kan være tomme; mail-sends mocker i dev
ACS_CONNECTION_STRING=
ACS_SENDER_ADDRESS=DoNotReply@example.com

Hemmeligheder: Graph-credentials til prod ligger i sharefolder/graph-secrets.txt (excluded fra git). Aldrig commit secrets.

Seed dev-data

For at få noget at se på i admin'en, seed Palle's content:

npx tsx scripts/seed-tenant-from-package.ts palle_jacobsen artsite-classic --local
npx tsx scripts/seed-tesseracms-content.ts --local

Første opretter palle_jacobsen tenanten med artsite-classic defaults. Anden seeder tesseracms-docs (incl. manualerne du læser).

Start dev-server (se næste emne) og besøg http://localhost:3000/palle_jacobsen og http://localhost:3000/tesseracms.

Sanity-check

Kør typecheck for at se at alt importerer rigtigt:

npx tsc --noEmit

Første gang det er langsomt (~30 sek). Efterfølgende er hurtigere takket være incremental compilation.