build(dev): split frontend and backend dev targets
This commit is contained in:
@@ -41,11 +41,13 @@ Regenerate:
|
|||||||
## 4) Backend / Assets
|
## 4) Backend / Assets
|
||||||
|
|
||||||
### Common commands
|
### Common commands
|
||||||
- Dev server: `make dev`
|
- Full dev stack: `make dev` (backend on `:8585` + Vite frontend on `:5173`)
|
||||||
- Direct dev run: `CONFIG_PATH=./data DATA_PATH=./data REGISTRATION_ENABLED=true go run main.go serve`
|
- 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`
|
- 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`
|
- Tests: `make tests`
|
||||||
- Tailwind asset build: `make build_tailwind`
|
- Legacy server-rendered Tailwind asset build: `make legacy_tailwind`
|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
- The Go server embeds `templates/*` and `assets/*`.
|
- The Go server embeds `templates/*` and `assets/*`.
|
||||||
|
|||||||
40
Makefile
40
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
|
go mod download
|
||||||
rm -r ./build || true
|
rm -r ./build || true
|
||||||
mkdir -p ./build
|
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=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
|
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 -t antholume:latest .
|
||||||
|
|
||||||
docker_build_release_dev: build_tailwind
|
docker_build_release_dev: legacy_tailwind
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--platform linux/amd64,linux/arm64 \
|
--platform linux/amd64,linux/arm64 \
|
||||||
-t gitea.va.reichard.io/evan/antholume:dev \
|
-t gitea.va.reichard.io/evan/antholume:dev \
|
||||||
-f Dockerfile-BuildKit \
|
-f Dockerfile-BuildKit \
|
||||||
--push .
|
--push .
|
||||||
|
|
||||||
docker_build_release_latest: build_tailwind
|
docker_build_release_latest: legacy_tailwind
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--platform linux/amd64,linux/arm64 \
|
--platform linux/amd64,linux/arm64 \
|
||||||
-t gitea.va.reichard.io/evan/antholume:latest \
|
-t gitea.va.reichard.io/evan/antholume:latest \
|
||||||
@@ -26,18 +37,19 @@ docker_build_release_latest: build_tailwind
|
|||||||
-f Dockerfile-BuildKit \
|
-f Dockerfile-BuildKit \
|
||||||
--push .
|
--push .
|
||||||
|
|
||||||
build_tailwind:
|
build_tailwind: legacy_tailwind
|
||||||
|
|
||||||
|
legacy_tailwind:
|
||||||
tailwindcss build -o ./assets/style.css --minify
|
tailwindcss build -o ./assets/style.css --minify
|
||||||
|
|
||||||
dev: build_tailwind
|
dev:
|
||||||
GIN_MODE=release \
|
$(MAKE) -j2 dev_backend dev_frontend
|
||||||
CONFIG_PATH=./data \
|
|
||||||
DATA_PATH=./data \
|
dev_backend:
|
||||||
SEARCH_ENABLED=true \
|
$(DEV_ENV) go run main.go serve
|
||||||
REGISTRATION_ENABLED=true \
|
|
||||||
COOKIE_SECURE=false \
|
dev_frontend:
|
||||||
COOKIE_AUTH_KEY=1234 \
|
cd frontend && bun run dev
|
||||||
LOG_LEVEL=debug go run main.go serve
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf ./build
|
rm -rf ./build
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -134,7 +134,12 @@ go install github.com/pressly/goose/v3/cmd/goose@latest
|
|||||||
Run Development:
|
Run Development:
|
||||||
|
|
||||||
```bash
|
```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
|
## Building
|
||||||
@@ -152,8 +157,8 @@ make docker_build_local
|
|||||||
make docker_build_release_latest
|
make docker_build_release_latest
|
||||||
make docker_build_release_dev
|
make docker_build_release_dev
|
||||||
|
|
||||||
# Generate Tailwind CSS
|
# Generate legacy Tailwind CSS for server-rendered templates
|
||||||
make build_tailwind
|
make legacy_tailwind
|
||||||
|
|
||||||
# Clean Local Build
|
# Clean Local Build
|
||||||
make clean
|
make clean
|
||||||
|
|||||||
Reference in New Issue
Block a user