.ONESHELL: export PATH := $(shell pwd)/bin:$(shell pwd)/web/node_modules/.bin:$(PATH) export GOOSE_DRIVER ?= sqlite3 export GOOSE_DBSTRING ?= ./go/data.db export GOOSE_MIGRATION_DIR ?= schemas/migrations build: generate-go generate-web go build -o bin/bluemage ./go/cmd/bluemage/main.go run: build ARGS=$${ARGS:-serve} ./bin/bluemage $$ARGS run-web: generate-web cd web && npm run dev generate-go: migrate rm -rf go/gen (cd ./schemas/proto && buf generate --template buf.gen.go.yaml .) (cd go/gen && bobgen-sqlite --config ../bobgen.yaml) (cd go && goverter gen -g 'output:file ../gen/converter/converter.go' -g 'output:package github.com/tigorlazuardi/bluemage/go/gen/converter' ./converter) generate-web: rm -rf web/gen cd ./schemas/proto buf generate --template buf.gen.web.yaml . migrate: @goose up migrate-new: @read -p "Name new migration: " name if [[ $$name ]]; then goose create "$$name" sql; fi migrate-redo: @goose redo migrate-down: @goose down