Makefile (821B)
1 .PHONY: build run setup generate assets fmt security vet clean 2 3 all: build 4 5 build: fmt generate assets security vet 6 go build -o ./build/lyrics ./cmd/server/main.go 7 8 run: fmt generate assets 9 set -a && source ./.env && set +a && go run cmd/server/main.go 10 11 setup: 12 mkdir -p static/vendor 13 curl -sLo static/vendor/htmx.min.js https://cdn.jsdelivr.net/npm/htmx.org@4.0.0-beta2/dist/htmx.min.js 14 curl -sLo static/vendor/alpine.min.js https://cdn.jsdelivr.net/npm/alpinejs@3.15.11/dist/cdn.min.js 15 curl -sLo static/vendor/lucide.min.js https://unpkg.com/lucide@1.14.0/dist/umd/lucide.min.js 16 17 generate: 18 go tool templ generate 19 20 assets: 21 ./scripts/build-assets.sh 22 23 fmt: 24 go fmt ./... 25 go tool templ fmt ./internal/server/ui/ 26 27 security: 28 gosec ./... 29 30 vet: 31 go vet ./... 32 33 clean: 34 go clean 35 rm -rf ./build/* 36 rm -rf ./static/files