binary := "lethe" version := `git describe --tags 2>/dev/null || echo dev` default: @just --list build: web-build CGO_ENABLED=0 go build -ldflags "-X main.version={{version}}" -o {{binary}} ./cmd/lethe web-install: cd web && npm ci web-dev: cd web && npm run dev web-build: cd web && npm run build web-test: cd web && npm test web-lint: cd web && npm run lint && npm run typecheck web-clean: rm -rf web/node_modules internal/server/web/dist/assets rm -f internal/server/web/dist/index.html @printf '
just web-build\n' > internal/server/web/dist/index.html
run:
go run ./cmd/lethe -config config.yaml
air:
air
test:
go test -race ./...
lint:
golangci-lint run --fix ./...
fmt:
gofmt -w .
goimports -w .
tidy:
go mod tidy
# Migration helpers. Requires the `migrate` CLI from golang-migrate/v4 to be
# on PATH. Install on macOS via: brew install golang-migrate
# (see https://github.com/golang-migrate/migrate/tree/master/cmd/migrate).
migrate-up:
migrate -path internal/platform/database/migrations -database "sqlite://./lethe.db" up
migrate-down:
migrate -path internal/platform/database/migrations -database "sqlite://./lethe.db" down 1
migrate-create NAME:
migrate create -ext sql -dir internal/platform/database/migrations -seq {{NAME}}
docker-build:
docker build -t {{binary}}:{{version}} .
docker-up:
docker compose up -d
docker-down:
docker compose down