-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
36 lines (26 loc) · 1004 Bytes
/
Makefile
File metadata and controls
36 lines (26 loc) · 1004 Bytes
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
.DEFAULT_GOAL := help
.PHONY: help setup build lint stan test zip clean release
help: ## Show this help message
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}' | \
sort
setup: ## Install all PHP and Node dependencies
composer install
npm install
build: ## Compile JS/CSS for production
npm run build:production
lint: ## Run all linters (JS, CSS, PHP) + PHPStan static analysis
npm run lint
npm run lint:docs:markdown
npm run lint:docs:links
npm run lint:php
php -d memory_limit=2G vendor/bin/phpstan analyse --no-progress --memory-limit=2G
stan: ## Run PHPStan static analysis only
php -d memory_limit=2G vendor/bin/phpstan analyse --no-progress --memory-limit=2G
test: ## Run PHP unit tests
npm run test:php
zip: ## Build a distributable release zip
npm run zip
clean: ## Remove build output and release zips
npm run clean
release: clean build zip ## Full release: clean → build → zip