From a865457bbf52506a8a994aba447a5e2e23bcc93c Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Sat, 2 May 2026 15:36:04 -0400 Subject: [PATCH] build(dev): split frontend and backend dev targets --- AGENTS.md | 8 +++++--- Makefile | 40 ++++++++++++++++++++++++++-------------- README.md | 11 ++++++++--- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d71d904..f462b22 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -41,11 +41,13 @@ Regenerate: ## 4) Backend / Assets ### Common commands -- Dev server: `make dev` -- Direct dev run: `CONFIG_PATH=./data DATA_PATH=./data REGISTRATION_ENABLED=true go run main.go serve` +- Full dev stack: `make dev` (backend on `:8585` + Vite frontend on `:5173`) +- Backend only: `make dev_backend` +- Frontend only: `make dev_frontend` +- Direct backend run: `CONFIG_PATH=./data DATA_PATH=./data REGISTRATION_ENABLED=true go run main.go serve` - No-auth dev run: `CONFIG_PATH=./data DATA_PATH=./data REGISTRATION_ENABLED=true DISABLE_AUTH=true DISABLE_AUTH_USER=evan go run main.go serve` - Tests: `make tests` -- Tailwind asset build: `make build_tailwind` +- Legacy server-rendered Tailwind asset build: `make legacy_tailwind` ### Notes - The Go server embeds `templates/*` and `assets/*`. diff --git a/Makefile b/Makefile index c55de40..26e8bd4 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,15 @@ -build_local: build_tailwind +.PHONY: build_local docker_build_local docker_build_release_dev docker_build_release_latest build_tailwind legacy_tailwind dev dev_backend dev_frontend clean tests + +DEV_ENV = GIN_MODE=release \ + CONFIG_PATH=./data \ + DATA_PATH=./data \ + SEARCH_ENABLED=true \ + REGISTRATION_ENABLED=true \ + COOKIE_SECURE=false \ + COOKIE_AUTH_KEY=1234 \ + LOG_LEVEL=debug + +build_local: legacy_tailwind go mod download rm -r ./build || true mkdir -p ./build @@ -8,17 +19,17 @@ build_local: build_tailwind env GOOS=darwin GOARCH=arm64 go build -ldflags "-X reichard.io/antholume/config.version=`git describe --tags`" -o ./build/server_darwin_arm64 env GOOS=darwin GOARCH=amd64 go build -ldflags "-X reichard.io/antholume/config.version=`git describe --tags`" -o ./build/server_darwin_amd64 -docker_build_local: build_tailwind +docker_build_local: legacy_tailwind docker build -t antholume:latest . -docker_build_release_dev: build_tailwind +docker_build_release_dev: legacy_tailwind docker buildx build \ --platform linux/amd64,linux/arm64 \ -t gitea.va.reichard.io/evan/antholume:dev \ -f Dockerfile-BuildKit \ --push . -docker_build_release_latest: build_tailwind +docker_build_release_latest: legacy_tailwind docker buildx build \ --platform linux/amd64,linux/arm64 \ -t gitea.va.reichard.io/evan/antholume:latest \ @@ -26,18 +37,19 @@ docker_build_release_latest: build_tailwind -f Dockerfile-BuildKit \ --push . -build_tailwind: +build_tailwind: legacy_tailwind + +legacy_tailwind: tailwindcss build -o ./assets/style.css --minify -dev: build_tailwind - GIN_MODE=release \ - CONFIG_PATH=./data \ - DATA_PATH=./data \ - SEARCH_ENABLED=true \ - REGISTRATION_ENABLED=true \ - COOKIE_SECURE=false \ - COOKIE_AUTH_KEY=1234 \ - LOG_LEVEL=debug go run main.go serve +dev: + $(MAKE) -j2 dev_backend dev_frontend + +dev_backend: + $(DEV_ENV) go run main.go serve + +dev_frontend: + cd frontend && bun run dev clean: rm -rf ./build diff --git a/README.md b/README.md index 0a981ce..a938af0 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,12 @@ go install github.com/pressly/goose/v3/cmd/goose@latest Run Development: ```bash -CONFIG_PATH=./data DATA_PATH=./data REGISTRATION_ENABLED=true go run main.go serve +# Backend API/server on :8585 plus Vite frontend on :5173 +make dev + +# Or run one side only +make dev_backend +make dev_frontend ``` ## Building @@ -152,8 +157,8 @@ make docker_build_local make docker_build_release_latest make docker_build_release_dev -# Generate Tailwind CSS -make build_tailwind +# Generate legacy Tailwind CSS for server-rendered templates +make legacy_tailwind # Clean Local Build make clean