summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 3545904c2ee61b4e4ad78c3f1cada5bad7a1f975 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 browser test suite (bun test + Chromium)'
	@echo '  lint       prettier --check + a bundle syntax check (read-only)'
	@echo '  format     apply prettier (writes)'
	@echo '  build      bundle to dist/ and report the gzipped size'
	@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 prettier --check .
	$(BUN) build ./src/global.js --target browser --format iife > /dev/null

format: node_modules
	$(BUN) x prettier --write .

build: node_modules
	rm -rf dist
	$(BUN) run build

check: lint test build

clean:
	rm -rf dist