# Pipeline Diagram Editor — common developer tasks.
# Run `make help` to list targets.

.DEFAULT_GOAL := help
.PHONY: help install dev build preview test test-watch typecheck \
        tauri-dev tauri-build tauri-build-debug clean

help: ## Show this help
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
		| awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[36m%-18s\033[0m %s\n", $$1, $$2}'

install: ## Install npm dependencies
	npm install

dev: ## Start the Vite dev server
	npm run dev

build: ## Type-check and build the web bundle
	npm run build

preview: ## Preview the production build
	npm run preview

test: ## Run the test suite once
	npm run test

test-watch: ## Run tests in watch mode
	npm run test:watch

typecheck: ## Type-check without emitting
	npx tsc -b

tauri-dev: ## Run the Tauri app in development
	npm run tauri:dev

tauri-build: ## Build the Tauri desktop app
	npm run tauri:build

tauri-build-debug: ## Build the Tauri desktop app (debug)
	npm run tauri:build:debug

clean: ## Remove build artifacts
	rm -rf dist .vite src-tauri/target
