Packages

Spectral provides type-driven JSON encoding/decoding, JSON Schema generation, and OpenAPI 3.1 specification generation. It uses Elixir's type system to automatically handle serialization based on struct type definitions.

Current section

Files

Jump to
spectral Makefile
Raw

Makefile

.PHONY: ci compile check_format format credo test type_check shell release

ci: compile test credo type_check check_format

compile:
	mix compile --force --warnings-as-errors

check_format:
	mix format --check-formatted

format:
	mix format

credo:
	mix credo --strict

type_check:
	mix dialyzer

test:
	mix test

shell:
	iex -S mix

release:
	@echo "Last 5 tags:"
	@git tag --sort=-version:refname | head -n 5
	@echo ""
	@read -r -p "Enter the next tag (e.g., v1.0.0): " tag && [ -n "$$tag" ] || { echo "Tag cannot be empty. Aborted."; exit 1; }; \
	read -r -p "Did you update the README install instructions? (Y/N) " a && [ "$$a" = "Y" ] || { echo "Aborted."; exit 1; }; \
	git tag "$$tag" && \
	git push origin "$$tag" && \
	mix compile && \
	mix hex.publish && \
	echo "Released and tagged as $$tag"