DMRHub can be built using the Makefile or manually.
- Go (see
go.modfor the minimum version) - Node.js (for the frontend)
- Make sure
$GOPATH/binis in your$PATH
make buildThe binary is output to bin/DMRHub.
-
Generate Go code (MessagePack serializers, embedded frontend):
go generate ./...
-
Build the binary:
CGO_ENABLED=0 go build -o bin/DMRHub
# Run all tests
make test
# Run tests with coverage
make coverage
# Lint
make lintTests run with CGO_ENABLED=0 and parallelism limited to 2.
cd internal/http/frontend
npm ci
npm run dev # Vite dev server
npm run test:unit # Vitest unit tests
npm run lint # ESLint