Ctrl K
ComunidadGuías…

Makefile

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
SHELL := /bin/sh
GO_PACKAGES := ./cmd/... ./db/... ./internal/... ./tests/...
VERSION ?= dev

.PHONY: build check clean docker-build format generate generate-check test web-build web-install web-sync

build: web-sync
	mkdir -p bin
	go build -trimpath -o bin/imagesilo ./cmd/imagesilo

check: web-sync
	test -z "$$(gofmt -l cmd db internal tests)"
	go vet $(GO_PACKAGES)
	go test $(GO_PACKAGES)
	bash -n scripts/*.sh
	npm --prefix web run lint
	npm --prefix web run typecheck
	npm --prefix web run test

clean:
	go clean
	rm -rf bin coverage internal/webui/dist web/dist

docker-build:
	docker buildx build --pull --platform linux/amd64,linux/arm64 --build-arg VERSION=$(VERSION) --file deploy/docker/Dockerfile .

format:
	gofmt -w cmd db internal
	npm --prefix web exec -- eslint . --fix

generate:
	npm --prefix web run generate:api

generate-check:
	@temporary="$$(mktemp)"; \
	trap 'rm -f "$$temporary"' EXIT; \
	npm --prefix web exec -- openapi-typescript api/openapi.yaml -o "$$temporary"; \
	if ! cmp -s web/src/generated/openapi.d.ts "$$temporary"; then \
		diff -u web/src/generated/openapi.d.ts "$$temporary" || true; \
		echo 'Generated OpenAPI types are stale; run make generate.' >&2; \
		exit 1; \
	fi

test: web-sync
	go test $(GO_PACKAGES)
	npm --prefix web run test

web-build: generate-check
	npm --prefix web run build

web-sync: web-build
	rm -rf internal/webui/dist
	mkdir -p internal/webui/dist
	cp -R web/dist/. internal/webui/dist/

web-install:
	npm --prefix web install