Independent review Approved — 0 high findings (#4)
Review finding F1: the cleanup glob internal/frontend/dist/* skipped hidden files, which all:dist embeds. Remove and recreate the whole directory before copying web/dist, and add a check-embed-clean target that plants a stale hidden file and asserts the embed removes it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
710 B
Makefile
25 lines
710 B
Makefile
# Build entry point: build the PWA, embed it, then build the server binary.
|
|
|
|
FRONTEND_DIST := internal/frontend/dist
|
|
|
|
.PHONY: build web embed check-embed-clean
|
|
|
|
build: embed
|
|
go build -o bin/mealquest ./cmd/server
|
|
|
|
web:
|
|
cd web && npm ci && npm run build
|
|
|
|
# Replace the committed placeholder with the built PWA so go:embed picks it up.
|
|
# Recreate the whole directory: a glob would skip dotfiles, which all:dist embeds.
|
|
embed: web
|
|
rm -rf $(FRONTEND_DIST)
|
|
mkdir -p $(FRONTEND_DIST)
|
|
cp -R web/dist/. $(FRONTEND_DIST)/
|
|
|
|
# Regression check: a stale hidden file must not survive an embed.
|
|
check-embed-clean:
|
|
touch $(FRONTEND_DIST)/.stale-embed-check
|
|
$(MAKE) embed
|
|
test ! -e $(FRONTEND_DIST)/.stale-embed-check
|