Files
pwa-homelab-mon/Makefile
T
2026-08-29 10:29:48 +05:00

33 lines
1.2 KiB
Makefile

.PHONY: proto web server dev test
proto: ## Regenerate Go + TS code from proto
PATH="$(shell go env GOPATH)/bin:$$PATH" protoc \
--proto_path=proto \
--go_out=. --go_opt=module=pwa-homelab-mon \
--connect-go_out=. --connect-go_opt=module=pwa-homelab-mon \
--plugin=protoc-gen-es=web/node_modules/.bin/protoc-gen-es \
--es_out=web/src/gen --es_opt=target=ts \
proto/homelab/v1/homelab.proto
web: ## Build frontend into web/dist (tsc + vite)
cd web && pnpm install --frozen-lockfile && pnpm build
server: ## Build Go binary
go build -o bin/server ./server
dev: ## Dev: Go server on :8080 + Vite on :5173 (use http://localhost:5173)
go run ./server & cd web && pnpm dev
dev-srv:
go run ./server
dev-web:
cd web && pnpm dev
test: ## Smoke-test the RPC endpoints
@go build -o bin/server ./server
@./bin/server & sleep 1; \
curl -sf -X POST localhost:8080/homelab.v1.HomelabService/ListSections -H 'Content-Type: application/json' -d '{}' | grep -q '"cpu"' || exit 1; \
curl -sf -X POST localhost:8080/homelab.v1.HomelabService/RunScript -H 'Content-Type: application/json' -d '{"name":"greet","args":["pony","42"]}' | grep -q 'arg1: pony' || exit 1; \
kill %1; echo OK