52 lines
1.2 KiB
Markdown
52 lines
1.2 KiB
Markdown
|
|
# Toolchain
|
||
|
|
|
||
|
|
Pinned versions and setup steps for this workspace. If you're on a new machine, install in this order.
|
||
|
|
|
||
|
|
## System
|
||
|
|
|
||
|
|
- WSL2 Ubuntu 24.04 (Noble) on Windows 11
|
||
|
|
- Docker Desktop with WSL2 integration enabled
|
||
|
|
|
||
|
|
## Runtime
|
||
|
|
|
||
|
|
- Node.js 24.x (via nvm)
|
||
|
|
- pnpm 10.x (`npm install -g pnpm@latest`)
|
||
|
|
|
||
|
|
## Workspace
|
||
|
|
|
||
|
|
- Nx 22.7.x
|
||
|
|
- Angular 21.2.x
|
||
|
|
- NestJS 11.1.x
|
||
|
|
- TypeScript 5.9.x
|
||
|
|
|
||
|
|
## Test runners
|
||
|
|
|
||
|
|
- API: Jest 30
|
||
|
|
- Overlay: Vitest 4 via `vitest-angular` (Angular's official Vitest integration)
|
||
|
|
- Libraries: Vitest 4
|
||
|
|
- E2E: Playwright 1.59 (chromium only)
|
||
|
|
|
||
|
|
## Local services
|
||
|
|
|
||
|
|
Run via `docker compose up -d postgres redis`:
|
||
|
|
|
||
|
|
- Postgres 16-alpine (port 5432, db `fog_expedition`, user `fog`, password `fog_dev`)
|
||
|
|
- Redis 7-alpine (port 6379)
|
||
|
|
- Caddy 2 (port 443, HTTPS reverse proxy to host:3000)
|
||
|
|
|
||
|
|
## Bootstrap on a new machine
|
||
|
|
|
||
|
|
```bash
|
||
|
|
nvm install 24
|
||
|
|
nvm use 24
|
||
|
|
npm install -g pnpm@latest
|
||
|
|
git clone http://pihole.home:3000/maurycy/fog.git ~/code/fog-expedition
|
||
|
|
cd ~/code/fog-expedition
|
||
|
|
pnpm install
|
||
|
|
pnpm approve-builds # select all
|
||
|
|
pnpm install
|
||
|
|
pnpm exec playwright install --with-deps chromium
|
||
|
|
docker compose up -d postgres redis
|
||
|
|
pnpm exec nx run-many --target=test --all --watch=false
|
||
|
|
```
|