94 lines
2.6 KiB
Makefile
94 lines
2.6 KiB
Makefile
.DEFAULT_GOAL := help
|
|
.PHONY: help install rebuild init dev dev-backend dev-frontend build start \
|
|
typecheck format db-import db-dump admin clean clean-db \
|
|
docker-up docker-down docker-logs
|
|
|
|
help:
|
|
@echo "PCA Pijac — available targets:"
|
|
@echo ""
|
|
@echo " make init Install deps, rebuild native modules, import DB"
|
|
@echo " make install Install deps in root, backend, frontend"
|
|
@echo " make rebuild Rebuild native modules (argon2, sqlite3, sharp)"
|
|
@echo " make dev Run backend + frontend in dev (parallel)"
|
|
@echo " make dev-backend Run Directus backend only (nodemon)"
|
|
@echo " make dev-frontend Run Vite frontend only"
|
|
@echo " make build Build frontend for production"
|
|
@echo " make start Start backend + frontend in production mode"
|
|
@echo " make typecheck Typecheck frontend (tsc -b --noEmit)"
|
|
@echo " make format Prettier format frontend"
|
|
@echo ""
|
|
@echo " make db-import Reset data/data.db from schema/dump.sql"
|
|
@echo " make db-dump Dump current DB to schema/dump.sql"
|
|
@echo " make admin EMAIL=x@y PASSWORD=secret"
|
|
@echo " Create a Directus admin user"
|
|
@echo ""
|
|
@echo " make docker-up docker compose up -d"
|
|
@echo " make docker-down docker compose down"
|
|
@echo " make docker-logs docker compose logs -f"
|
|
@echo ""
|
|
@echo " make clean Remove node_modules and .next"
|
|
@echo " make clean-db Remove data/data.db"
|
|
|
|
install:
|
|
pnpm install
|
|
|
|
rebuild:
|
|
pnpm install --force
|
|
|
|
init: install rebuild db-import
|
|
@echo "Init complete. Run 'make admin EMAIL=... PASSWORD=...' to create an admin user."
|
|
|
|
dev:
|
|
pnpm run dev
|
|
|
|
dev-backend:
|
|
cd backend && pnpm run dev
|
|
|
|
dev-frontend:
|
|
cd frontend && pnpm run dev
|
|
|
|
build:
|
|
cd frontend && pnpm run build
|
|
|
|
typecheck:
|
|
cd frontend && pnpm run typecheck
|
|
|
|
format:
|
|
cd frontend && pnpm run format
|
|
|
|
start:
|
|
cd backend && pnpm run start & \
|
|
cd frontend && pnpm run preview; \
|
|
wait
|
|
|
|
db-import:
|
|
cd backend && pnpm run db:import
|
|
|
|
db-dump:
|
|
cd backend && pnpm run db:dump
|
|
|
|
admin:
|
|
@if [ -z "$(EMAIL)" ] || [ -z "$(PASSWORD)" ]; then \
|
|
echo "Usage: make admin EMAIL=you@example.com PASSWORD=secret"; \
|
|
exit 1; \
|
|
fi
|
|
cd backend && pnpm directus users create \
|
|
--email "$(EMAIL)" \
|
|
--password "$(PASSWORD)" \
|
|
--role 067808bd-7c13-40be-8c11-9ba654b79465
|
|
|
|
docker-up:
|
|
docker compose up -d
|
|
|
|
docker-down:
|
|
docker compose down
|
|
|
|
docker-logs:
|
|
docker compose logs -f
|
|
|
|
clean:
|
|
rm -rf node_modules backend/node_modules frontend/node_modules legacy-frontend/node_modules legacy-frontend/.next
|
|
|
|
clean-db:
|
|
rm -f data/data.db
|