UI_DIR := ui
UI_DIST := $(UI_DIR)/dist
UI_EMBED := crates/trusty-search-service/ui-dist
.PHONY: ui build-ui sync-ui release-prep check clippy test
build-ui:
@if command -v pnpm >/dev/null 2>&1; then \
echo ">> pnpm install && pnpm build (in $(UI_DIR))"; \
cd $(UI_DIR) && pnpm install --frozen-lockfile && pnpm build; \
else \
echo ">> npm ci && npm run build (in $(UI_DIR))"; \
cd $(UI_DIR) && npm ci && npm run build; \
fi
sync-ui:
@test -d $(UI_DIST) || (echo "ERROR: $(UI_DIST) missing — run 'make build-ui' first" && exit 1)
rm -rf $(UI_EMBED)
cp -r $(UI_DIST) $(UI_EMBED)
@echo ">> synced $(UI_DIST) → $(UI_EMBED)"
release-prep: build-ui sync-ui
@echo ">> ui-dist synced. Ready for cargo publish."
ui: build-ui
check:
cargo check --workspace
clippy:
cargo clippy --workspace --all-targets -- -D warnings
test:
cargo test --workspace