# ENV ifeq (,$(shell which bun)) NPM ?= npm endif NPM ?= bun GIT ?= git TEMPLATE_REPOSITORY ?= ssh://git@git.klemek.fr:42617/klemek/vue-template.git TEMPLATE_REMOTE ?= template .PHONY: help help: ## show this message @echo "Usage: $(MAKE) [target1] [target2] ..." @echo "" @echo "Commands/Targets:" @cat $(MAKEFILE_LIST) | grep -E '(^[a-zA-Z0-9_%-]+:.*?##.*$$)|(^##)' | awk 'BEGIN {FS = ":.*?## "}{printf "\033[32m%-20s\033[0m %s\n", $$1, $$2}' | sed -e 's/\[32m##/[33m/' @echo "" @echo "Environment:" @cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z0-9_-]+\s*\??=.*$$' | grep -Eo '^[a-zA-Z0-9_-]+' | xargs -I {} $(MAKE) -s print-{} 2> /dev/null .PHONY: print-% print-%: @echo -e '\033[32m$*\033[0m = $($*)' # FILES node_modules: bun.lock @$(MAKE) -s npm-install # ACTIONS .PHONY: install install: npm-install ## install project .PHONY: update update: npm-update ## update project .PHONY: build build: npm-run-build ## build static site in "dist" .PHONY: dev dev: npm-run-dev ## run dev server .PHONY: lint lint: npm-run-lint npm-run-type-check ## lint code .PHONY: format format: npm-run-lint-fix ## fix and reformat code .PHONY: update-template update-template: git-remote-template git-fetch-template git-merge-template ## fetch and merge core changes from template # TOOLS .PHONY: npm-install npm-install: ## npm install $(NPM) install .PHONY: npm-update npm-update: ## npm update $(NPM) update .PHONY: npm-run-% npm-run-%: node_modules ## npm run (script) $(NPM) run $* .PHONY: git-remote-template git-remote-template: ## git remote add template @(git remote | grep $(TEMPLATE_REMOTE) &>/dev/null) || git remote add $(TEMPLATE_REMOTE) $(TEMPLATE_REPOSITORY) .PHONY: git-fetch-template git-fetch-template: ## git fetch template $(GIT) fetch $(TEMPLATE_REMOTE) .PHONY: git-merge-template git-merge-template: ## git merge template/main $(GIT) merge $(TEMPLATE_REMOTE)/main --allow-unrelated-histories