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.