BUN ?= bun .DEFAULT_GOAL := help .PHONY: help install test lint format build check clean help: @echo 'Targets:' @echo ' install install the development dependencies' @echo ' test run the test suite (bun test)' @echo ' lint tsc --noEmit + prettier --check (read-only)' @echo ' format apply prettier (writes)' @echo ' build bundle to dist/ and emit type declarations' @echo ' check lint + test + build, in that order' @echo ' clean remove build artefacts' node_modules: package.json $(BUN) install @touch node_modules install: node_modules test: node_modules $(BUN) test lint: node_modules $(BUN) x tsc -p tsconfig.json $(BUN) x prettier --check . format: node_modules $(BUN) x prettier --write . build: node_modules rm -rf dist $(BUN) run build check: lint test build clean: rm -rf dist